Compute the potential density (minus 1000 kg/m^3) that seawater would have if raised adiabatically to the surface. In the UNESCO system, this quantity is is denoted \(\sigma_\theta\) (hence the function name), but in the GSW system, a somewhat related quantity is denoted sigma0. (In a deep-water CTD cast, the RMS deviation between sigma-theta and sigma0 is typically of order 0.0003 kg/m^3, corresponding to a temperature shift of about 0.002C, so the distinction between the quantities is not large.)

  temperature = NULL,
  pressure = NULL,
  referencePressure = 0,
  longitude = NULL,
  latitude = NULL,
  eos = getOption("oceEOS", default = "gsw"),
  debug = getOption("oceDebug")



either practical salinity (in which case temperature and pressure must be provided) or an oce object, in which case salinity, temperature (in the ITS-90 scale; see next item), etc. are inferred from the object, ignoring the other parameters, if they are supplied.


in-situ temperature (\(^\circ\)C), defined on the ITS-90 scale. This scale is used by GSW-style calculation (as requested by setting eos="gsw"), and is the value contained within ctd objects (and probably most other objects created with data acquired in the past decade or two). Since the UNESCO-style calculation is based on IPTS-68, the temperature is converted within the present function, using T68fromT90().


pressure (dbar)


The reference pressure, in dbar.


longitude of observation (only used if eos="gsw"; see “Details”).


latitude of observation (only used if eos="gsw"; see “Details”).


equation of state, either "unesco" (references 1 and 2) or "gsw" (references 3 and 4).


an integer specifying whether debugging information is to be printed during the processing. This is a general parameter that is used by many oce functions. Generally, setting debug=0 turns off the printing, while higher values suggest that more information be printed. If one function calls another, it usually reduces the value of debug first, so that a user can often obtain deeper debugging by specifying higher debug values.


Potential density anomaly (kg/m\(^3\)), defined as \(\sigma_\theta=\rho(S,\theta(S,t,p),0\)

  • 1000 kg/m\(^3\).


If the first argument is an oce object, then salinity, etc., are extracted from it, and used for the calculation instead of any values provided in the other arguments.


See citations provided in the swRho() documentation.


Dan Kelley


stopifnot(abs(26.4212790994 - swSigmaTheta(35, 13, 1000, eos = "unesco")) < 1e-7)