ROMS 2-way nesting
ROMS 2-way nesting
I'm having some issues with a refined nesting application blow up and wonder if anyone could advise on a working method of grid creation using Matlab? Particularly regarding the correct procedure for setting the land mask in a refinement case? I've tried a few different methods each with low levels of success..
Some background:
I have an outer model with an inner nested grid and there are land points in both grid.
So far I have followed the following steps:
1. Create high resolution outer grid using the ROMS_TOOLS make_grid.m script and edited the mask: (dl of hres outer == inner grid dl).
2. Run fine2coarse.m with a refinement factor of 5 to reduce the resolution of the outer grid which creates my parent grid.
- I've then gone back into the file to check the bathymetry smoothing and mask.
3. Run coarse2fine.m with a refinement factor of 5 for a subset of the parent grid to create the child grid.
4. Run c_contact.m and contact.m to make contact file.
The above steps are something I've come up with from various posts on this forum, but it's possible that I'm getting muddled. Can someone point me in the right direction please?
If it helps the blow up is occurring after 2 timesteps and the error message is as follows:
2 2014-07-20 00:00:08.00 NaN NaN NaN NaN 02
(000,000,00) 0.000000E+00 0.000000E+00 0.000000E+00 NaN
Found Error: 01 Line: 298 Source: ROMS/Nonlinear/main3d.F
Found Error: 01 Line: 298 Source: ROMS/Drivers/nl_ocean.h
Blowing-up: Saving latest model state into RESTART file
Some background:
I have an outer model with an inner nested grid and there are land points in both grid.
So far I have followed the following steps:
1. Create high resolution outer grid using the ROMS_TOOLS make_grid.m script and edited the mask: (dl of hres outer == inner grid dl).
2. Run fine2coarse.m with a refinement factor of 5 to reduce the resolution of the outer grid which creates my parent grid.
- I've then gone back into the file to check the bathymetry smoothing and mask.
3. Run coarse2fine.m with a refinement factor of 5 for a subset of the parent grid to create the child grid.
4. Run c_contact.m and contact.m to make contact file.
The above steps are something I've come up with from various posts on this forum, but it's possible that I'm getting muddled. Can someone point me in the right direction please?
If it helps the blow up is occurring after 2 timesteps and the error message is as follows:
2 2014-07-20 00:00:08.00 NaN NaN NaN NaN 02
(000,000,00) 0.000000E+00 0.000000E+00 0.000000E+00 NaN
Found Error: 01 Line: 298 Source: ROMS/Nonlinear/main3d.F
Found Error: 01 Line: 298 Source: ROMS/Drivers/nl_ocean.h
Blowing-up: Saving latest model state into RESTART file
- Attachments
-
- ROMS-blowup.txt
- (62 KiB) Downloaded 464 times
Re: ROMS 2-way nesting
Does the parent grid run on its own (without any nesting)?
You have open boundary conditions (Chapman/Flather/gradient) for velocities but closed for tracers. That might give you stability problems at the boundary.
You also have explicit horizontal mixing on tracers in s-coordinates (MIX_S_TS) rather than geopotential coordinates (MIX_GEO_TS) which could give appreciable vertical mixing if you have steep bathymetry.
I also notice one odd thing with the grid 02 metrics:
You have a DZ of zero somewhere. Not sure how you managed that.
You should check your vertical coordinates are sensible. The vertical coordinate stretching values you use of theta_s = 0 and theta_b = 0 are unconventional.
You have open boundary conditions (Chapman/Flather/gradient) for velocities but closed for tracers. That might give you stability problems at the boundary.
You also have explicit horizontal mixing on tracers in s-coordinates (MIX_S_TS) rather than geopotential coordinates (MIX_GEO_TS) which could give appreciable vertical mixing if you have steep bathymetry.
I also notice one odd thing with the grid 02 metrics:
Code: Select all
Metrics information for Grid 02:
===============================
...
Minimum Z-grid spacing, DZmin = 0.00000000E+00 m
You should check your vertical coordinates are sensible. The vertical coordinate stretching values you use of theta_s = 0 and theta_b = 0 are unconventional.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
Re: ROMS 2-way nesting
Thank you for your response -
Yes, the parent grid runs fine without nesting, I've switched to MIX_GEO_TS but I'm still getting a blow up. I'm not sure why I'm getting a DZ of 0.0 in the nested grid, I've tried a run with constant bathymetry everywhere and I get the same problem. I did discover some strange values in my masks which I've now ammended but it's still blowing up at the same time step. Now, regardless of whether the model has constant or variable bathymetry, the blow up is occurring at the eastern boundary of the child grid, which is an ocean only boundary. I'll play around with the sigma layers and keep fiddling with a few other things.
Yes, the parent grid runs fine without nesting, I've switched to MIX_GEO_TS but I'm still getting a blow up. I'm not sure why I'm getting a DZ of 0.0 in the nested grid, I've tried a run with constant bathymetry everywhere and I get the same problem. I did discover some strange values in my masks which I've now ammended but it's still blowing up at the same time step. Now, regardless of whether the model has constant or variable bathymetry, the blow up is occurring at the eastern boundary of the child grid, which is an ocean only boundary. I'll play around with the sigma layers and keep fiddling with a few other things.
Re: ROMS 2-way nesting
i met the similar problem. parent grid's resolution is 1/24°, and child resolution is 1/72°. Could you show you why it didn't work and its solution?
thx!
thx!
Re: ROMS 2-way nesting
The previous problem has been solved - I had neglected to include x_rho and y_rho etc in parent and child grid files.
I now have a new problem - 18 hours into the model run I get a blow up. I've restarted and looked into the problem in more detail but I'm still at a bit of a loss. I seem to get erroneous temperature and salinity values - my intention at this stage was to keep these values constant, but there is still an instability occuring. The same blow up occurs if I use a flat bathymetry and a generated bathymetry.
Any thoughts on why temp/salinity instabilities may occur? The parent grid runs to completion.
I now have a new problem - 18 hours into the model run I get a blow up. I've restarted and looked into the problem in more detail but I'm still at a bit of a loss. I seem to get erroneous temperature and salinity values - my intention at this stage was to keep these values constant, but there is still an instability occuring. The same blow up occurs if I use a flat bathymetry and a generated bathymetry.
Any thoughts on why temp/salinity instabilities may occur? The parent grid runs to completion.
- Attachments
-
- roms_nest_bu.txt
- (50.35 KiB) Downloaded 446 times
-
- Posts: 30
- Joined: Fri Dec 15, 2017 6:07 pm
Re: ROMS 2-way nesting
Dear osua72
Was you able to resolve the blowup? Could you please state out what was wrong with the setup.
Was you able to resolve the blowup? Could you please state out what was wrong with the setup.
Re: ROMS 2-way nesting
Unfortunately, I've not been able to solve the problem. I suspect it's due to boundary placement and bathymetry causing instabilities but as yet I'm still unable to run the model past spin up without it blowing up.
-
- Posts: 30
- Joined: Fri Dec 15, 2017 6:07 pm
Re: ROMS 2-way nesting
Dear osua72
I have also met up with such instable values in salinity during my two way nesting and for one way it is almost fine. Would it be possible for you to check the configuration with one way nesting defined instead of two way?
I have also met up with such instable values in salinity during my two way nesting and for one way it is almost fine. Would it be possible for you to check the configuration with one way nesting defined instead of two way?
Re: ROMS 2-way nesting
Hey,
I have a doubt regarding setting up of nested grid applications. How can initial files for finer grid be generated from the coarser grid?
Can we just use roms2roms function to get initial file for the finer grid from a coarser grid initial file.
or we need to run for the coarser grid first and feed the output from the coarser grid to the roms2roms function and get the initial file for finer grid.
Thank you.
I have a doubt regarding setting up of nested grid applications. How can initial files for finer grid be generated from the coarser grid?
Can we just use roms2roms function to get initial file for the finer grid from a coarser grid initial file.
or we need to run for the coarser grid first and feed the output from the coarser grid to the roms2roms function and get the initial file for finer grid.
Thank you.