Home Algorithms Seawater Calculating the speed of sound in seawater
30 | 03 | 2017
Calculating the speed of sound in seawater PDF Print E-mail
Algorithms - Seawater
Written by Jan Schulz   
Tuesday, 03 June 2008 16:52

Calculating the speed of sound in seawater

 

Objective

In water, sound travels more rapidly and with less energy absorption than in air. Thus, it is a efficient medium for sound transmission compared to air. This characteristic allows developing a wide range of submarine acoustic applications with benefit for navigation. Best known applications are vertically operating echo sounders for depth determination or range finders in the horizontal. While a mean value of 1500 m*s-1 for the speed of sound in seawater is sufficient for a couple of operations, scientific applications often require higher accuracy. The transmission speed is affected by elasticity and density, which in turn is influenced by pressure, temperature and salinity. Using profiling sensors to measure these parameters it is possible to determine the speed of sound in different depths. Chen and Millero (Chen & Millero 1977) developed a formula from measurements of samples of standard seawater, diluted samples and samples concentrated by evaporation. Here a function is given to determine the sound speed in seawater in meters per second for a water mass of the respective characteristics.


Equation

The equation for the speed of sound in seawater in m*s-1, given by Chen and Millero (Chen & Millero 1977) is:

where S is the salinity in PSS-78, t the temperaure in °C and p the pressure in decibars. A, B, C and D are temperature- and pressure-dependent parameters. The term Cw is defined as:

The term A is defined as:

The term B is defined as:

The term D is defined as:

 

The coefficients for the above terms given rowwise:

C

A

B

D

C00 = +1402.388

A00 = +1.389

B00 = -1.922E-02

D00 = +1.727E-03

C01 = +5.03711

A01 = -1.262E-02

B01 = -4.42E-05


C02 = -5.80852E-02

A02 = +7.164E-05



C03 = +3.3420E-04

A03 = +2006E-06



C04 = -1.47800E-06

A04 = -3.21E-08



C05 = +3.1464E-09




C10 = +0.153563

A10 = +9.4742E-05

B10 = +7.3637E-05

D10 = -7.9836E-06

C11 = +6.8982E-04

A11 = -1.2580E-05

B11 = +1.7945E-07


C12 = -8.1788E-06

A12 = -6.4885E-08



C13 = +1.3621E-07

A13 = +1.0507E-08



C14 = -6.1185E-10

A14 = -2.0122E-10



C20 = +3.1260E-05

A20 = -3.9064E-07



C21 = -1.7107E-06

A21 = +9.1041E-09



C22 = +2.5974E-08

A22 = -1.6002E-10



C23 = -2.5335E-10

A23 = +7.988E-12



C24 = +1.0405E-12




C30 = -9.7729E-09

A30 = +1.100E-10



C31 = +3.8504E-10

A31 = +6.649E-12



C32 = -2.3643E-12

A32 = -3.389E-13



The validity ranges for this equation are: practical salintiy between 0 and 40, temperature between 0 and 40 °C and pressure between 0 and 10000 decibars. Standard deviation is 0.19 m*s-1.

 

Algorithm

The below algorithm in object Pascal is equal to the original Fortran code in the UNESCO handbook ‘Algorithms for computation of fundamental properties of seawater’ (UNESCO 1983). For given values of salinity (PSS-78), temperature (°C) and pressure (decibars) the speed of sound in seawater is returned in m*s-1.

FUNCTION SVEL(S, T, P0 : Double) : Double;
// SOUND SPEED SEAWATER CHEN AND MILLERO 1977, JASA, 62, 1129-1135
// ----------------------------------------------------------
// UNITS:
// PRESSURE P0 DECIBARS
// TEMPERATURE T DEG CELSIUS (IPTS-68)
// SALINITY S (PSS-78)
// SOUND SPEED SVEL METERS/SECOND
// ----------------------------------------------------------
// CHECKVALUE:
// SVEL=1731.995 M/S for S=40 (PSS-78), T=40 DEG C, P=10000 DBAR
// ----------------------------------------------------------
// Original fortran code is found in:
// UNESCO technical papers in marine science 44 (1983) -
// 'Algorithms for computation of fundamental properties of seawater'
// ----------------------------------------------------------
// Translated to object pascal by:
// Dr. Jan Schulz, 21. May 2008, www.code10.info
Var P : Double;
SR : Double;
D : Double;
B1 : Double;
B0 : Double;
B : Double;
A3 : Double;
A2 : Double;
A1 : Double;
A0 : Double;
A : Double;
C3 : Double;
C2 : Double;
C1 : Double;
C0 : Double;
C : Double;
Begin
// SCALE PRESSURE TO BARS
P := P0 / 10;
SR := Sqrt (Abs (S));

// S**2 TERM
D := 1.727E-3 - 7.9836E-6 * P;

// S**3/2 TERM
B1 := 7.3637E-5 + 1.7945E-7 * T;
B0 := -1.922E-2 - 4.42E-5 * T;
B := B0 + B1 * P;

// S**1 TERM
A3 := (-3.389E-13 * T + 6.649E-12) * T + 1.100E-10;
A2 := ((7.988E-12 * T - 1.6002E-10) * T + 9.1041E-9) * T - 3.9064E-7;
A1 := (((-2.0122E-10 * T + 1.0507E-8) * T - 6.4885E-8) * T - 1.2580E-5) * T + 9.4742E-5;
A0 := (((-3.21E-8 * T + 2.006E-6) * T + 7.164E-5) * T - 1.262E-2) * T + 1.389;
A := ((A3 * P + A2) * P + A1) * P + A0;

// S**0 TERM
C3 := (-2.3643E-12 * T + 3.8504E-10) * T - 9.7729E-9;
C2 := (((1.0405E-12 * T - 2.5335E-10) * T + 2.5974E-8) * T - 1.7107E-6) * T + 3.1260E-5;
C1 := (((-6.1185E-10 * T + 1.3621E-7) * T - 8.1788E-6) * T + 6.8982E-4) * T + 0.153563;
C0 := ((((3.1464E-9 * T - 1.47800E-6) * T + 3.3420E-4) * T - 5.80852E-2) * T + 5.03711) * T + 1402.388;
C := ((C3 * P + C2) * P + C1) * P + C0;

// SOUND SPEED RETURN
SVEL := C + (A + B * SR + D * S) * S;
end;
 
 

Literature

Chen C.T., Millero F.J. (1977): Speed of sound in seawater at high pressures. Journal of the Acoustic Society of America 62(5):1129-1135.

UNESCO (1983): Algorithms for computation of fundamental properties of seawater. UNESCO technical papers in marine science 44:1-55.

 

Last Updated on Friday, 18 March 2011 18:11
 
Sponsored Links