Skip Navigation | ANU Home | Search ANU
The Australian National University
Research School of Earth Sciences
Earth Physics


This web page distributes an iterative non-linear traveltime tomography code in 2-D spherical shell coordinates (constant radius, variable latitude and longitude). One possible application of the code is surface wave tomography using, for example, traveltimes of high frequency interstation rayleigh waveforms extracted from the ambient seismic noise field. The forward problem is solved using a grid based eikonal solver known as the fast marching method (FMM), and the inverse problem is solved using a subspace inversion method. Note that the code is not suitable for models which require the Earth's poles or its periodicity to be taken into account.

The software is written in Fortran 90, and uses shell scripts to iteratively apply the various pieces of code in order to solve the complete non-linear tomography problem. The code has been tested on a number of platforms, and should work on most computers that have acces to compilers distributed by the likes of GNU, NAG, Portland, Pathscale, Intel, Fujitsu and Sun. A detailed instruction manual is supplied with the distribution, and can also be downloaded below in PDF format:

instructions.pdf (1.9 Mb)

NEW UPDATED VERSION POSTED ON 11/01/2008!!!
Major changes have been made to the organization of the package. It has now been streamlined and offers a much more logical organisation of files. Previous users of this package should note that all program names have been changed and some input parameter files have been modified. Please carefully read the new instruction manual prior to using the updated version of code. Other improvements include:

  • More accurate tracking of ray paths through the traveltime field computed by FMM.
  • Improved efficiency of code when not all source-receiver pairs have associated traveltimes.
  • A second example involving traveltimes extracted from ambient noise data in the Australian region has been included.

    15/04/2008 - Bug fix: division by zero in fm2dss repaired.

    Version 1.1 posted on 30/07/2008
    Version 1.1 does not introduce any new features compared to version 1.0, but does include several bug fixes. These include:

  • Fixed problem with explicit smoothing in program subinvss that in some cases caused instability. Note that the format of input file subinvss.in has changed slightly.
  • Also fixed bug in subinvss that caused array bound overflow errors in certain circumstances.
  • Removed obsolete "PAUSE" statement in SVD subroutine that annoys some compilers.

    To obtain the complete source code, detailed documentation and example input files, download the Unix gzipped and tarred file below:

    fmst_v1.1.tar.gz (2.6 Mb)

    To unpack the contents of this file, type something like:

    gunzip -c fmst_v1.1.tar.gz | tar xvof -

    or

    tar -xvzf fmst_v1.1.tar.gz

    at the command prompt. The contents of the tar archive will be placed in the extraction directory. Instructions on how to use the code can be found in the directory docs.

    Example showing distortion of seismic wavefronts (computed with FMM) in the presence of significant variations in wavespeed. The underlying image was obtained by applying the above surface wave tomography code to Rayleigh wave group traveltimes extracted from long term cross-correlations of the ambient seismic noisefield (results courtesy of Erdinc Saygin).