Variants

../_images/tdsr_overview.png

TDSR (Time Dependent Stress Response) seismicity models

TDSR is a python tool to simulate time dependent earthquake rates for different stress loading scenarios. Earthquake rate is definded as number of events per time unit with magnitudes above a completeness magnitude. Stress loading is understood as Coulomb stress as a function of time. The stress loading is assumed homogeneous within the rock volume for which the simulation is performed. The details of the TDSR seismicity model and examles are described in Dahm and Hainzl (2022), JGR, http://doi.org/10.1029/2022JB024443 .

Different loading scenarios are supported and defined by loading classes which are imported from tdsr.loading. Loading classes include

Alternatively, the loading time function can be read from an external file with tdsr.loading.CustomLoading. Stress loading functions can also be defined in the calling python script and directly passed to the seismicity model classes (example not yet provided).

Additional to simulations of the new TDSR model, the toolbox can compare results with earthquake rates calculated from other seismicity models, using the same loading functions and parameter settings as TDSR. All models are defined as classes and can be loaded from tdsr (e.g. TDSR1 for the TDSR model, provided by tdsr.tdsr.TDSR1). Other classes included so far are rate and state seismicity models (RSD, RSD1) and linear Coulomb failure models (CFM, Traditional).

An elementary plotting class is supported, which is imported from tdsr.plotting. However, the examples provided in the toolbox use their own plotting solutions.

Default settings of input parameter can be defined in config.toml. Default values can be overwritten when calling the seismicity model classes or loading scenarios (see examples).

The examples collected in the subdirectory ‘’examples’’ reproduce figures published in Dahm and Hainzl (2022). All theory of the TDSR model and the examples are described in Dahm and Hainzl (2022). The software toolbox in python can be cited as Dahm, T.; Hainzl, S.; Dahm, R.A. (2022): Time-dependent stress response seismicity models (TDSR). GFZ Data Services. https://doi.org/10.5880/GFZ.2.1.2022.002 . The TDSR github project here, however, is intended as an open source project that may change and improve over the years. Please send us your suggestions or addings and contribute to the git project if interested.

class tdsr.tdsr.CFM(config: Config | None = None)

The class Coulomb Failure Model (CFM ) is ismilar to Traditional but coded different.

class tdsr.tdsr.LCM(config: Config | None = None)

Class of the Linear Coulomb Failure Model (LCM) used as base for calculating time dependent seismicity with class TDSR. Note that TDSR is outdated and was replaced by TDSR1. For simulations with the linear Coulomb Failure model use classes “CFM” or “Traditional”.

class tdsr.tdsr.RSD(config: Config | None = None)

Rate and State Model a la Dietrich (RSrate_Dietrich) class documentation. RSrate_Dietrich estimates the time dependent seimicity response for a given stress loading scenario. Theory is described in Dietrich (1994), JGR.

class tdsr.tdsr.RSD1(config: Config | None = None)

Seismicity response of RS for a continuous stress evolution S(t) for times t according to Heimisson & Segall, JGR 2018, Eq.(20) & Eq.(29) & Eq.(34)

class tdsr.tdsr.RSM(config: Config | None = None)

Rate and State Model (RCM) class documentation. RSM estimates the time dependent seimicity response for a given stress loading scenario. Theory is described in Dietrich (1994), JGR.

class tdsr.tdsr.TDSR(config: Config | None = None)

TDSR class realisation builts on LCM and is deprecated. Use TDSR1 instead.

class tdsr.tdsr.TDSR1(config: Config | None = None)

TDSR1 simulates the time dependent stress rate seismicity model TDSR. Key parameters are

  • chi0: susceptibility to trigger earthquakes after unit step increase

  • t0: mean time to failure for critically stressed sources

  • depthS: skin depth parameter in exponential trigger functions

Different source distributions iX0 can be considered:

  • If iX0=="uniform", a uniform disribution of stress stages at seismic sources is assumed.

  • If iX0=="gaussian" a gaussian distribution of stress stages is assumed. The mean stress level of the Gaussian peak is defined by Zmean and the standard deviation by Zstd.

  • If iX0switch=="equilibrium" a steady state distribution of sources is assumed, using config.strend.

All three cases of stress distributions can be modified by a shift of Sshadow on the stress axis to simulate a subcritical stress state. If taxis_log==False an equally space time sampling is assumed with interval deltat.

class tdsr.tdsr.Traditional(config: Config | None = None)

Linear Coulomb Failure Model (LCM) realisation using a simple (traditional) approach.