Gempy
GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. It also offers support for stochastic modeling to address parameter and model uncertainties.
Install / Use
/learn @gempy-project/GempyREADME
<p align="center"><img src="https://github.com/gempy-project/gempy/blob/main/docs/readme_images/header_combined_slim.png" width="1000"></p>
What's New: GemPy 2024.1 (a.k.a GemPy v3) Release!
Welcome to the era of GemPy v3! We are thrilled to announce the release of the latest version, a product of meticulous planning, redesign, and rigorous testing. While the core essence remains intact, v3 brings significant enhancements and novelties that promise to revolutionize your geomodeling experience.
Delve into the exciting new features in the What's New in GemPy v3.
The journey from GemPy v2 to v3 has been transformative. To ensure that our users don't lose out on any previous functionalities, we've shifted v2 to a package named gempy_legacy. While the core team will not develop any new features for this version, we'll continue maintaining it based on community requests.
Overview
GemPy is a Python-based, open-source geomodeling library. It is capable of constructing complex 3D geological models of folded structures, fault networks and unconformities, based on the underlying powerful implicit representation approach.
Installation
We provide the latest release version of GemPy via PyPi package services. We highly recommend using PyPi,
$ pip install gempy[base]
Resources
After installation, you can either check the notebook tutorials or the video introduction to get started.
Go to the documentation site for further information and enjoy the tutorials and examples.
For questions and support, please use discussions.
If you find a bug or have a feature request, create an issue.
Follow these guidelines to contribute to GemPy.
Gallery
Geometries
<p> <table> <tr> <td> <a href="https://docs.gempy.org/examples/geometries/a01_horizontal_stratigraphic.html#sphx-glr-examples-geometries-a01-horizontal-stratigraphic-py"> <img alt="colormapped image plot thumbnail" src="docs/readme_images/model1_nodata.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/geometries/b02_fold.html#sphx-glr-examples-geometries-b02-fold-py"> <img alt="colormapped image plot thumbnail" src="docs/readme_images/model2_nodata.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/geometries/c03_recumbent_fold.html#sphx-glr-examples-geometries-c03-recumbent-fold-py"> <img alt="colormapped image plot thumbnail" src="docs/readme_images/model3_nodata.png" width="300" /> </a> </td> </tr> <tr> <td> <a href="https://docs.gempy.org/examples/geometries/d04_pinchout.html#sphx-glr-examples-geometries-d04-pinchout-py"> <img alt="colormapped image plot thumbnail" src="docs/readme_images/model4_nodata.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/geometries/e05_fault.html#sphx-glr-examples-geometries-e05-fault-py"> <img alt="colormapped image plot thumbnail" src="docs/readme_images/model5_nodata.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/geometries/f06_unconformity.html#sphx-glr-examples-geometries-f06-unconformity-py"> <img alt="colormapped image plot thumbnail" src="docs/readme_images/model6_nodata.png" width="300" /> </a> </td> </tr> </table> </p>Features
<p> <table> <tr> <td> <a href="https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_3b_cross_sections.html#sphx-glr-tutorials-ch1-fundamentals-ch1-3b-cross-sections-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_ch1_3b_cross_sections_004.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_4_onlap_relations.html#sphx-glr-tutorials-ch1-fundamentals-ch1-4-onlap-relations-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_ch1_4_onlap_relations_002.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/geometries/g07_combination.html#sphx-glr-examples-geometries-g07-combination-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_g07_combination_005.png" width="300" /> </a> </td> </tr> <tr> <td> <a href="https://docs.gempy.org/tutorials/ch3-Interpolations/ch3_1_kriging_interpolation_and_simulation.html#sphx-glr-tutorials-ch3-interpolations-ch3-1-kriging-interpolation-and-simulation-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_ch3_1_kriging_interpolation_and_simulation_003.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/tutorials/ch4-Topology/ch4-1-Topology.html#sphx-glr-tutorials-ch4-topology-ch4-1-topology-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_ch4-1-Topology_005.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/tutorials/ch4-Topology/ch4-1-Topology.html#sphx-glr-tutorials-ch4-topology-ch4-1-topology-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_ch4-1-Topology_004.png" width="300" /> </a> </td> </tr> </table>Case studies
<p> <table> <tr> <td> <a href="https://docs.gempy.org/examples/real/Alesmodel.html#sphx-glr-examples-real-alesmodel-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_Alesmodel_008.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/real/Perth_basin.html#sphx-glr-examples-real-perth-basin-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_Perth_basin_006.png" width="300" /> </a> </td> <td> <a href="https://docs.gempy.org/examples/real/Greenstone.html#sphx-glr-examples-real-greenstone-py"> <img alt="colormapped image plot thumbnail" src="https://docs.gempy.org/_images/sphx_glr_Greenstone_004.png" width="300" /> </a> </td> </tr> </table><a name="ref"></a>
Publications using GemPy
-
Marquetto, L., Jüstel, A., Troian, G.C., Reginato, P.A.R & Simões, J.C. (2024). Developing a 3D hydrostratigraphical model of the emerged part of the Pelotas Basin along the northern coast of Rio Grande do Sul state, Brazil. Environmental Earth Sciences, 83, 329.
-
Brisson, S., Wellmann, F., Chudalla, N., von Harten, J., & von Hagke, C. (2023). Estimating uncertainties in 3-D models of complex fold-and-thrust belts: A case study of the Eastern Alps triangle zone. Applied Computing and Geosciences, 18, 100115.
-
Liang, Z., de la Varga, M., & Wellmann, F. (2023). Kernel method for gravity forward simulation in implicit probabilistic geologic modeling. Geophysics, 88(3), G43-G55.
-
Kong, S., Oh, J., Yoon, D., Ryu, D. W., & Kwon, H. S. (2023). Integrating Deep Learning and Deterministic Inversion for Enhancing Fault Detection in Electrical Resistivity Surveys. Applied Sciences, 13(10), 6250.
-
Thomas, A. T., Micallef, A., Duan, S., & Zou, Z. (2023). Characteristics and controls of an offshore freshened groundwater system in the Shengsi region, East China Sea. Frontiers in Earth Science, 11, 1198215.
-
Haehnel, P., Freund, H., Greskowiak, J. & Massmann, G. (2023) Development of a three-dimensional hydrogeological model for the island of Norderney (Germany) using GemPy. Geoscience Data Journal, 00, 1–17.
-
Jüstel, A., de la Varga, M., Chudalla, N., Wagner, J. D., Back, S., & Wellmann, F. (2023). From Maps to Models-Tutorials for structural geological modeling using GemPy and GemGIS. Journal of Open Source Education, 6(66), 185.
-
Thomas, A. T., von Harten, J., Jusri, T., Reiche, S., Wellmann, F. (2022). An integrated modeling scheme for characterizing 3D hydrogeological heterogeneity of the New Jersey shelf. Marine Geophysical Research, 43, 11.
Related Skills
claude-opus-4-5-migration
82.0kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
333.3kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
openhue
333.3kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
333.3kElevenLabs text-to-speech with mac-style say UX.
