What to do to keep my ROMS case from blowing up??
What to do to keep my ROMS case from blowing up??
Hi all
Below is my CPP options and LBC conitions when i used roms570 ,only eastern boundary is opened,used seagrid for grid ,after smooth the grid(use smoothgrid.m from Romstools) ,rmax=0.23,min depth is 0.3m,DT=30,NDTFAST=5,16 levels,after severl steps(about 2 months) the model blowing up,i checked the output file ,found the salinity is 80 in a relatively shallow water,then change DT to 25 ,the model blowing up more fast,i'd like to let the model run about 4 months or more time without blowing up.
I am wondering if my cpp options are wrong,but i am not sure.
Lateral Boundary Conditions: NLM
============================
Variable Grid West Edge South Edge East Edge North Edge
--------- ---- ---------- ---------- ---------- ----------
zeta 1 Closed Closed Chapman Closed
ubar 1 Closed Closed Flather Closed
vbar 1 Closed Closed Flather Closed
u 1 Closed Closed Closed Closed
v 1 Closed Closed Closed Closed
(i choseed Clamped in eastern edge for U V,not closed,i paste wrong selection before )
temp 1 Closed Closed Clamped Closed
salt 1 Closed Closed Clamped Closed
tke 1 Closed Closed Gradient Closed
Activated C-preprocessing Options:
SED_TEST1 SEDIMENT OF JIULONG RIVER
ADD_FSOBC Adding tidal elevation to proccesed OBC data.
ADD_M2OBC Adding tidal currents to proccesed OBC data.
ANA_BSFLUX Analytical kinematic bottom salinity flux.
ANA_BTFLUX Analytical kinematic bottom temperature flux.
ANA_SSFLUX Analytical kinematic surface salinity flux.
ANA_STFLUX Analytical kinematic surface temperature flux.
ASSUMED_SHAPE Using assumed-shape arrays.
CURVGRID Orthogonal curvilinear grid.
DIFF_GRID Horizontal diffusion coefficient scaled by grid size.
DOUBLE_PRECISION Double precision arithmetic.
KANTHA_CLAYSON Kantha and Clayson stability function formulation.
MASKING Land/Sea masking.
MIX_S_TS Mixing of tracers along constant S-surfaces.
MIX_S_UV Mixing of momentum along constant S-surfaces.
MPI MPI distributed-memory configuration.
MY25_MIXING Mellor/Yamada Level-2.5 mixing closure.
NONLINEAR Nonlinear Model.
NONLIN_EOS Nonlinear Equation of State for seawater.
N2S2_HORAVG Horizontal smoothing of buoyancy and shear.
POWER_LAW Power-law shape time-averaging barotropic filter.
PRSGRD31 Standard density Jacobian formulation (Song, 1998).
PROFILE Time profiling activated .
K_GSCHEME Third-order upstream advection of TKE fields.
RAMP_TIDES Ramping tidal forcing for one day.
RHO_SURF Include difference between rho0 and surface density.
!RST_SINGLE Double precision fields in restart NetCDF file.
SALINITY Using salinity.
SOLVE3D Solving 3D Primitive Equations.
SPLINES Conservative parabolic spline reconstruction.
SPHERICAL Spherical grid configuration.
SPONGE Enhanced horizontal mixing in the sponge areas.
SSH_TIDES Add tidal elevation to SSH climatology.
TS_MPDATA Recursive flux corrected MPDATA 3D advection of tracers.
TS_DIF2 Harmonic mixing of tracers.
TS_PSOURCE Tracers point sources and sinks.
UV_ADV Advection of momentum.
UV_COR Coriolis term.
UV_U3HADVECTION Third-order upstream horizontal advection of 3D momentum.
UV_SADVECTION Parabolic splines vertical advection of momentum.
UV_QDRAG Quadratic bottom stress.
UV_PSOURCE Mass point sources and sinks.
UV_TIDES Add tidal currents to 2D momentum climatologies.
UV_VIS2 Harmonic mixing of momentum.
UV_SMAGORINSKY Smagorinksy-like time-dependent viscosity coefficients.
VAR_RHO_2D Variable density barotropic mode.
VISC_GRID Horizontal viscosity coefficient scaled by grid size.
VISC_3DCOEF Horizontal, time-dependent 3D viscosity coefficient.
WET_DRY Wetting and drying activated.
CHECKADJ - use caution when activating: UV_SMAGORINSKY
REASON: stability problems, WARNING.
Please help me
thanks.
Below is my CPP options and LBC conitions when i used roms570 ,only eastern boundary is opened,used seagrid for grid ,after smooth the grid(use smoothgrid.m from Romstools) ,rmax=0.23,min depth is 0.3m,DT=30,NDTFAST=5,16 levels,after severl steps(about 2 months) the model blowing up,i checked the output file ,found the salinity is 80 in a relatively shallow water,then change DT to 25 ,the model blowing up more fast,i'd like to let the model run about 4 months or more time without blowing up.
I am wondering if my cpp options are wrong,but i am not sure.
Lateral Boundary Conditions: NLM
============================
Variable Grid West Edge South Edge East Edge North Edge
--------- ---- ---------- ---------- ---------- ----------
zeta 1 Closed Closed Chapman Closed
ubar 1 Closed Closed Flather Closed
vbar 1 Closed Closed Flather Closed
u 1 Closed Closed Closed Closed
v 1 Closed Closed Closed Closed
(i choseed Clamped in eastern edge for U V,not closed,i paste wrong selection before )
temp 1 Closed Closed Clamped Closed
salt 1 Closed Closed Clamped Closed
tke 1 Closed Closed Gradient Closed
Activated C-preprocessing Options:
SED_TEST1 SEDIMENT OF JIULONG RIVER
ADD_FSOBC Adding tidal elevation to proccesed OBC data.
ADD_M2OBC Adding tidal currents to proccesed OBC data.
ANA_BSFLUX Analytical kinematic bottom salinity flux.
ANA_BTFLUX Analytical kinematic bottom temperature flux.
ANA_SSFLUX Analytical kinematic surface salinity flux.
ANA_STFLUX Analytical kinematic surface temperature flux.
ASSUMED_SHAPE Using assumed-shape arrays.
CURVGRID Orthogonal curvilinear grid.
DIFF_GRID Horizontal diffusion coefficient scaled by grid size.
DOUBLE_PRECISION Double precision arithmetic.
KANTHA_CLAYSON Kantha and Clayson stability function formulation.
MASKING Land/Sea masking.
MIX_S_TS Mixing of tracers along constant S-surfaces.
MIX_S_UV Mixing of momentum along constant S-surfaces.
MPI MPI distributed-memory configuration.
MY25_MIXING Mellor/Yamada Level-2.5 mixing closure.
NONLINEAR Nonlinear Model.
NONLIN_EOS Nonlinear Equation of State for seawater.
N2S2_HORAVG Horizontal smoothing of buoyancy and shear.
POWER_LAW Power-law shape time-averaging barotropic filter.
PRSGRD31 Standard density Jacobian formulation (Song, 1998).
PROFILE Time profiling activated .
K_GSCHEME Third-order upstream advection of TKE fields.
RAMP_TIDES Ramping tidal forcing for one day.
RHO_SURF Include difference between rho0 and surface density.
!RST_SINGLE Double precision fields in restart NetCDF file.
SALINITY Using salinity.
SOLVE3D Solving 3D Primitive Equations.
SPLINES Conservative parabolic spline reconstruction.
SPHERICAL Spherical grid configuration.
SPONGE Enhanced horizontal mixing in the sponge areas.
SSH_TIDES Add tidal elevation to SSH climatology.
TS_MPDATA Recursive flux corrected MPDATA 3D advection of tracers.
TS_DIF2 Harmonic mixing of tracers.
TS_PSOURCE Tracers point sources and sinks.
UV_ADV Advection of momentum.
UV_COR Coriolis term.
UV_U3HADVECTION Third-order upstream horizontal advection of 3D momentum.
UV_SADVECTION Parabolic splines vertical advection of momentum.
UV_QDRAG Quadratic bottom stress.
UV_PSOURCE Mass point sources and sinks.
UV_TIDES Add tidal currents to 2D momentum climatologies.
UV_VIS2 Harmonic mixing of momentum.
UV_SMAGORINSKY Smagorinksy-like time-dependent viscosity coefficients.
VAR_RHO_2D Variable density barotropic mode.
VISC_GRID Horizontal viscosity coefficient scaled by grid size.
VISC_3DCOEF Horizontal, time-dependent 3D viscosity coefficient.
WET_DRY Wetting and drying activated.
CHECKADJ - use caution when activating: UV_SMAGORINSKY
REASON: stability problems, WARNING.
Please help me
thanks.
Last edited by xmuliuy on Fri May 10, 2013 7:06 am, edited 1 time in total.
Re: What to do to keep my ROMS case from blowing up??
There's more than one way for a model run to go bad and I can't tell which you have from here. You have water as shallow as 0.3 meters with tides and wet_dry. Is it going bad in a "dry" spot? There's been talk that one should turn off the surface fluxes in the "dry" spots. Perhaps try that.
Re: What to do to keep my ROMS case from blowing up??
Hi there,
kind of strange in your OBC configuration, why did you adapt chapman to zeta, Flather to the barotrophical part, closed for baroclinic part and clamped for T and S? this is totally controdiction.
Is there any reason? Or what kind of fluid you want to simulate?
regrads,
ZQ
kind of strange in your OBC configuration, why did you adapt chapman to zeta, Flather to the barotrophical part, closed for baroclinic part and clamped for T and S? this is totally controdiction.
Is there any reason? Or what kind of fluid you want to simulate?
regrads,
ZQ
Re: What to do to keep my ROMS case from blowing up??
thank you kate.
as i run the case before the salinity is going bad in a "wet"spot.
In my cpp options the ANA_SSFLUX and ANA_STFLUX is already open,then i opened ANA_SMFLUX ,the surface fluxes are turn off,but the model blowing up after severl steps(about 33 days), the output file showed the last step vbar is 6(m/s) in a "wet" spot.
as i run the case before the salinity is going bad in a "wet"spot.
In my cpp options the ANA_SSFLUX and ANA_STFLUX is already open,then i opened ANA_SMFLUX ,the surface fluxes are turn off,but the model blowing up after severl steps(about 33 days), the output file showed the last step vbar is 6(m/s) in a "wet" spot.
Re: What to do to keep my ROMS case from blowing up??
thank ZQ.
actually i have no idea about how to choose the OBC configuration,is there any recommendation when i want to simulate the hydrodynamic in Jiulong River??
Attachment is the grid.
actually i have no idea about how to choose the OBC configuration,is there any recommendation when i want to simulate the hydrodynamic in Jiulong River??
Attachment is the grid.
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: What to do to keep my ROMS case from blowing up??
Well, your choice for a grid is horrible I would never set-up and run a grid like that. What you were thinking?
Re: What to do to keep my ROMS case from blowing up??
thank you arango.
I'm sorry.
the grid resolution of the figure i show before is 30*30.
Actually when i run the case the grid resolution is 300*300.
when i run the model as min depth is 5 m ,it won't blowing up.
I'm sorry.
the grid resolution of the figure i show before is 30*30.
Actually when i run the case the grid resolution is 300*300.
when i run the model as min depth is 5 m ,it won't blowing up.
Re: What to do to keep my ROMS case from blowing up??
It is not related to the grid resolution. To be frank, this grid againsted the basic law of ROMS, and it was wrong!
Before you run the model, I suggest you find a book (e.g. Dale's book) or read the user manual provided by the wikiROMS, instead of taking the model as a black box and throw all those strange things in.
There are huge amount of papers which adapted ROMS to study the coastal and estuarine areas for your reference.
There is some tutorial for your reference in this URL:
http://eros.eas.gatech.edu/ROMS-Tutorial/tutorials.html
regards,
ZQ
Before you run the model, I suggest you find a book (e.g. Dale's book) or read the user manual provided by the wikiROMS, instead of taking the model as a black box and throw all those strange things in.
There are huge amount of papers which adapted ROMS to study the coastal and estuarine areas for your reference.
There is some tutorial for your reference in this URL:
http://eros.eas.gatech.edu/ROMS-Tutorial/tutorials.html
regards,
ZQ
Re: What to do to keep my ROMS case from blowing up??
Thank you ZQ.
i'm really appreciate of your advice,i will read this paper recently.
As a beginner of ROMS ,Take the liberty of asking a word,what law is my grid against,should i use the linear grid instead of Orthogonal curvilinear grid ?
i'm really appreciate of your advice,i will read this paper recently.
As a beginner of ROMS ,Take the liberty of asking a word,what law is my grid against,should i use the linear grid instead of Orthogonal curvilinear grid ?
Re: What to do to keep my ROMS case from blowing up??
There aren't really any laws against it, but you will need to satisfy the CFL constraints on the very smallest grid cells. Waves running from the small grid outward could go from being well-resolved to poorly-resolved to unresolved. What happens to them? Possibilities include reflection, damping, aliasing.
Re: What to do to keep my ROMS case from blowing up??
Hi there,
Yes, everyone gets the liberty to organize their own study, and I'm not trying to offense you personally. In fact, although it may take a lot of effort to generate this grid, I'm not quite sure about the orthogonality, which is critically essential as one of the basic law of ROMS.
You squeezed the grids along one (maybe western) boundary into, almost, one point at head of the river. You may want to extensively increase the horizontal resolution there, but, could you please demonstrate the orthogonality of this grid?
Happy modelling,
ZQ
Yes, everyone gets the liberty to organize their own study, and I'm not trying to offense you personally. In fact, although it may take a lot of effort to generate this grid, I'm not quite sure about the orthogonality, which is critically essential as one of the basic law of ROMS.
You squeezed the grids along one (maybe western) boundary into, almost, one point at head of the river. You may want to extensively increase the horizontal resolution there, but, could you please demonstrate the orthogonality of this grid?
Happy modelling,
ZQ
Re: What to do to keep my ROMS case from blowing up??
Attachments is the orthogonality of this grid.
Re: What to do to keep my ROMS case from blowing up??
Hi liuy,
Looks like you want to hide those corners with extremely large orthogonality error in the land points, but even though, the orthogonality error in the areas you interested in is still too large (~5 degree) to be acceptable.
I suggest you start from a linear grid with gradually relaxiation of the grid resolution from the inshore areas to the open ocean, or if you insist, you can adapt a grid with the western boundary varies a little bit along the Fujian coast and keep the northern, southern and eastern boundaries connecting to the open ocean.
Reduce the orthogonality error into at least 1 degree and the smaller the better.
regards,
ZQ
Looks like you want to hide those corners with extremely large orthogonality error in the land points, but even though, the orthogonality error in the areas you interested in is still too large (~5 degree) to be acceptable.
I suggest you start from a linear grid with gradually relaxiation of the grid resolution from the inshore areas to the open ocean, or if you insist, you can adapt a grid with the western boundary varies a little bit along the Fujian coast and keep the northern, southern and eastern boundaries connecting to the open ocean.
Reduce the orthogonality error into at least 1 degree and the smaller the better.
regards,
ZQ
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: What to do to keep my ROMS case from blowing up??
You can spend all the time that you want trying to get stable and meaningful solution with a grid like that. You will learn in time, as you gain experience, how absurd is having such a grid in this region. You will have problems with mass conservation and you will struggle with open boundary conditions. You have two singularities in your grid When building a grid, you need to think about the circulation and design your boundaries accordingly.
I am sure that you will have a lot of problems publishing such results. Experienced numerical modelers and reviewers will argue that this grid is not appropriate in this area.
I am sure that you will have a lot of problems publishing such results. Experienced numerical modelers and reviewers will argue that this grid is not appropriate in this area.
Re: What to do to keep my ROMS case from blowing up??
For the orthogonality, you could help it out by moving your shortest side inland and curving it, so that your whole domain is like a sector of a donut.
For the boundary conditions, you should be taking into account the local flows - what's coming in and going out. Do you have strong currents trying to enter at an angle along the edge? I don't know the currents there at all - but you should.
For the boundary conditions, you should be taking into account the local flows - what's coming in and going out. Do you have strong currents trying to enter at an angle along the edge? I don't know the currents there at all - but you should.
Re: What to do to keep my ROMS case from blowing up??
Thank you arango.
Curvilinear grids provide a high grid resolution in the area of interest and a low resolution elsewhere, thus saving computational effort.
http://www.rsmas.miami.edu/users/prynne ... GFGRID.pdf
the website shows the Generation and manipulation of curvilinear grids.
i think ROMS can handle the Curvilinear grid as the DELFT3D does.
Bye the way, we have hiden the singularities in the land, so the grid covers the water domain can be orthrotropic, which can keep the conservation of the mass and momenteum.
Curvilinear grids provide a high grid resolution in the area of interest and a low resolution elsewhere, thus saving computational effort.
http://www.rsmas.miami.edu/users/prynne ... GFGRID.pdf
the website shows the Generation and manipulation of curvilinear grids.
i think ROMS can handle the Curvilinear grid as the DELFT3D does.
Bye the way, we have hiden the singularities in the land, so the grid covers the water domain can be orthrotropic, which can keep the conservation of the mass and momenteum.
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: What to do to keep my ROMS case from blowing up??
You seem to be more worried about the computational effort than stable and meaningful numerical solutions. We always need to think in oceanographic terms and then choose the appropriate grid configuration to represent the physical phenomena (spatial and temporal scales) that we want to model. We also need to consider the ambient circulation in the neighborhood of the grid to determine where is the best place to put open boundary conditions. The open boundary condition problem is always numerically ill conditioned from the start. We just need to design/construct an optimal regional grid that minimize such open boundary conditions errors. Ocean numerical modeling is not a black box, it requires knowledge and experience... This is what separate great from mediocre applications.
The fact that you can construct any grid that you like with any fancy grid generation tool does not equate to viable numerical solutions in such grids. The topology of the grid should not affect the solution by generating bogus circulations. The governing equations should asymptote to the same solution regardless of the accurate numerical solution technique or grid topology. The ultimate goal in numerical modelling is to find asymptotic solutions that are not affected by the grid resolution. This asymptotic behavior is still an open question in numerical modeling and possible nowadays due to advances in numerical algorithms and inexpensive computer technology.
Computer technology and storage is very cheap nowadays and we should never be concerned about the computational effort when building a numerical application. We do not expect to run such complex applications in an smart phone anyway. I am sure that we may be able to do it in the future but just for fun and not for serious scientific purposes.
I have seen users of ROMS in the past applying various strategies (some clever, some silly) to generate grids and associated open boundary conditions. They have spent more time (sometimes years) getting stable realistic solutions in such grids that the time that will take getting a correct solutions in a much larger (basin) grid.
Just overlaid or draw the ambient circulation in your grid and you may see or not what I am talking about...
The fact that you can construct any grid that you like with any fancy grid generation tool does not equate to viable numerical solutions in such grids. The topology of the grid should not affect the solution by generating bogus circulations. The governing equations should asymptote to the same solution regardless of the accurate numerical solution technique or grid topology. The ultimate goal in numerical modelling is to find asymptotic solutions that are not affected by the grid resolution. This asymptotic behavior is still an open question in numerical modeling and possible nowadays due to advances in numerical algorithms and inexpensive computer technology.
Computer technology and storage is very cheap nowadays and we should never be concerned about the computational effort when building a numerical application. We do not expect to run such complex applications in an smart phone anyway. I am sure that we may be able to do it in the future but just for fun and not for serious scientific purposes.
I have seen users of ROMS in the past applying various strategies (some clever, some silly) to generate grids and associated open boundary conditions. They have spent more time (sometimes years) getting stable realistic solutions in such grids that the time that will take getting a correct solutions in a much larger (basin) grid.
Just overlaid or draw the ambient circulation in your grid and you may see or not what I am talking about...
Re: What to do to keep my ROMS case from blowing up??
thanks orango, the open boundary, grid topology are what we shall consider at the grid generation, maybe we care too much about the solution at the western inner bay, which we are focusing.
we can try a nested version in next step after solving the overflow problem caused by the dry and wet processes. Thanks again.
look forward the couple-nested version of ROMS, i know you are working hard on it, thanks very much.
we can try a nested version in next step after solving the overflow problem caused by the dry and wet processes. Thanks again.
look forward the couple-nested version of ROMS, i know you are working hard on it, thanks very much.