Skip to content
No description, website, or topics provided.
Python Other
  1. Python 99.1%
  2. Other 0.9%
Branch: master
Clone or download

QuakeMigrate: Earthquake Onset Detection and Location

QuakeMigrate is a Python and C software package that detects and locates seismic events from raw data, using a migration and coalescence based technique. The ability to fine tune the input parameters and analyse the results using a suite of visualisation functions give it an edge over the alternatives. Simple scripts (see the provided examples) allow the user to rapidly deploy the software in any seismological setting.


If you use QuakeMigrate, please reference: (PUBLICATION COMING SOON)

Getting Started

These instructions will get you a copy of QuakeMigrate up and running on your local machine.


We recommend that you use Python environments to isolate the specific dependencies of QuakeMigrate from any other projects you may be working on (see Setting Up an Environment).

Setting Up an Environment

If you are using conda to manage your Python environments, you can use our QuakeMigrate.yml file to create a minimally complete environment:

conda env create -f QuakeMigrate.yml


There are two methods of getting a copy of QuakeMigrate:

From GitHub

  • Fork this repository (see here for more details)
  • Clone the repository to your local machine using git clone <repo link> <target_dir> (see here for more details)
  • Make sure you have activated your environment (see Setting Up an Environment)
  • Move into the new directory and run python install

pip install

Feature coming soon...

  • Make sure you have activated your environment (see Setting up an Environment)
  • Run pip install QuakeMigrate


To ensure your version is working as expected, we have provided a set of examples that demonstrate the various features of QuakeMigrate:


This example uses data recorded at a high sampling rate on ice. The velocity model is homogeneous.


This example features data from a dense local seismic network over an area of ~ 150 x 150 km in Central Iceland. It features a 1D velocity model, and extremely high earthquake rates during the 2014 Bardarbunga-Holuhraun dike intrusion.


This example demonstrates QuakeMigrate's ability to detect earthquakes using a limited number of seismometers recording at only 20Hz.

For each example, you will need to make sure you generate the traveltime lookup table first, as these files are quite large and not stored on GitHub.

Software Manual

Coming soon...

Built With

  • pandas - Easy-to-use data structures and data analysis tools.
  • ObsPy - Python framework for processing seismological data
  • scikit-fmm - Python extension module which implements the fast marching method
  • NumPy - NumPy is the fundamental package for scientific computing with Python
  • SciPy - Python-based ecosystem of open-source software for mathematics, science, and engineering


Please contact lead authors for corresponding collaboration.


  • Jonathan Smith - Project Leader & Developer - Induced Seismicity, Geomechanics and Mitigating Geohazard Link
  • Tom Winder - Project Leader & Developer - Volcano Seismology and Earthquake Triggering Link
  • Tom Hudson - Developer - Glacioseismology and Ice dynamics Link
  • Conor Bacon - Developer - Volcano Seismology: Seismic Anisotropy Link
  • Tim Greenfield - Developer - Volcano Seismology Link

Future contributors will be added to this list.


This project is licensed under the MIT License - see the file for details.

You can’t perform that action at this time.