Downloads · 30 days
0
MorphKnight1440/TremorCNN
TremorCNN is a machine learning model from MorphKnight1440. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
<div align="center" <h1 align="center"TremorCNN</h1
Downloads · 30 days
0
Access
Public
Updated May 28, 2026
Repo size
408 KB
Likes
0
Public
Click a slice to open those files.
.pth204 KB · 96%
From the Hugging Face model README
A convolutional neural network that detects tectonic tremor in real seismic waveform data fetched live from the EarthScope/IRIS archive. Built as a proof-of-concept for automated tremor detection on the Cascadia subduction zone.
Tectonic tremor is a weak, sustained seismic signal (1-8 Hz) generated by slow slip along fault boundaries. In Cascadia, tremor episodes occur every ~12-14 months and are closely linked to slow slip events that load stress onto the locked fault zone capable of producing a magnitude 9+ megathrust earthquake. Detecting tremor automatically across years of continuous data is a key open problem in seismology.
Real waveform (IRIS/EarthScope)
↓
Bandpass filter (1-8 Hz)
↓
Short-Time Fourier Transform → spectrogram patch (45 x 10)
↓
2D CNN binary classifier (tremor / no tremor)
↓
Predicted label + confidence
Labels are derived from the PNSN/Wech tremor catalog for confirmed Cascadia ETS episodes (Aug 2010, Sep 2011, Oct 2013). Quiet windows are drawn from periods with no known ETS activity across multiple times of day and seasons.
| Metric | Value |
|---|---|
| Test Accuracy | 87.0% |
| Precision | 0.186 |
| Recall | 0.741 |
| F1 | 0.297 |
| ROC-AUC | 0.869 |
| True Positives (tremor correctly detected) | 109 |
| False Positives (quiet incorrectly flagged) | 477 |
| True Negatives (quiet correctly identified) | 3326 |
| False Negatives (tremors missed) | 38 |
Trained on 15,796 spectrogram windows, tested on 3,950 held-out windows using chronological split: train/test boundary at 2016-01-05. Decision threshold: 0.80.
Training loss curve:

Inference on unseen station UW.MRBL (Marblemount, WA) - Sep 15 2011 ETS(Episodic Tremor and Slip):

All waveform data fetched live via ObsPy from the EarthScope/IRIS FDSN (Federation of Digital Seismograph Networks) web service. No local waveform files required are data streams directly from the archive at runtime.
Network: UW (Pacific Northwest Regional Seismic Network)
Stations: GNW (Green Mountain WA), FORK (Forks WA), LEBA (Lebam WA)
Channel: BHZ/HHZ/EHZ (broadband vertical), resampled to 40 Hz
Tremor labels: PNSN catalog CSVs (tremor_events-YYYY.csv), 80,479 individual tremor event timestamps
ETS episodes: 2010, 2011, 2012, 2013, 2014, 2015-16, 2017, 2018
Quiet periods: Mar 2010, Apr 2011, Jun 2012, Jun 2014, Jun 2015, Jun 2016, Jun 2019
Model weights: MorphKnight1440/TremorCNN
Tremor catalog dataset: MorphKnight1440/CascadiaTremorCatalog
Input: (1, 45, 10) spectrogram patch
→ Conv2d(1→16, 3x3) + ReLU + MaxPool2d(2) # → (16, 22, 5)
→ Conv2d(16→32, 3x3) + ReLU + MaxPool2d(2) # → (32, 11, 2)
→ Flatten → Linear(704→64) + ReLU
→ Linear(64→1)
Binary Cross-Entropy loss, Adam optimizer (lr=1e-3), 20 epochs.
git clone https://github.com/Eshwar1440/TremorCNN
cd TremorCNN
pip install obspy torch numpy scipy matplotlib
python train.py
Downloads are needed to train, Please look at Data section for Hugging Face Dataset I used.
python predict.py
This project independently reproduces the core pipeline of:
Rouet-Leduc, B., Hulbert, C., McBrearty, I. W., & Johnson, P. A. (2020). Probing Slow Earthquakes With Deep Learning. Geophysical Research Letters, 47, e2019GL085870. DOI: 10.1029/2019GL085870
That paper trained a CNN on ~165,000 Cascadia tremor examples from the PNSN catalog and showed the model generalizes across subduction zones and to the San Andreas Fault at Parkfield.
Eshwar Singh Rajaputana.