Miscellaneous


Acoustic Ray Tracing Code

I've written a FORTRAN program for calculating eigenray travel times and ray paths for acoustic tomography using user-specified sound speed. The starting point for this code was the Bowlin RAY code, which uses the C program language. The FORTRAN code should compile on any machine with a standard FORTRAN compiler. The code is highly optimized, and a parallelized version using MPI is also available for minimizing calculation time at very long ranges. The reference for this code is: Dushaw, B. D. and J. A. Colosi, 1998. Ray tracing for ocean acoustic tomography, Applied Physics Laboratory, University of Washington, APL-UW TM 3-98, 31 pp. Download the technical report. (456K pdf file). As and addendum to this report, John Colosi wrote a set of notes correcting versions of the ray equations when currents are present Colosi's notes (291K ps file).

Source code for this ray tracing code (contains above PDF file for the technical report) and some hints on compiling and using the code can be found on the wiki page for this code: Eigenray

See also the RAM Matlab Code for PE calculations in matlab using the RAM code by M. Collins, implemented for matlab by M. Dzieciuch.


A MATLAB GUI Interface Package for Long-Range Acoustic Calculations

Some time ago I developed a software package called "Acoustic.Ocean" using Matlab to bring together mapping, environmental data, sea floor topography, and acoustic computation code to allow easy computation of acoustic properties along geodesic paths, among other tasks. The package proved to be popular, but it is so large I have not been able to host it here locally for easy download. As a bonus, in this package the World Ocean Atlas and sea floor topography data have been updated to 2023. Freely provided with no guarantee or support.

Citation and Download: Dushaw, Brian D. (2023). Acoustic.Ocean: A graphical user interface (Matlab) for selecting geodesic paths across the global oceans, extracting oceanographic properties (sound speed, temperature), and computing expected acoustic propagation properties (Version 2023). Zenodo. https://doi.org/10.5281/zenodo.8286625.

Chris Eggen originally significantly developed this package, and extended its features (I retained a simpler, linux specific, version). The package will run on linux, Windows, or Macs. The Matlab parts will work without a problem, the acoustic codes require compilation of Fortran routines. You can download the short paper describing this package HERE.

A screen shot of the package in action: HERE. (153 KB)


Sound Speed, Temperature, Salinity, and Buoyancy Profiles for the World Ocean from the 2001 World Ocean Atlas.

These are MATLAB data files (4.3 MB each) that contain the sound speed, temperature, salinity, and buoyancy profiles for the world's oceans derived from the 2001 World Ocean Atlas ( World Ocean Atlas).

A few associated MATLAB scripts can be used to extract sound speed, temperature, salinity or buoyancy at arbitrary points and write out an ascii file. These are a few programs extracted and modified from the MATLAB gui package above.

For more information and to download the MATLAB data files and the MATLAB functions go HERE.


Publicity on the World Wide Web.

The New York Times on ATOC (10/27/98)

ABC News on ATOC (6/23/98)

International Congress on Acoustics/Acoustical Society of America (ICA/ASA) '98 Lay Language Papers (6/22/98)

Science Magazine on "Resonant Diurnal Internal Tides" (11/06/98)

University of Washington (11/5/98)

The Honolulu Advertiser (2/16/02)

Space Daily (3/4/02)


Linux Stuff

GPS. AWK scripts for interfacing a Magellan GPS handheld receiver with a (linux) PC. One script lets you download track points from the GPS receiver - this script can be easily modified for uploading waypoints, etc. Another script lets you calculate the Magellan checksum for the strings to be sent to the receiver, the "byte-wise exclusive OR of all bytes in the message". Both of these are terminal programs.

Food Recipes

Recipes Some food recipes: flan, pasta and meatballs, and sourdough bread.