The Acoustics Toolbox


The Acoustics Toolbox is a collection of acoustic models and related software for studying sound propagation in an ocean waveguide. Actually, the models have been structured to be suitable for general wave propagation problems; however, the ocean application is our main focus.

The acoustic models in the package are:

There are generally no limits on the dimensions that can be handled (up to virtual memory). The code uses dynamic allocation for virtually all arrays. There are a few exceptions. You will generally get a flag if for some reason any dynamic memory allocation fails or if you have exceeded an intrinsic limit in the code.

The documentation uses a common Fortran or Matlab syntax where a ( 1 : 5 ) represents a vector ( 1, 2, 3, 4, 5 ). The convention on model input is that such vectors are defined by first reading a line with the number of elements in the vector. Then the vector itself is read in. However, in reading the vector one can optionally provide just the first and last elements followed by a '/'. Thus, after specifying 5 elements, the vector (1:5) can be read is as '1 5 /'

For option letters in the various models, you will often see that there is a default. For instance, BELLHOP defaults to a point source in cylindrical coordinates, but you can explicitly select a point source ('R') or a line source ('X'). If you just want to go with the default, then simply put in a blank space for that position.

The following modules are part of the package.

Group I: Mode Computations:

Group II: Basic Plotting Routines:

Group III: Field Computations:

Group IV: Plotting Routines that use Group III Program Output:

The various programs for computing fields (GROUP III) are only needed for PLOTSHD, or for special user programs (e.g. ambiguity surfaces).

The following extensions are used with these programs:

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.

Directory Structure