Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

BEAT logo

Bayesian Earthquake Analysis Tool

If you came looking for the beat package calculating internet time you can find it here.

Based on pyrocko, theano and pymc3

20 November 2022 Version 1.2.3 is released. Bugfix-release.

28 October 2022 Version 1.2.2 is released. Details in the changelog.

14 September 2022 Version 1.2.1 is released, improvements on the stage_posterior plot. Updated Example 8 to show-case its use.

21 August 2022 Version 1.2.0 is released introducing waveform polarity inversion and inversion in spectral domain for seismic data. Checkout the changelog for all the details. New tutorial on moment tensor inversion with P wave polarity picks. Now PyPI packages are provided and the installation via pip is recommended.

6 January 2022 A new version 1.1.1 is released vastly improving resolution based fault discretization. Minor changes. Checkout the changelog for all the details. New tutorial on resolution based discretization of the fault surface.

12 April 2021 A new version 1.1.0 is released adding support for multi-segmented fault setups and tensile dislocations. Checkout the changelog for all the details.

Documentation of the current version moved to the pyrocko server can be found here:

New tutorial on tensile dislocation modeling.

HELP wanted!

The new release contains a lot of undocumented features a list of these can be found here: #69 However, as this project is mostly the work of a single author it is becoming increasingly difficult to also write extended pages of tutorials that take days and days of writing. However, as this work is not acknowledged by the current academic system, I had to decide for a delayed release of the documentation, whenever it will be available provided by someone. Thus, in case you are willing to contribute I would be more than happy to guide/ support you in writing parts of the documentation for a particular feature-if you want to try it out.

The legacy documentation of beat v1.0. can be found under:


GNU General Public License, Version 3, 29 June 2007

Copyright © 2017 Hannes Vasyura-Bathke

BEAT is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. BEAT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see


If your work results in an publication where you used BEAT we kindly ask you to consider citing the BEAT software package and the related article.:

Vasyura-Bathke, Hannes; Dettmer, Jan; Steinberg, Andreas; Heimann, Sebastian; Isken, Marius; Zielke, Olaf; Mai, Paul Martin; Sudhaus, Henriette; Jónsson, Sigurjón: The Bayesian Earthquake Analysis Tool. Seismological Research Letters.

Vasyura-Bathke, Hannes; Dettmer, Jan; Steinberg, Andreas; Heimann, Sebastian; Isken, Marius; Zielke, Olaf; Mai, Paul Martin; Sudhaus, Henriette; Jónsson, Sigurjón (2019): BEAT - Bayesian Earthquake Analysis Tool. V. 1.0. GFZ Data Services.


Step by step points on how to use the tool for several scenarios can be found here: Examples

Data import


We recommend to prepare the SAR data (subsampling, data covariance estimation) using KITE ( kite supports import of ISCE, GAMMA, ROI_Pac and GMTSAR processed interferograms. BEAT then supports import of the native KITE format.


To see a list of the supported data types please see: Trace Handling In addition to these an ascii text file with the station information is needed of the format::

#network_name.station_name.location_name latitude[deg] longitude[deg] elevation[m] depth[m]
IU.TSUM.10            -19.20220       17.58380         1260.0            0.0
  BHE             90              0              1   # channel name azimuth[deg] dip[deg] gain \n
  BHN              0              0              1
  BHZ              0            -90              1
IU.RCBR.00             -5.82740      -35.90140          291.0          109.0
  BH1             48              0              1
  BH2            138              0              1
  BHZ              0            -90              1

To ease the creation of this textfile we refer the user to investigate the pyrocko module: model (Function: dump_stations)

In addition to these, BEAT supports the output of the autokiwi package.

Work is in progress to support obspy saved stream and inventory files, as well as stationxml stay tuned ...

Alternatively the seismic data may be saved using the package "pickle" as a file "seismic_data.pkl" containing a list of 2 lists:

  1. list of "pyrocko.trace.Trace" objects alternating for (Z / T / R) rotated traces.
  2. list of "pyrocko.model.Station" objects in the same order like the data traces.

We invite the users to propose data formats or outputs of specific programs that they would like to see implemented.


For substantial issues please use and check the "issues" tab here in the repository. For common issues please check out the BEAT FAQ. For smaller issues or short clarifications there is a support chat. This is provided by the pyrocko project and is accessible after a short account creation.

Finally, there is the option to write an email to:

Hannes Vasyura-Bathke

Andreas Steinberg


This is an open source project and contributions to the repository are welcome!