Skip to content

GeorgeLiang3/GemPyTF

Repository files navigation

GemPyTF

Overview

This is a TensorFlow extension of GemPy to develop 3D subsurface model while keep tracking the derivatives of the parameters.

Why TensorFlow

GemPy is the most popular Python-based 3-D structural geological modeling open-source software now, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. We all love GemPy, however, the installation of Theano sometime could be frustrating. Therefore this project aims to extend the backend of GemPy with the modern machine learning package TensorFlow for Automatic Differentiation (AD).

Try the simple demos in colab: Open In Colab

Installation and dependency

The current version is depend on an older version of GemPy-'2.1.1', but no prior installation of GemPy.

The following commands should be executed in a CMD, Bash or Powershell window. To do this, go to a folder on your computer, click in the folder path at the top and type CMD, then press enter.

  1. create conda virtual environment
conda create -n gempytf_env python=3.7
  1. activate the virtual environment
conda activate gempytf_env
  1. Clone the repository: For this step you need Git installed, but you can just download the zip file instead by clicking the button at the top of this page
https://github.com/GeorgeLiang3/GemPyTF.git
  1. Navigate to the project directory: (Type this into your CMD window, you're aiming to navigate the CMD window to the repository you just downloaded)
cd GemPyTF
  1. Install the required dependencies: (Again, type this into your CMD window)
pip install -r requirements.txt

Limitations

At the moment there are only limited models are tested (in Examples).

current version has

  • no support for topology
  • no support for fault block
  • not been tested with topography

Known bugs to be fixed

  • 3D color map is in wrong order (fixed)
  • 2D plot function show_data function not correct (fixed)
  • Hessian in graph mode is limited

References

  • Original GemPy paper: de la Varga, M., Schaaf, A. and Wellmann, F., 2019. GemPy 1.0: open-source stochastic geological modeling and inversion. Geoscientific Model Development, 12(1), pp.1-32.
  • Hessian MCMC used GemPyTF: Liang, Z., Wellmann, F. and Ghattas, O., 2022. Uncertainty quantification of geological model parameters in 3D gravity inversion by Hessian-informed Markov chain Monte Carlo. Geophysics, 88(1), pp.1-78.

About

a TensorFlow extension of GemPy.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published