ecat

Earthquake Cycle Analyse Toolkits

https://github.com/kefuhe/ecat

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
Last synced: 6 months ago · JSON representation ·

Repository

Earthquake Cycle Analyse Toolkits

Basic Info
  • Host: GitHub
  • Owner: kefuhe
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 825 MB
Statistics
  • Stars: 10
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 2
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

Logo

Visitors GitHub StarsGitHub Forks

Version DOI Repository Size GitHub Language GitHub Last Commit

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. 1755593711201

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

  1. Open the install.bat (Windows) or install.sh (Linux/Mac) file.
  2. 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

  1. Case 1: 2021 Maduo earthquake

Image Description

1705485485549

  1. Case 2: 2023 Kahramanmaraş Türkiye earthquake doublet

1708366709425

1708350669168

1708435466354

1710499654420

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

1709000559665

描述

Building fault with isocurve determined by depth-focused aftershocks

Image Description </p

1706253529470

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

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

csi_cutde_mpiparallel/setup.py pypi
eqtools/setup.py pypi
requirements/conda-requirements-linux-64.txt pypi
  • 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
requirements/conda-requirements-win-64.txt pypi
  • 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
requirements/pip-requirements-linux-64.txt pypi
  • 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
requirements/pip-requirements-win-64.txt pypi
  • 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