A "profile model" computes the environmental parameters of ocean water.
The modeled properties include the sound velocity profile and the attenuation due to sea water absorption. This class implements an attenuation model through delegation. The delegated model is defined separately and added to its host during/after construction. The host is defined as an attenuation_model subclass so that its children can share the attenuation model through this delegation.
void adjust_speed |
( |
const wposition & |
location, |
|
|
matrix< double > * |
speed, |
|
|
wvector * |
gradient = NULL |
|
) |
| |
|
protectedvirtual |
When the flat earth option is enabled, this routine applies an anti-correction term to the profile.
Used to compare propagation effect to models that have been computed in rectangular coordinates. The corrected sound speed and gradient are given by:
c' = c r / R
dc/dr' = dc/dr r / R + c / R
where:
c, dc/dr = uncorrected sound speed and gradient
c', dc/dr' = anti-corrected sound speed and gradient
r = radial component of wavefront position
R = earth's radius of curvature
An additional horizontal correction must be made to properly compare the results of this model to flat earth models. To convert lat/long changes (dA) into horizontal range (dx), you can not use the average earth radius (R) such that dx = R dA. Instead you must use the radial position (r) at each point in the wavefront such that dx = r dA. This routine does not provide horizontal correction.
- References:
- S.M. Reilly, M.S. Goodrich, "Geodetic Acoustic Rays in the
Time Domain, Comprehensive Test Results", Alion Science and Technology, Norfolk, VA, September, 2006.
- Parameters
-
location | Location at which to compute attenuation. |
speed | Speed of sound (m/s) at each location (in/out). |
gradient | Sound speed gradient at each location (in/out). |