Variants¶

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
step in Coulomb stress
tdsr.loading.StepLoading
a constant background stress rate
tdsr.loading.BackgroundLoading
a change in stress rate
tdsr.loading.TrendchangeLoading
a cyclic stress rate superposed to a constant background trend
tdsr.loading.CyclicLoading
a stress curve defined by 4 points
tdsr.loading.FourPointLoading
or a ramp like loading scenario
tdsr.loading.RampLoading
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 increaset0
: mean time to failure for critically stressed sourcesdepthS
: 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 byZmean
and the standard deviation byZstd
.If
iX0switch=="equilibrium"
a steady state distribution of sources is assumed, usingconfig.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. Iftaxis_log==False
an equally space time sampling is assumed with intervaldeltat
.
- class tdsr.tdsr.Traditional(config: Config | None = None)¶
Linear Coulomb Failure Model (LCM) realisation using a simple (traditional) approach.