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.