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)
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:
- 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 setup.py install
Feature coming soon...
- Make sure you have activated your environment (see Setting up an Environment)
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.
- 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 LICENSE.md file for details.