Compute \(\rho\), the in-situ density of seawater.
swRho(
salinity,
temperature = NULL,
pressure = NULL,
longitude = NULL,
latitude = NULL,
eos = getOption("oceEOS", default = "gsw")
)
either practical salinity (in which case temperature
and pressure
must be provided) or an oce
object, in
which case salinity
, temperature
(in the ITS-90 scale; see
next item), etc. are inferred from the object, ignoring the
other parameters, if they are supplied.
in-situ temperature (\(^\circ\)C), defined
on the ITS-90 scale. This scale is used by GSW-style calculation (as
requested by setting eos="gsw"
), and is the value contained within
ctd
objects (and probably most other objects created with data
acquired in the past decade or two). Since the UNESCO-style calculation is
based on IPTS-68, the temperature is converted within the present function,
using T68fromT90()
.
pressure (dbar)
longitude of observation (only used if eos="gsw"
;
see “Details”).
latitude of observation (only used if eos="gsw"
; see
“Details”).
equation of state, either "unesco"
(references 1 and 2)
or "gsw"
(references 3 and 4).
In-situ density (kg/m\(^3\)).
If eos="unesco"
, the density is calculated using the UNESCO equation
of state for seawater (references 1 and 2), and if eos="gsw"
, the GSW formulation
(references 3 and 4) is used.
The UNESCO formulae are defined in terms of
temperature measured on the IPTS-68 scale, whereas the replacement GSW
formulae are based on the ITS-90 scale. Prior to the addition of GSW
capabilities, the various sw*
functions took temperature to be in
IPTS-68 units. As GSW capabilities were added in early 2015, the assumed
unit of temperature
was taken to be ITS-90. This change means that
old code has to be modified, by replacing e.g. swRho(S, T, p)
with
swRho(S, T90fromT68(T), p)
. At typical oceanic values, the difference
between the two scales is a few millidegrees.
Fofonoff, P. and R. C. Millard Jr, 1983. Algorithms for computation of fundamental properties of seawater. Unesco Technical Papers in Marine Science, 44, 53 pp.
Gill, A.E., 1982. Atmosphere-ocean Dynamics, Academic Press, New York, 662 pp.
IOC, SCOR, and IAPSO (2010). The international thermodynamic equation of seawater-2010: Calculation and use of thermodynamic properties. Technical Report 56, Intergovernmental Oceanographic Commission, Manuals and Guide.
McDougall, T.J. and P.M. Barker, 2011: Getting started with TEOS-10 and the Gibbs Seawater (GSW) Oceanographic Toolbox, 28pp., SCOR/IAPSO WG127, ISBN 978-0-646-55621-5.
Related density routines include swSigma0()
(and
equivalents at other pressure horizons), swSigmaT()
, and
swSigmaTheta()
.
Other functions that calculate seawater properties:
T68fromT90()
,
T90fromT48()
,
T90fromT68()
,
computableWaterProperties()
,
locationForGsw()
,
swAbsoluteSalinity()
,
swAlphaOverBeta()
,
swAlpha()
,
swBeta()
,
swCSTp()
,
swConservativeTemperature()
,
swDepth()
,
swDynamicHeight()
,
swLapseRate()
,
swN2()
,
swPressure()
,
swRrho()
,
swSCTp()
,
swSR()
,
swSTrho()
,
swSigma0()
,
swSigma1()
,
swSigma2()
,
swSigma3()
,
swSigma4()
,
swSigmaTheta()
,
swSigmaT()
,
swSigma()
,
swSoundAbsorption()
,
swSoundSpeed()
,
swSpecificHeat()
,
swSpice()
,
swSstar()
,
swTFreeze()
,
swTSrho()
,
swThermalConductivity()
,
swTheta()
,
swViscosity()
,
swZ()
library(oce)
# The numbers in the comments are the check values listed in reference 1;
# note that temperature in that reference was on the T68 scale, but that
# the present function works with the ITS-90 scale, so a conversion
# is required.
swRho(35, T90fromT68(5), 0, eos = "unesco") # 1027.67547
#> [1] 1027.675
swRho(35, T90fromT68(5), 10000, eos = "unesco") # 1069.48914
#> [1] 1069.489
swRho(35, T90fromT68(25), 0, eos = "unesco") # 1023.34306
#> [1] 1023.343
swRho(35, T90fromT68(25), 10000, eos = "unesco") # 1062.53817
#> [1] 1062.538