Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 10 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.0%) to scientific vocabulary
Repository
Earthquake Cycle Analyse Toolkits
Basic Info
Statistics
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 1
- Releases: 2
Metadata Files
README.md
ECAT (Earthquake Cycle Analyse Toolkits)
Forward Modeling Engines
ECAT supports layered Green's function calculations for both rectangular and triangular elements, utilizing edcmp and pscmp.
For more details and configuration instructions, see the README file in the csi subdirectory.

A set of tools related to the forward and inverse earthquake cycle.
Continue updating...
- Stable code will gradually be incorporated
- New code will gradually be added
- Bug will gradually be fixed
Installation
- See Readme Install.md
Download ECAT Case Library
The full ECAT case library, including research cases and advanced examples, is stored in a separate repository. To download the full case library, you have two options:
Option 1: Enable Submodule Download in the Installation Script
- Open the install.bat (Windows) or install.sh (Linux/Mac) file.
- Uncomment the following line:
Bash
git submodule update --init --recursive
Option 2: Download the Case Library Manually
If you prefer to download the case library manually, you can do so with the following script:
bash
./download_cases.sh
Or download the case manually:
bash
git clone https://github.com/kefuhe/ECAT-cases.git
Coseismic (Uploaded)
Building fault with variance dip angle determined by relocated aftershocks
- Case 1: 2021 Maduo earthquake

- Case 2: 2023 Kahramanmaraş Türkiye earthquake doublet




- Case 3: 2022 Luding, China earthquake (Pre-Clustering Selection Followed by Fitting)

Building fault with isocurve determined by depth-focused aftershocks
</p

Note: Various easy or robust curve fitting methods are only used as a reference to determine the isodepth curve, and ultimately the final fitted curve may need to be extracted based on the user's own background knowledge or visual interaction judgment.
Reference
[1] He, K., Y. Wen, C. Xu, and Y. Zhao (2021), Fault Geometry and Slip Distribution of the 2021 Mw 7.4 Maduo, China, Earthquake Inferred from InSAR Measurements and Relocated Aftershocks, Seismol. Res. Lett., 93(1), 8-20.
[2] He K, Xu C, Wen Y (2022), Coseismic and early post-seismic deformations due to the 2019 earthquake sequence in Ridgecrest, California. Geophysical Journal International, 230(2): 957-975.
[3] jolivetr/csi: Classic Slip Inversion (github.com)
[4] Gmsh 4.11.1
[5] ...
Citation
If you use this package in your research, please cite it as follows:
Kefeng He, Guangyu Xu, Longxiang Sun, Caijun Xu, Yangmao, Wen. (2025). ECAT: Integrated Nonlinear and Linear Inversion for Complex Fault Systems and Slip Distribution (Version 1.5.0). Zenodo. http://doi.org/10.5281/zenodo.13730101.
Postseismic (Pending)
- pscmpviscopostseismic.py
- Simple calculating codes about Combined model of viscoelastic relaxation and stress-driven afterslip
- Deformation components
- CV (Viscoelastic relaxation due to coseismic): Function cv_cum(t, tobs, disp)
- AS (Afterslip): Function ascum(t, disp0, tauas=0.25, alpha=1.0)
- AV (Viscoelastic relaxation due to afterslip): Function calASAV(pscmpts, obsdate, eqdate, alpha, tau, unit='m', intptunit='Y', onlyAV=True, mcpu=4)
Reference
[1] Diao, F., R. Wang, Y. Wang, X. Xiong, and T. R. Walter (2018), Fault behavior and lower crustal rheology inferred from the first seven years of postseismic GPS data after the 2008 Wenchuan earthquake, Earth Planet. Sci. Lett., 495, 202-212, doi:10.1016/j.epsl.2018.05.020.
[2] Diao, F., R. Wang, X. Xiong, and C. Liu (2021), Overlapped Postseismic Deformation Caused by Afterslip and Viscoelastic Relaxation Following the 2015 Mw 7.8 Gorkha (Nepal) Earthquake, J. Geophys. Res.: Sol. Ea., 126(3), doi:10.1029/2020jb020378.
[3] He Ke., Y. Wen, C. Xu, W. Xiong, J. Zang (2023), In preparation.
Interseismic (Pending)
- pscmpviscointerseismic.py
- Calculating velocity related to earthquake cycle
- Main function
- calviscoGfromPscmp(pscmpts, T=None, diffint=None, unit='m')
Reference
[1] Diao, F., X. Xiong, R. Wang, T. R. Walter, Y. Wang, and K. Wang (2019), Slip Rate Variation Along the Kunlun Fault (Tibet): Results From New GPS Observations and a Viscoelastic Earthquake‐Cycle Deformation Model, Geophys. Res. Lett., 46(5), 2524-2533, doi:10.1029/2019gl081940.
[2] Zhu, Y., K. Wang, and J. He (2020), Effects of Earthquake Recurrence on Localization of Interseismic Deformation Around Locked Strike‐Slip Faults, J. Geophys. Res.: Sol. Ea., 125(8), doi:10.1029/2020jb019817.
[3] Wang, K., Y. Zhu, E. Nissen, and Z. K. Shen (2021), On the Relevance of Geodetic Deformation Rates to Earthquake Potential, Geophys. Res. Lett., 48(11), doi:10.1029/2021gl093231.
Owner
- Name: He Kefeng
- Login: kefuhe
- Kind: user
- Repositories: 1
- Profile: https://github.com/kefuhe
Citation (CITATION.cff)
cff-version: 1.1.0
message: "If you use this software, please cite it as below."
title: "ECAT"
version: "1.5.0"
doi: "10.5281/zenodo.13730101"
date-released: 2025-03-19
authors:
- family-names: He
given-names: Kefeng
orcid: "https://orcid.org/0000-0001-8443-9413"
- family-names: Xu
given-names: Guangyu
- family-names: Sun
given-names: Longxiang
- family-names: Cai
given-names: Jianfeng
- family-names: Wen
given-names: Yangmao
- family-names: Xu
given-names: Caijun
keywords:
- Adaptive fault constructing
- Nonlinear and Nonlinear-cross-linear bayesian inversion
- Earthquake Cycle Analyses toolkits
license: "Apache-2.0"
repository-code: "https://github.com/kefuhe/ECAT"
GitHub Events
Total
- Create event: 1
- Release event: 1
- Issues event: 1
- Watch event: 6
- Issue comment event: 1
- Push event: 55
- Fork event: 1
Last Year
- Create event: 1
- Release event: 1
- Issues event: 1
- Watch event: 6
- Issue comment event: 1
- Push event: 55
- Fork event: 1
Dependencies
- cartopy =0.21.1=py310h1176785_0
- cmcrameri =1.8=pyhd8ed1ab_0
- cutde =23.6.25=py310hcc13569_1
- cvxopt =1.3.2=py310h14a12bf_1
- gdal =3.6.2=py310h0daa840_5
- intel-openmp =2023.1.0=hdb19cb5_46305
- ipython =8.15.0=py310h06a4308_0
- matplotlib =3.8.0=py310h06a4308_0
- meshio =5.3.4=pyhd8ed1ab_0
- mkl_fft =1.3.8=py310h88d2f6f_0
- mkl_random =1.2.4=py310h378cecd_2
- mpi4py =3.1.4=py310hfc96bbd_0
- numba =0.58.1=py310h7dc5dd1_0
- pcre =8.45=h295c915_0
- pymc =5.13.1=hd8ed1ab_0
- python =3.10.13=h955ad1f_0
- python-kaleido =0.2.1=py310h06a4308_0
- pyyaml =6.0.1=py310h5eee18b_0
- scikit-learn =1.3.0=py310h1128e8f_0
- seaborn =0.13.2=hd8ed1ab_0
- tenacity =8.2.2=py310h06a4308_0
- tqdm =4.65.0=py310h2f386ee_0
- cached-property =1.5.2=hd8ed1ab_1
- cartopy =0.22.0=py310hecd3228_1
- cmcrameri =1.8=pyhd8ed1ab_0
- curl =8.4.0=he2ea4bf_1
- cutde =23.6.25=py310hecd3228_1
- cvxopt =1.3.2=py310h6b0d2d9_1
- emcee =3.1.5=pyhd8ed1ab_0
- geopandas =0.14.3=pyhd8ed1ab_0
- icc_rt =2022.1.0=h6049295_2
- ipykernel =6.29.3=pyha63f2e9_0
- libaec =1.1.2=h63175ca_1
- libsqlite =3.43.2=hcfcfb64_0
- matplotlib =3.8.0=py310h5588dad_2
- meshio =5.3.4=pyhd8ed1ab_0
- mpi4py =3.1.5=py310h1af2bfe_0
- numba =0.58.1=py310hd77b12b_0
- openpyxl =3.1.2=py310h8d17308_1
- pymc =5.13.1=hd8ed1ab_0
- python =3.10.13=he1021f5_0
- python-kaleido =0.2.1=pyhd8ed1ab_0
- scienceplots =2.1.1=pyhd8ed1ab_0
- seaborn =0.13.2=hd8ed1ab_0
- tenacity =8.2.3=pyhd8ed1ab_0
- theano =1.0.5=py310h8a704f9_3
- tqdm =4.66.1=pyhd8ed1ab_0
- wheel =0.41.2=py310haa95532_0
- build ==1.2.1
- corner ==2.2.2
- cython ==0.29.37
- dill ==0.3.8
- emcee ==3.1.4
- fbpca ==1.0
- gmsh ==4.11.1
- hdbscan ==0.8.33
- imageio ==2.34.0
- iniconfig ==2.0.0
- lazy-loader ==0.4
- multiprocess ==0.70.16
- networkx ==3.3
- pep517 ==0.13.1
- pip ==24.2
- pluggy ==1.3.0
- pyproject-hooks ==1.1.0
- pytest ==7.4.3
- schwimmbad ==0.4.2
- scienceplots ==2.1.1
- scikit-image ==0.23.1
- setuptools ==69.0.2
- setuptools-scm ==8.0.4
- theano ==1.0.5
- tifffile ==2024.4.18
- wheel ==0.44.0
- bidict ==0.22.1
- blinker ==1.8.1
- build ==1.2.2
- cython ==0.29.37
- dash ==2.17.0
- dash-core-components ==2.0.0
- dash-html-components ==2.0.0
- dash-table ==5.0.0
- dill ==0.3.8
- flask ==3.0.3
- gmsh ==4.11.1
- hdbscan ==0.8.33
- imageio ==2.34.0
- itsdangerous ==2.2.0
- lazy-loader ==0.4
- multiprocess ==0.70.16
- pip ==24.2
- pyastronomy ==0.20.0
- pyyaml ==6.0.1
- quantities ==0.15.0
- retrying ==1.3.4
- schwimmbad ==0.4.2
- scikit-image ==0.22.0
- tifffile ==2024.2.12
- werkzeug ==3.0.2