Pybinv
A python version of trans-dimensional bayesian inversion of SWD, and/or RFs, and/or HVSR(Rayleigh wave ellipticity)
Install / Use
/learn @chengsong2333/PybinvREADME
pybinv v1.0
pybinv, based on Bayhunter http://doi.org/10.5880/GFZ.2.4.2019.001, is an open source Python tool to perform transdimensional Bayesian inversion of surface wave dispersion, and/or receiver functions, and/or rayleigh wave ellipticity (HVSR) with Parallel Tempering. The algorithm follows a data-driven strategy and solves for the velocity-depth structure, the number of layers, Vp/Vs ratio and noise parameters, i.e., data noise correlation and amplitude. The forward modeling codes are provided within the package, but are easily replaceable with own codes. It is also possible to add (completely different) data sets.
The BayWatch module can be used to live-stream the inversion while it is running: this makes it easy to see how each chain is exploring the parameter space, how the data fits and models change and in which direction the inversion progresses.
Citation
Comming soon
Dreiling, Jennifer; Tilmann, Frederik (2019): BayHunter - McMC transdimensional Bayesian inversion of receiver functions and surface wave dispersion. GFZ Data Services. http://doi.org/10.5880/GFZ.2.4.2019.001 -->
Application examples
Dreiling et al. (2020): Crustal structure of Sri Lanka derived from joint inversion of surface wave dispersion and receiver functions using a Bayesian approach. Journal of Geophysical Research: Solid Earth. https://doi.org/10.1029/2019JB018688.
Green et al. (2020): Magmatic and sedimentary structure beneath the Klyuchevskoy Volcanic Group, Kamchatka, from ambient noise tomography. Journal of Geophysical Research: Solid Earth. https://doi.org/10.1029/2019JB018900.
Mauerberger et al. (n.a.): The multifaceted Scandinavian lithosphere imaged by surface waves and ambient noise. In preparation. -->
Comments and Feedback
<!-- BayHunter is ready to use. It is quick and efficient and I am happy with the performance. Still, there are always things that can be improved to make it even faster and more efficient, and user friendlier. Although we tested the software with a variety of synthetic and real data, each data set is still unique and shows own characteristics. If you observe any unforeseen behavior, please share it with me to wipe out possible problems we haven’t considered. I am happy to share my experience with you and also if you share your thoughts with me. I am looking forward to your feedback. -->Who am I?
I am Cheng Song. I am now a PhD student of Seoul National University. Contact me.
Quick start
Requirements
- matplotlib
- numpy
- PyPDF2
- configobj
- zmq
- Cython
- Disba (https://github.com/keurfonluu/disba) (pip install disba[full] --user)
Installation (compatible with Python 2 and 3)*
*Although BayHunter is currently compatible with Python 2 and 3, we recommend you to upgrade to Python 3, as the official support for Python 2 has stopped in January 2020.
Documentation and Tutorial
The documentation to Advanced_BayHunter offers background information on the inversion algorithm, the parameters and usage of Advanced_BayHunter and BayWatch (tutorial). See the documentation here or download the PDF. Also check out the FAQs.
An example inversion can be found in the tutorial folder.
The file to be run, tutorialhunt.py, is spiked with comments.
You can also create your own synthetic data set with create_testdata.py.
Resources
- Algorithm: based on the work of Bodin et al., 2012 and http://doi.org/10.5880/GFZ.2.4.2019.001.
- SWD forward modeling: SURF96 from Computer Programs in Seismology (CPS). Python wrapper using pysurf96 and SurfTomo.
- RF forward modeling: rfmini from Joachim Saul, GFZ.
- H/V ratio forward modeling: Disba from (https://github.com/keurfonluu/disba)
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
