convert_salinity {marelac}R Documentation

Practical - Absolute Salinity Conversions

Description

Conversion from practical to absolute salinity and vice versa.

Usage

convert_PStoAS(S = 35, p = max(0, P - 1.013253), P = 1.013253,
  lat = NULL, lon = NULL, DSi = NULL,
  Ocean = c("Global","Atlantic","Pacific","Indian","Southern"))

convert_AStoPS(S = 35, p = max(0, P - 1.013253), P = 1.013253,
  lat = NULL, lon = NULL, DSi = NULL,
   Ocean = c("Global","Atlantic","Pacific","Indian","Southern"))

Arguments

S Salinity, either practical salinity (convert_PStoAS), dimensionless or absolute salinity (convert_AStoPS, g/kg)
p gauge or applied pressure, pressure referenced against the local atmospheric pressure, bar
P true pressure, bar
lat latitude (-90 to +90)
lon longitude (0 to 360)
DSi the silicate concentration, in micromol/kg
Ocean the ocean in which the measurement was taken; only used if DSi is not NULL

Details

Absolute salinity (g kg-1) is estimated from Practical salinity as:

AS= 35.16504 /35 * PS + delt()

where delt is the absolute salinity anomaly. There are two ways in which to estimate the salinity anomaly

1. If DSi is not given a value, then the anomaly is estimated as a function of longitude lon, latitude lat and pressure p, using the lookup table as in sw_sfac.

2. If DSi is given a value, then a regression on it is used, based on the values of Ocean and -except for the "global" ocean- the latitute lat:

"Global"
a global estimate is used,

delt= 9.824e-5 *DSi,

"Southern"
the Southern Ocean (lat < -30),

delt= 7.4884e-5 *DSi,

"Pacific"
the Pacific Ocean ,

delt= 7.4884e-5 *(1 + 0.3622[lat/30 + 1])*DSi,

"Indian"
the Indian Ocean ,

delt= 7.4884e-5 *(1 + 0.3861[lat/30 + 1])*DSi,

"Atlantic"
the Atlantic Ocean ,

delt= 7.4884e-5 *(1 + 1.0028[lat/30 + 1])*DSi,

Note that for the Pacific, Indian and Atlantic Ocean regression, the latitude is needed. If lat is NULL then the Global regression will be used.

Value

The absolute salinity (convert_PStoAS) or practical salinity (convert_AStoPS).

Author(s)

Karline Soetaert <k.soetaert@nioo.knaw.nl>

References

Millero FJ, Feistel R, Wright DG and McDougall TJ, 2008. The composition of Standard Seawater and the definition of the Reference-Composition Salinity Scale, Deep-Sea Res. I, 55, 50-72.

McDougall TJ, Jackett DR and Millero FJ, 2009. An algorithm for estimating Absolute Salinity in the global ocean. Ocean Science Discussions 6, 215-242. http://www.ocean-sci-discuss.net/6/215/2009/

Uses the Fortran code written by David Jackett. http://www.marine.csiro.au/~jackett/TEOS-10/

See Also

convert_RtoS, convert_StoR, convert_StoCl, convert_p, convert_T,

Examples

# check values: should be 35.7
convert_PStoAS(S=35.52764437773386, p= 102.3, lon = 201, lat = -21)

# check values: should be 35.52764437773386
convert_AStoPS(S=35.7, p= 102.3, lon = 201, lat = -21)

#
convert_PStoAS(S=35)
convert_AStoPS(S=35)
convert_PStoAS(S=35, lat=10, lon=10, p=0)

# Based on Si concentration
DSi <- seq(from=0,to=200, by=10)
Global   <-  convert_PStoAS(30,DSi=DSi,Ocean="Global")
Atlantic <-  convert_PStoAS(30,DSi=DSi,Ocean="Atlantic",lat=0)
Pacific  <-  convert_PStoAS(30,DSi=DSi,Ocean="Pacific",lat=0)
Indian   <-  convert_PStoAS(30,DSi=DSi,Ocean="Indian",lat=0)
Southern <-  convert_PStoAS(30,DSi=DSi,Ocean="Southern")

matplot(x=DSi, y=cbind(Global,Atlantic,Pacific,Indian,Southern),
  pch=1, xlab="DSi, micromol/kg", ylab="Absolute salinity (PS=30)")
legend("topleft",c("Global","Atlantic","Pacific","Indian","Southern"),
       col=1:5, pch=1)

[Package marelac version 2.0 Index]