Implemention by Jeremie Giraud1,2 and Vitaliy Ogarko2,3
1 GeoRessources, Université de Lorraine-CNRS, RING – ENSG, Vandoeuvre-les-Nancy, F-54000, France.
2 Centre for Exploration Targeting, School of Earth Sciences, The University of Western Australia, Perth 6000, Australia.
3 Mineral Exploration Cooperative Research Centre, The University of Western Australia, Perth, Australia.
This is a companion script to the open access paper:
Giraud, J., Ford, M., Caumon, G., Ogarko, V., Grose, L., Martin, R., and Cupillard, P.: Geologically constrained geometry inversion and null-space navigation to explore alternative geological scenarios: a case study in the Western Pyrenees, Geophysical Journal International, https://doi.org/10.1093/gji/ggae192, 2024.
The implementation proposed here is based on the "nullspace shuttles" algorithm introduced by, and described in:
Fichtner, A. and Zunino, A.: Hamiltonian Nullspace Shuttles, Geophysical Research Letters, 46, 644–651, https://doi.org/10.1029/2018GL080931, 2019.
Datasets that can be used as example can be found in the GeoMos Zenodo community:
https://zenodo.org/communities/geomos?q=&l=list&p=1&s=10&sort=newest
Run this code to explore the nullspace around a given model by application of a perturbation of the model proposed by the user. The original goal of this implementation is to assess alternative scenarios to a pre-existing model. The implementation can use a mask to restrict changes to specific parts of the study area and can accomodate a model variance matrix.
This software is provided "as is," without warranty of any kind, express or implied. Use it at your own risk. The authors and contributors will not be held responsible for any direct or indirect damage or loss incurred while using the software. Please review the license before using this code. By using the software, you agree to the terms specified in the license.
The code can be installed using setup.py
This implementation can load the sensitivity matrix generated by the Tomofast-x code, including the use of wavelet compression. The necessary information is provided in the following repository: https://github.com/TOMOFAST/Tomofast-x and the associated publication: Tomofast-x v2.0 paper (open access)
The parameters of the algorithm as described in the paper are to be set in the parameter file. All parameters controlling the nullspace navigation are contained in the parameter file called "\parfiles\Parfile_paper.txt". The values provided are accompanied by a short description of the parameters.
Python 3.8 or above to run the nullspace code. Tomofast-x installation to calculate the sensitivity matrix or a sensitivity matrix in the same format. Working knowledge of geophysics and the elementary of geology. The file format for the input files is compatible with Tomofast-x's.
- Clone the repository.
- Install the necessary dependencies.
- Prepare the input data and make sure that the paths in the parameter file are correct.
- Execute the main script.
Some values for the parameters of plots are hardcoded (e.g., color limits, geographical locations of selected slices). The best setup for plots is expected to vary between different studies; some manual changes for plot parameters may be required when using the code to a new study area.
Jérémie Giraud acknowledges support from European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No. 101032994 for the "GeoMos" project. The contribution of Vitaliy Ogarko to this research was supported by the Mineral Exploration Cooperative Research Centre (MinEx CRC), whose activities are funded by the Australian Government's Cooperative Research Centre Programme. Jérémie Giraud also acknowledges support from the RING (Research for Integrative Numerical Geology) consortium.
You can contact Jeremie Giraud or Vitaliy Ogarko for bugs, comments or ideas for new features or enhancements: [email protected] / [email protected], Vitaliy Ogarko at [email protected].