ECAT is a unified framework for adaptive fault modeling and earthquake cycle analysis. It integrates fault constructing, forward modeling, data processing, and advanced inversion strategies into a comprehensive toolkit.
Key Goals:
- Provide robust tools for the entire Forward and Inverse earthquake cycle.
- Support complex fault geometries with adaptive meshing.
- Enable flexible hyperparameter estimation strategies (Single, Individual, Grouped).
- Continuous Updates: Stable features are integrated regularly, with ongoing bug fixes and new module additions.
See Install.md for detailed instructions.
# Clone the repository
git clone [https://github.com/kefuhe/ECAT.git](https://github.com/kefuhe/ECAT.git)
cd ECAT
# Run installation script
./install.sh # Linux/Mac
# or install.bat for WindowsECAT relies on a rich library of cases for testing and research. To run ECAT effectively, you should first obtain the case library.
The full case library is hosted in a separate repository (ECAT-Cases). You have two options to download it:
Option 1: Auto-download via Install Script
Uncomment the following line in install.sh / install.bat before running installation:
git submodule update --init --recursiveOption 2: Manual Download
# Using the helper script
./download_cases.sh
# Or direct clone into the directory
git clone [https://github.com/kefuhe/ECAT-cases.git](https://github.com/kefuhe/ECAT-cases.git)Basic examples to understand specific modules of ECAT.
| π·οΈ Category | β‘ Earthquake Example | π Description (Date, Magnitude, Type) | π Directory (in ECAT-Cases) |
|---|---|---|---|
| Downsampling | InSAR Downsampling | Example code for InSAR downsampling | Details |
| Nonlinear Inversion | Hotan Earthquake | 2020-06-25, Mw6.3, Normal | Details |
| Iran Earthquake | 2017-04-05, Mw6.1, Reverse | Details | |
| Taiwan Earthquake | 2024-04-05, Mw7.4, Reverse | Details | |
| Wushi Earthquake | 2024-01-22, Mw7.0, Strike-slip | Details | |
| Western Xizang | 2020-07-22, Mw6.3, Normal | Details | |
| BLSE Linear Inversion | Dingri Earthquake 2020 | 2020-03-20, Mw5.7, Normal | Details |
Advanced applications demonstrating adaptive fault geometry and complex slip distribution.
Case 1: 2021 Maduo Earthquake (Mw 7.4)
Case 2: 2023 KahramanmaraΕ TΓΌrkiye Doublet
Complex multi-segment modeling with variance dip angles.
Case 3: 2022 Luding Earthquake
Pre-Clustering Selection Followed by Fitting.

Note: Robust curve fitting serves as a reference. Final curves often incorporate user interaction.
| π Case Name | π Description | π Link |
|---|---|---|
| Dingri 2015 | 2015-04-25, Mw5.7, Normal | Details |
| Dingri 2020 | 2020-03-20, Mw5.6, Normal | Details |
| Dingri 2025 | 2025-01-07, Mw7.0, Normal | Details |
| Sagaing 2025 | 2025-03-28, Mw7.8, Strike-slip | Details |
ECAT supports a flexible inversion pipeline, ranging from standard step-wise inversion to advanced joint Bayesian optimization.
- Data Processing:
- InSAR/Offset: Supports Resolution-based (fault-dependent) and Quadtree-based (fault-independent) downsampling.
- GNSS: Direct integration without downsampling.
- Inversion Strategies:
- Standard Two-Step: Nonlinear geometry search followed by Linear slip inversion (BLSE/VCE).
- SMC-FJ (Joint Strategy): Simultaneous estimation of Geometry + Slip + Hyperparameters using Bayesian optimization.
- Hyperparameter Modes (Unique Feature):
For both Linear (BLSE; VCE) and Bayesian parts, data weights and smoothing factors can be estimated in three modes:
- Single: Global factor for all datasets/faults (Default for smoothing).
- Individual (Default): Independent factor for each dataset/fault-segment (Default for weighting).
- Grouped: Cluster-based factors for user-defined groups.
ECAT offers versatile methods to build complex fault geometries from various data sources.
- Construction Modes:
- Planar: Simple geometry from GCMT or nonlinear inversion results.
- Listric: Depth-dependent dip (exponential decay/SDM-style).
- Trace + Profile: Lofted surfaces defined by surface traces and variable dip profiles.
- Contour: 3D surfaces from Slab2.0 depth contours or iso-depth curves.
- Meshing:
- Triangular Elements (T3): Recommended for complex, gap-free surfaces.
- Rectangular Elements (Q4): Supported for simple planar geometries.
ECAT utilizes layered Green's function calculations powered by edcmp and pscmp, supporting both rectangular and triangular elements.
For details, see
READMEin thecsisubdirectory.
- Engine:
pscmp_visco_postseismic.py - Features: Combined model of viscoelastic relaxation and stress-driven afterslip.
cv_cum: Viscoelastic relaxation due to coseismic slip.as_cum: Afterslip calculation.calAS_AV: Viscoelastic relaxation due to afterslip.
- Engine:
pscmp_visco_interseismic.py - Function:
calviscoGfromPscmpfor earthquake cycle velocity calculations.
If you use ECAT in your research, please cite:
He K., C. Xu, Y. Wen, Y. Zhao, G. Xu, L. Sun, and J. Wang (2025). A Unified Framework for Adaptive Fault Modeling: Methods and Applications. SCIENCE CHINA Earth Sciences . DOI: 10.1007/s11430-025-1773-0.









