Learn R Programming

gsw (version 1.0-5)

gsw_SAAR: Absolute Salinity Anomaly Ratio

Description

Absolute Salinity Anomaly Ratio

Usage

gsw_SAAR(p, longitude, latitude)

Arguments

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.)

Value

a list containing SAAR, which is the (unitless) Absolute Salinity Anomality Ratio, and in_ocean is set to 1 if SAAR is nonzero, or to 0 otherwise.

Bugs

The definition of in_ocean is incorrect, because the C function named gsw_saar, which is called by the present R function, does not calculate in_ocean, as the base Matlab function named gsw_SAAR does. However, examination of the Matlab code shows that in_ocean is set to 0 along with SAAR, whenever the original estimate of the latter is nonfinite. Thus, points that would be siganlled as being on the land by the Matlab code are indicated in the same way with the present R function. However, other points may also be indicated as being on land, if SAAR is simply zero in the first calculation. Whether this poses a problem in practice is an open question, since it seems likely that this function would only be called with oceanic locations, anyway. If problems arise for users, a patch can be written to improve things.

Details

The present R function works with a wrapper to a C function contained within the GSW-C system (Version 3.05-4 dated 2017-08-07, available at https://github.com/TEOS-10/GSW-C, as git commit '5b4d959e54031f9e972f3e863f63e67fa4f5bfec'), which stems from the GSW-Fortran system (https://github.com/TEOS-10/GSW-Fortran) which in turn stems from the GSW-Matlab system (https://github.com/TEOS-10/GSW-Matlab). Consult http://www.teos-10.org to learn more about these software systems, their authorships, and the science behind it all.

References

http://www.teos-10.org/pubs/gsw/html/gsw_saar.html

Examples

Run this code
# NOT RUN {
p <- c(10, 50, 125, 250, 600, 1000)
longitude <- c(188, 188, 188, 188, 188, 188)
latitude <- c(4, 4, 4, 4, 4, 4)
SAAR <- gsw_SAAR(p, longitude, latitude)
expect_equal(1e3*SAAR$SAAR, c(0.004794295602143, 0.007668755837570, 0.018919828449091,
                              0.077293264028981, 0.161974583039298, 0.270652408428964))
expect_equal(SAAR$in_ocean, rep(1, 6))
# }

Run the code above in your browser using DataLab