The following can be repeated as many times as wanted in a single ENVFIL. KRAKEN and KRAKENC will generate a separate MODFIL for each case stopping when it detects an end-of-file.
TITLE
Description:
TITLE: Title of run enclosed in sinqle quotes.
Syntax:
FREQ
Description:
FREQ: Frequency in Hz.
Syntax:
NMEDIA
Description:
NMEDIA: Number of media.
The problem is divided into media within
which it is assumed that the material
properties vary smoothly. A new medium
should be used at fluid/elastic interfaces or at interfaces
where
the
density changes discontinuously. The number
of media in the problem is defined excluding the upper
and lower half-space.
BELLHOP is limited to one medium (NMEDIA=1) and actually ignores this parameter.
Syntax:
TOPOPT
Description:
TOPOPT(1:1): Type of interpolation to be used for the SSP.
'C' for C-linear,
'N' for N2-linear (n the index of
refraction),
'P' for PCHIP (Piecewise Cubic Hermite Interpolating Polynomial),
'S' for cubic Spline,
'Q' for Quadrilatteral 2D SSP (BELLHOP only; reads the
SSP from a file)
'H' for Hexahedral 3D SSP (BELLHOP3D only;
reads the SSP from a file)
'A' for Analytic.
The user must modify the analytic formulas in
ANALYT.FOR then re-compile and link.
If your not sure which option to take, I'd
suggest you use 'C'.
The 'N' option is virtually identical to 'C'. It's provided
to facilitate precise inter-model
comparisons with codes that use a certain numerical technique that
requires that type of interpolation. Both these piecewise-linear
approximations can produce false caustics in BELLHOP; however, the
Gaussian beam option in BELLHOP mitigates that effect to some
degree.
Option 'S' is a little dangerous because splines yield a poor fit to certain kinds of curves, e.g. curves with sharp bends. If you insist on splines, you can fix a bad fit by dividing the water column into two 'media' at the bend.
Option 'P' is a recently added option that is
intended to provide a smooth interpolation without the artifacts
that sometimes come with cubic splines. We will need to get some
more experience with this, but the expectation is that this will
often be the best choice for BELLHOP by providing a smoother
profile free of false caustics.
If 'A' is selected, then only the first line of block (5) for the SSP is used and the tabulated SSP itself is omitted.
Run PLOTSSP to check that the SSP looks the way you thought it should. Apart from potential typos, this will also show up fit-problems.
'V' VACUUM above top
'A' ACOUSTO-ELASTIC half-space.
Requires another line with the halfspace parameters as
described in block (4a).
'R' Perfectly RIGID
'F' Reflection
coefficient from a FILE
These files for complicated, multi-layered media can be generated
using BOUNCE. (Available in KRAKENC, SCOOTER, and BELLHOP. Not
available in KRAKEN and SPARC.) For a Top Reflection Coefficient,
the file should have the extension '.TRC'. For KRAKEN/KRAKENC this
option for tabulated reflection coefficients is somewhat
experimental
at
this time. A complicated reflection coefficient may well cause problems for the mode-finder. Finally, a
reflection coefficient tabulated only for
real angles does not provide a good result for
complex
angles
of
incidence. This happens when the sediment sound
speed
is
less
than the water sound speed. In that case, the modes are evanescent
in the upper part of the water column and therefore have a complex
angle of incidence.
TOPOPT(3:3): Attenuation units.
'N' Nepers/m.
'F' dB/(kmHz)
(F as in Freq. dependent)
'M' dB/m
(M as in per Meter)
'm' dB/m
(m as in per Meter) Scaled with frequency; quadratically,
then linearly above fT
'W' dB/wavelength
(W as in per Wavelength)
'Q' quality factor
'L' Loss parameter (a.k.a. loss tangent)
The option 'm' for attenuation is a new one designed to capture a
power-law frequency dependence. You provide an attenuation in dB/m
at the frequency specified above (FREQ). Then in a broadband run,
with multiple frequencies that attenuation as automatically scaled
according to the power that you specify.
The power-law scaling is based on the
frequency to a power beta, up to a transition frequency, fT.
Above fT, the scaling is linear with frequency. The parameters
that control this are specified in the first line of block (5)
and block (6) and allow a different beta and fT to be
specified independently for every layer. The actual
attenuation in dB/m is the value at the reference frequency
given in block (2) above.
If you use 'm' without doing a broadband run,
then 'M' and 'm' will do the same thing, i.e. interpret your
attenuation as dB/m at the given frequency.
TOPOPT(4:4): Added volume attenuation.
'T' Thorp attenuation
formula.
'F' Francois-Garrison formula (more accurate).
'B' Biological layer (fish).
If you invoke this option, volume attenuation
is added to the explicitly specified attenuation (ap, as).
The Francois-Garrison formula depends on salinity (S), temperature
(T), pH, and depth (z_bar). That information is then provided on
the line immediately following, e.g.:
19.3 33.5 7.5 4000.7 ! T, Salinity,
pH, z_bar
TOPOPT(5:5): Altimetry option; Slow/robust root-finder.
'~' Read in a *.ati file containing the top
altimetry. (BELLHOP only; '*' was used earlier and still works)
'_' Flat surface, i.e. no altimetry file. (BELLHOP only; this is
the default if blank)
'.' As in: I want all the modes and I don't care
how long it takes. Period.
'I' Calculate only a
single beam from the specified fan.
The actual beam number is specified after
NBEAMS, under
the section describing the beam fan.
' ' Default: trace all beams
Broadband run (currently implemented in KRAKEN and SCOOTER)'B' Select a broadband run where multiple frequencies are specified.
The actual frequencies are given as a vector in the last two lines of the envfil using the standard format:
2 ! Nfreq
50 500 / ! freqVec( 1 : Nfreq )
Syntax:
ZT CPT CST RHOT APT AST
Description:
ZT: Depth
(m).
CPT: Top P-wave speed (m/s).
CST: Top S-wave speed (m/s).
RHOT: Top density (g/cm3).
APT: Top P-wave attenuation. (units
as given by Option(3:3) )
AST: Top S-wave attenuation. ( " " "
" "
" )
Syntax:
NBioLayers
Z1(1) Z2(1) f0(1)
Q(1) a0(1)
Z1(2) Z2(2)
f0(2) Q(2) a0(2)
.
.
.
Z1(NBioLayers) Z2(NBioLayers) f0(NBioLayers) Q(NBioLayers) a0(NBioLayers)
Description:
z1:
Top of layer (m)
z2: Bottom of layer
(m)
f0: Resonance
frequency (Hz)
Q: Quality
factor
a0: Amplitude in
dB/km at resonance but scaled by Q^2
The loss
becomes a = a0 / [ ( 1 - f0^2 / freq^2 )^2 + 1 / Q^2 ] dB / km
(formula suggested by Orest Diachok).
The units here in dB/km
are not affected by the attenuation units selected in TopOpt( 3
: 3 ).
Syntax:
NMESH SIGMA Z(NSSP)
Z(1) CP(1) CS(1)
RHO(1) AP(1) AS(1)
Z(2)
CP(2) CS(2) RHO(2)
AP(2) AS(2)
.
.
.
Z(NSSP) CP(NSSP) CS(NSSP) RHO(NSSP) AP(NSSP) AS(NSSP)
Description:
NMESH:
Number of mesh points used in the internal discretization.
The number of mesh
points should be about 10 per vertical
wavelength in acoustic media. In elastic
media, the number needed can vary quite a
bit; 20 per wavelength is a reasonable starting
point. For elastic media, the wavelength associated with the shear
wave speed is the reference; this is always shorter than that for
the p-wave.
The number of mesh points used depends on the initial mesh and the number of times it is refined (doubled). The number of mesh doublings can vary from 1 to 5 depending on the parameter RMAX described below.
If you type 0 for the
number of mesh points, the code will
calculate NMESH automatically.
BELLHOP ignores this parameter as it's not
relevant to its numerical technique.
SIGMA:
RMS roughness at the interface (ignored by BELLHOP and
SPARC)
This value is used to detect the last SSP point when reading in the profile that follows/
Z():
Depth (m).
The surface starts at the first depth point
specified. Thus if you have say, XBT data which starts at 50 m
below the surface, then you'll need to put in some SSP point at 0
m, otherwise the free-surface would be placed at 50 m giving
erroneous results. The points Z(1) and Z(NSSP) MUST correspond to
the depths of interfaces between media.
If the attenuation units were specified with option letter 'm' and a broadband run is selected, then the attenuation is scaled with frequency. The scaling is based on the frequency to a power beta, up to a transition frequency, fT. Above fT, the scaling is linear with frequency. The parameters that control this are specified in the first line of this block using the syntax:
NMESH SIGMA Z(NSSP)
beta fT
where,
BETA: Power for the
power law
fT:
Transition frequency (Hz)
CP(): P-wave speed (m/s).
CS(): S-wave speed (m/s).
RHO(): Density (g/cm3).
Density variations within an acoustic medium are at present ignored.
AP(): P-wave
attenuation
(units
as given in Block 2)
AS(): S-wave attenuation
( " " "
" "
")
The '/' character signals that the remaining data on the line is the same as in the previous line of SSP data. For the very first line the default or 'previous' line is:
0.0 1500.0 0.0 1.0 0.0 0.0
This block should be
repeated for each subsequent medium.
Only KRAKEN, SCOOTER, and BOUNCE can use the
shear wave information. SPARC and BELLHOP ignore it.
Syntax:
BOTOPT SIGMA
or, if the power-law attenuation option 'm' was selected:
BOTOPT SIGMA BETA fT
Description:
BOTOPT(1:1): Type of bottom boundary condition.
'V' VACUUM below
bottom.
'A' ACOUSTO-ELASTIC half-space.
Requires another line with the half-space
parameters as described in Block (6a).
'R' Perfectly RIGID.
'G' Grain size
'F' Reflection
coefficient from a FILE
These files for complicated, multi-layered media can be generated
using BOUNCE. (Available in KRAKENC, SCOOTER, and BELLHOP. Not
available in KRAKEN and SPARC.) For a Bottom Reflection
Coefficient, the file should have the extension '.BRC'. For
KRAKEN/KRAKENC this option for tabulated reflection coefficients
is somewhat experimental at this time. A
complicated reflection coefficient may well cause problems
for the mode-finder. Finally, a reflection coefficient tabulated only for real angles does not provide
a good result for complex angles of
incidence. This happens when the sediment sound
speed
is
less
than the water sound speed. In that case, the modes are evanescent
in the upper part of the water column and therefore have a complex
angle of incidence.
'P' Precaculated internal reflection coefficient from a FILE
(available in KRAKENC and SCOOTER, not KRAKEN).
These files are generated using BOUNCE.
Option 'A' is generally used for ocean bottom
modeling.
BOTOPT(2:2):
'~' Read in a *.bty
file containing the bottom bathymetry. (BELLHOP only; '*'
was used earlier and still works)
'_' Flat surface, i.e. no bathymetry file.
(BELLHOP only; this is the default if blank)
SIGMA:
Interfacial roughness (m).
BETA: Power for the power law
fT: Transition
frequency (Hz)
Syntax:
ZB CPB CSB RHOB APB ASB
Description:
ZB: Depth
(m).
CPB: Bottom P-wave speed (m/s).
CSB: Bottom S-wave speed (m/s).
RHOB: Bottom density (g/cm3).
APB: Bottom P-wave attenuation.
(units as given by TOPOPT(3:3) )
ASB: Bottom S-wave attenuation. ( " " "
" "
" )
For KRAKEN/KRAKENC this
option for tabulated reflection coefficients is somewhat
experimental
at
this time. A complicated reflection coefficient may well cause problems for the mode-finder. Finally, a
reflection coefficient tabulated only for
real angles does not provide a good result for
complex
angles
of
incidence. This happens when the sediment sound
speed
is
less
than the water sound speed. In that case, the modes are evanescent
in the upper part of the water column and therefore have a complex
angle of incidence.
Syntax:
ZB
MZ
Description:
ZB: Depth
(m).
MZ: Grain size (phi units).