gsw_specvol_first_derivatives function

First Derivatives of Specific Volume

First Derivatives of Specific Volume

gsw_specvol_first_derivatives(SA, CT, p)

Arguments

  • SA: Absolute Salinity [ g/kg ]. The valid range for most gsw functions is 0 to 42 g/kg.
  • CT: Conservative Temperature [ degC ].
  • p: sea pressure [dbar], i.e. absolute pressure [dbar] minus 10.1325 dbar

Returns

A list containing v_SA [ (m^3/kg)/(g/kg) ], the derivative of specific volume with respect to Absolute Salinity, v_CT [ (m^3/kg)/degC], the derivative of specific volume with respect to Conservative Temperature, and v_p [ (m^3/kg)/dbar ], the derivative of specific volume with respect to pressure. (Note that the last quantity is denoted v_P in the documentation for the Matlab function.)

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.

Examples

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) p <- c( 10, 50, 125, 250, 600, 1000) r <- gsw_specvol_first_derivatives(SA, CT, p) stopifnot(all.equal(r$v_SA/1e-6, c(-0.702149096451073, -0.702018847212088, -0.708895319156155, -0.730208155560782, -0.733175729406169, -0.733574625737474))) stopifnot(all.equal(r$v_CT/1e-6, c(0.317700378655437, 0.315628863649601, 0.274441877830800, 0.168516613901993, 0.142051181824820, 0.125401683814057))) stopifnot(all.equal(r$v_p/1e-12, c(-0.402527990904794, -0.402146232553089, -0.406663124765787, -0.423877042622481, -0.426198431093548, -0.426390351853055)))

References

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

See Also

Other things related to enthalpy: gsw_CT_from_enthalpy(), gsw_dynamic_enthalpy(), gsw_enthalpy(), gsw_enthalpy_CT_exact(), gsw_enthalpy_diff(), gsw_enthalpy_first_derivatives(), gsw_enthalpy_first_derivatives_CT_exact(), gsw_enthalpy_ice(), gsw_enthalpy_t_exact(), gsw_frazil_properties_potential(), gsw_frazil_properties_potential_poly(), gsw_pot_enthalpy_from_pt_ice(), gsw_pot_enthalpy_from_pt_ice_poly(), gsw_pot_enthalpy_ice_freezing(), gsw_pot_enthalpy_ice_freezing_poly(), gsw_pt_from_pot_enthalpy_ice(), gsw_pt_from_pot_enthalpy_ice_poly(), gsw_specvol_first_derivatives_wrt_enthalpy()

  • Maintainer: Dan Kelley
  • License: GPL (>= 2) | file LICENSE
  • Last published: 2024-08-19