Python’s Adjoint Tomography Operations Assistant

Pyatoa is an open-source, Python-based misfit quantification toolbox for full waveform inversion and adjoint tomography.

Primarily intended to calculate misfit between two waveforms, it also contains tools for visualization, data storage, and statistical analysis of misfit for seismic inversions run with SeisFlows.

Pyatoa is hosted on GitHub as part of the adjTomo organization.

An example waveform figure showing off some of Pyatoa's features

An example of Pyatoa’s waveform comparison capabilities. Observed (black) and synthetic (red) waveforms compared within time windows (orange boxes), culminating in adjoint sources (green)


  • Have a look at the Overview page to learn about Pyatoa.

  • First Glance shows you how to run a small misfit quantification example.

  • The Gallery displays figures and code illustrating how Pyatoa can be used to visualize waveform misfit and inversions.


We recommend installing Pyatoa into a Conda environment to avoid package or dependency conflicts with other Python packages. Installation via Pip is recommended for the latest, stable version.


Cartopy must be installed via Conda otherwise you may encounter Pip dependency errors

conda create -n pyatoa
conda activate pyatoa
conda install cartopy
pip install pyatoa

Installing Development Version

Pyatoa is under an active state of development, so for the latest version of the codebase, installation must take place directly from the devel branch of the code.


API and code stability is subject to change without warning when using the devel branch

git clone --branch devel
cd pyatoa/
conda env create -f environment.yml
conda activate pyatoa

Running Tests

Tests ensure Pyatoa runs as expected after changes are made to the source code. If working with the development version, You can run tests with Pytest.

$ cd pyatoa/tests
$ pytest

Cite Pyatoa

If you use Pyatoa in your own research, please consider citing the related publication: Chow et al. (2020).

Chow, B., Kaneko, Y., Tape, C., Modrak, R., & Townend, J. (2020). An automated workflow for adjoint tomography — waveform misfits and synthetic inversions for the North Island, New Zealand. Geophysical Journal International, 223(3), 1461-1480.