R: Gibbs Energy of Seawater, and its Derivatives

gsw_gibbs {gsw} | R Documentation

## Gibbs Energy of Seawater, and its Derivatives

### Description

Gibbs Energy of Seawater, and its Derivatives

### Usage

    gsw_gibbs(ns, nt, np, SA, t, p = 0)

### Arguments

`ns` | An integer, the order of the `SA` derivative. Must be 0, 1, or 2.
`nt` | An integer, the order of the `t` derivative. Must be 0, 1, or 2.
`np` | An integer, the order of the `p` derivative. Must be 0, 1, or 2.
`SA` | Absolute Salinity [ g/kg ]
`t` | in-situ temperature (ITS-90) [ degC ]
`p` | sea pressure [dbar], i.e. absolute pressure [dbar] minus 10.1325 dbar

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

### Value

Gibbs energy [ J/kg ] if `ns`=`nt`=`np`=0. Derivative of energy with respect to `SA` [ J/kg/(g/kg)^ns ] if `ns` is nonzero and `nt`=`np`=0, etc. Note that derivatives with respect to pressure are in units with Pa, not dbar.

### Caution

The TEOS-10 webpage for `gsw_gibbs` does not provide test values, so the present R version should be considered untested.

### References

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

### Examples

    library(gsw)
    p <- seq(0, 100, 1)
    SA <- rep(35, length(p))
    t <- rep(-5, length(p))
    ## Check the derivative wrt pressure. Note the unit change
    E <- gsw_gibbs(0, 0, 0, SA, t, p)
    # Estimate derivative from linear fit (try plotting: it is very linear)
    m <- lm(E ~ p)
    print(summary(m))
    plot(p, E)
    abline(m)
    dEdp1 <- coef(m)[2]
    # Calculate derivative ... note we multiply by 1e4 to get from 1/Pa to 1/dbar
    dEdp2 <- 1e4 * gsw_gibbs(0, 0, 1, SA[1], t[1], p[1])
    ## Ratio
    dEdp1 / dEdp2

[Package gsw version 1.0-5 Index]