Software for finite-frequency tomography - Download from this page


Important: please check regularly if your package is up to date. I do not maintain a list of users, so I cannot warn you when software has been updated.



General remarks

The software that is made available on this page has been developed by many authors. The most important contributions came from (in alphabetical order): Jean Charlety, Shu-Huei Hung, Dylan Mikesell, Raffaella Montelli, Guust Nolet, Karin Sigloch, Yue Tian and Jean Virieux.

Disclaimer: while most of this software has by now been tested extensively, there are always unforeseen situations. So please look out for bugs. If you think you found one, contact me (nolet

We are still in the process of writing more extensive manuals, for now you'll have to make do with what is offered. At times you may have to consult the program itself (e.g. for output formats).

For an extensive background see Nolet, G., A Breviary for Seismic Tomography, Cambridge Univ. Press (2008). Click here for a running list of errata. You can also download the Solutions to the Excercises, courtesy of Yue Tian.

Global seismic tomography

We have abandoned irregular tetrahedrons as parameters, and replaced this with a cubic Earth representation, the Princeton Standard Grid (PSG, see Charlety et al., JGR 2013, doi 10.1002/jgrb.50326). This grid has very small cells that allow for sufficient detail in most if not all global inversions. By keeping the same grid for all tomography attempts, one avoids having to start from scratch every time a new data set is combined with older data.

This is the first public version of our global tomography software. In the PSG, the mantle is divided in six chunks of 128x128 voxels horizontally and 37 vertically (see Charlety et al., 2013). This offers a horizontal resolution of about 70 km at the surface and 35 km near the CMB. While this is more detailed than usually resolvable, a new (as yet unpublished) preconditioning allows for very effective smoothing, so that this `Princeton Standard grid' or PSG handles every possible length scale adequately, while writing models that can be easily used in SPECFEM.

To download the latest version and the manual (Sept 2022), click here . To download examples for input click here . (Warning: the examples may not always be up to date, so always check input against the Manual!). Extensive documentation is also offered for this package and included in the tar file (see BDManual.pdf).

Cross-correlation software

Programs for estimating frequency-dependent delays by cross-correlating distinct wave arrivals use the method of Bonnin et al. (2014). The latest version (2022) can be downloaded by clicking here . They write the results in a format that can be directly input to the tomographic inversion programs.

Mermaid software

Software to analyse Mermaid data is available via the Mermaid pages , or access the software directy by clicking here .

Dynamic raytracing in a spherically symmetric Earth

Program Raydyntrace.f is a stand-alone program that can be used to program your own banana-dougnut kernels in a spherical Earth. The latest version (Jan 15, 2014) has improved crustal corrections in oceanic areas (including for OBS's) and computes also reflection- and transmission coeficients.

Those who have already developed their own tomography software, and wish to move from single-frequency, ray-theoretical inversions to multiple-frequency inversions using banana-doughnut kernels, shall wish to use this program. It provides all variables needed to program eq. (7.28) or its simplified version (7.20) for cross-correlation delay times, eq. (7.30) for delays obtained by cross-correlation waveform fitting, or the expression for waveform maxima picks (see page 136 of Breviary).

It can be used with the paraxial approximation (computing detour times for scatterers off the geometrical ray path assuming the wavefront has a parabolic shape), but it can also be used to provide a table of all necessary parameters to be used in a table look-up. The tar file contains extensive documentation as well as examples.

Dynamic raytracing and matrix computation in 3D shallow models

The latest version has the programs grafbdyn.f, matrix3D.f and assemblematrix3D.f, as well as a number of utilities to plot or analyse the output. These result in a fully assembled matrix, including correction factors.

The final MPI program mpisolvetomo3D.f that does the inversion is still subject to changes and improvements. It is available in its beta-version to whoever wishes to collaborate with us. If you are interested in this, please contact Guust Nolet (

The package BD3D.19Apr2013.tar.gz has all you need to compute banana-dougnut kernels and the matrix in a 3D Cartesian model.

The BD3D manual is currently being written, the latest version can be downloaded separately.

Finding poles and zeroes from a step response

Find here the Fortran code that allows you to estimate poles and zeroes for a step response, as described in Joubert et al. (2014).


1. Bonnin, M., G. Nolet, A. Villasenor, J. Gallart, C. Thomas Geophys. J. Int., 198, 1458-1473, 2014

2. Charlety, J., J.S. Voronin, G. Nolet, I. Loris, F.J. Simons and I.C. DaubechiesJ. geophys. Res., 118, 1-13, 2013

3. Joubert, C., G. Nolet, A. Sukhovich, A. Oge, J.-F. Argentino and Y. Hello, Hydrophone calibration at very low frequencies, Bull. Seism. Soc. Am., 105, 1797-1802, 2014

4. Nolet, G., A Breviary for Seismic Tomography, Cambridge Univ. Press, 2008.

5. Tian, Y., G. Nolet, F.A. Dahlen, S.-H. Hung and R. Montelli, Dynamic ray tracing and traveltime corrections in finite-frequency tomography, J. Comp. Phys., 226, 672-687, 2007.

6. Tian, Y.,R. Montelli, G. Nolet, and F.A. Dahlen, Computing traveltime and amplitude sensitivity kernels in finite-frequency tomography, J. Comp. Phys., 226, 2271-2288, 2007a.

Return to the GLOBALSEIS home page