A MATLAB GUI for ocean acoustic propagation
ABSTRACT A MATLAB-based MAP graphical user interface (GUI) is described for accessing bathymetry and sound speed databases and using them to predict ocean acoustic transmission and to display the results. MATLAB scripts have been developed to estimate a field of view from a single transducer and to compute transmission losses between a source and receiver using one of several standard propagation codes. The GUI called MAP is described and several test cases are presented. The MAP GUI supports three simple functions that display database information; an image of bathymetry for a user-specified area may be plotted, a sound speed profile (SSP) at a user-selected location may be plotted, and bathymetry and SSP along a geodesic between a transmitter and receiver may be plotted. The MAP GUI supports two types of algorithms modeling acoustic transmission loss. The first is computation of the acoustic field between two points. External propagation codes written by other agencies are used to do the basic simulation. MATLAB accesses database information, writes input files for the simulations, runs them, and plots results. Currently five external simulations are supported; (1) EIGENRAY, (2) RAY, (3) CASS, (4) UMPE, and (5) RAM. The first three simulations are ray-based models, and the last two are parabolic expansion models. The second type of algorithm is mapping a "field of view" for a transducer (a "shadow" plot). Horizontal rays are propagated from the instruments and the range at which acoustic propagation fails is displayed. Two algorithms are supported. One accesses a database of sound channel depths along with bathymetry information and uses heuristics to estimate propagation along the horizontal rays. The other accesses the Levitis SSP database and uses Weston's Ray Invariant to identify ray elevations "interrupted" by bathymetry or (if specified by the user) by the surface.
- The Journal of the Acoustical Society of America 01/1993; 93(4). · 1.56 Impact Factor
- J. Acoust. Soc. Am. 01/1996; 100:1421-1431.
- [Show abstract] [Hide abstract]
ABSTRACT: Some simple formulae are derived, which are useful in investigating wave propagation in a variable stratified medium. It is shown that the rays in a two-dimensional medium with slowly varying thickness and structure may be described by a characteristic time. From this time the ray angles at any horizontal position may be calculated. The characteristic time formula is also derived from considerations of normal modes, and then from considerations of energy flux. The formula still applies when there are slow bends or twists in the medium, with no limits on final amplitude. The extension to three-dimensional guides is discussed. Some formulae for intensity in slowly varying media are also obtained. The ideas are applied to the propagation of sound (especially underwater), shear wave, and electromagnetic radiation, and the present limitations of the method indicated.Proceedings of the Physical Society 12/2002; 73(3):365.
A MATLAB GUI for Ocean Acoustic Propagation
Chris Eggen, Bruce Howe, and Brian Dushaw
Applied Physics Laboratory
University of Washington
1013 NE 40th Street
Seattle, WA 98105
Abstract–A MATLAB-based MAP Graphical User
Interface (GUI) is described for accessing bathymetry and sound
speed databases and using them to predict ocean acoustic
transmission and to display the results. MATLAB scripts have
been developed to estimate a field of view from a single transducer
and to compute transmission losses between a source and receiver
using one of several standard propagation codes. The GUI called
MAP is described and several test cases are presented.
The MAP GUI supports three simple functions that
display database information; an image of bathymetry for a user-
specified area may be plotted, a sound speed profile (SSP) at a
user-selected location may be plotted, and bathymetry and SSP
along a geodesic between a transmitter and receiver may be plotted.
The MAP GUI supports two types of algorithms
modeling acoustic transmission loss. The first is computation of the
acoustic field between two points. External propagation codes
written by other agencies are used to do the basic simulation.
MATLAB accesses database information, writes input files for the
simulations, runs them, and plots results. Currently five external
simulations are supported; (1) EIGENRAY written by Brian
Dushaw of the Applied Physics Laboratory at the University of
Washington, (3) RAY, written by Jim Bowlin of Woods Hole
Oceanographic Institution, (3) CASS, written by Henry Weinberg
of the Naval Underwater System Center, (4) UMPE, written by
Fred Tappert of the University of Miami, and (5) RAM, written by
Mike Collins at the Navy Research Laboratory. The First three
simulations are ray-based models, and the last two are parabolic
The second type of algorithm is mapping a "field of
view" for a transducer (a “shadow” plot). Horizontal rays are
propagated from the instruments and the range at which acoustic
propagation fails is displayed. Two algorithms are supported. One
accesses a database of sound channel depths along with bathymetry
information and uses heuristics to estimate propagation along the
horizontal rays. The other accesses the Levitis SSP database and
uses Weston's Ray Invariant to identify ray elevations 'interrupted'
by bathymetry or (if specified by the user) by the surface.
The MAP GUI was originally constructed in 1999 to support
acoustic computations of the EIGENRAY program , which
was designed for use in several tomography programs. It was
written as a MATLAB script on a PC running Linux, with calls
to external programs to access some of the databases and to run
EIGENRAY. Given the ubiquity of MATLAB and the
availability of several “Unix style” Fortran and C compilers on
Windows, this construction is inherently portable to almost any
but Apple Systems.
The MAP GUI was modified to support other prediction
programs, and to incorporate a simple shadowing algorithm for
mapping a transducer’s field of view. In 2001, the
Comprehensive Test Ban Treaty Organization (CBTO),
Hydroacoustics Branch, requested improvement and upgrades,
including a revised shadowing computation and a revision in the
MAP GUI to start moving toward a windows-based software
paradigm, where the GUI is resident in pull-down menus at the
start of the Bathymetry plot.
This paper describes the present state of and illustrates some
of its capabilities. We will discuss the MAP software structure,
databases, the acoustic propagation simulations supported by
MAP, and the shadowing algorithms in MAP and present some
results for propagation in the Sea of Japan.
II. SOFTWARE STRUCTURE
A main MATLAB script, mkMap, is envoked from the
MATLAB command window. This brings up the main MAP
GUI, which is populated by text windows and submenus, i.e., edit
windows, pushbuttons, and pull-down/pop-up menus. The
submenus provide the capability to specify databases for
bathymetry and sound speed profile (SSP), to specify instruments
(transmitters and receivers), to display bathymetry images,
bathymetry sections, and SSPs, to set some high-level simulation
parameters, and to call the acoustic propagation and shadowing
functions. Note that the submenus are arranged in seven rows.
The main MAP GUI also contains an area at the bottom where
error and progress messages can be displayed in text boxes.
A. Database Selection
The main MAP GUI is shown in Fig. 1. The top (1st) row of
submenus, containing three edit windows and three pushbuttons,
each labeled “Select”, allows the user to define directories to use
for databases, for intermediate computations, and for data written
in prior runs for reuse. The definition is done either by explicitly
entering a new directory in the edit window or by clicking on the
“Select” pushbutton, which envokes the MATLAB command
“uigetfile” and brings up a file select window. The directory is
selected by selecting any file within the directory.
The next two (2nd and 3rd) rows of submenus define the area
of interest and the bathymetry. The top of these two rows
contains a popup menu with a list of files whos name contains
latitude-longitude intervals. These files contain bathymetry for
previously defined subareas. Next to this is a pushbutton menu
labeled “Select Lat-Lon from File Name”. Clicking on this
pushbutton will select the file currently selected in the pull-down
menu and read bathymetry from it.
In the bottom of these two rows there are four edit boxes for
the latitude and longitude limits and a pushbutton labeled
“Enter”. If values for the limits are entered and the pushbutton
is clicked, the main bathymetry database is accessed, the desired
bathymetry is cut from the worldwide database, and a new file
containing bathymetry within the latitude-longitude limits is
stored. After the latitude-longitude box is selected, an image of
bathymetry is plotted. The second process takes much longer
than the first, which is why it is worth saving sections of the
bathymetry database once extracted.
Fig. 1. The Main MAP GUI
The next (4th) row of submenus allows the instrument(s) to be
defined. There is a pushbutton labeled ‘Instruments:”, and two
pull-down menus. An instrument consists of a name, a type
(transmitter, receiver, or transducer), latitude, a longitude, a
depth, and a list of connections to other instruments. (If two
instruments are not connected, it is assumed that they cannot
sense one another.)
The first pull-down menu can be set to “Add”, “Edit”,
“Delete”, “Display”, “Save”, or “Select”. The contents of the
second pull-down menu depend on the selection in the first. By
selecting “Add” in this menu and making the appropriate
selection in the second pull-down menu, previously entered file
of instruments can be selected, or instruments can be added
individually, or a new connection between instruments specified.
A new interactive window is brought up which supports either
explicit changes in edit windows or allows changes to be made
by point-and-click on the bathymetry chart. Once defined,
instruments can be edited or deleted in similar fashion. Once an
instrument or sets of instruments is defined, the save filename can
be edited and the instrument(s) can be saved to a file for future
Once a set of instruments is defined, instruments,
connections, and distances between instruments can be displayed.
Additionally, a primary and secondary instrument can be
selected. The first is the origin in point-to-point acoustic
propagation predictions and the origin in field of view
computations. The second is the second point in point-to-point
acoustic propagation predictions.
The “Instruments” submenu was designed to be easily
implemented as the upper menu of a window. The intent is to
eventually implement the MAP functions at the top of the
The SSP database is selected in the first pull-down menu of
the 6th row of submenus on the main MAP MENU. The most
commonly used options are an “Annual”, “Seasonal” or
“Monthly” mean. Additionally, names of specific files containing
measured sound speed profiles can be selected for point-to-point
acoustic propagation computations.
Using the second pull-down menu of the 6th row, the name of
a specific file containing a measured bathymetry profile can be
selected for point-to-point acoustic propagation computations.
This bathymetry is used in place of area bathymetry defined
B. Acoustic Propagation Function Selection
The 5th row, the latter half of the 6th row, and the last (7th)
row of submenus on the main MAP MENU provide for
implementation of the mapping functions. The simplest function
is to plot an SSP at a location on the bathymetry image. This is
selected by clicking the fourth pushbutton in the 5th row. The
bathymetry image is brought to the fore, the user is instructed to
point and click at the location of the SSP, and a new figure is
brought up with the plot of SSP. The location of the SSP plot is
marked on the bathymetry image.
The point-to-point functions are implemented by clicking on
the third pushbutton in the 5th row or the last pushbutton in the
6th row. (These are interchangeable.) Point-to-Point Functions
use the information in two edit menus on the7th row. The “Range
Increment” edit box controls the interval at which bathymetry and
sound speed is read from the databases. The “Sim Input File”
contains the name of an input file for an acoustic propagation
simulation. If a file name is present, that is used instead of the
file that is normally generated.
All point-to-point functions include a plot of bathymetry and
the SSPs between two points. If the third pull-down menu on the
6th row is set to “None”, that is all that is done. However, if a
simulation is specified on the third pull-down menu on the 6th
row, then a simulation-input file is written using bathymetry,
SSPs, and instruments specified previously. The display varies
for each simulation and will be discussed later.
The shadowing functions are implemented by clicking on the
first or second pushbutton in the 4th row. The first pushbutton
makes a new bathymetry image in a new figure plots lines on
geodesics out from the primary instrument until they no longer
propagate (according to the heuristic-shadowing algorithm). The
azimuths (at the primary instrument) at which geodesics are
plotted is read from the first edit box in the 7th row. Bathymetry
and sound speed is sampled along each line starting a distance
specified in the second edit box in the7th row, at intervals
specified third in the edit box in the 7h row.
The second pushbutton plots where sound cannot propagate.
The form of the plot and the algorithm is specified in pull-down
menu box in the 7th row. If the heuristic algorithm is specified,
the display is basically the inverse of that described in the
previous paragraph, with lines on geodesics out from the primary
instrument where there is no acoustic propagation.
If the RSR or RR algorithm is selected, the algorithm based
on Weston’s ray invariant is used. Lines on geodesics out from
the primary instrument are plotted and color changes as the
amount of shadowing increases. The initial range is set as above,
but both angle and range intervals are determined from the range
resolution in the second edit box in the 7th row. As range
increases, new geodesics are initiated between the old to maintain
the desired range interval. After the algorithm is completed, a
new bathymetry plot is made with a checkerboard pattern over
areas where more than one-half of the acoustic energy has been
The two main databases necessary for acoustic propagation
prediction are bathymetry and sound speed profiles.
We are currently using the version 6.2 of the bathymetry
database David Sandwell constructed from satellite altimetry and
in-situ data. This database covers the world except the areas near
the poles, i.e., from –72° to 72° latitude, with resolution of
0.033°. The accuracy of the bathymetry from the database is a
minor issue in shallow water. Depths from Sandwell have been
observed to disagree with local charts in the East China Sea and
Sea of Japan by as much as 50 m.
The database is supplied in the form of a GMT “.grd” file.
This implies that database manipulation, e.g., transects, cutouts
and pastes, must be done using the GMT program suite. This is
not an issue in terms of software portability, but is an issue in
terms of simplicity of the installation.
We are considering including other databases as an option.
Sandwell has two other bathymetry databases extracted from
satellite data in alternate ways, versions 7.2 and 8.2. Both should
give improved accuracy in shallow water. Neither is GMT
based. Sandwell provides software to read the new databases
and provide MATLAB arrays. Depending on the speed of this
software, this capability could greatly simplify manipulation of
A second source for a worldwide database is the U.S. Navy’s
DBDBV database, which is much improved in shallow water. It
would require significant effort to bring DBDBV into MAP, and
might also require further limitations on distribution. However,
this would seem to be a useful addition for MAP users within the
U.S. Navy research community.
B. Sound Speed Profiles
SSPs are obtained from the 1999 Levitus World Wide
Temperature and Salinity Databases using the Chen-Millero-Li
 conversion equations. There is a separate file containing
annual averages, four seasonal averages, and twelve monthly
averages. The resolution is every degree.
Simpler databases of sound speed channel axis depth and
extent were extracted from the Levitus SSPs for use in the
heuristic shadowing algorithm.
IV. POINT-TO-POINT ACOUSTIC PROPAGATION
Five point-to-point acoustic propagation models can be
set up and run from MAP. Whenever any entry other than
“None” is set in the “Acoustic Propagation Simulation” pull-
down menu on the 6th row, another menu is brought up to define
simulation inputs which are not used in other MAP functions.
These are elevation intervals, test ray elevation increment and
max number of reflections for ray–based simulations, acoustic
frequency, files containing reflection loss for RAY and CASS,
wind speed or bottom type for CASS, or bottom sediment and
basement properties for UMPE or RAM.
The general paradigm for running point-to-point acoustic
models is to use database information and specified simulation
inputs to construct a simulation input file and then to run the
simulation from MATLAB using the input file. After the run is
complete, MATLAB reads the output files and plots the
simulation results. An alternative is to specify a preexisting input
file for the run, and then to display the outputs from the MAP
program. This allows the user to specify capabilities not
provided for in MAP, such as multiple layers in the bottom for
UMPE and RAM. After use, the input files created by MAP may
themselves be modified for use in other runs. For example, a
CASS input file could be modified to compute reverberation.
The EIGENRAY program  was written by Brian Dushaw
of the Applied Physics Laboratory at the University of
Washington. It is a ray-based acoustic prediction program
designed to find eigenrays at long ranges accurately and
efficiently using sophisticated logic in addition to exhaustive
search. Because of the sophisticated logic and because it is
written in FORTRAN with a view toward parallel processing, the
EIGENRAY program can potentially process difficult cases
The ray increment from the simulation input menu is not used
in EIGENRAY, which controls its own search parameters. In
addition, because EIGENRAY does not attempt to model
transmission loss, boundary parameters from the simulation-input
submenu are not used.
Plotting of EIGENRAY predictions results in a three-panel
plot. The bottom panel contains the same plot of bathymetry and
SSPs along the line from source to receiver (primary to
secondary instrument) which is produced when plotting
bathymetry and SSPs along a cut on the bathymetry area. The
middle panel contains bathymetry and a plot of eigenrays
between source and receiver found by EIGENRAY. The top
panel contains a plot of number of turning points of each eigenray
vs. travel time.
EIGENRAY executables are distributed with MAP, but the
source code is not because it includes code from “Numerical
Recipes in FORTRAN”. The source code is available from
Brian Dushaw (2066854198, firstname.lastname@example.org)
after obtaining a site license for numerical recipes.
The RAY program  was written by Jim Bowlin of Woods
Hole Oceanographic Institution. Like EIGENRAY, RAY is also
a ray-based acoustic prediction program. It is also designed to
find eigenrays at long ranges accurately, but it tends to take a
more brute-force approach to searching than EIGENRAY. Ray
does have the advantage over EIGENRAY in that it does try to
estimate transmission loss (TL) on individual rays. Anecdotal
comments indicate that the accuracy of the TL estimates is
Like EIGENRAY, plotting of RAY predictions results in a
three-panel plot, but the contents of each panel are different. The
bottom panel contains a plot of test rays emitted from the source
(primary instrument) with eigenrays between the source and
receiver (primary and secondary instrument) found by RAY
superimposed in a lighter color. The middle panel contains a plot
of number of turning points of each eigenray vs. travel time. The
top panel contains a plot of transmission loss (TL) for each
eigenray vs. travel time. TL is plotted as vertical lines between
0 in units of power (10^((TL in dB) / 10)). This gives a rough
prediction of the expected appearance of a plot of envelope
squared of a high-resolution signal emitted from the source
arriving at the receiver.
For very long-range predictions, the ray output files, junk.out
and junk.mat, in the temporary directory may become very large.
If ray fails to run, determine if the disk partition on which the
temporary directory resides has been filled. If so, reset the
temporary directory to a disk partition with adequate space and
try to rerun.
B. Comprehensive Acoustic Sonar Simulation (CASS)
The CASS program  was written by Henry Weinberg of
the Navel Underwater Systems Center. It is designed for general
purpose propagation predictions, and thus less effort has been
expended than for either EIGENRAY or RAY for finding long
range eigenrays or estimating their travel time. However, it has
many supporting acoustic models for reflection loss and
attenuation built in and probably computes TL more accurately
than the RAY model.
Like EIGENRAY and RAY, plotting of CASS predictions
results in a three-panel plot. The contents of each panel are very
similar to the graphical output for RAY. The only difference is
that the bottom panel contains a plot of test rays emitted from the
source, but a geometrical representation of eigenrays between the
source and receiver are not output by CASS and thus are not
Although MAP supports the CASS model, that model is
restricted and cannot be distributed with MAP. The point of
contact for requesting CASS is Emily Childs McCarthy, Naval
Undersea Warfare Center, Newport, RI, 02841-1708, (401) 832-
C. University of Miami Parabolic Equation Simulation (UMPE)
The UMPE program  was written by Fred Tappert of the
University of Miami. Unlike the three acoustic prediction
programs described previously, it is not ray-based. Rather it is
a wideband parabolic equation (PE) model supporting multiple
bottom layers containing both longitudinal and shear waves.
UMPE also supports random surface waves. However, our
implementation assumes a smooth surface and a single sediment
layer above a half space (basement). (In the future, we intend to
implement models of surface reflection loss for UMPE, and have
put boxes in the GUI to support these models. However, MAP
does not currently support modeling of surface conditions for
Plotting of UMPE predictions results in a two-panel plot.
The bottom panel contains the same plot of bathymetry and SSPs
along the line from source to receiver (primary to secondary
instrument). The top panel contains bathymetry and an image of
TL vs. range. The TL estimate is narrow band only. Because of
this, there is no detailed plot of estimated time structure at the
receiver from a high-resolution signal emitted from the source.
D. Range-Dependent Acoustic Model (RAM)
The RAM program  was written by Mike Collins at the
Navy Research Laboratory. Like UMPE, RAM is a PE rather
than a ray-based model. However, it is not wideband. If time
resolution is desired, the model must be run at a number of
frequencies and the results recombined after the runs. There are
many versions of RAM with different capabilities. RAM.f is
restricted to a smooth surface and compression waves in the
bottom, although it will support many bottom layers. RAMS.f
allows shear waves in the bottom. RAMSURF.f allows a rough
The MAP implementation assumes a smooth surface and a
single sediment layer above a half space (basement). The
sediment or basement may support shear. If not, the “RAM”
executable is used. If shear is specified the “RAMS” executable
Plotting of RAM predictions results in a three-panel plot.
The bottom panel contains the same plot of bathymetry and SSPs
along the line from source to receiver (primary to secondary
instrument). The top panel contains bathymetry and an image of
TL vs. range. The TL estimate is narrow band only. The user
can specify the top plot. After RAM is run, a grid of amplitude
and phase is produced and read into MATLAB. A submenu is
brought up that allows the user to plot:
(1) Transmission loss vs. depth at a specified range
(2) Transmission loss vs. range at a specified depth
(3) Phase vs. depth at a specified range
(4) Phase vs. range at a specified depth
The submenu can be changed and the top panel replotted until
the user is satisfied with the display. When finished, the user can
close the submenu.
Multiple RAM runs could be done to support computation of
travel time but this has not been implemented in the current
version of MAP. It would be a very long computation for a
widely separated transmitter and receiver.
A. Heuristic Algorithm
The heuristic shadowing algorithm focuses on estimating
whether the bathymetry blocks the channel or whether the
channel disappears. No attempt is made to estimate loss due to
narrowing of the channel, except if the channel totally disappears.
The algorithm uses a database of channel depth and channel
depth limits computed from the Levitus database.
Bathymetry along geodesics is computed from the primary
instrument to the edges of the bathymetry image, launched at
azimuths specified in the main MAP GUI. Then starting at the
minimum range specified, and stepping out in intervals equal to
the range increment, the algorithm estimates whether the
bathymetry intrudes into the channel above the channel axis. If
the source is in shallow water, it is assumed that the sound will
find some way to get to the deeper water, i.e., it allows
propagation from shallow to deep water, but not from deep to
Using the heuristic algorithm, areas to which acoustic signals
can be transmitted or from which acoustic signals can be heard
are shown by plotting geodesics for ranges before propagation is
blocked. To do this, click the “PLOT HORIZONTAL RAYS’
pushbutton on the 5th row of submenus on the main MAP GUI.
Areas to which acoustic signals cannot be transmitted or
from which acoustic signals cannot be heard are shown by
plotting geodesics for ranges after propagation is blocked. To do
this, select the “HEURISTIC” shadowing algorithm in the pull-
down menu on the 7th click the “PLOT SHADOWS” pushbutton
on the 5th row of submenus on the main MAP GUI
B. Shadowing Algorithm Based on Weston’s Ray Invariant
Shadows may also be plotted using an algorithm based on
Weston’s Ray Invariant . The ray invariant is the time it takes
for a ray trapped in a duct to travel from its deepest to its
shallowest depth. Mathematically, the ray invariant is
where zUpper is the shallowest depth and zLower is the deepest
depth to which the ray goes. For slow changes in the SSP the
value of the ray invariant does not change as a ray travels. The
maximum ray invariant for a channel is the ray invariant for the
ray going between the upper and lower depths of the channel.
There are two separate versions of the algorithm which differ
in that one (RSR) allows propagation in channels involving both
refraction and surface reflections, whereas the second (RR) only
allows propagation via refraction, i.e., upper and lower vertices.
Thus for the RSR algorithm the maximum sound speed in the
channel is given by the maximum sound speed below the channel
axis and above the bottom. The lower depth of the channel is the
depth of the maximum sound speed. The upper depth is the
surface or the depth above the channel axis at which sound speed
equals the channel sound speed maximum, if such a depth occurs.
For the RR algorithm the maximum sound speed in the
channel is given by the minimum of 1) the maximum sound
speed above the channel axis and below the surface and 2) the
maximum sound speed below the channel axis and above the
bottom. The lower depth of the channel is the depth of the
maximum sound speed. The upper depth is the depth above the
channel axis at which sound speed equals the channel sound
speed maximum, if such a depth occurs. Aside from the
difference in computation of channel extent, both versions of the
algorithm operate the same.
Fig. 2 illustrates an SSP that has both an RR channel and an
RSR channel. The RR channel has a maximum sound speed of
about 1483 m/s, and goes from zUpper = 10 m to zLower = 2068
m. The RSR Channel has a maximum sound speed of about
1494 m/s and goes from the surface to the bottom.
Fig 2. Illustration of RR and RSR Channels
Geodesics are computed going outward from the source to the
edge of the bathymetry image. The maximum ray invariant is
computed at range intervals equal to the range increment and
used to compute a shadowing statistic. The shadowing statistic
starts at one. Let:
RI(R,ϕ ) = Ray Invariant at Range R for ray with on-axis
elevation = ϕ.
maxRI(R ) = Maximum Ray Invariant at range R.
If max (maxRI(r) for r < R) < maxRI(R), then compute
shadStat(R) using the following algorithm
(1) Compute ϕ0 (R) such that RI(0, ϕ0 (R)) = maxRI(R).
(2) ϕ (zSrc, R) = acos (cos(ϕ0 (R)) * c(zSrc,0) / c(axis,0)
where c(zSrc,0) is the sound speed at the source and
c(axis, 0) is the sound speed on the channel axis at the
(3) shadStat(R) = ϕ (zSrc, R) / ϕ (zSrc, 0),
where ϕ (zSrc, 0) is the maximum elevation for rays at
the source that are trapped in the channel.
The geodesics are computed between the azimuth limits
defined on the main MAP GUI. The shadowing statistic is set to
1 at the minimum range and decreased from there. The initial
) )(/))( (sin(
bearing increment is set so that the range between initial points
on the geodesics is about one-half the range increment. As range
on geodesic increase, the separation between contiguous
geodesics may become large enough that bathymetry pixels
between the geodesics are separated from both of the geodesics
by more than the ray increment. If this occurs, a new geodesic
between the two is generated starting at this range, with the
shadowing statistic initiated to a value equal to the mean of that
on the two original geodesics at the range where the new
geodesic is generated. This recruitment process is continued until
there are no pixels more separated from the nearest range
increment by more than a range increment.
When the algorithm is started, a new bathymetry image is
plotted and as geodesics are generated, they are plotted with a
color that varies from white to black as the shadowing statistic
decreases from 1 to 0.
After the computation is completed, the shadowing statistic
at each bathymetry pixel is computed by interpolated nearby
values on the geodesics. A second new bathymetry image is
plotted and the areas for which the shadowing statistic is less than
0.5 are indicated by a grid overlaid on the bathymetry.
V. CASE STUDY
Fig. 3 shows bathymetry from the MAP GUI for the Sea of
Japan. Two instruments are shown, a source on the North edge
of the Sea, and a receiver on the north side of an island at about
37.5 N Latitude and 131 E Longitude. A geodesic connecting the
two instruments is shown as a black line. A point-to-point
acoustic prediction was made from source to receiver with the
EIGENRAY program. The results are shown in Fig. 4. The
lower panel shows a plot of bathymetry along the geodesic and
five SSPs along the track for the month of August. Although it
is not easy to discern, the SSPs change slightly along the path.
Fig 3. Bathymetry for the Sea of Japan
The middle panel shows eigenrays from source to receiver
found by program EIGENRAY, launched from the source at
elevations between –12.5° to 12.5°. The source is in a shallow
continental shelf area. All the eigenrays propagate via multiple
bottom reflections and either surface reflection or upper vertices
on the shelf, then spill down the slope into the deeper portion of
the sea and propagate within an RR channel until they reach the
receiver, which is at a depth of 450 m on the upslope to an island.
The top panel shows a scatter plot of number of turning
points (vertices or boundary reflections) vs. travel time. Eighty-
one eigenrays were generated with arrival times spanning about
Fig 4. EIGENRAY Results for the Sea of Japan
Fig. 5 shows geodesics used in a Weston Ray Invariant
Shadowing Computation using the receiver as the primary
instrument. The geodesics are shown in white in the Sea of
Japan except where the bottom intrudes significantly into the
channel. This occurs immediately south of the receiver because
of the island and then in several other shallow areas of the sea.
As would be expected, in the land areas the geodesics are all
black indicating no acoustic propagation. The azimuth increment
of geodesics is greater when bottom is encountered at short range
because recruitment of intermediate rays stops.
Fig. 6 shows the same geodesics as Fig. 5, except zoomed
around the receiver. The receiver to the north of an island
(shown as 4 white pixels) is seen easily at this resolution, as is
the shadowing of the island. The island does not shadow one
geodesic (at azimuth 180° from true North) because the initial
range for computing shadowing is on the other side of the island.
Also note that some of the geodesics start at longer ranges.
These are the geodesics that are recruited to fill in between
geodesics after they have separated by more than twice the
required range resolution for the shadowing computation.
Fig. 7 shows the final output plot for the scattering algorithm
based on the Weston Invariant.
Fig 5. Shadowing for the Sea of Japan
Fig 6. Shadowing for the Sea of Japan
V. CONCLUDING REMARKS
The MAP GUI brings together bathymetry and SSP
databases and acoustic propagation predictions. Selection of
instruments, setup of simple prediction computations and display
of results are easy and convenient. Files written by MAP also
provide a convenient basis for more detailed prediction
Fig 7. Areas Shadowed by over 50% for the Sea of Japan
This work was supported with funding from the
Comprehensive Test Ban Treaty Organization (CBTO),
Hydroacoustic Branch, and the Office of Naval Research (ONR)
OA, North pacific Acoustic Laboratory Project.
 B. Dushaw, and J. A. Colosi, Ray Tracing for Acoustic
Tomography APL-UW TM 3-98, Applied Physics
Laboratory, University of Washington, Seattle, Dec 1998.
 APL-UW High Frequency Ocean Environmental Acoustic
Models Handbook, APL-UW TR 9407, Applied Physics
Laboratory, University of Washington, Seattle, 1994.
 J. B. Bowlin, J. L. Spiesberger, T. F. Duda, and L. F.
Freitag, Ocean Acoustical Ray-Tracing Software RAY,
Tech Rep WHOI-93-10, Woods Hole Oceanographic
Institution, Woods Hole, MA., 1992.
 H. Weinberg and R.E. Kennan, “Gaussian ray bundles for
modeling high-frequency propagation loss under shallow-
water conditions,” J. Acoust. Soc. Am. 100 (3), pp. 1421 –
1431, Sep 1996
 K. B. Smith and F. E. Tappert, The University of Miami
Parabolic Equation Model, Version 1.1, MPL TM 432,
Marine Physical Laboratory, University of California, San
Diego, CA, May 1993
 Collins, M.D., “A split-step Pade’ solution for the parabolic
equation method,” J. Acoust. Soc. Am., Proc 93, pp. 1736-
 D.E. Weston, “Guided propagation in a slowly varying
medium,” J. Acoust. Soc. Am., Proc Phys. Soc. London 73,
pp. 365-384, 1959.