Compute the sound absorption of seawater, in dB/m
swSoundAbsorption( frequency, salinity, temperature, pressure, pH = 8, formulation = c("fisher-simmons", "francois-garrison") )
The frequency of sound, in Hz.
either practical salinity (in which case
pressure must be provided) or an
oce object, in
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,
character string indicating the formulation to use, either
"francois-garrison"; see “References”.
Sound absorption in dB/m.
Salinity and pH are ignored in this formulation. Several formulae may be found in the literature, and they give results differing by 10 percent, as shown in reference 3 for example. For this reason, it is likely that more formulations will be added to this function, and entirely possible that the default may change.
F. H. Fisher and V. P. Simmons, 1977. Sound absorption in sea water. Journal of the Acoustical Society of America, 62(3), 558-564.
R. E. Francois and G. R. Garrison, 1982. Sound absorption based on ocean measurements. Part II: Boric acid contribution and equation for total absorption. Journal of the Acoustical Society of America, 72(6):1879-1890.
Other functions that calculate seawater properties:
# Fisher & Simmons (1977 table IV) gives 0.52 dB/km for 35 PSU, 5 degC, 500 atm # (4990 dbar of water)a and 10 kHz alpha <- swSoundAbsorption(35, 4, 4990, 10e3) # reproduce part of Fig 8 of Francois and Garrison (1982 Fig 8) f <- 1e3 * 10^(seq(-1,3,0.1)) # in KHz plot(f/1000, 1e3*swSoundAbsorption(f, 35, 10, 0, formulation='fr'), xlab=" Freq [kHz]", ylab=" dB/km", type='l', log='xy') lines(f/1000, 1e3*swSoundAbsorption(f, 0, 10, 0, formulation='fr'), lty='dashed') legend("topleft", lty=c("solid", "dashed"), legend=c("S=35", "S=0"))