mesh_density: number of mesh points per wavelength (default: 0, 0=auto)
clow: lower limit of phase speed (default: 1300, 0=auto)
chigh: upper limit of phase speed (default: 2500)
rmax: largest range (in m) of interest (default: Inf)
complex_solver: use KrakenC for finding modes (default: true)
robust: use robust (but slow) root finder (default: false)
temp_dir: directory for temporary files (default: system temp directory)
debug: debug mode (default: false)
Enabling debug mode will create a temporary directory with the Kraken input and output files. This allows manual inspection of the files.
The default rmax is set to Inf. With this setting, it actually uses a value 1% more than furthest receiver. Setting rmax to 0 asks underlying FORTRAN Kraken model to automatically choose rmax. While the Kraken manual suggests it, we find that this option often gives poor results and do not recommend its use.
A good overview of the Kraken model can be found at:
The theory of modal models is summarized in a brief note “On modal models”. It provides an overview of key concepts and relevant mathematical formulations.
Examples
Range-independent scenario
Here’s an example showing results for the PEKERIS test problem from the Kraken technical report:
The Fortran Kraken propagation model requires that the transmitter is located at \((x=0, y=0)\) and all receivers are located in the right half-plane (i.e., \(x>0\) and \(y=0\)). While this limitation can be worked around in the wrapper by a coordinate transformation, automatic transformation is not yet implemented.
Additionally, this wrapper does not yet support all the features of the original Fortran model. In particular, it does NOT support:
N2-linear, analytic or quadratic interpolation for sound speed
Arbitrary reflection coefficients
Twersky scattering
Receivers on an irregular grid are supported, but not currently optimized for speed (by using the irregular grid option in the Fortran model).
Kraken currently does not compute modal group velocities. While KrakenC does compute group velocities, the values are incorrect for multilayer seabeds with elastic sediment layers. In both cases, when group velocities are unavailable, the returned modes will not include group velocity information (will be reported as missing).