Skip to content

Codebase for the 2023 GTC Project on Earthquake Predictability

License

Notifications You must be signed in to change notification settings

ai4er-cdt/earthquake-predictability

Repository files navigation

AI4ER MRes GTC 2024 - Earthquake Predictability

UKRI Logo University of Cambridge

Overview

Earthquakes have substantial worldwide effects, and accurate forecasting can greatly assist in emergency responses and preparedness efforts. Slow Slip Events (SSEs), exhibit quasi-periodic patterns, making them more predictable and significant for earthquake forecasting research. SSEs contribute to the moment budget, play a part in the seismic cycle, and may even trigger regular earthquakes. Due to the highly non-linear nature of friction and the potential significance of short and long-term patterns in SSEs, machine learning (ML), especially deep learning, is utilized.

SSEs are observed in nature, reproduced in laboratories, and simulated using various techniques. Previous studies have used ML in slow earthquake research for detection, time to failure prediction, and time-series forecasting, employing different ML architectures.

In this research project, we employed machine learning techniques to predict labquakes and Slow Slip Events (SSEs). Our study addressed three key research questions: (1) matching the state-of-the-art accuracy for labquake predictions and improving performance through feature engineering, (2) applying our LSTM and TCN models to Cascadia data for single and multiple segment forecasts, and (3) investigating the impact of pre-training with simulated data and lab data and transfer learning to Cascadia. We achieved a 9.4% performance enhancement for labquake predictions, obtained maximum R^2 scores of 0.8729 and 0.5219 for Cascadia forecasts, and found that pre-training marginally improved labquake predictions. However, transfer learning results for Cascadia remained inconclusive. Notably, the LSTM model consistently outperformed the TCN model across all domains.

Repo structure

  • archive/ for all the archived code written as part of the project
  • assets/ for assets such as user profile pictures used in the README
  • notebooks/ for the main Jupyter notebooks of the project
  • scripts/ for the training scripts and PyTorch models
  • utils/ for the main utilities used to develop our pre-processing pipeline

Data

Below are links to the original dataset used in our repository.

dataset name type source & metadata paper
p4581 labquake Marone Lab Lyu et al., 2019
p4679 labquake Marone Lab Lyu et al., 2019
b698 labquake INGVLab Mele Veedu et al., 2020
sim b698 simulated-lab geolandi/labquakesde Gualandi et al., 2023
cascadia 1-6 nature ftp://ftp.gps.caltech.edu/pub/avouac/Cascadia_SSE_Nature/Data_for_Nature Michel et al., 2019

You can download the data in a structure ready to use in our notebooks and scripts from Google Drive. You will be prompted to request permission from Adriano Gualandi to access these folders. Once downloaded, save the three data folders in the following location within your working directory (create new folders as necessary): ../earthquake-predictability/data_local/gtc_quakes_data/

Installation and usage

To get setup and tryout the code, follow these steps:

  1. Install Miniconda or Anaconda (if not already installed) from the official website: https://docs.conda.io/en/latest/miniconda.html
  2. Open a terminal or command prompt.
  3. Clone the repository to your local machine.
  4. Navigate to the repository root.
  5. Create a new conda environment using the yaml file by running the following command:
    conda env create -f environment.yaml
  6. Activate the newly created environment using the following command:
    conda activate gtc_env
  7. To enable the utils packages to be accessible to the Python path, run the following command:
    conda develop “<your local path>/earthquake-predictability"

Note: The code was tested on Python 3.12.

To get started we recommend taking a look at notebooks/AI4ER GTC - Slow Earthquake Time Series Forecasting.ipynb. This notebook provides a full overview of the pipeline and documentation.

License

The code in this repository is made available for public use under the MIT Open Source license. For full details see LICENSE.

Acknowledgments

We would like to thank our faculty supervisor Dr Adriano Gualandi as well as our project mentor Andrew McDonald. We benefited greatly from their guidance and support.

Team Members

Camilla Billari Camilla Billari Pritthijit Nath Pritthijit Nath Jakob Poffley Jakob Poffley
Tom Ratsakatika Tom Ratsakatika Alexandre Shinebourne Alexandre Shinebourne

About

Codebase for the 2023 GTC Project on Earthquake Predictability

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages