Andrew Valentine


Numerical modelling


Back to research overview


Most packages that have been developed to perform simulations of seismic wave propagation have been designed with the research community in mind, and installation and use tend to come with steep learning curves. This makes them poorly-suited to use in teaching and outreach settings, as technical issues create barriers to engagement. To circumvent these problems, I developed the pyprop8 Python package, which enables seismogram synthesis and depends on only two mainstream libraries: numpy and scipy. Installation is as simple as pip install pyprop8, and the package can simulate static offset, waveform and InSAR data in a layered half-space, and also compute derivatives of observables with respect to seismic source parameters.

Seismic wave propagation simulated using pyprop8

The code is available on Github, along with full documentation and a short paper announcing the package.1 It is based on theory described in papers by O’Toole and Woodhouse and O’Toole et al.2 There’s also an online demo!

Back to research overview


  1. Valentine & Sambridge, 2022. pyprop8: A lightweight code to simulate seismic observables in a layered half-space. doi:10.21105/joss.04217 

  2. O’Toole, Valentine & Woodhouse, 2012. Centroid-moment tensor inversions using high-rate GPS waveforms. doi:10.1111/j.1365-246X.2012.05608.x