ART2D - Acoustic Ray Tracer, 2D

Kris Walker

Art is a step from what is obvious and well-known toward what is arcane and concealed.
~Kahlil Gibran

Mr. Gibram could have been referring to acoustic ray tracing in the Earth's atmosphere. Loosly speaking, the well-known Snell's law indicates that when sound propagates toward regions of higher acoustic velocity, the sound will bend or refract away from such regions. Even though this concept is easy to understand, strong horizontal winds complicate greatly sound propagation through the Earth's atmosphere. Tracing rays through atmospheric sound speed and wind models following this simple law illuminates fascinating complexity, the understanding of which is a goal of modern day Infrasonics.

Many low-frequency "infrasonic" studies require accurate predictions of two observables: signal travel times and back azimuths. Armed with a good atmospheric sound speed and wind model, the method of acoustic ray tracing can easily provide these two predictions. However, this approach is based on an approximation that is only valid for relatively short wavelengths compared to the spatial variations in the velocity model. It is generally observed that propagation of infrasound with frequencies above ~1 Hz can be modeled using rays, except near the edges of "shadow zones" where fine-scale structure can have a large impact on the observables.

Acoustic Ray Tracer, 2D (ART2D) is a simple, portable, Unix-based C program for calculating the ray paths along which relatively high-frequency infrasound travels through an advecting medium (such as the Earth's atmosphere or oceans). At the core is the Hamiltonian implementation of the Eikonal equation. The ray equations are integrated using the 4th order, Runge-Kutta method over X, Y, and Z for a 2D source-receiver profile comprising static sound speed, in-plane horizontal wind speed, and cross-plane horizontal wind speed that vary along the X and Z directions. ART2D is actually a 2.5D code; although cross-plane derivatives are set to zero, the rays are allowed to move out of the source-receiver plane as directed by the cross winds, which is how back azimuth corrections can be determined. The sphericity of the Earth is accounted for using the Earth flattening transformation.

This code is provided with a modified Free-BSD license. It is free for academic and non-profit use. It is a work in progress. In the initial release (v. 1.1) there is no eigenray solver. However, included in the release are MATLAB scripts for easily visualization of the results. Simply run the examples to see how to quickly use this code (and cross-check your MATLAB figures with those on this website). Possible additions in the future are:

For questions, comments, or suggestions, contact Kris Walker (

Useful Links

NSF supported the development of this program under award #1053576.
Revised: Dec. 23, 2011