Learn R Programming

gsw (version 1.0-5)

gsw_gibbs_ice: Gibbs Energy of Ice, and its Derivatives

Description

Gibbs Energy of Ice, and its Derivatives

Usage

gsw_gibbs_ice(nt, np, t, p = 0)

Arguments

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.

t

in-situ temperature (ITS-90) [ degC ]

p

sea pressure [dbar], i.e. absolute pressure [dbar] minus 10.1325 dbar

Value

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

Caution

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

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_gibbs_ice.html

Examples

Run this code
# NOT RUN {
library(gsw)
p <- seq(0, 100, 1)
t <- rep(-5, length(p))
## Check the derivative wrt pressure. Note the unit change
E <- gsw_gibbs_ice(0, 0, 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_ice(0, 1, t[1], p[1])
## Ratio
dEdp1 / dEdp2
# }

Run the code above in your browser using DataLab