Compute the sound absorption of seawater, in dB/m
Usage
swSoundAbsorption(
frequency,
salinity,
temperature,
pressure,
pH = 8,
formulation = c("fisher-simmons", "francois-garrison")
)
Arguments
- frequency
The frequency of sound, in Hz.
- salinity
either practical salinity (in which case
temperature
andpressure
must be provided) or anoce
object, in which casesalinity
,temperature
(in the ITS-90 scale; see next item), etc. are inferred from the object, ignoring the other parameters, if they are supplied.- temperature
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 withinctd
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, usingT68fromT90()
.- pressure
pressure (dbar)
- pH
seawater pH
- formulation
character string indicating the formulation to use, either of
"fischer-simmons"
or"francois-garrison"
; see “References”.
Details
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.
References
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.
http://resource.npl.co.uk/acoustics/techguides/seaabsorption/
See also
Other functions that calculate seawater properties:
T68fromT90()
,
T90fromT48()
,
T90fromT68()
,
computableWaterProperties()
,
locationForGsw()
,
swAbsoluteSalinity()
,
swAlpha()
,
swAlphaOverBeta()
,
swBeta()
,
swCSTp()
,
swConservativeTemperature()
,
swDepth()
,
swDynamicHeight()
,
swLapseRate()
,
swN2()
,
swPressure()
,
swRho()
,
swRrho()
,
swSCTp()
,
swSR()
,
swSTrho()
,
swSigma()
,
swSigma0()
,
swSigma1()
,
swSigma2()
,
swSigma3()
,
swSigma4()
,
swSigmaT()
,
swSigmaTheta()
,
swSoundSpeed()
,
swSpecificHeat()
,
swSpice()
,
swSpiciness0()
,
swSpiciness1()
,
swSpiciness2()
,
swSstar()
,
swTFreeze()
,
swTSrho()
,
swThermalConductivity()
,
swTheta()
,
swViscosity()
,
swZ()
Examples
# 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"))