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

FMTOMO is a Fortran 90 software package that has been designed for 3-D traveltime tomography. The forward problem of traveltime prediction is solved using a multi-stage fast marching method (FMM), which is a sophisticated grid-based eikonal solver. The inverse problem of adjusting model parameters to satisfy data observations and any imposed regularization is solved using a subspace scheme, which minimizes an objective function simultaneously along multiple search directions that together span a subspace of model space. The method is iterative non-linear in that the inversion step assumes local linearity, but repeated application of FMM and subspace inversion allows the non-linear relationship between velocity and traveltime perturbations to be reconciled.

Features of the FMTOMO package include:

  • Model structure is represented by subhorizontal layers in spherical coordinates. Within a layer, velocity is permitted to vary smoothly in all three dimensions. It is also possible to specify media that are described only by continuous velocity variations (i.e. no interfaces).
  • The geometry of layer boundaries may also vary, thus allowing a wide variety of structures to be represented (e.g. subducting slabs).
  • Phases comprising any number of reflection and refraction branches may be tracked, including P-S conversions.
  • Teleseismic phases may also be computed through a spherically symmetric reference model (ak135) to the edge of the 3-D model region, after which the FMM scheme is used to track the remaining propagation path.
  • Velocity and interface structure, as well as source location, may be separately or simultaneously constrained in the inversion.
  • A wide variety of datasets, including reflection, wide-angle, local earthquake and teleseismic may be used to constrain 3-D structure. Joint inversion of multiple datasets is also possible,
  • The use of spherical coordinates means that local regional and semi-global applications are possible (periodicity and degeneracy of the coordinate system at the poles are not accounted for).
  • GMT scripts are provided for plotting cross-sections through the output solution models.
  • Three worked examples are provided with the distribution to help understand how the package operates.

A very detailed 70 page instruction manual has been assembled to describe FMTOMO. You can download it as a PDF below:

instructions.pdf (2.8 Mb)

The current distribution of FMTOMO (version 1.0) is best described as a beta distribution; although it has undergone some testing, it no doubt still contains a number of bugs. If you encounter any of them, then please contact the author of the package, Nick Rawlinson ( To obtain a copy of the package, please click on the link below

fmtomov1.0.tar.gz (20 Mb)
NOTE: This distribution was updated on 25/07/2007. Bug fixes include:
(1) Adding the program frechgen to the compileall script.
(2) Correcting a minor coding error in the subroutine teleseismic.f90, which affected teleseismic initialization at the surface of the model.
(3) Adjusting the grid generation code grid3dg so that it specifies a minimum velocity tolerance (to avoid negative velocities). A minor bug relating to grid origin in longitude was also fixed

The file size of the gzipped and tarred archive is rather large due mainly to the inclusion of several journal papers that make use of the code.

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

gunzip -c fmtomov1.0.tar.gz | tar xvof -


tar -xvzf fmtomov1.0.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.

Cross-section through a 3-D model which illustrates the types of structures and phases that can be dealt with by FMTOMO.