I'm attempting to set up a ROMS model for the southwest Florida shelf, including a nested 3X-resolution grid of Florida Bay, and am hitting some blowups in the u/v fields after only ~6 simulated hours that I can't seem to resolve.
The problem spot is located just outside the contact region between the two grids, and originates in the bottom layer. It's located right on some of the steeper topography in the domain, along the shelf break, so I assume this is resulting due to some sort of artificial pressure gradient. Both grids individually meet the recommended roughness constraints (smoothed via the linear program methods of Sikiric et al., with RX0 max of 0.2), and I've verified that the grid cells along the boundaries of the nested grid match those adjacent in the parent grid. The parent grid on its own does not encounter these problems (though it hits other blowups at a later time that I was hoping would be resolved once I added the nested grid).
Based on the screen printout (I've modified it to print out max rho), there's a small spike (from 32.093 to 53.254) in density somewhere within the nested grid at timestep 871 (it blows up at 873), but it drops right back down in the next timestep, so I'm not quite sure what's going on there.
Has anyone else encountered this sort of problem when setting up a nested run? Are there any additional constraints on smoothness, particularly in and around the contact region, that I need to be aware of?
This is my first time working with the ROMS model, and of course I'm jumping into the deep end with a two-way nested domain that may be pushing the limits of ROMS, since our focus region is so very shallow; minimum (modeled) water depth is 0.5 m.
Basic summary of setup: parent grid ~0.013-deg resolution, nested grid 3X higher, 25 depth levels, timestep 75s/25s (parent/nested), surface forcing from NARR (with bulk fluxes on), boundary conditions from HYCOM + NCODA Gulf of Mexico, initial conditions from HYCOM with u/v spinning up from rest, tides on, several river sources on, wetting/drying on.
The attached figures show modeled current speeds in the bottom layer at the last simulated timestep, along with bottom bathymetry and roughness. The first figure shows the full domain, and the second just the problem location. Dashed-line box shows the psi-boundary of the nested grid.
Cpp and input file also attached for reference.
Nested grids and bathymetry smoothing
Nested grids and bathymetry smoothing
- Attachments
-
- swfl_parent.h
- (2.56 KiB) Downloaded 371 times
-
- ocean.in
- (110.75 KiB) Downloaded 411 times
Re: Nested grids and bathymetry smoothing
A quick followup:
I just noticed that the stiffness ratios are indeed different for the same grid file when I run it on its own versus running it with a nested grid.
Both grids (NESTING defined):
Parent grid only (NESTING undefined):
So I'm obviously misunderstanding something regarding the way this value is calculated for nested grids. Can anyone advise on this?
I just noticed that the stiffness ratios are indeed different for the same grid file when I run it on its own versus running it with a nested grid.
Both grids (NESTING defined):
Code: Select all
Basin information for Grid 01:
Maximum grid stiffness ratios: rx0 = 6.370676E-01 (Beckmann and Haidvogel)
rx1 = 7.464448E+00 (Haney)
Initial basin volumes: TotVolume = 1.9068570408E+14 m3
MinVolume = 1.8784623741E+04 m3
MaxVolume = 1.2603580688E+09 m3
Max/Min = 6.7095199042E+04
Basin information for Grid 02:
Maximum grid stiffness ratios: rx0 = 2.000000E-01 (Beckmann and Haidvogel)
rx1 = 3.013789E+00 (Haney)
Initial basin volumes: TotVolume = 4.5537612468E+12 m3
MinVolume = 2.2007642486E+03 m3
MaxVolume = 4.3448190185E+07 m3
Max/Min = 1.9742319157E+04
Code: Select all
Basin information for Grid 01:
Maximum grid stiffness ratios: rx0 = 2.000000E-01 (Beckmann and Haidvogel)
rx1 = 3.013883E+00 (Haney)
Initial basin volumes: TotVolume = 1.9070227210E+14 m3
MinVolume = 1.8784623741E+04 m3
MaxVolume = 1.2603580688E+09 m3
Max/Min = 6.7095199042E+04
-
- Posts: 44
- Joined: Fri Mar 15, 2013 1:30 pm
- Location: Nanjing Uni. of Info. Sci. & Tech. (nanjing institute of meterology)
Re: Nested grids and bathymetry smoothing
hi kakearney,
Im sorry I cannot help you, since I am new to ROMS and have not test the two-way nesting yet.
However, I am curious about how did you created your datasets(eg.ini/frc/grd/bry) that are used in your 2-way nesting model.
Could you tell me about that?
I want to learn it.
thank you in advance.
Cheer!
Regards!
Im sorry I cannot help you, since I am new to ROMS and have not test the two-way nesting yet.
However, I am curious about how did you created your datasets(eg.ini/frc/grd/bry) that are used in your 2-way nesting model.
Could you tell me about that?
I want to learn it.
thank you in advance.
Cheer!
Regards!
Re: Nested grids and bathymetry smoothing
Notice they are giving you the max values for r0 and r1 so its not surprising that you get the bigger of the values reported for the nested grids when using only one grid. You can look up how they are computed in the code by using grep.
Re: Nested grids and bathymetry smoothing
To follow up on my original question, but problem turned out to be in the contact file, not the grid files. I hadn't looked closely enough at the contents of the contact file, and hadn't realized it incorporated bathymetry data as well as grid matchup data into it, and hadn't updated it accordingly after making final adjustments to the h values in each grid. So while each grid file met the rx0 requirements, the contact file did not. Regenerating the contact file using the final versions of the grid files fixed this particular problem (sadly, the nested domain remains unstable and blows up after a week or so, but that seems to be unrelated to this particular issue).
In reply to rduran, perhaps I missed something in my reading of the code, but as far as I can tell the RX0 and RX1 values are calculated the same whether or not the grid is coupled to another one. After fixing the contact file, I do indeed get the same Grid 1 values regardless of whether I add a Grid 2 to the configuration.
And in reply to kee, I create my various input files using Matlab scripts of my own making, using the cdl files that come with the ROMS source code, as well as the roms_metadata.m function, as guides. I don't think there's really a one size fits all solution to creating those, since the input data required by any particular application varies greatly.
In reply to rduran, perhaps I missed something in my reading of the code, but as far as I can tell the RX0 and RX1 values are calculated the same whether or not the grid is coupled to another one. After fixing the contact file, I do indeed get the same Grid 1 values regardless of whether I add a Grid 2 to the configuration.
And in reply to kee, I create my various input files using Matlab scripts of my own making, using the cdl files that come with the ROMS source code, as well as the roms_metadata.m function, as guides. I don't think there's really a one size fits all solution to creating those, since the input data required by any particular application varies greatly.
Re: Nested grids and bathymetry smoothing
Kakearney,
Can you describe what do you exactly mean by the "contact file"? Is it the nested grid file?
Thanks,
Fanqing
Can you describe what do you exactly mean by the "contact file"? Is it the nested grid file?
Thanks,
Fanqing
Re: Nested grids and bathymetry smoothing
Fanqing,
By contact file, I mean the file referred to as NGCNAME in the input file; it defines how the various grids connect to each other, and is necessary if you define NESTING in your cpp options. I've only been using ROMS for a couple of months, but I gather that this is a relatively new addition to the code.
-Kelly
By contact file, I mean the file referred to as NGCNAME in the input file; it defines how the various grids connect to each other, and is necessary if you define NESTING in your cpp options. I've only been using ROMS for a couple of months, but I gather that this is a relatively new addition to the code.
-Kelly
-
- Posts: 9
- Joined: Sun Nov 10, 2013 5:59 pm
- Location: NMEFC
Re: Nested grids and bathymetry smoothing
I also have the same problems in my realistic examples. It seems that the 2-way refined grids is very easy to blowing-up at the boundary areas between the fine grid and coarse grid. Thanks for help !