[MITgcm-support] Calculating buoyancy gradients

Martin Losch martin.losch at awi.de
Wed Aug 10 04:10:54 EDT 2016


Hi Liam,

Buoyancy is b=g*rho (in-situ density). jmd95 is a polynomial that computes in-situ density from potential temperature and salinity and pressure, see the original paper in JTECH. How you compute pressure is a matter of accuracy. Since the hydrostatic pressure balance is non-linear (dp/dz = -g * rho(p)), the most accurate way of computing pressure is through an iteration, which usually converges very quickly. In most oceanographic contexts, the linearized pressure dp/dz = -g * rho0 is sufficiently accurate.

The dynamically relevant horizontal gradients are those of in-situ density. The buoyancy frequency, however, is computed from two vertically adjacent densities after locally moving them adiabatically to the same pressure level (so it’s something like local potential density). In the MITgcm this is approximated by computing two densities from theta/S from level k and k+1 with the pressure(depth) of one of the level (k): (g/rho)*(sigma(S(k),T(k),p(k)) - sigma(S(k+1),T(k+1),p(k)))/dz
(I hope that I got that right), see also Gill (1982)’s textbook, page 51, where the adiabatic lapse rate is included in the stability (and hence N^2) computation.

Martin

> On 10 Aug 2016, at 07:51, Liam Brannigan <liam.brannigan at misu.su.se> wrote:
> 
> Dear mitgcmers
> 
> I've been going through various old threads to understand how buoyancy gradients should be calculated from the potential temperature and salinity outputs.  However, I'm still a bit confused on some points and thought I'd seek some help.
> 
> Firstly, with a linear equation of state it seems that: buoyancy b = g*tAlpha*(theta(i,j,k,bi,bj)-tRef(k)) (and similarly for salinity).  Buoyancy gradients can be calculated from that in a straightforward way. 
> 
> With the non-linear equation of state (in z-coordinates), I'm less sure.  One approach is to use jmd95.py (or equivalently densjmd95.m) to calculate sigma.  This takes S, T and p as inputs.  The salinity and temperature are just the model output salinity and potential temperatures.  Should pressure be calculated simply as p = -g/rho_{0}z?  Do latitudinal corrections have to be made, as in sw_pres.m?  The jmd95.py script gives "the density of seawater"  - but it looks to me like it is the potential density.  Are the horizontal buoyancy gradients then horizontal gradients of the output of the jmd95.py script while stratification (N2) is the vertical gradient of the output (once it has been multiplied by -g/rho_{0})?
> 
> Thanks
> 
> Liam
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list