Learn R Programming

oce (version 0.2-1)

swTheta: Seawater potential temperature

Description

Compute $\theta$, the potential temperature of seawater.

Usage

swTheta(salinity, temperature=NULL, pressure=NULL, referencePressure=0,
         method=c("unesco","bryden"))

Arguments

salinity
either salinity [PSU] (in which case temperature and pressure must be provided) or a ctd object (in which case salinity, temperature and pressure ar
temperature
in-situ temperature [$^\circ$C]
pressure
pressure [dbar]
referencePressure
reference pressure [dbar]
method
algorithm to be used (see details)

Value

  • Potential temperature [$^\circ$C] of seawater.

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 referencePressure. This quantity is commonly denoted $\theta$ in the oceanographic literature.

The "bryden" method, based on Bryden (1973), calculates potential temperature referenced to the surface, ignoring the reference pressure. The "unesco" method, based on Fofonoff et al. (1983), generalizes Bryden's method, permitting calculation for arbitrary reference pressure. For normal use, the "unesco" method is preferred. (The example given below illustrates that the two methods yield similar results for surface-referenced calculations.)

References

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.

See Also

The corresponding potential density anomaly $\sigma_\theta$ can be calculated with swSigmaTheta.

Examples

Run this code
library(oce)
cat("unesco example:",swTheta(35, 13, 1000),"")
cat("bryden example:",swTheta(35, 13, 1000, "bryden"),"")

print(swTheta(40,40,10000,0,"unesco")) # 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 <- 1000 * runif(n=4)
print(max(abs(swTheta(S,T,p) - swTheta(S,T,p,0,"bryden"))))

Run the code above in your browser using DataLab