Learn R Programming

gsw (version 1.2-0)

gsw_pt_second_derivatives: Second Derivatives of Potential Temperature

Description

Second Derivatives of Potential Temperature

Usage

gsw_pt_second_derivatives(SA, CT)

Value

A list containing pt_SA_SA [ K/(g/kg)^2 ], the second derivative of potential temperature with respect to Absolute Salinity at constant potential temperature, and pt_SA_pt [ 1/(g/kg) ], the derivative of potential temperature with respect to Conservative Temperature and Absolute Salinity, and pt_pt_pt [ 1/degC ], the second derivative of potential temperature with respect to Conservative Temperature.

Arguments

SA

Absolute Salinity [ g/kg ]. The valid range for most `gsw` functions is 0 to 42 g/kg.

CT

Conservative Temperature [ degC ].

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.

References

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

Examples

Run this code
SA <- c(34.7118, 34.8915, 35.0256, 34.8472, 34.7366, 34.7324)
CT <- c(28.8099, 28.4392, 22.7862, 10.2262,  6.8272,  4.3236)
r <- gsw_pt_second_derivatives(SA, CT)
stopifnot(all.equal(r$pt_SA_SA/1e-3,
    c(0.160307058371208, 0.160785497957769, 0.168647220588324,
      0.198377949876584, 0.210181899321236, 0.220018966513329)))
stopifnot(all.equal(r$pt_SA_CT,
    c(0.001185581323691, 0.001187068518686, 0.001217629686266,
      0.001333254154015, 0.001379674342678, 0.001418371539325)))
stopifnot(all.equal(r$pt_CT_CT/1e-3,
    c(-0.121979811279463, -0.123711264754503, -0.140136818504977,
      -0.140645384127949, -0.113781055410824, -0.082417269009484)))

Run the code above in your browser using DataLab