Long-Range Acoustics

Insofar as acoustic tomography is concerned most basic sciences questions concerning acoustic propagation have been resolved. Some regions are more complicated that others, however; every region requires a careful analysis to understand any complications. Fram Strait, for example, is a particularly complicated region.

Existing acoustic propagation codes can accurately compute the transmission of acoustic signals through any given environment. The main difficulty is obtaining an accurate realization for the environment. Acoustic propagation is particularly sensitive to errors in sound speed gradient; small errors can lead to significant errors in the computed acoustic arrival pattern. Below is a list of acousitic propagation codes that I've developed or used. The links lead to a page describing and benchmarking the code, with links to the source code.

"Eigenray" is a code for ray tracing: EIGENRAY.
While ray tracing is the simplest approach to acoustic propagation, it compares well to results from the full wave calculations. We've come to rely mostly on ray tracing.

"MPIRAM" is a code for computing acoustic propagation based on M. Collin's RAM: Parabolic equation (RAM), FORTRAN
This code is written in FORTRAN 95 and designed for calculations in parallel, either using OPENMP or using MPI. This particular version of RAM employs a hybrid single/double precision approach that greatly speeds up the calculation with little loss in accuracy. Use of single precision makes Intel's hyperthreading technology quite effective and AMD's multiprocessor cores work more efficiently as well (it is still a single precision world, despite the appearances).

M. Dzieciuch developed code for computing acoustic propagation based on RAM using MATLAB: Parabolic equation (RAM), MATLAB
The MPIRAM code was developed based on this code.

Another approach to acoustic propagation is using acoustic modes: Acoustic mode propagation
This simple code computes the acoustic mode properties using a MATLAB script employing Numerov's method. Acoustic propagation is then computed based on MATLAB routines developed by M. Dzieciuch.