KRAKEN

Overview

Example Environmental File

Description of Inputs

How to Run Kraken

Sample Print Out


Overview

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.

 

KRAKEN is the main program.  It takes an environmental file, computes the modes, and writes them to disk for use by other modules.  A print file is also produced, echoing the user input.

 

KRAKENC is a complex arithmetic version (hence the C in KRAKENC) of KRAKEN.  By working in the complex domain, loss mechanisms such as ice scatter and material absorption may be included 'exactly' rather than perturbatively.  In addition, leaky modes may be computed.  The price of this non-perturbative treatment is a slowdown in speed by approximately a factor of 4.  This factor principally represents the difference between complex and real arithmetic.

 

KRAKEN does not at allow for losses in elastic media due to material attenuation.  Thus, for attenuating elastic media, KRAKENC should be used.

 

Files:

 

        Name            Description

Input

        *.ENV           ENVironmental data

        *.BRC           Bottom   Refl. Coef.  (optl)

        *.TRC           Top      Refl. Coef.  (optl)

        *.IRC           Internal Refl. Coef.  (optl)

Output

        *.PRT           PRinT file

        *.MOD           MODe  file

 

Example Environmental File

 

 'FRAMIV'         ! TITLE

 50.0                                     ! FREQ (Hz)

 4                              ! NMEDIA

 'NVF'                          ! OPTIONS

 750  0.0  3750.0               ! NMESH  SIGMA (m)  Z(NSSP)

     0.0  1436.0  0.0  1.03/    ! Z(m)  CP  CS(m/s)  RHO(gm/cm3)

    30.0  1437.4 /

    50.0  1437.7 /

    80.0  1439.5 /

   100.0  1441.9 /

   125.0  1444.6 /

   150.0  1450.0 /

   175.0  1456.1 /

   200.0  1458.4 /

   250.0  1460.0 /

   300.0  1460.5 /

   350.0  1460.6 /

   400.0  1461.0 /

   450.0  1461.5 /

   500.0  1462.0 /

   600.0  1462.9 /

   700.0  1463.9 /

   800.0  1464.8 /

   900.0  1465.8 /

  1000.0  1466.7 /

  1100.0  1467.0 /

  1200.0  1469.0 /

  1300.0  1469.5 /

  1400.0  1471.8 /

  1600.0  1474.5 /

  1800.0  1477.0 /

  2000.0  1479.6 /

  2500.0  1487.9 /

  3750.0  1510.4 /

 35  0.0  3808.33

  3750.0  1504.6     0.0   1.50   .15  0.0

  3808.33 1603.07 /

 35  0.0  3866.66

  3808.33 1603.07    0.0   1.533  .15  0.0

  3866.66 1701.53 /

 35  0.0  3925.0

  3866.66 1701.53    0.0   1.566  .15  0.0

  3925.0  1800.0 /

 'A'  0.0                       ! BOTOPT  SIGMA (m)

  3925.0  1800.0     0.0   1.60   .15  0.0

 0.0  1504.0                    ! CLow  CHigh (m/s)

 300.0                          ! RMax (km)

 1                              ! NSz

 100.0 /                        ! Sz( 1 : NSz ) (m)

 1                              ! NRz

 200.0 /                        ! Rz( 1 : NRz ) (m)

 

 

Description of Environmental File

The first 6 blocks in the ENVFIL are common to all the programs in the Acoustics Toolbox. The following blocks should be appended for KRAKEN:


(7) - Phase Speed Limits

 

      Syntax:

         CLOW  CHIGH

      Description:

         CLOW:   Lower phase speed limit (m/s).

CLOW will be computed automatically if you set it to zero. However, by using a nonzero CLOW you can skip the computation of slower modes. Mainly this is used to exclude interfacial modes (e.g.a Scholte wave).  The root finder is especially slow in converging to these interfacial modes and when the source and receiver are sufficiently are far from the interface the interfacial modes are negligible.

 

         CHIGH:  Upper phase speed limit (m/s).

The larger CHIGH is, the more modes are calculated and the longer the execution time. Therefore CHIGH should be set as small aspossible to minimize execution time.

 

On the other hand, CHIGH controls the maximumray angle included in a subsequent field calculation-- ray paths are included which turn at the depth corresponding to CHIGH in the SSP. Thus a larger CHIGH means more deeply penetrating rays are included.

 

Choice of CHIGH then becomes a matter of experience.  In the far-field and at high-frequencies, rays travelling in the ocean bottom are severely attenuated and one may set CHIGH to the sound speed at the ocean bottom. Inthe near-field, low-frequency case, rays refracted in the bottom may contribute significantly to the field and CHIGH should be chosen to include such ray paths.

 

KRAKEN will (if necessary) reduce CHIGH so that only trapped (non-leaky) modes are computed.

 

KRAKENC will attempt to compute leaky modes if CHIGH exceeds the phase velocity of either the S-wave or P-wave speed in the half-space. Leaky mode computations are somewhat experimental at this time.

 

 

(8) - Maximum Range

 

      Syntax:

         RMax

      Description:

         RMax:   Maximum range (km).

This parameter should be set to the largest range for which a field calculation will be desired.

 

During the mode calculation the mesh is doubled successively until the eigenvalues are sufficiently accurate at this range. If you set it to zero, then no mesh doublings will be performed. You don't need to worry too much about this parameter-- even if you set it to zero the results will usually be reasonable.

 

(9) - Source/Receiver Depths

 

      Syntax:

         NSz

         Sz( 1 : NSz )

         NRz

         Rz( 1 : NRz )

 

      Description:

         NSz:  Number of source   depths.

         Sz(): Source   depths (m).

         NRz:  Number of receiver depths.

         Rz(): Receiver depths (m).

 
This data is read in using list-directed I/O so you can type it just about any way you want, e.g. on one line or split onto several lines.  Also if your depths are equally spaced then you can type just the first and last depths followed by a '/' and the intermediate depths will be generated automatically.

 

CPU time is essentially independent of the number of sources and receivers so that you can freely ask for thousands of depths. However, for high-frequencies the storage for the mode files can be excessive.

 

The source/rcvr depths are sorted and merged and then the modes are calculated at the union of the two sets of depths. Thus, it doesn't matter if you mix up source and receiver depths. Furthermore, you can leave out either the source or receiver specification (but not both simultaneously) simply by using a '/' for that line.

 

Sources and receivers cannot be placed in a half-space.

 

If you are going to be doing a coupled-mode calculation then you must specify a large number of receiver depths spanning the entire column (down to the half-space). Fine sampling (about 10 points/wavelength) is needed to calculate the coupling integrals accurately.


How to run KRAKEN

Starting out for the first time? If the distribution does not have precompiled executables for your hardware, run the 'makefiles' to 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) by typing

KRAKEN filename

where "filename" is the environmental file. (The process is the same under DOS or Linux.) The KRAKEN.HLP file details the differences between the KRAKEN and KRAKENC.

  1.   Run FIELD to sum the modes and compute the complex pressure field:

     FIELD filename

  1.   You now have several choices (all the GROUP II programs). These are run from inside MATLAB:

     a. PLOTMODE to plot the modes.

     b. PLOTSSP  to plot the sound speed profile.

     c. PLOTSHD  to plot the pressure field as a function of range and depth.

     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.

Sample Print Out

 

The print-out for this input is shown below.

 

KRAKEN- FRAMIV                                        

Frequency =   20.00     NMedia =   4

 

 

    N2-LINEAR approximation to SSP

    Attenuation units: dB/mkHz

    VACUUM

 

 

     Z          AlphaR     BetaR      Rho       AlphaI     BetaI

 

 

         ( Number of pts =   750  RMS roughness =   0.00     )

     0.00      1436.00      0.00     1.03       0.0000    0.0000

    30.00      1437.40      0.00     1.03       0.0000    0.0000

    50.00      1437.70      0.00     1.03       0.0000    0.0000

    80.00      1439.50      0.00     1.03       0.0000    0.0000

   100.00      1441.90      0.00     1.03       0.0000    0.0000

   125.00      1444.60      0.00     1.03       0.0000    0.0000

   150.00      1450.00      0.00     1.03       0.0000    0.0000

   175.00      1456.10      0.00     1.03       0.0000    0.0000

   200.00      1458.40      0.00     1.03       0.0000    0.0000

   250.00      1460.00      0.00     1.03       0.0000    0.0000

   300.00      1460.50      0.00     1.03       0.0000    0.0000

   350.00      1460.60      0.00     1.03       0.0000    0.0000

   400.00      1461.00      0.00     1.03       0.0000    0.0000

   450.00      1461.50      0.00     1.03       0.0000    0.0000

   500.00      1462.00      0.00     1.03       0.0000    0.0000

   600.00      1462.90      0.00     1.03       0.0000    0.0000

   700.00      1463.90      0.00     1.03       0.0000    0.0000

   800.00      1464.80      0.00     1.03       0.0000    0.0000

   900.00      1465.80      0.00     1.03       0.0000    0.0000

  1000.00      1466.70      0.00     1.03       0.0000    0.0000

  1100.00      1467.00      0.00     1.03       0.0000    0.0000

  1200.00      1469.00      0.00     1.03       0.0000    0.0000

  1300.00      1469.50      0.00     1.03       0.0000    0.0000

  1400.00      1471.80      0.00     1.03       0.0000    0.0000

  1600.00      1474.50      0.00     1.03       0.0000    0.0000

  1800.00      1477.00      0.00     1.03       0.0000    0.0000

  2000.00      1479.60      0.00     1.03       0.0000    0.0000

  2500.00      1487.90      0.00     1.03       0.0000    0.0000

  3750.00      1510.40      0.00     1.03       0.0000    0.0000

 

         ( Number of pts =    35  RMS roughness =   0.00     )

  3750.00      1504.60      0.00     1.50       0.1500    0.0000

  3808.33      1603.07      0.00     1.50       0.1500    0.0000

 

         ( Number of pts =    35  RMS roughness =   0.00     )

  3808.33      1603.07      0.00     1.53       0.1500    0.0000

  3866.66      1701.53      0.00     1.53       0.1500    0.0000

 

         ( Number of pts =    35  RMS roughness =   0.00     )

  3866.66      1701.53      0.00     1.57       0.1500    0.0000

  3925.00      1800.00      0.00     1.57       0.1500    0.0000

 

                                ( RMS roughness =   0.00     )

    ACOUSTO-ELASTIC half-space

  3925.00      1800.00      0.00     1.60       0.1500    0.0000

 

CLOW =   0.0000      CHIGH =   1504.0   

RMAX =  300.0000000000000

 

Number of sources   =  1

  100.000   

 

Number of receivers =  501

  0.00000       7.85000       15.7000       23.5500       31.4000   

  39.2500       47.1000       54.9500       62.8000       70.6500   

  78.5000       86.3500       94.2000       102.050       109.900    

  117.750       125.600       133.450       141.300       149.150   

  157.000       164.850       172.700       180.550       188.400   

  196.250       204.100       211.950       219.800       227.650   

  235.500       243.350       251.200       259.050       266.900   

  274.750       282.600       290.450       298.300       306.150   

  314.000       321.850       329.700       337.550       345.400   

  353.250       361.100       368.950       376.800       384.650   

  392.500    

 ...  3925.00000

 

Mesh multiplier   CPU seconds

 --- Number of modes =  16

       1            0.200E-01

 --- Number of modes =  16

       2            0.100E-01

 

   I          K             ALPHA          PHASE SPEED       GROUP SPEED

   1  0.8624469531E-01 -0.3393680437E-33   1457.060120       1442.191128   

   2  0.8582756287E-01 -0.2258264739E-34   1464.141611       1458.363347   

   3  0.8562779133E-01 -0.7903258864E-35   1467.557486       1459.982403   

   4  0.8545321184E-01 -0.2063707986E-29   1470.555681       1459.772119   

   5  0.8527102515E-01 -0.3869615292E-29   1473.697612       1460.007439   

   6  0.8510362497E-01 -0.3647388043E-26   1476.596399       1461.303669   

   7  0.8495175125E-01 -0.1793622439E-23   1479.236205       1462.170030   

   8  0.8479899358E-01 -0.3873153170E-21   1481.900915       1462.347048   

   9  0.8465055475E-01 -0.4836458160E-19   1484.499499       1461.666057   

  10  0.8450362764E-01 -0.4794435113E-17   1487.080610       1462.889869   

  11  0.8435766539E-01 -0.3328862832E-15   1489.653674       1463.381675   

  12  0.8421539792E-01 -0.1526837394E-13   1492.170188       1463.060233   

  13  0.8407682246E-01 -0.5076531997E-12   1494.629584       1463.714231   

  14  0.8393863717E-01 -0.1285683019E-10   1497.090141       1464.761578   

  15  0.8380272668E-01 -0.2261354744E-09   1499.518108       1465.064585   

  16  0.8366989890E-01 -0.2750609980E-08   1501.898625       1465.355728   

 


 

 

If the program aborts in some way, examine the print file which is produced. Frequently an expected line has been omitted and the environmental file is therefore misinterpreted.

 

The message "FAILURE TO CONVERGE IN SECANT" occurs when KRAKEN requires more than 500 iterations to converge to a mode.  Usually less than 20 iterations are needed but convergence to interfacial modes (Scholte or Stoneley waves) can be exceptionally slow,especially at higher frequencies. The simplest solution is to exclude interfacial modes by setting the lower phase-speed limit to the minimum p-wave speed in the problem.  Alternately, you can increase the value of MAXNIT which controls the MAXimum Number of ITerations in the root finder.

 

 

***** Group speed *****

 

KRAKEN and KRAKENC compute group speed using the formula in Ch. 5 of Jensen, Kuperman, Porter, and Schmidt, Computational Ocean Acoustics. Note that this formula is only valid for acoustic problems (with no elasticity). It also does not address the role of interfacial or boundary scatter. In these cases, the value displayed is not reliable.