ROMS for highly stratified fuild
ROMS for highly stratified fuild
Hi,
I'm trying to simulate the dynamics of highly stratified fuild. I ran ROMS-2.2 with the following initial conditions: for the salinity I sued 10 PSU for the upper 5m while the rest bottom water had salinity of 278PSU. These values are characteristics salinities for the Dead Sea I'm simulating. The temperature is decreasing monotonically from 30C to 23C. No forcing was applied.
With this configuration the model blows up very fast. When using more moderate salinity gradient, or when the salinity gradient was smooth, the model runs smoothly.
Any suggestions how to handle such extreme case ??
Thanks
Yossi
I'm trying to simulate the dynamics of highly stratified fuild. I ran ROMS-2.2 with the following initial conditions: for the salinity I sued 10 PSU for the upper 5m while the rest bottom water had salinity of 278PSU. These values are characteristics salinities for the Dead Sea I'm simulating. The temperature is decreasing monotonically from 30C to 23C. No forcing was applied.
With this configuration the model blows up very fast. When using more moderate salinity gradient, or when the salinity gradient was smooth, the model runs smoothly.
Any suggestions how to handle such extreme case ??
Thanks
Yossi
The first thing I would check are the resulting density values. The equation of state we are using has a valid range close to that of the world oceans, not including the Dead Sea. Do you have a source for a more comprehensive equation of state? Remember we are computing in situ density from salinity and potential temperature.
Hi Kate,
I'm using linear equation of state with known thermal and haline coefficients for the Dead Sea. After few time steps, the model produced negative (!) salinities and negative relative densities. Constraining the salinities and relative densities to be postive in rho_eso.F didn't result in stable run. The model was also unstable when using nonlinear eos.
I'm using linear equation of state with known thermal and haline coefficients for the Dead Sea. After few time steps, the model produced negative (!) salinities and negative relative densities. Constraining the salinities and relative densities to be postive in rho_eso.F didn't result in stable run. The model was also unstable when using nonlinear eos.
well, with a max depth of 320m, the external time step should be below 4s but with a baroclinic phase speed of 3m/s, you should be able to use a tracer timestep of up to 80s. Therefore 25s should be fine. i am at loss. My guess would be to verify your baroclinic phase speed calcultion. I may verify your calculation from a given density profile.
what is you density profile? just give me strategic depths since it is mainly linear in the deep part.
what is you density profile? just give me strategic depths since it is mainly linear in the deep part.
steep gradients
Hi;
I have had bad luck with ROMs and steep vertical gradients. I have also gotten negative salinities at river mouths, and negative populations in biology when the surface becomes nutrient depleted (another strong gradient).
I think that problem is due to the vertical advection or diffusion scheme, which use vertical spline functions in their calculations. Forgive me for being vague since I had this problem several years ago, and can't remember the details. Perhaps someone with more knowledge of the numerics could suggest exactly where the problem might be.
To solve my problem, I trapped negative populations in the my biology routine and set them to zero, and distributed my river mouths over several horizontal points. Those are both hacks which don't deal with the fundamental problem, but they got my problems to work.
I have had bad luck with ROMs and steep vertical gradients. I have also gotten negative salinities at river mouths, and negative populations in biology when the surface becomes nutrient depleted (another strong gradient).
I think that problem is due to the vertical advection or diffusion scheme, which use vertical spline functions in their calculations. Forgive me for being vague since I had this problem several years ago, and can't remember the details. Perhaps someone with more knowledge of the numerics could suggest exactly where the problem might be.
To solve my problem, I trapped negative populations in the my biology routine and set them to zero, and distributed my river mouths over several horizontal points. Those are both hacks which don't deal with the fundamental problem, but they got my problems to work.
Try the MPDATA advection scheme
I disagree with Liz...the vertical advection scheme is awesome and can run at 5 - 10 x CFL. However, the horizontal advection scheme may be the problem...try using MPDATA, which is positive definate.
Chris Sherwood, USGS
1 508 457 2269
1 508 457 2269
stratified problem
A baroclinic speed of 3 m/s seems pretty small for strong stratification. Using 320 m depth and a reduced gravity of 2.5 gives an internal wave speed of 28.3 m/s. With a grid spacing of 500 m, I get an internal time step of about 4 sec (making the courant number =1/4, which may not be small enough).
I suggest setting the step ratio to 1.0, find a stable external time step and see if the model will run. Then try larger step ratios. My guess is that the internal and external speeds will differ by a factor of 2 or so (g=9.8, g^prime = 2.5, so the speed ratio is \sqrt (g/g^prime)= 1.97).
Before redesigning advection schemes, try some smaller time steps.
John
I suggest setting the step ratio to 1.0, find a stable external time step and see if the model will run. Then try larger step ratios. My guess is that the internal and external speeds will differ by a factor of 2 or so (g=9.8, g^prime = 2.5, so the speed ratio is \sqrt (g/g^prime)= 1.97).
Before redesigning advection schemes, try some smaller time steps.
John
-
- Posts: 9
- Joined: Fri Oct 22, 2004 8:32 pm
- Location: Numerics Warehouse Ltd.
We have had problems with riverine input causing numerical instability and high salinities. Initially we just used the the interfacial wave speed to calculate the Courant Number and set the baroclinic time step accordingly - but still had problems. We found that we had neglected the effect the volume flux from rivers had due to mass continuity. We assume all the river flux is contained in an upper layer moving away from the river mouth and then add this speed to the interfacial wave speed. We use this combined velocity and a Courant number of 0.1 to calculate the (now exremely small) baroclimic time step. This is why spreading the river input over a horizontal strip (rather than just one point) helps to reduce the problem. Changing horizontal advection schemes, vertical turbulence parameterization, barotropic time steps, horizontal diffusion, spreading the river input over a greater depth, artifically mixing some of the fresh flux with salt water (increasing the total flux) - none of these helped us.
If you are spinning the model up from crude initial conditions, then it helps to 'flood' the region of river mouths with fresh water in the initial conditions - or you can spin up with a much reduced time step for a while and then restart with a bigger time step.
Marcel
If you are spinning the model up from crude initial conditions, then it helps to 'flood' the region of river mouths with fresh water in the initial conditions - or you can spin up with a much reduced time step for a while and then restart with a bigger time step.
Marcel