Skip to content
/ etas Public

calibrate ETAS, simulate using ETAS, estimate completeness magnitude & magnitude frequency distribution

License

Notifications You must be signed in to change notification settings

lmizrahi/etas

Repository files navigation

ETAS: Epidemic-Type Aftershock Sequence

DOI

This code was written for the following articles:

Leila Mizrahi, Shyam Nandan, Stefan Wiemer 2021;
The Effect of Declustering on the Size Distribution of Mainshocks.
Seismological Research Letters; doi: https://doi.org/10.1785/0220200231

The option for (space-time-)varying completeness magnitude in the parameter inversion is described in:

Leila Mizrahi, Shyam Nandan, Stefan Wiemer 2021;
Embracing Data Incompleteness for Better Earthquake Forecasting. (Section 3.1)
Journal of Geophysical Research: Solid Earth; doi: https://doi.org/10.1029/2021JB022379


To cite the code, plase use its DOI, and cite the relevant article(s).
For more documentation on the code, see the (electronic supplement of the) articles.
For Probabilistic, Epidemic-Type Aftershock Incomplenteness, see PETAI.
In case of questions or comments, contact me: [email protected].

To install, run pip install git+https://github.com/lmizrahi/etas

Contents:

  • runnable_code/ scripts to be run for parameter inversion or catalog simulation
    • ch_forecast.py estimates ETAS parameters and creates 100 simulations using the Swiss catalog
    • estimate_mc.py estimates constant completeness magnitude for a set of magnitudes
    • invert_etas.py calibrates ETAS parameters based on an input catalog (option for varying mc, and option to fix certain parameters available)
    • simulate_catalog.py simulates a synthetic catalog
    • simulate_catalog_continuation.py simulates a continuation of a catalog, after the parameters have been inverted. if you run this many times, you get a forecast. this only works if you run invert_etas.py beforehand.
    • visualize_fit.py makes plots which visualize the model fit to the data. this only works if you run invert_etas.py beforehand, and set store_pij = True.
    • predict_etas.py evaluates the model using the event-based log-likelihood on the test window
  • config/ configuration files for running the scripts in runnable_code/
    • names should be self-explanatory.
  • input_data/ input data to run example inversions and simulations
    • california_shape.npy shape of polygon around California
    • ch_catalog.csv Swiss catalog 1972 - 2021, used by ch_forecast.py
    • ch_rect.npy shape of rectangle around Switzerland
    • example_catalog.csv to be inverted by invert_etas.py
    • example_catalog_mc_var.csv to be inverted by invert_etas.py when varying mc mode is used
    • magnitudes.npy example magnitudes for mc estimation
  • output_data/ does not contain anything.
    • your output goes here
  • etas/
    • here is where all the important functions algorithms are defined