Pyadjoint is an open-source Python package for calculating time-dependent misfit with a variety of misfit functions. It was designed to generate adjoint sources for full waveform inversion and adjoint tomography.


Although it can be used standalone, we recommend using Pyadjoint within the larger misfit quantification package Pyatoa.

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

Have a look at the Pyadjoint usage page to get started, and browse available adjoint sources using the navigation bar.


We recommend Pyadjoint be installed inside a Conda environment.

git clone
cd pyadjoint
conda env create -n pyadjoint
conda activate pyadjoint
conda install obspy
pip install -e .

Running Tests

Tests ensure Pyadjoint runs as expected after changes are made to the source code. You can run tests with Pytest.

cd pyadjoint/tests