User`s manual

Appendix IV: Derived Parameter Formulas
87
potential temperature [IPTS-68] = θ (s, t, p, p
r
) [
°
C]
(Potential temperature is the temperature an element of seawater would have if
raised adiabatically with no change in salinity to reference pressure p
r
.
Sea-Bird software uses a reference pressure of 0 decibars).
potential temperature [ITS-90] = θ (s, t, p, p
r
) / 1.00024 [
°
C]
potential temperature anomaly =
potential temperature - a0 - a1 x salinity
or
potential temperature - a0 - a1 x Sigma-theta
(a0, a1, and the selection of salinity or sigma-theta are user-input.)
specific conductivity = (C * 10,000) / (1 + A * [T – 25]) [microS/cm]
(C = conductivity (S/m), T = temperature (° C),
A = thermal coefficient of conductivity for a natural salt solution
[0.019 - 0.020]; Sea-Bird software uses 0.020.)
Potential Temperature [IPTS-68] calculation:
C Computer Code -
// ATG (used in potential temperature calculation)
double ATG(double s, double t, double p) /* adiabatic temperature gradient deg C per decibar */
/* ref broyden,h. Deep-Sea Res.,20,401-408 */
// s = salinity, t = temperature deg C ITPS-68, p = pressure in decibars
{
double ds;
ds = s - 35.0;
return((((-2.1687e-16 * t + 1.8676e-14) * t - 4.6206e-13) * p + ((2.7759e-12 * t - 1.1351e-
10) * ds + ((-5.4481e-14 * t + 8.733e-12) * t - 6.7795e-10) * t + 1.8741e-8)) * p + (-4.2393e-8 * t
+ 1.8932e-6) * ds + ((6.6228e-10 * t - 6.836e-8) * t + 8.5258e-6) * t + 3.5803e-5);
}
// potential temperature
double PoTemp(double s, double t0, double p0, double pr) /* local potential temperature at pr */
/* using atg procedure for adiabadic lapse rate */
/* Fofonoff,N.,Deep-Sea Res.,24,489-491 */
// s = salinity, t0 = local temperature deg C ITPS-68, p0 = local pressure in decibars, pr =
reference pressure in decibars
{
double p, t, h, xk, q, temp;
p = p0;
t = t0;
h = pr - p;
xk = h * ATG(s,t,p);
t += 0.5 * xk;
q = xk;
p += 0.5 * h;
xk = h * ATG(s,t,p);
t += 0.29289322 * (xk-q);
q = 0.58578644 * xk + 0.121320344 * q;
xk = h * ATG(s,t,p);
t += 1.707106781 * (xk-q);
q = 3.414213562 * xk - 4.121320344 * q;
p += 0.5 * h;
xk = h * ATG(s,t,p);
temp = t + (xk - 2.0 * q) / 6.0;
return(temp);
}