Creates an analytic model for the Munk profile, an idealized representation of a deep sound (SOFAR) channel.
The Munk profile is defined as:
z' = 2 * (z-z1)/B ;
c(z) = c1 * (1.0 + e * (z'-1.0+exp(-z'))) ;
where: z = depth below the ocean surface (positive direction down), z1 = depth of the deep sound channel axis, B = depth scaling factor, c1 = sound speed on the deep sound channel axis, e = perturbation coefficient, c(z) = speed of sound as a function of depth.
profile_munk | ( | double | axis_depth = 1300.0 , |
|
double | scale = 1300.0 , |
|||
double | axis_speed = 1500.0 , |
|||
double | epsilon = 7.37e-3 , |
|||
attenuation_model * | attmodel = NULL | |||
) | [inline] |
Build Munk profile from its component parts.
Default to the profile parameters defined in Jensen, Kuperman, et. al.
axis_depth | Depth of the deep sound channel axis (meters). | |
scale | Depth scaling factor (meters). | |
axis_speed | Sound speed on the deep sound channel axis (m/s). | |
epsilon | Perturbation coefficient. | |
attmodel | In-water attenuation model. Defaults to Thorp. The profile_model takes over ownship of this reference and deletes it as part of its destructor. |
double axis_depth | ( | ) | [inline] |
Depth of the deep sound channel axis (meters).
double axis_speed | ( | ) | [inline] |
Sound speed on the deep sound channel axis (m/s).
double epsilon | ( | ) | [inline] |
Perturbation coefficient.
double scale | ( | ) | [inline] |
Depth scaling factor (meters).
void sound_speed | ( | const wposition & | location, | |
matrix< double > * | speed, | |||
wvector * | gradient = NULL | |||
) | [virtual] |
Compute the speed of sound and it's first derivatives at a series of locations.
location | Location at which to compute sound speed. | |
speed | Speed of sound (m/s) at each location (output). | |
gradient | Sound speed gradient at each location (output). |
Implements profile_model.
const double _axis_depth [private] |
Depth of the deep sound channel axis (meters).
const double _axis_speed [private] |
Sound speed on the deep sound channel axis (m/s).
const double _epsilon [private] |
Perturbation coefficient.
const double _scale [private] |
Depth scaling factor (meters).