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
- GMT scripts are provided for plotting cross-sections through the output
- 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 (email@example.com). 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.