NONLIN_EOS in upwelling example creates velocities

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Posts: 15
Joined: Wed Nov 18, 2009 7:27 pm
Location: New York University

NONLIN_EOS in upwelling example creates velocities

#1 Post by tasha » Sat Oct 22, 2011 12:24 am

At the risk of asking a question with an obvious answer, here goes...

Running the upwelling example with the following cpp defs, with T & S set to constants and sustr and svstr set to 0, produces zero velocities as expected. My question in why, when turning on NONLIN_EOS (so that density is a function of salinity as well as temperature), are velocities suddenly created? The density is the same everywhere, what is causing the water to move?

Thanks for your thoughts, Tasha

Code: Select all

#define ANA_GRID
#undef MASKING
#define ANA_SMFLUX
#define ANA_STFLUX
#define ANA_SSFLUX
#define ANA_BTFLUX
#define ANA_BSFLUX
#define SALINITY
#define SOLVE3D
#undef NONLIN_EOS  /* ** */
#define UV_ADV
#define UV_COR
#define UV_LDRAG
#define UV_VIS2
#define MIX_S_UV
#define TS_DIF2
#define MIX_S_TS
#define ANA_VMIX

User avatar
Posts: 3780
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: NONLIN_EOS in upwelling example creates velocities

#2 Post by kate » Sat Oct 22, 2011 12:52 am

Looks like you turned off the periodicity. In answer to your question, yes, we expect stratification in the presence of a sloping bottom to generate some currents. This is the classic "pressure gradient problem" about which many papers have been written. Note their magnitude - they'd be lost in the noise with the winds on.

Posts: 15
Joined: Wed Nov 18, 2009 7:27 pm
Location: New York University

Re: NONLIN_EOS in upwelling example creates velocities

#3 Post by tasha » Sat Oct 22, 2011 7:46 pm

Hi Kate,
Thanks so much for the quick response. (Yes, I turned off periodicity.) You mentioned stratification. I used ANA_INITIAL to set the initial T and S to constants, so there should be no stratification. Would you still expect the pressure gradient problem to create velocities? It appears so. Yes, I agree that the magnitude of the velocities are small, but the problem arises when I substitute my grid for the analytical grid (using the same cppdefs above). See attached model results. So perhaps it is more a problem with my grid than the pressure gradients. I've smoothed bathymetry a lot (using first a Shapiro to 0.35 and then also LP to 0.1), but I am still getting some noisy and fairly strong velocities. Is there another type of bathymetry smoothing I should be considering? Could there be something else wrong with my grid (created with Seagrid and then seagrid2Roms)?

Thanks! Tasha
undef ANA_GRID define NONLIN_EOS.png

User avatar
Posts: 3780
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: NONLIN_EOS in upwelling example creates velocities

#4 Post by kate » Mon Oct 24, 2011 5:08 pm

Uniform T and S with the linear equation of state should produce no currents. Next I would turn on the diagnostics output and see which term(s) are driving the currents.

Posts: 18
Joined: Wed Apr 23, 2003 1:34 pm
Location: IMR, Bergen, Norway

Re: NONLIN_EOS in upwelling example creates velocities

#5 Post by Paul_Budgell » Tue Oct 25, 2011 1:52 am

As I understand it, when constant T and S are used with a linear equation of state, the velocities are indeed zero. The non-zero velocities crop up when a nonlinear equation of state is used. This makes sense since there is a compressibility condition in the full, nonlinear equation of state which will generate a weak depth dependence in density. Once a vertical density profile exists, then with variable bathymetry, pressure gradient truncation errors will generate a weak nonzero velocity field.

User avatar
Posts: 185
Joined: Fri Nov 14, 2003 4:57 pm

Re: NONLIN_EOS in upwelling example creates velocities

#6 Post by shchepet » Tue Oct 25, 2011 3:57 am

Yes, the problem here is due to the fact that the pressure gradient scheme described
in the 2003 paper WAS NEVER FULLY implemented in Rutgers ROMS.

That paper introduces the notion of adiabatic differences and harmonic averaging of
adiabatic differences as a method to enforce non-oscillatory stratification of cubic
polynomial interpolants. Note that just monotonic decrease of "in situ" density with
vertical coordinate z (pointing upward) does not necessarily guarantees that the water
column is positively stratified: in fact, most of density variation in the ocean occurs
due to what I would call "bulk compressibility" -- imagine than T,S are spatially
uniform and equal to T=3.8 degrees, S=34.5 PSU. This would still yield about 90% of
the observed variation of "in situ" density. However, in can be shown (Dukowicz, 2001)
that "bulk compressibility" does not create any contribution to pressure gradient and,
in fact, is dynamically passive.

The 2003 paper argues that pressure gradient should not be computed from "in situ"
density, but rather splits EOS into two parts to facilitate computing of adiabatic
differencing, see Sec. 7 there. Once this is properly done, pressure gradient force
should vanish identically when T,S are spatially uniform. Yes, this requires a special
form of EOS.

The PGF errors associated with neglecting this issue (i.e. computing PGF from straight
from "in situ" density vs. splitting EOS) are shown on Fig. 16 in 2003 paper.
The dynamical errors due to entirely neglecting seawater compressibility (missing
thermobaric effect) are shown on Figs. 17 and 18.

Rutgers ROMS instead took the route of bringing "latest and greatest", and supposedly
more accurate versions of EOS, not realizing that it leads to the admission of much
cruder errors due to sigma-problem than the improvement of the physical accuracy of
EOS relative to the Jackett and McDougal, 1995 version.

Another related dilemma is a long-term, 40+ years, misunderstanding of the Boussinesq
approximation within the oceanic modeling community leading to the belief that the more
accurate EOS is used the better it is for your model. This is slowly being sorted out
starting with the year 2010, but overall it already took 100 years (counting from the
1903 lecture noted by Boussinesq) to realize that if the Boussinesq approximation is
desired it should be applied to the entire system of equations including EOS.

In fact, most of the effort to improve EOS starting with the original UNESCO standard
of early 198x was undertaken pursuing two directions: (i) accuracy of representation
of "in situ" density under the conditions of extreme pressure, and (ii) to ensure
internal thermodynamic consistency among the derived properties resulting from EOS
(after work of Feistel, 2003). While both are important goals, neither of them leads
to any improvement in a Boussinesq model: accuracy of "in situ" density is irrelevant,
since in some places you have is as "in situ", in other places it is replaced by rho0.
Thermodynamics is grossly simplified by the Boussinesq approach to start with, reducing
it to just conservation. So the only relevant properties needed from EOS are translations
of spatial derivatives of T,S into "in situ" adiabatic derivatives of density (derivatives
under constant pressure equal to the actual local pressure). This opens the possibility
to significantly simplify EOS and yet, have a very physically accurate Boussinesq model.

Posts: 93
Joined: Sun Jul 27, 2003 6:49 pm
Location: UNH, USA

Re: NONLIN_EOS in upwelling example creates velocities

#7 Post by jpringle » Tue Oct 25, 2011 1:12 pm

This comment is orthogonal to Sasha's comment -- and his certainly the more interesting of the two.

However, it is worth noting that if you have stratification over a sloping bottom, in the presence of vertical mixing, you will have an adjustment of the density near the bottom. If the mixing were isotropic, your boundary condition would be no diffusive flux through the bottom, and thus no gradient in density normal to the bottom. This leads to a cross-slope density gradient, which will drive a velocity by thermal wind. Non-isotropic mixing gives you a slightly different result -- i.e. if there is only vertical mixing, you will get no vertical stratification near the bottom, which again leads to horizontal density gradients over a sloping bottom, and velocity by thermal wind.

Thus, even in the absence of error, but in the presence of diffusion of T & S, stratification, and sloping bottoms, you will get weak velocities. Once those velocities start, they can advect density and the density field will start to evolve. In the periodic case, this evolution is very slow, because most of the flow is along isobath and thus perpendicular to the density gradients. Stick a wall into the problem by turning off periodicity, and odd things will happen.

Of course, you should also see this with a linear EOS.


Post Reply