sw.theta {oce} | R Documentation |
Compute theta, the potential temperature of seawater.
sw.theta(S, t=NULL, p=NULL, pref=0, method=c("UNESCO1983","Bryden1973"))
S |
either salinity [PSU] (in which case t and p
must be provided) or a ctd object (in which case
S , t and p are determined from the object, and
must not be provided in the argument list). |
t |
in-situ temperature [degC] |
p |
pressure [dbar] |
pref |
reference pressure [dbar] |
method |
algorithm to be used (see details) |
If the first argument is a ctd
object, then salinity,
temperature and pressure values are extracted from it, and used for
the calculation.
The potential temperature is defined to be the temperature that a
water parcel of salinity S
, in-situ temperature t
and pressure p
would have if were to be moved adiabatically to
a location with pressure pref
. This quantity is commonly
denoted theta(S,t,p,pref) in the
oceanographic literature.
The "Bryden1973"
method does not use the reference pressure,
since it is set up to approximate potential temperature referenced to
the surface.
For general use, the "UNESCO1983"
method is preferable, since
it permits calculation for arbitrary reference pressure. The UNESCO
formula is derived from Bryden's earlier method, as Fofonoff et
al. (1983) explain.
This is not the place to discuss the two methods in detail, but users may note from the example that the two typically yield values that agree to a few millidegrees.
Potential temperature [degC] of seawater.
Dan Kelley
Bryden, H. L., 1973. New polynomials for thermal expansion, adiabatic temperature gradient and potential temperature of seawater, Deep-Sea Res., 20, 401-408.
Fofonoff, P. and R. C. Millard Jr, 1983. Algorithms for computation of fundamental properties of seawater. Unesco Technical Papers in Marine Science, 44, 53 pp.
The corresponding potential density anomaly
sigma-theta can be calculated with
sw.sigma.theta
.
library(oce) print(sw.theta(35, 13, 1000)) # 12.858 print(sw.theta(40,40,10000,0,"UNESCO1983")) # 36.89073 (Fofonoff et al., 1983) # Demonstrate that the methods agree to a couple of # millidegrees over a typical span of values S <- c(30,30,38,38) T <- c(-2,-2,30,30) p <- rep(1000,4) print(max(abs(sw.theta(S,T,p) - sw.theta(S,T,p,0,"UNESCO1983"))))