Skip to main content

Repeating earthquakes search and analysis

Project description

Requake

Repeating earthquakes search and analysis.

changelog-badge PyPI-badge license-badge docs-badge DOI-badge

Copyright (c) 2021-2026 Claudio Satriano satriano@ipgp.fr

Description

Requake is a command line tool to search and analyse repeating earthquakes.

It can either scan an existing earthquake catalog to search for similar events, or perform template matching on a continuous waveform stream.

Catalogs and waveforms can be read from local files or downloaded using standard FDSN web services.

Requake is written in Python and uses ObsPy as backend.

Installation

Installing the latest release

Using Anaconda

The following command will automatically create an Anaconda environment named requake, install the required packages and install the latest version of SourceSpec via pip:

conda env create --file https://raw.githubusercontent.com/SeismicSource/requake/main/requake_conda_env.yml

If you want a different name for your environment, use:

conda env create -n YOUR_ENV_NAME --file https://raw.githubusercontent.com/SeismicSource/requake/main/requake_conda_env.yml

Activate the environment with:

conda activate requake

(or conda activate YOUR_ENV_NAME)

To keep Requake updated run the following command from within the environment:

pip install --upgrade requake

Or, to switch to a development snapshot, run:

pip install git+https://github.com/SeismicSource/requake.git

Using pip and PyPI

The latest release of Requake is available on the Python Package Index.

You can install it easily through pip:

pip install requake

Installing a development snapshot

If you need a recent feature that is not in the latest release (see the unreleased section in CHANGELOG), you want to use the more recent development snapshot from the Requake GitHub repository.

Using pip

The easiest way to install the most recent development snapshot is to download and install it through pip, using its builtin git client:

pip install git+https://github.com/SeismicSource/requake.git

Run this command again, from times to times, to keep Requake updated with the development version.

Cloning the Requake GitHub repository

If you want to take a look at the source code (and possibly modify it 😉), clone the project using git:

git clone https://github.com/SeismicSource/requake.git

or, using SSH:

git clone git@github.com:SeismicSource/requake.git

(avoid using the "Download ZIP" option from the green "Code" button, since version number is lost).

Then, go into the requake main directory and install the code in "editable mode" by running:

pip install -e .

You can keep your local Requake repository updated by running git pull from times to times. Thanks to pip's "editable mode", you don't need to reinstall Requake after each update.

If you want the repository style rules to run locally before each commit, enable the included git hook once per clone:

scripts/setup_local_hooks.sh

You can also run the local style checks manually with:

scripts/check_style.sh

Running

Command line arguments

Requake is based on a single executable, aptly named requake 😉.

To get help, use:

requake -h

Different commands are available:

sample_config       write sample config file to current directory and exit
update_config       update an existing config file to the latest version
read_catalog        read an event catalog from web services or from a file
print_catalog       print the event catalog to screen
scan_catalog        scan an existing catalog for earthquake pairs
print_pairs         print pairs to screen
plot_pair           plot traces for a given event pair
build_families      build families of repeating earthquakes from a catalog
                    of pairs
print_families      print families to screen
plot_families       plot traces for one ore more event families
plot_timespans      plot family timespans
plot_cumulative     cumulative plot for one or more families
map_families        plot families on a map
flag_family         flag a family of repeating earthquakes as valid or not
                    valid.
build_templates     build waveform templates for one or more event
                    families
scan_templates      scan a continuous waveform stream using one or more
                    templates
wfcache             manage persistent waveform cache (prefetch, print,
                    inspect, extract, reset_failures)

Certain commands (e.g., plot_pair) require further arguments (use, e.g., requake plot_pair -h to get help).

Requake supports command line tab completion for commands and arguments, thanks to argcomplete. To enable command line tab completion run:

activate-global-python-argcomplete

(This is a one-time command that needs to be run only once).

Or, alternatively, add the following line to your .bashrc or .zshrc:

eval "$(register-python-argcomplete requake)"

Typical workflow

The first thing you will want to do is to generate a sample config file:

requake sample_config

Edit the config file according to your needs, then read or download the event catalog:

requake read_catalog

or

requake read_catalog CATALOG_FILE

Now, build the catalog of event pairs with:

requake scan_catalog

When relying on FDSN web services for waveform data, it is strongly recommended to prefetch all waveform windows before running the scan. This downloads every required waveform once and stores it in a local SQLite cache, avoiding repeated downloads and dramatically reducing overall runtime for large catalogs:

requake wfcache prefetch

Once done (it will take time!), you are ready to build repeating earthquake families:

requake build_families

Performances

  • requake scan_catalog is designed to fully utilize available CPU cores by processing earthquake pairs in parallel. On an M2 MacBook Air, scanning 95,034 earthquake pairs downloaded via FDSNWS took approximately 5 minutes using 7 worker processes, yielding ~19,000 pairs per minute. When repeating the same scan with a fully cached set of waveforms, runtime dropped to 84 seconds (~68,000 pairs per minute). These results indicate that overall performance is typically dominated by waveform download latency rather than computation.

  • For large FDSN-based runs, use requake wfcache prefetch before requake scan_catalog to download all waveforms upfront into a local SQLite cache. This eliminates repeated downloads, lets the scan read exclusively from disk, and is the single most effective way to speed up catalog scanning.

  • requake build_families is fast™.

How to Cite

If you used Requake for a scientific paper, please cite it as:

Satriano, C. (2026). Requake: Repeating earthquakes search and analysis (X.Y). doi: 10.5281/ZENODO.10832203

Please replace X.Y with the Requake version number you used.

You can also cite the following abstract presented at the 2021 AGU Fall Meeting:

Satriano, C., Doucet, A. & Bouin, M.-P. (2021). Probing the creep rate along the Lesser Antilles Subduction Zone through repeating earthquakes. In AGU Fall Meeting Abstracts (Vol. 2021, pp. T25A-0167), bibcode: 2021AGUFM.T25A0167S

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requake-0.8.3.tar.gz (153.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

requake-0.8.3-py3-none-any.whl (184.2 kB view details)

Uploaded Python 3

File details

Details for the file requake-0.8.3.tar.gz.

File metadata

  • Download URL: requake-0.8.3.tar.gz
  • Upload date:
  • Size: 153.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for requake-0.8.3.tar.gz
Algorithm Hash digest
SHA256 d4e7fffe451f64088c419309e5d5123ce34d70d68c25ed0ce3d412c3b336ff0f
MD5 0562608a3a1510193bcf95188617d7fb
BLAKE2b-256 1f58a8359f7d34e8925e9167f203a05c32956a897aef07a9bc114a06e5af569d

See more details on using hashes here.

Provenance

The following attestation bundles were made for requake-0.8.3.tar.gz:

Publisher: publish-to-pypi.yml on SeismicSource/requake

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file requake-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: requake-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 184.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for requake-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ea8f78d666ba1b284defb1a11916a8b36a0bebbcdc18f412ad5581e1320d20e
MD5 f0a8f6904543cb51c359a3391c05e4ec
BLAKE2b-256 44b3bbf59389834b93e33e3ee5c6cc80b0603f40a03b9da74d0b79b59fbfc7f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for requake-0.8.3-py3-none-any.whl:

Publisher: publish-to-pypi.yml on SeismicSource/requake

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page