Richard Styron has published several interesting tools for fault/stress analysis and other geoscience problems, see his website here: http://rocksandwater.net/. 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!
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: https://github.com/cossatot/slip_rate_calculator, 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:
- 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.
- 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).
- 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!