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 of Pyatoa’s waveform comparison capabilities. Observed (black) and synthetic (red) waveforms compared within time windows (orange boxes), culminating in adjoint sources (green)
Quickstart
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.
Installation
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.
Note
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.
Warning
API and code stability is subject to change without warning when using the
devel
branch
git clone --branch devel https://github.com/adjtomo/pyatoa.git
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.