GemPy 1.0: open-source stochastic geological modeling and inversion

Abstract. The representation of subsurface structures is an essential aspect of a wide variety of geoscientific investigations and applications, ranging from geofluid reservoir studies, over raw material investigations, to geosequestration, as well as many branches of geoscientific research and applications in geological surveys. A wide range of methods exist to generate geological models. However, the powerful methods are behind a paywall in expensive commercial packages. We present here a full open-source geomodeling method, based on an implicit potential-field interpolation approach. The interpolation algorithm is comparable to implementations in commercial packages and capable of constructing complex full 3-D geological models, including fault networks, fault–surface interactions, unconformities and dome structures. This algorithm is implemented in the programming language Python, making use of a highly efficient underlying library for efficient code generation (Theano) that enables a direct execution on GPUs. The functionality can be separated into the core aspects required to generate 3-D geological models and additional assets for advanced scientific investigations. These assets provide the full power behind our approach, as they enable the link to machine-learning and Bayesian inference frameworks and thus a path to stochastic geological modeling and inversions. In addition, we provide methods to analyze model topology and to compute gravity fields on the basis of the geological models and assigned density values. In summary, we provide a basis for open scientific research using geological models, with the aim to foster reproducible research in the field of geomodeling.

[1]  Andrew Gelman,et al.  The No-U-turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo , 2011, J. Mach. Learn. Res..

[2]  Jef Caers,et al.  Modeling Uncertainty in the Earth Sciences , 2011 .

[3]  J. A. Mackay,et al.  Responsible reporting of uncertain petroleum reserves , 2008 .

[4]  A. Maréchal Kriging Seismic Data in Presence of Faults , 1984 .

[5]  A. Tarantola,et al.  Inverse problems = Quest for information , 1982 .

[6]  Louis B. Rall,et al.  Automatic differentiation , 1981 .

[7]  John Salvatier,et al.  Probabilistic programming in Python using PyMC3 , 2016, PeerJ Comput. Sci..

[8]  Steffen L. Lauritzen,et al.  Independence properties of directed markov fields , 1990, Networks.

[9]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[10]  J. Florian Wellmann,et al.  pynoddy 1.0: an experimental platform for automated 3-D kinematic and potential field modelling , 2015 .

[11]  J. Mallet Space–Time Mathematical Framework for Sedimentary Geology , 2004 .

[12]  John D. Hunter,et al.  Matplotlib: A 2D Graphics Environment , 2007, Computing in Science & Engineering.

[13]  J. Wellmann,et al.  Uncertainties have a meaning: Information entropy as a quality measure for 3-D geological models , 2012 .

[14]  M. Dentith,et al.  Geophysics for the Mineral Exploration Geoscientist , 2014 .

[15]  John F. Ogilvie,et al.  A monte-carlo approach to error propagation , 1984, Comput. Chem..

[16]  R. Lark,et al.  A statistical assessment of the uncertainty in a 3-D geological framework model , 2013 .

[17]  M. Betancourt,et al.  The Geometric Foundations of Hamiltonian Monte Carlo , 2014, 1410.5110.

[18]  John Weissmann,et al.  What a machine , 2004 .

[19]  C. Lajaunie,et al.  Foliation fields and 3D cartography in geology: Principles of a method based on potential interpolation , 1997 .

[20]  John Geweke,et al.  Evaluating the accuracy of sampling-based approaches to the calculation of posterior moments , 1991 .

[21]  Wes McKinney,et al.  pandas: a Foundational Python Library for Data Analysis and Statistics , 2011 .

[22]  Emmanuelle Gouillart,et al.  scikit-image: image processing in Python , 2014, PeerJ.

[23]  Andrew Gelman,et al.  Automatic Variational Inference in Stan , 2015, NIPS.

[24]  Samuel T. Thiele,et al.  The topology of geology 1: Topological analysis , 2016 .

[25]  William E. Lorensen,et al.  The visualization toolkit (2nd ed.): an object-oriented approach to 3D graphics , 1998 .

[26]  Z. Shipton,et al.  What do you think this is? "Conceptual uncertainty" in geoscience interpretation , 2007 .

[27]  M. Nabighian,et al.  Historical development of the gravity method in exploration , 2005 .

[28]  Christophe Aug,et al.  Modélisation géologique 3D et caractérisation des incertitudes par la méthode du champ de potentiel. (3D geological modelling and uncertainty: the potential-field method) , 2004 .

[29]  Guillaume Caumon,et al.  Towards Stochastic Time-Varying Geological Modeling , 2010 .

[30]  J. Chilès,et al.  Geological modelling from field data and geological knowledge. Part I. Modelling method coupling 3D potential-field interpolation and geological rules , 2008 .

[31]  C. Chatfield Model uncertainty, data mining and statistical inference , 1995 .

[32]  Andrew M. Stuart,et al.  Geometric MCMC for infinite-dimensional inverse problems , 2016, J. Comput. Phys..

[33]  S. Vajda,et al.  Probabilistic Programming , 1972 .

[34]  György Bárdossy Evaluation of Uncertainties and Risks in Geology: New Mathematical Approaches for their Handling , 2010 .

[35]  Hui Wang,et al.  A Segmentation Approach for Stochastic Geological Modeling Using Hidden Markov Random Fields , 2017, Mathematical Geosciences.

[36]  C. Bond Uncertainty in Structural Interpretation: Lessons to be learnt , 2015 .

[37]  Carreño Carreño,et al.  Evaluación de la diversidad taxonómica y funcional de la comunidad microbiana relacionada con el ciclo del nitrógeno en suelos de cultivo de arroz con diferentes manejos del tamo , 2020 .

[38]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[39]  George Christakos,et al.  On the assimilation of uncertain physical knowledge bases: Bayesian and non-Bayesian techniques. , 2002 .

[40]  Christophe Geuzaine,et al.  Gmsh: A 3‐D finite element mesh generator with built‐in pre‐ and post‐processing facilities , 2009 .

[41]  Prasanth H. Nair,et al.  Astropy: A community Python package for astronomy , 2013, 1307.6212.

[42]  J. Chilès,et al.  Geostatistics: Modeling Spatial Uncertainty , 1999 .

[43]  Ítalo Gomes Gonçalves,et al.  A machine learning approach to the potential-field method for implicit modeling of geological structures , 2017, Comput. Geosci..

[44]  M. Betancourt,et al.  The Geometric Foundations of Hamiltonian Monte Carlo , 2014, 1410.5110.

[45]  H. Durrant-Whyte,et al.  A Bayesian inference tool for geophysical joint inversions , 2016 .

[46]  Hans Wackernagel,et al.  Multivariate Geostatistics: An Introduction with Applications , 1996 .

[47]  William J. Schroeder,et al.  Overview of Visualization , 2005, The Visualization Handbook.

[48]  P. Jaccard THE DISTRIBUTION OF THE FLORA IN THE ALPINE ZONE.1 , 1912 .

[49]  M. Jessell,et al.  Towards an integrated inversion of geoscientific data: What price of geology? , 2010 .

[50]  Utkarsh Ayachit,et al.  The ParaView Guide: A Parallel Visualization Application , 2015 .

[51]  Gaël Varoquaux,et al.  The NumPy Array: A Structure for Efficient Numerical Computation , 2011, Computing in Science & Engineering.

[52]  Nir Friedman,et al.  Probabilistic Graphical Models: Principles and Techniques - Adaptive Computation and Machine Learning , 2009 .

[53]  David Huard,et al.  PyMC: Bayesian Stochastic Modelling in Python. , 2010, Journal of statistical software.

[54]  F. Horowitz,et al.  Towards incorporating uncertainty of structural data in 3D geological inversion , 2010 .

[55]  Guillaume Caumon,et al.  3-D Structural geological models: Concepts, methods, and uncertainties , 2018 .

[56]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[57]  Awad Aubad,et al.  Towards a framework building for social systems modelling , 2020 .

[58]  D. Nagy The gravitational attraction of a right rectangular prism , 1966 .

[59]  M. Jessell,et al.  Making the link between geological and geophysical uncertainty: geodiversity in the Ashanti Greenstone Belt , 2013 .

[60]  Christopher M. Bishop,et al.  Model-based machine learning , 2013, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[61]  H. Haario,et al.  An adaptive Metropolis algorithm , 2001 .

[62]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[63]  Dustin Tran,et al.  Automatic Differentiation Variational Inference , 2016, J. Mach. Learn. Res..

[64]  Arie Shoshani,et al.  Optimizing connected component labeling algorithms , 2005, SPIE Medical Imaging.

[65]  Christophe Fiorio,et al.  Two Linear Time Union-Find Strategies for Image Processing , 1996, Theor. Comput. Sci..

[66]  Joel S. Cohen,et al.  Computer Algebra and Symbolic Computation: Mathematical Methods , 2003 .

[67]  J. Chilès,et al.  Modelling the geometry of geological units and its uncertainty in 3D from structural data: The potential-field method , 2007 .

[68]  J. Wellmann,et al.  Structural geologic modeling as an inference problem: A Bayesian perspective , 2016 .

[69]  Albert Tarantola,et al.  Monte Carlo sampling of solutions to inverse problems , 1995 .

[70]  M. Jessell,et al.  Geodiversity: Exploration of 3D geological model space , 2013 .

[71]  Louis B. Rall,et al.  Automatic Differentiation: Techniques and Applications , 1981, Lecture Notes in Computer Science.

[72]  E. Schetselaar,et al.  Three-Dimensional Modelling of Geological Surfaces Using Generalized Interpolation with Radial Basis Functions , 2014, Mathematical Geosciences.

[73]  Barak A. Pearlmutter,et al.  Automatic differentiation in machine learning: a survey , 2015, J. Mach. Learn. Res..

[74]  M. Jessell,et al.  Uncertainty estimation for a geological model of the Sandstone greenstone belt, Western Australia – insights from integrated geological and geophysical inversion in a Bayesian inference framework , 2017, Special Publications.

[75]  Michael I. Jordan Learning in Graphical Models , 1999, NATO ASI Series.

[76]  Albert Tarantola,et al.  Inverse problem theory - and methods for model parameter estimation , 2004 .

[77]  N. Bohr MONTE CARLO METHODS IN GEOPHYSICAL INVERSE PROBLEMS , 2002 .

[78]  J. Florian Wellmann,et al.  Validating 3-D structural models with geological knowledge for improved uncertainty evaluations , 2014 .

[79]  John Salvatier,et al.  Theano: A Python framework for fast computation of mathematical expressions , 2016, ArXiv.

[80]  B. Kaus,et al.  Recent advances in computational geodynamics: Theory, numerics and applications , 2008 .

[81]  G. Caumon,et al.  Surface-Based 3D Modeling of Geological Structures , 2009 .

[82]  S. Duane,et al.  Hybrid Monte Carlo , 1987 .

[83]  Samuel T. Thiele,et al.  The topology of geology 2: Topological uncertainty , 2016 .

[84]  Guillaume Caumon,et al.  Three-Dimensional Implicit Stratigraphic Model Building From Remote Sensing Data on Tetrahedral Meshes: Theory and Application to a Regional Model of La Popa Basin, NE Mexico , 2013, IEEE Transactions on Geoscience and Remote Sensing.

[85]  M. Jessell,et al.  Locating and quantifying geological uncertainty in three-dimensional models: Analysis of the Gippsland Basin, southeastern Australia , 2012 .

[86]  Lindsey J. Heagy,et al.  SimPEG: An open source framework for simulation and gradient based parameter estimation in geophysical applications , 2015, Comput. Geosci..

[87]  Sang Joon Kim,et al.  A Mathematical Theory of Communication , 2006 .

[88]  Nir Friedman,et al.  Probabilistic Graphical Models - Principles and Techniques , 2009 .

[89]  H. Wackernagle,et al.  Multivariate geostatistics: an introduction with applications , 1998 .