Water sound speed calculator
OUTPUT: sound speed in m/s
INPUTS:
This function allows any or all inputs to be scalar or vectors. However, dimensions of all vector inputs must agree.
T_degrees_C is temperature in [°C]
P_kPa is absolute pressure [kPa]
S_ppt is salinity in ppt; most often close enough to psu for practical purposes. For freshwater use S_ppt = 0 or leave blank
If you have data from a CTD cast, you might have values for temperature, pressure, and salinity in the following format. (These example values are entirely hypothetical):
T_profile = [22 22 21 19 18];
P_profile = [101 150 199 240 300];
S_profile = [35.5 35 34.5 34 34.5];
Or you might have constant values for one or all of the input parameters:
T_const = 22;
P_const = 110;
S_const = 33;
ANY OF THE INPUTS FOLLOWING WILL WORK:
c_water(T_const,P_const,S_const)
c_water(T_const,P_const)
c_water(T_const)
c_water()
c_water
c_water(T_profile)
c_water(T_profile,P_profile)
c_water(T_profile,P_profile,S_profile)
c_water(T_profile,P_profile,S_const)
c_water(T_profile,P_const,S_profile)
c_water(T_profile,P_const,S_const)
c_water(T_const,P_profile,S_profile)
c_water(T_const,P_const,S_profile)
c_water(T_const,P_profile,S_const)
c_water(T_const,P_profile)
c_water(T_profile,P_const)
GRAPHICAL EXAMPLE
d = 0:5000; % for depth of 0 to 5 kilometers
p = 101.325+1025*9.81*d/1000; % pressure equivalent in kPa
t = [20:-10/500:10 10*ones(1,4500)]; % a very simplified thermocline model
c = c_water(t,p,32);
plot(c,-d)
ylabel('depth (m)')
xlabel('sound speed (m/s)')
Note: This calculator assumes a complete absence of bubbles. Even a small amount of gas in the water column may significantly affect sound speed. See Wood's model for the bulk sound speed of multiphase media.
Cite As
Chad Greene (2024). Water sound speed calculator (https://www.mathworks.com/matlabcentral/fileexchange/35916-water-sound-speed-calculator), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Radar > Phased Array System Toolbox > Beamforming and Direction of Arrival Estimation >
- Sciences > Material Sciences > Thermal Analysis >
- Sciences > Physics > General Physics >
Tags
Acknowledgements
Inspired by: raytrace, Unit Converters, Compressibility Factor Calculator, Sound Pressure Level Calculator
Inspired: Two-phase medium sound speed calculator, Seawater Acoustic Absorption Calculator, Minnaert bubble models
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.3.0.0 | Acknowledged the "raytrace" function by Val Schmidt. |
||
1.2.0.0 | Clarified the validity of this function as it relates to bubbles in the water column. |
||
1.1.0.0 | Any or all of the input values may now be arrays or constants. |
||
1.0.0.0 |