gsw_geo_strf_dyn_height_pc {gsw} | R Documentation |
Geostrophic Dynamic Height Anomaly (Piecewise-Constant Profile)
Description
Geostrophic Dynamic Height Anomaly (Piecewise-Constant Profile)
Usage
gsw_geo_strf_dyn_height_pc(SA, CT, delta_p)
Arguments
SA |
Absolute Salinity [ g/kg ] |
CT |
Conservative Temperature [ degC ] |
delta_p |
difference in sea pressure between the deep and
shallow limits of layers within which |
Value
A list containing dyn_height
, the dynamic height anomaly [ m^2/s^2 ], and
p_mid
[ dbar ], the pressures at the layer centres. Note that the dynamic height
anomaly unit, also known as a "dynamic meter", corresponds to approximately 1.02 metres of sealevel height
(see e.g. Talley et al., 2011. Descriptive Physical Oceanography, Edition 6.
Elsevier).
Implementation Note
This R function uses a wrapper to a C function contained within the GSW-C system as updated 2021-12-28 at https://github.com/TEOS-10/GSW-C with git commit '98f0fd40dd9ceb0ba82c9d47ac750e935a7d0459'.
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_geo_strf_dyn_height.html
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)
delta_p <- c(10, 40, 75, 125, 350, 400)
r <- gsw_geo_strf_dyn_height_pc(SA, CT, delta_p)
stopifnot(all.equal(r$dyn_height, c(-0.300346215853487, -1.755165998114308, -4.423531083131365,
-6.816659136254657, -9.453175257818430, -12.721009624991439)))
stopifnot(all.equal(r$p_mid/1e2, c(0.050000000000000, 0.300000000000000, 0.875000000000000,
1.875000000000000, 4.250000000000000, 8.000000000000000)))