Richard Styron

Richard Styron’s Python tool for calculating fault slip rates from offset marker data

Richard Styron has published several interesting tools for fault/stress analysis and other geoscience problems, see his website here: The latest Python tool he is sharing with us is for calculating fault slip rates from offset topography data – great stuff for paleoseismologists! He announced this a few days ago and allowed me to spread the news. Check it out and let him know what you think!

Hi all,

Last year I built a tool to calculate fault slip rates from offset marker data (age and offset distance of features cut by faults).  Although I will be publishing a paper using it eventually, I’d like to spread the word about it now and just get it out to the community.  The Slip Rate Calculator can be found here:, with more documentation.

The tool is conceptually similar to, and inspired by, previous work by Ryan Gold and Zechar and Frankel, but offers some more functionality:

  1. The ability to use arbitrary PDFs of age and/or fault offset that may come directly from mapping, a cosmogenic age calculator, OxCal models, etc.  This is particularly helpful with multi-modal PDFs, for example because the dated feature on one side of a fault may be plausibly matched with two features on the other fault block, so you are not forced into picking one: just ascribe relative probabilities to both possibilities.
  2. The ability to fit multiple offset markers with either a single line or a piecewise line, representing a change in rate at some time. Both the first and second rates, as well as the time of rate change, are solved in the model.  Furthermore, the likelihood of a slip rate change given the data is estimated using the Bayesian Information Criterion (which penalizes for model complexity).
  3. A nice graphical user interface.

The slip rate calculator uses Python, and a lot of the typical Python science packages (numpy, matplotlib, pandas) and PyQt.  I strongly recommend using Anaconda Python 3 for it (and any scientific work, really).  Downloading/installing Python and dependencies using Anaconda is pretty darn easy, although it does take a little bit of hard drive space.
Now, I must ask for some favors from any potential users.  I am looking for funding to improve this (I’m currently out of free time for it), so any community interest/feedback would be pretty helpful here in both guiding and supporting a proposal.  Here are the big two areas for improvement:

  • I would really like to make a web-based version, both to keep it updated and so that occasional users don’t have to download a bunch of Python packages to use it. If you think you would prefer a web version, please, please let me know!  Just an email saying “I would use this online” is sufficient.
  • I also would like to make it more useful to paleoseismologists.  Although I hang out in trenches sometimes, I don’t do this work myself and I’m not sure exactly how to extend functionality in this direction; maybe simply recurrence interval calculations, without slip rates in cases where offset is not determined?  Any suggestions are welcome.

Any other feedback is quite welcome too!  I want to make useful things, and I mostly have what I need out of this, but I think that with some modification it could be useful for a wider range of geoscience.  I can field suggestions through email, or if anyone wants to use the ‘Issues’ page on GitHub, that’s also convenient.

Also, citations:  There will eventually be a paper, but in the mean time, the project has a DOI and can be cited as:

Richard Styron (2015). Slip Rate Calculator, v. 0.1.2. Zenodo. doi:10.5281/zenodo.33360

(or using whatever version is current at the time).

Thanks, and enjoy!



Thanks a lot Richard for programming and sharing these great tools!

submit to reddit

Christoph Grützner

Christoph Grützner

works at the Institute of Geological Sciences, Jena University. He likes Central Asia and the Mediterranean and looks for ancient earthquakes.

See all posts Christoph Grützner

No Comments

No comments yet.

Leave a Comment