PyNoddy_Inversion is a repository for stochastic inversion of geological and geophysical data for constraining structural features in the subsurace.
As is shown in the image below, the code takes in gravity, magnetic, fault markers, stratigraphy markers and tracer connectivity information and tries to find a structural geologic model that matches the data.
For examples of resultant models for the Patua Geothermal Field case study, see the folder Example_Resultant_Models\InteractiveHTML, where you can download an html file of the 3D model and then open it to view in your browser. That folder also includes a power point with images of all of the example models. Or click on one of these links to see some examples now:
- https://htmlpreview.github.io/?https://github.com/ahinoamp/PyNoddyInversion/blob/master/Example_Resultant_Models/InteractiveHTML/GeoModel_503.html
- https://htmlpreview.github.io/?https://github.com/ahinoamp/PyNoddyInversion/blob/master/Example_Resultant_Models/InteractiveHTML/GeoModel_2151.html
- https://htmlpreview.github.io/?https://github.com/ahinoamp/PyNoddyInversion/blob/master/Example_Resultant_Models/InteractiveHTML/GeoModel_4375.html
- https://htmlpreview.github.io/?https://github.com/ahinoamp/PyNoddyInversion/blob/master/Example_Resultant_Models/InteractiveHTML/GeoModel_6039.html
- https://htmlpreview.github.io/?https://github.com/ahinoamp/PyNoddyInversion/blob/master/Example_Resultant_Models/InteractiveHTML/GeoModel_1553.html
If you'd like to download the GIS data associated with this project, you can do so here: https://drive.google.com/file/d/197MIDjw85VurKN3FLpsL7mFN7DxwWKSx/view?usp=sharing
If you have any questions or comments, I'd be happy to talk (ahinoamp followed by the domain gmail).
This repository is seperated into
- core code
- data files
- examples
- scratch
Inside the core folder, the main files are:
- SimulationUtilties.py: A file containing the functions for calling the kinematic structural geology simulator Noddy and analyzing the results in order to simulate gravity, magentic, granite top, tracer connectivity, and fault markers
Three optimisation/search algorithm files:
-
GA_Noddy.py: the genetic algorithm workflow
-
MCMC_Noddy.py: the Markov Chain Monte Carlo workflow as well as the simulated annealing workflow
-
NSGA_Noddy.py: the Non-Dominated Sorting Genetic Algorithm II
Several files with general utility functions for the inversion:
-
GeneralInversionUtil.py: general utilties used in all the algorithms
-
SamplingHisFileUtil: utilities for sampling parameters and creating history files
-
HisTemplates.py: a class assisting in creating history files
-
PriorUnvertaintyUtil.py: a utilty for defining the prior uncertainty of the different structural geological events
-
VizualizationUtilities.py: a utility for creating visualizations of the inversion process
Utilties for the specific inversion workflow
-
MCMC_Util.py: utilties specific to the MCMC workflow
-
PSO_GA.py: utilities specific to the GA and NSGA algorithms
Utilties for running many inversion chains at once with different hyper parameters:
- ThreadMasterCombo.py