convert_salinity: Practical - Absolute Salinity Conversions In marelac: Tools for Aquatic Sciences

Description

Conversion from practical to absolute salinity and vice versa.

Usage

 ```1 2 3 4 5 6 7``` ```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 <karline.soetaert@nioz.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/

`convert_RtoS`, `convert_StoR`, `convert_StoCl`, `convert_p`, `convert_T`,

Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```# 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) ```

Example output

```Loading required package: shape
[1] 35.7
[1] 35.52764
[1] 35.16504
[1] 34.83573
[1] 35.16504
```

marelac documentation built on Feb. 21, 2020, 1:07 a.m.