KRAKEN is a normal mode program for range-varying environments in either cartesian (line sources) or cylindrical coordinates (point sources). The basic method is described in
Porter, Michael B. and Reiss, Edward L., "A numerical method for ocean-acoustic normal modes", JASA 76, 244--252 (1984).
Porter, Michael B. and Reiss, Edward L., "A numerical method for bottom interacting ocean acoustic normal modes", JASA 77, 1760--1767 (1985).
Range-dependent solutions are obtained by using optionally adiabatic or coupled mode theory.
The following modules are part of the package.
GROUP I: MODE COMPUTATIONS:
KRAKEN Solves for the modes and writes them to disk.
Elastic media are allowed but material attenuation
in an elastic medium is ignored.
KRAKENC A version of KRAKEN which finds the eigenvalues in the
complex plane. KRAKEN uses perturbation theory to
obtain imaginary parts of the eigenvalues while KRAKENC
computes the complex eigenvalues exactly.
KRAKENC runs about 3 times slower but is necessary for
leaky mode computations or for including material
attenuation in elastic media. Internally KRAKENC replaces
elastic layers by an equivalent reflection coefficent.
For this reason, you cannot use KRAKENC to look at
fields within the elastic layers.
KRAKEL Analogous to KRAKENC but also computes elastic
displacements and stresses for elastic media.
KRAKEL is seldom used and tends to not be kept
up-to-date.
GROUP II: BASIC PLOTTING ROUTINES:
PLOTSSP Plots the sound speed profile.
PLOTMODE Plots selected modes.
PLOTGRN Plots the Green's funtion for the depth separated wave
equation for a particular source/receiver combination.
PLOTTLR Plots transmission loss versus range.
PLOTTLD Plots transmission loss versus depth.
PLOTTRI Plots the triangular elements used for 3-D field
calculations.
GROUP III: FIELD COMPUTATIONS:
FIELD Computes fields on a vertical array over a specified
range and for a series of source depths. Individual
phones in the array may be displaced from the
vertical. Range dependence is handled by either
adiabatic or one-way coupled mode theory.
FIELD3D Computes field for a three-dimensionally varying SSP
using adiabatic mode theory.
GROUP IV: PLOTTING ROUTINES THAT USE GROUP III PROGRAM OUTPUT:
PLOTFIELD Plots tranmission loss in plan or elevation, i.e.
an (x,y) plot or an (r,z) plot.
PLOTSLICE Plots overlays of transmission loss versus range
curves by extracting slices from several shade files.
PLOTRAYXY Plots the ray paths of the Gaussian beams
generated during 3D field calculations.
The various programs for computing fields (GROUP III) are only
needed for PLOTFIELD, or for special user programs (e.g.
ambiguity surfaces). PLOTTLR and PLOTTLD compute the field
internally and therefore do not need a shade file from FIELD to
run.
The following extensions are used with these programs:
.FOR The FORtran source code
.HLP A HeLP file documenting the module
.COM A COMmand file which runs the module
.LNK A command file which performs a LiNK
All user input in all modules is read using list-directed I/O.
Thus data can be typed in free-format using space, tabs, commas
or slashes as delimeters. Character input should be enclosed in
single quotes like this: 'CHARACTER INPUT'.
You will see the '/' character in a number of the input files.
This terminates an input line causing the program to use
default values.
---------------------------------------------------------------
***** INSTALLATION NOTES *****
There is a command file for each of the programs in this package
which assigns necessary input files to the appropriate Fortran
unit number used by that program. In order to simplify the installation,
these command files make use of logical names for certain directories.
The logical names are in turn defined in a single file call AT_INIT.COM
which is the ONLY file which needs to be customized for a new installation.
The following symbols and logical names for directories are used with
the KRAKEN command files:
AT: This is the Acoustics Toolbox directory which contains
command files for running KRAKEN and other models
in the toolbox.
KRAK: The KRAKEN source code
MISC: Miscellaneous scientific subroutines, e.g.
root-finders, linear equation solvers, ...
GLOB: Global routines, that is, routines which operate on
shade files. These routines operate on the output of
a number of different propagation codes including
KRAKEN, FSTFLD, BELLHOP, SCOOTER and SPARC.
SCR: A directory for scratch files.
DISSPLA is a symbol which points to the DISSPLA plotting
library.
The following is an example of how these might be defined under
the VAX VMS operating system:
$ DEFINE AT US:[PORTER.AT]
$ DEFINE BELL US:[PORTER.AT.BELLHOP]
$ DEFINE GLOB US:[PORTER.AT.GLOBAL]
$ DEFINE KRAK US:[PORTER.AT.KRAKEN]
$ DEFINE MAN US:[PORTER.AT.MANUAL]
$ DEFINE MISC US:[PORTER.AT.MISC]
$ DEFINE SCO US:[PORTER.AT.SCOOTER]
$ DEFINE SCR US:[PORTER.SCR]
$ !
$ DISSPLA == "[DIS11.LIB]DISLIB/L, INTLIB/L, DISLIB/L, HCBS/L"
---------------------------------------------------------------
***** HOW TO RUN KRAKEN *****
0. Starting out for the first time? Take a look at
CLINK.COM for a compile and link of the whole package.
1. Create the environmental file for your problem, following the
directions in KRAKEN.HLP.
2. Run KRAKEN (or KRAKENC). On the VAX this is done by typing
either
@KRAKEN filename
or
SUBMIT KRAKEN/PAR=filename
where "filename" is the environmental file.
The KRAKEN.HLP file details the differences between the
KRAKEN and KRAKENC.
3. You now have several choices (all the GROUP II programs):
a. Plot tranmission loss:
@PLOTTLR filename
b. Plot the modes:
@PLOTMODE filename
c. Plot the sound speed profile (actually, this can be done
even before running KRAKEN):
@PLOTSSP filename
d. Plot the pressure field as a function of range and depth.
This is a 2-step process:
@FIELD filename
@PLOTFIELD filename
In general, you'll have to modify each command file before
running it to provide the appropriate inputs as described in
the help file for each program.
Once the modes are created by KRAKEN or KRAKENC you can run
the above plot programs in any sequence or as often as you
like.