Revision History 
c(D,S,T) = ^{ }  1448.96 + 4.591T  5.304 x 10^{2}T^{2} + 2.374 x 10^{4}T^{3} + 1.340 (S35) + 1.630 x 10^{2}D + 1.675 x 10^{7}D^{2}  1.025 x 10^{2}T(S  35)  7.139 x 10^{13}TD^{3} 
T = temperature in degrees Celsius S = salinity in parts per thousand D = depth in metres 
Range of validity: temperature 2 to 30 °C, salinity 25 to 40 parts per thousand, depth 0 to 8000 m
The above equation for the speed of sound in seawater as a function of temperature, salinity and depth is given by Mackenzie equation (1981).
c(D,S,t) = ^{ }  c(0,S,t) + (16.23 + 0.253t)D + (0.2130.1t)D^{2} + [0.016 + 0.0002(S35)](S  35)tD 
c(0,S,t) = ^{ }  1449.05 + 45.7t  5.21t^{2} + 0.23t^{3} + (1.333  0.126t + 0.009t^{2})(S  35) 
t = T/10 where T = temperature in degrees
Celsius S = salinity in parts per thousand D = depth in kilometres 
Range of validity: temperature 0 to 35 °C, salinity 0 to 45 parts per thousand, depth 0 to 4000 m
The above equation for the speed of sound in seawater as a function of temperature, salinity and depth is given by Coppens equation (1981).
The international standard algorithm, often known as the UNESCO algorithm, is due to Chen and Millero (1977), and has a more complicated form than the simple equations above, but uses pressure as a variable rather than depth. For the original UNESCO paper see Fofonoff and Millard (1983). Wong and Zhu (1995) recalculated the coefficients in this algorithm following the adoption of the International Temperature Scale of 1990 and their form of the UNESCO equation is:
c(S,T,P) = ^{ }  Cw(T,P) + A(T,P)S + B(T,P)S^{3/2} + D(T,P)S^{2} 
Cw(T,P) =  (C_{00} + C_{01}T + C_{02}T^{2} + C_{03}T^{3} + C_{04}T^{4} + C_{05}T^{5}) + 
(C_{10} + C_{11}T + C_{12}T^{2} + C_{13}T^{3} + C_{14}T^{4})P +  
(C_{20} +C_{21}T +C_{22}T^{2} + C_{23}T^{3} + C_{24}T^{4})P^{2} +  
(C_{30} + C_{31}T + C_{32}T^{2})P^{3}  
A(T,P) = ^{ }  (A_{00} + A_{01}T + A_{02}T^{2} + A_{03}T^{3} + A_{04}T^{4}) + 
(A_{10} + A_{11}T + A_{12}T^{2} + A_{13}T^{3} + A_{14}T^{4})P +  
(A_{20} + A_{21}T + A_{22}T^{2} + A_{23}T^{3})P^{2} +  
(A_{30} + A_{31}T + A_{32}T^{2})P^{3}  
B(T,P) =  B_{00} + B_{01}T + (B_{10} + B_{11}T)P 
D(T,P) =  D_{00} + D_{10}P 
T = temperature in degrees Celsius S = salinity in Practical Salinity Units (parts per thousand) P = pressure in bar 
Range of validity: temperature 0 to 40 °C, salinity 0 to 40 parts per thousand, pressure 0 to 1000 bar (Wong and Zhu, 1995).
Please note that for consistency, within the interactive version, the pressure must be input in kPa.

An alternative equation to the UNESCO algorithm, which has a more restricted range of validity, but which is preferred by some authors, is the Del Grosso equation (1974). Wong and Zhu (1995) also reformulated this equation for the new 1990 International Temperature Scale and their version is:
c(S,T,P) = ^{ }  C_{000} + C_{T} + C_{S} + C_{P} + C_{STP} ^{ } 
C_{T}(T) = C_{T1}T + C_{T2}T^{2} + C_{T3}T^{3}  
C_{S}(S) = C_{S1}S + C_{S2}S^{2}  
C_{P}(P) = C_{P1}P + C_{P2}P^{2} + C_{P3}P^{3}  
C_{STP}(S,T,P) = C_{TP}TP + C_{T3P}T^{3}P + C_{TP2}TP^{2} + C_{T2P2}T^{2}P^{2} + C_{TP3}TP^{3} + C_{ST}ST + C_{ST2}ST^{2} + C_{STP}STP + C_{S2TP}S^{2}TP + C_{S2P2}S^{2}P^{2}  
T = temperature in degrees Celsius S = salinity in Practical Salinity Units P = pressure in kg/cm^{2} 
Range of validity: temperature 0 to 30 °C, salinity 30 to 40 parts per thousand, pressure 0 to 1000 kg/cm^{2}, where 100 kPa=1.019716 kg/cm^{2}. (Wong and Zhu, 1995).
Please note that for consistency, within the interactive version, the pressure must be input in kPa.

Both the UNESCO equation and Del Grosso's equation use pressure as a variable instead of depth because they are based on measurements made in small laboratory pressurised chambers. Useful guidance and suitable equations for converting pressure into depth and depth into pressure can be found in Leroy and Parthiot (1998). The key equations here are:
Z_{S}(P,) = ^{ }  9.72659 x 10^{2}P  2.2512 x 10^{1} P^{2} + 2.279 x 10^{4} P^{3}  1.82 x 10^{7} P^{4} 
g() + 1.092 x 10^{4} P 
Where g(), the international formula for gravity, is given by:
g() = ^{ }  9.780318 (1 + 5.2788 x 10^{3} sin^{2} + 2.36 x 10^{5} sin^{4} ) 
Z = depth in metres P = pressure in MPa (relative to atmospheric pressure) = latitude 
The above equation is true for the oceanographers' standard ocean, defined as an ideal medium with a temperature of 0 °C and salinity of 35 parts per thousand.
Leroy and Parthiot (1998) give a table of corrections which are needed when the standard formula is applied to specific oceans and seas. The above equation and interactive version do not apply any corrections.
Please note that for consistency, within the interactive version, the pressure must be input in kPa.
Correction note: A numeric correction has been made to the second term in the above expression of Zs. Refer to the revision history link given at the top of the page for further detail.
P(Z,) =  h(Z,)  h_{0}Z 
h(Z,) =  h(Z,45) x k(Z,) 
h(Z,45) = ^{ }  1.00818 x 10^{2} Z + 2.465 x 10^{8}Z^{2}  1.25 x 10^{13}Z^{3} + 2.8 x 10^{19}Z^{4} 
k(Z,) = ^{ }  (g()  2 x 10^{5}Z)/(9.80612  2 x 10^{5}Z) 
g() = ^{ }  9.7803(1 + 5.3 x 10^{3} sin^{2}) 
h_{0}Z =  1.0x10^{2} Z/(Z+100) + 6.2x10^{6} Z 
Z = depth in metres h = pressure in MPa (relative to atmospheric pressure) = latitude 
In the above equation, P (=h(Z,)) would apply to the oceanographers' standard ocean, defined as an ideal medium with a temperature of 0 °C and salinity of 35 parts per thousand.
Leroy and Parthiot (1998) give a table of corrections which are needed when the standard formula is applied to specific oceans and seas. The correction h_{0}Z is the correction applicable to common oceans. These are defined as open oceans between the latitudes of 60°N and 40°S, and excluding closed ocean basins and seas. A full range of corrections may be found in Leroy and Parthiot (1998).
For consistency the interactive version returns a pressure in kPa.
Although the UNESCO algorithm is the International Standard algorithm, there is much debate in the scientific literature about the accuracy and range of applicability of this equation and of Del Grosso's equation. Some researchers prefer Del Grosso's equation, especially for calculations within its own domain of validity. It is important to recognise that the equations presented here are derived from fitting to experimental data from several different experiments and each has an associated uncertainty in its prediction of sound speed. The choice of equation may depend on the accuracy and precision which is acceptable for the particular application in which it is being employed. For further discussion on this topic, please refer to Dushaw et al (1993), Meinen and Watts (1997), Millero and Xu Li (1994), Speisberger and Metzger (1991a, 1991b) and Speisberger (1993).
The Hydrographic Society (Pike and Beiboer, 1993) has a good summary of the main algorithms for sound speed in the ocean. This sets out more detailed advice and information than can be provided on this website, including information of the domains of validity of the main equations and on depth to pressure conversions.
Any comments or suggestions about further speed of sound equations?
Please contact Stephen Robinson
Press and media  Privacy Policy  Quality  HSE  Contact  Terms 
© National Physical Laboratory 2018
National Physical Laboratory  Hampton Road, Teddington, Middlesex, TW11 0LW  Tel: 020 8977 3222