This is a revamped version of the original PyVoroTomo by Fang et al. (2020). This code implements a Poisson Voronoi-based seismic traveltime tomography method, primarily suited for regional or smaller study areas but may also be expanded to do joint teleseismic inversions. See changelog for details. PyKonal (White et al., 2020) is used for calculating traveltimes and tracing rays.
Easiest to clone into your directory:
$ git pull https://github.com/filefolder/PyVoroTomo.git
and install locally via pip, $ python -m pip install ./PyVoroTomo
... which will install the pyvorotomo executable
NOTE! Version 2 also requires PyKonal (>= 0.5.0) which is only available here: https://github.com/filefolder/pykonal_0.5.git (Primarily this incorporates a critical NumPy update, but there are a few other hacks and enhancements)
See also: https://github.com/malcolmw/PyVoroTomo/wiki/Installation
The code runs best with mpiexec / openmpi. Maybe someday it will run mp natively, but not any time soon.
$ mpiexec -n 16 pyvorotomo -r -c experiment.cfg
parameters:
-n number of CPU
-v enable verbose/debug logging
-r relocate catalog first
-t ONLY run the sensitivity test
-x output all realizations
-c /path/to/configfile.cfg
(note that stations, events, output/log paths, etc are now listed in the config file, NOT as commandline arguments)
The output log can be quite long, but key status updates are flagged with a '###' one can grep for (e.g. grep '###' pyvorotomo.log)
See example.cfg for available options, explanations and recommendations!
bin: Where the python executable pyvorotomo lives
pyvorotomo: Module code. The main one you probably want to look at is _iterator.py
scripts: Some tools to generate stations.h5, catalog.h5, and other common tasks (work in progress)
synth_data: Some synthetic data to experiment with
real_data: Some example real-world data
If you make use of this code in published work, please cite the below (more very soon I expect)
Refer to https://github.com/malcolmw/PyVoroTomo/wiki/Installation for both laptops and clusters.
- Fang, H., van der Hilst, R. D., de Hoop, M. V., Kothari, K., Gupta, S., & Dokmanić, I. (2020). Parsimonious seismic tomography with Poisson Voronoi projections: Methodology and validation. Seismological Research Letters, 91(1), 343-355.
- White, M. C. A., Fang, H., Nakata, N., & Ben-Zion, Y. (2020). PyKonal: A Python Package for Solving the Eikonal Equation in Spherical and Cartesian Coordinates Using the Fast Marching Method. Seismological Research Letters, 91(4), 2378-2389. https://doi.org/10.1785/0220190318
