Calculate Preformed Salinity from Practical Salinity, pressure, longitude, and latitude.
Arguments
- SP
Practical Salinity (PSS-78) [ unitless ]. The valid range for most `gsw` functions is from 2 to 42.
- p
sea pressure [dbar], i.e. absolute pressure [dbar] minus 10.1325 dbar
- longitude
longitude in decimal degrees, positive to the east of Greenwich. (This is called
long
in the TEOS-10 Matlab code.)- latitude
latitude in decimal degrees, positive to the north of the equator. (This is called
lat
in the TEOS-10 Matlab code.)
Details
If SP is a matrix and if its dimensions correspond to the
lengths of longitude and latitude, then the latter are
converted to analogous matrices with expand.grid
.
Implementation Note
This R function uses a wrapper to a C function contained within the GSW-C system as updated 2022-10-11 at https://github.com/TEOS-10/GSW-C with git commit `657216dd4f5ea079b5f0e021a4163e2d26893371`.
The C function uses data from the library/gsw_data_v3_0.mat
file provided in the GSW-Matlab source code, version 3.06-11.
Unfortunately, this version of the mat file is no longer displayed on the
TEOS-10.org website. Therefore, in the interests of making GSW-R be
self-contained, a copy was downloaded from
http://www.teos-10.org/software/gsw_matlab_v3_06_11.zip on 2022-05-25,
the .mat file was stored in the developer/create_data directory of
https://github.com/TEOS-10/GSW-R, and then the dataset used in GSW-R
was created based on that .mat file.
Please consult http://www.teos-10.org to learn more about the various TEOS-10 software systems.
See also
Other things related to salinity:
gsw_C_from_SP()
,
gsw_SA_from_SP()
,
gsw_SA_from_SP_Baltic()
,
gsw_SA_from_Sstar()
,
gsw_SP_from_C()
,
gsw_SP_from_SA()
,
gsw_SP_from_SK()
,
gsw_SP_from_SR()
,
gsw_SP_from_Sstar()
,
gsw_SR_from_SP()
,
gsw_Sstar_from_SA()
,
gsw_deltaSA_from_SP()
Examples
SP <- c(34.5487, 34.7275, 34.8605, 34.6810, 34.5680, 34.5600)
p <- c( 10, 50, 125, 250, 600, 1000)
lat <- c( 4, 4, 4, 4, 4, 4)
long <- c( 188, 188, 188, 188, 188, 188)
Sstar <- gsw_Sstar_from_SP(SP,p,long,lat)
stopifnot(all.equal(Sstar, c(34.711553680880769, 34.891161395333754, 35.024650265047370,
34.843593141519356, 34.729033995955525, 34.719675962471783)))