geo_strf_isopycnal = gsw_geo_strf_isopycnal(SA,CT,p,p_ref,Neutral_Density,p_Neutral_Density,A)
Calculates the approximate isopycnal geostrophic streamfunction as
defined in McDougall-Klocker (2010) (see Eqn. (3.30.1) of IOC et al. (2010)).
This is the geostrophic streamfunction for the difference between the
horizontal velocity at the pressure concerned, p, and the horizontal
velocity at the reference pressure, p_ref. It is designed to be used as
the geostrophic streamfunction in an approximately neutral surface (such
as a Neutral Density surface, a potential density surface or an omega
surface (Klocker et al., 2009)). Reference values of Absolute Salinity,
Conservative Temperature and pressure are found by interpolation of a
one-dimensional look-up table, with the interpolating variable being
Neutral_Density (gamma_n). This function calculates specific volume
anomaly using the computationally efficient 75-term expression for
specific volume (Roquet et al., 2015).
The first three input arguments are a series of vertical profiles. The
fourth argument, p_ref, is the reference pressure to which the stream
function is referenced. When p_ref is zero, gsw_geo_strf_isopycnal
returns the isopycnal geostrophic streamfunction with respect to the sea
surface, otherwise, the function returns the geostrophic streamfunction
with respect to the (deep) reference pressure p_ref. The last three
arguments pertain to the (usually relatively few) surfaces on which the
isopycnal geostrophic streamfunction is to be calculated. The two input
arguments, Neutral_Density and p_Neutral_Density, are the Neutral
Density label and the pressure of each of the (usually relatively few)
surfaces. p_Neutral_Density is the series of pressures where the
surfaces intersect the vertical profiles. These surfaces do not have to
be the very best approximately neutral surfaces; rather the onus is on
the user to use a surface that is sufficiently neutral for their
purpose. The input variable "Neutral_Density" is used to find reference
values of SA, CT and p by vertcal interpolation down a single reference
cast. As an alternative to the user supplying Neutral Density for this
purpose, the code allows for sigma_2 to be used as the vertical
interpolating variable instead of Neutral Density.
SA = Absolute Salinity [ g/kg ]
CT = Conservative Temperature [ deg C ]
p = sea pressure [ dbar ]
( i.e. absolute pressure - 10.1325 dbar )
p_ref = reference pressure [ dbar ]
( i.e. reference absolute pressure - 10.1325 dbar )
Neutral_Density = Neutral Density anomaly [ kg/m^3 ]
( i.e. Neutral Density minus 1000 kg/m^3 )
p_Neutral_Density = pressure of the Neutral_Density surface.
A = if nothing is entered the programme defaults to "Neutral
Density" as the vertical interpolating variable.
= 's2' or 'sigma2', for sigma_2 as the vertical interpolating
SA & CT need to have the same dimensions.
p may have dimensions Mx1 or 1xN or MxN, where SA & CT are MxN.
p_ref needs to be a unique value, it can have dimensions Mx1 or 1xN or
Neutral_Density & p_Neutral_Density need to have the same dimensions,
and they need to have dimensions BxN, where B is the number of surfaces.
geo_strf_isopycnal = isopycnal geostrophic streamfunction [ m^2/s^2 ]
as defined by McDougall & Klocker (2010)
For each oceanographic profile consisting of (SA, CT, p)
SA = [34.7118; 34.8915; 35.0256; 34.8472; 34.7366; 34.7324;]
CT = [28.8099; 28.4392; 22.7862; 10.2262; 6.8272; 4.3236;]
p = [ 10; 50; 125; 250; 600; 1000;]
p_ref = 1000;
Both the "Neutral_Density" and the pressure of each of the neutral
density surfaces needs to be pre-computed and supplied. In this
example we are interested in only two neutral surfaces
(26.7 & 27.8 kg/m^3)
Neutral_Density = [26.7; 27.8;]
p_Neutral_Density = [ 650; 810;]
geo_strf_isopycnal = ...
Trevor McDougall and Paul Barker [ email@example.com ]
3.06 (15th May, 2017)
IOC, SCOR and IAPSO, 2010: The international thermodynamic equation of
seawater - 2010: Calculation and use of thermodynamic properties.
Intergovernmental Oceanographic Commission, Manuals and Guides No. 56,
UNESCO (English), 196 pp. Available from the TEOS-10 web site.
See section 3.30 of this TEOS-10 Manual.
Jackett, D. R. and T. J. McDougall, 1997: A neutral density variable
for the world’s oceans. Journal of Physical Oceanography, 27, 237-263.
Klocker, A., T. J. McDougall and D. R. Jackett, 2009: A new method
for forming approximately neutral surfaces. Ocean Sci., 5, 155-172.
McDougall, T. J. and A. Klocker, 2010: An approximate geostrophic
streamfunction for use in density surfaces. Ocean Modelling, 32,
The McDougall-Klocker geostrophic streamfunction is defined in
Eqn. (62) of this paper.
McDougall, T.J., D.R. Jackett, D.G. Wright and R. Feistel, 2003:
Accurate and computationally efficient algorithms for potential
temperature and density of seawater. J. Atmosph. Ocean. Tech., 20,
Roquet, F., G. Madec, T.J. McDougall and P.M. Barker, 2015: Accurate
polynomial expressions for the density and specific volume of seawater
using the TEOS-10 standard. Ocean Modelling, 90, pp. 29-43.
The software is available from http://www.TEOS-10.org