convert_salinity {marelac} | R Documentation |
Conversion from practical to absolute salinity and vice versa.
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"))
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
|
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
:
delt= 9.824e-5 *DSi,
lat
< -30),
delt= 7.4884e-5 *DSi,
delt= 7.4884e-5 *(1 + 0.3622[lat
/30 + 1])*DSi,
delt= 7.4884e-5 *(1 + 0.3861[lat
/30 + 1])*DSi,
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.
The absolute salinity (convert_PStoAS
) or practical salinity
(convert_AStoPS
).
Karline Soetaert <k.soetaert@nioo.knaw.nl>
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/
convert_RtoS
, convert_StoR
,
convert_StoCl
,
convert_p
, convert_T
,
# 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)