About

Open-source software for implicit 3D structural geological modeling in Python.

Overview

GemPy is a Python-based, community-driven, open-source geomodeling library. It is capable of constructing complex 3D geological models including various features such as fold structures, fault networks and unconformities, based on an underlying powerful implicit approach. From the ground up, GemPy was designed to be easily embedded in probabilistic frameworks for conducting uncertainty analysis regarding subsurface structures.

3D models created with GemPy may look like this:

_images/AlesModel_example.png

Contents:

Features

Geological features

GemPy is capable of modeling complex 3D geological scenarios, including:

  • Multiple conformal layers (e.g. sequences of sedimentary layers)

  • Several sequences of layers, with conformal continuation or unconformities

  • Magmatic bodies of (almost) arbitrary shapes

  • Faults (offset calculated automatically from affected geological objects)

  • Full fault networks (faults affecting faults)

  • Folds (affecting single layers or entire layer stacks, including overturned and recumbent folds)

Combining these elements in GemPy allows for the generation of realistic 3D geological models, on a par with most commercial geomodeling software.

Interpolation approach

The generation of complex structural settings is based on the powerful interpolation algorithm underlying GemPy, a unviersal cokriging method devised by Lajaunie et al. (1997) and extended by Calcagno et al. (2008). This method is used to interpolate a 3D scalar field, such that geologically significant interfaces are isosurfces in this field.

The algorithm allows for a direct integration of two of the most relevant geological input data types:

  • Surface contact points: 3D coordinates of points marking the boundaries between different features (e.g. layer interfaces, fault planes, unconformities).

  • Orientation measurements: Orientation of the poles perpendicular to the dipping of surfaces at any point in 3D space.

GemPy also allows for the definition of topological elements such as combining multiple stratigraphic sequences and complex fault networks to be considered in the modeling process.

_images/data_to_model.png

Integrated visualization

Models generated with GemPy can be visualized in several ways:

  • direct visualization of 2D model sections (or geological maps) using matplotlib, including hillshading and other options for intuitive representation of results;

  • 3D visualization using Pyvista, including interactive plots

_images/3D_view_pyvista_example.png

For a more detailed elaboration of the theory behind GemPy, we refer to the open access scientific publication: “GemPy 1.0: open-source stochastic geological modeling and inversion” by de la Varga et al. (2019).

Publications using GemPy

References

  • de la Varga, M., Schaaf, A., and Wellmann, F.: GemPy 1.0: open-source stochastic geological modeling and inversion, Geosci. Model Dev., 12, 1–32, https://doi.org/10.5194/gmd-12-1-2019, 2019.

  • Calcagno, P., Chilès, J. P., Courrioux, G., & Guillen, A. (2008). Geological modelling from field data and geological knowledge: Part I. Modelling method coupling 3D potential-field interpolation and geological rules. Physics of the Earth and Planetary Interiors, 171(1-4), 147-157.

  • Lajaunie, C., Courrioux, G., & Manuel, L. (1997). `Foliation fields and 3D cartography in geology: principles of a method based on potential interpolation. Mathematical Geology, 29(4), 571-584.

Indices and tables

_images/logo_CGRE.png _images/Terranigma.png