{"id":28085990,"url":"https://github.com/cgre-aachen/gempy","last_synced_at":"2025-05-13T11:02:05.891Z","repository":{"id":39421729,"uuid":"96211155","full_name":"gempy-project/gempy","owner":"gempy-project","description":"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.","archived":false,"fork":false,"pushed_at":"2025-05-09T11:38:49.000Z","size":458250,"stargazers_count":1096,"open_issues_count":18,"forks_count":247,"subscribers_count":51,"default_branch":"main","last_synced_at":"2025-05-09T12:22:05.974Z","etag":null,"topics":["bayesian","complex-geological-models","geological","geology","geoscience","implicit","interpolation","modeling","monte-carlo-simulation","python","torch","uncertainties","uncertainty-analysis","uq"],"latest_commit_sha":null,"homepage":"https://gempy.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gempy-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"Leguark"}},"created_at":"2017-07-04T11:32:12.000Z","updated_at":"2025-05-08T19:51:10.000Z","dependencies_parsed_at":"2023-10-10T15:09:37.047Z","dependency_job_id":"22900739-9291-4c41-b3d0-d1ebc6df32c9","html_url":"https://github.com/gempy-project/gempy","commit_stats":{"total_commits":2224,"total_committers":51,"mean_commits":43.6078431372549,"dds":0.7122302158273381,"last_synced_commit":"ae586c31c7f1a3f4b9539f7e46b3738b80a7f211"},"previous_names":["gempy-project/gempy","cgre-aachen/gempy"],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gempy-project%2Fgempy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gempy-project%2Fgempy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gempy-project%2Fgempy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gempy-project%2Fgempy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gempy-project","download_url":"https://codeload.github.com/gempy-project/gempy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253929358,"owners_count":21985802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bayesian","complex-geological-models","geological","geology","geoscience","implicit","interpolation","modeling","monte-carlo-simulation","python","torch","uncertainties","uncertainty-analysis","uq"],"created_at":"2025-05-13T11:01:06.535Z","updated_at":"2025-05-13T11:02:05.787Z","avatar_url":"https://github.com/gempy-project.png","language":"Python","readme":"# \u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/gempy-project/gempy/blob/main/docs/readme_images/header_combined_slim.png\" width=\"1000\"\u003e\u003c/p\u003e \n \n[![GitHub Stars](https://img.shields.io/github/stars/cgre-aachen/gempy.svg)](https://github.com/cgre-aachen/gempy/stargazers)\n[![GitHub Forks](https://img.shields.io/github/forks/cgre-aachen/gempy.svg)](https://github.com/cgre-aachen/gempy/network)\n[![Documentation Status](https://assets.readthedocs.org/static/projects/badges/passing-flat.svg)](http://docs.gempy.org)\n[![Build Status](http://terranigma-solutions.teamcity.com/app/rest/builds/buildType:(id:Gempy_TestingGemPy)/statusIcon)](http://terranigma-solutions.teamcity.com/viewType.html?buildTypeId=Gempy_TestingGemPy\u0026guest=1)\n[![PyPI](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)](https://www.python.org/downloads/)\n[![PyPI](https://img.shields.io/badge/pypi-1.0-blue.svg)](https://pypi.org/project/gempy/)\n[![license: EUPL v1.2](https://img.shields.io/badge/license-EUPL%20v1.2-blue.svg)](https://github.com/cgre-aachen/gempy/blob/master/LICENSE)\n[![DOI](https://zenodo.org/badge/96211155.svg)](https://zenodo.org/badge/latestdoi/96211155)\n\n\n## What's New: GemPy 2024.1 (a.k.a GemPy v3) Release!\n\n\nWelcome 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.\n\n Delve into the exciting new features in the [What's New in GemPy v3](WhatsNewGemPy3.md). \n\nThe 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](https://github.com/gempy-project/gempy_legacy). While the core team will not develop any new features for this version, we'll continue maintaining it based on community requests.\n\n## Overview\n\n[GemPy](https://www.gempy.org/) is a Python-based, **open-source geomodeling library**. It is\ncapable of constructing complex **3D geological models** of folded\nstructures, fault networks and unconformities, based on the underlying\npowerful **implicit representation** approach. \n\n## Installation\n\nWe provide the latest release version of GemPy via PyPi package services. We highly recommend using PyPi,\n\n`$ pip install gempy[base]`\n \n## Resources\n\nAfter installation, you can either check the [notebook tutorials](https://docs.gempy.org/getting_started/get_started.html#sphx-glr-getting-started-get-started-py) \nor the [video introduction](https://www.youtube.com/watch?v=n0btC5Zilyc) to get started.\n\nGo to the [documentation site](http://docs.gempy.org/) for further information and enjoy the [tutorials and examples](https://www.gempy.org/tutorials).\n\nFor questions and support, please use [discussions](https://github.com/cgre-aachen/gempy/discussions).\n\nIf you find a bug or have a feature request, create an [issue](https://github.com/cgre-aachen/gempy/issues).\n\nFollow these [guidelines](https://github.com/cgre-aachen/gempy/blob/WIP_readme-update-march21/CONTRIBUTING.md) to contribute to GemPy.\n\n\n\n## Gallery\n### Geometries\n\n\u003cp\u003e\n\u003ctable\u003e\n\u003ctr\u003e\n\n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/a01_horizontal_stratigraphic.html#sphx-glr-examples-geometries-a01-horizontal-stratigraphic-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model1_nodata.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/b02_fold.html#sphx-glr-examples-geometries-b02-fold-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model2_nodata.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n   \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/c03_recumbent_fold.html#sphx-glr-examples-geometries-c03-recumbent-fold-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model3_nodata.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/d04_pinchout.html#sphx-glr-examples-geometries-d04-pinchout-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model4_nodata.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/e05_fault.html#sphx-glr-examples-geometries-e05-fault-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model5_nodata.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/f06_unconformity.html#sphx-glr-examples-geometries-f06-unconformity-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model6_nodata.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n\n\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/p\u003e\n\n### Features\n\n\u003cp\u003e\n\u003ctable\u003e\n\u003ctr\u003e\n\n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_3b_cross_sections.html#sphx-glr-tutorials-ch1-fundamentals-ch1-3b-cross-sections-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_ch1_3b_cross_sections_004.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_4_onlap_relations.html#sphx-glr-tutorials-ch1-fundamentals-ch1-4-onlap-relations-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_ch1_4_onlap_relations_002.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n   \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/geometries/g07_combination.html#sphx-glr-examples-geometries-g07-combination-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_g07_combination_005.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003e\n  \u003ca 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\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_ch3_1_kriging_interpolation_and_simulation_003.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/tutorials/ch4-Topology/ch4-1-Topology.html#sphx-glr-tutorials-ch4-topology-ch4-1-topology-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_ch4-1-Topology_005.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/tutorials/ch4-Topology/ch4-1-Topology.html#sphx-glr-tutorials-ch4-topology-ch4-1-topology-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_ch4-1-Topology_004.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n### Case studies\n\n\u003cp\u003e\n\u003ctable\u003e\n\u003ctr\u003e\n\n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/real/Alesmodel.html#sphx-glr-examples-real-alesmodel-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_Alesmodel_008.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n  \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/real/Perth_basin.html#sphx-glr-examples-real-perth-basin-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_Perth_basin_006.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n  \n   \u003ctd\u003e\n  \u003ca href=\"https://docs.gempy.org/examples/real/Greenstone.html#sphx-glr-examples-real-greenstone-py\"\u003e\n  \u003cimg alt=\"colormapped image plot thumbnail\" src=\"https://docs.gempy.org/_images/sphx_glr_Greenstone_004.png\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ca name=\"ref\"\u003e\u003c/a\u003e\n\n## Publications using GemPy\n\n* Marquetto, L.,  Jüstel, A., Troian, G.C., Reginato, P.A.R \u0026 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](https://link.springer.com/article/10.1007/s12665-024-11609-y). Environmental Earth Sciences, 83, 329. \n\n\n* Brisson, S., Wellmann, F., Chudalla, N., von Harten, J., \u0026 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](https://www.sciencedirect.com/science/article/pii/S2590197423000046). Applied Computing and Geosciences, 18, 100115.\n\n* Liang, Z., de la Varga, M., \u0026 Wellmann, F. (2023). [Kernel method for gravity forward simulation in implicit probabilistic geologic modeling](https://pubs.geoscienceworld.org/geophysics/article/88/3/G43/621596/Kernel-method-for-gravity-forward-simulation-in?casa_token=VjCR7rYOkKoAAAAA:W81L1AXgW_j9GiYPciBvLIdL8Zo66IzYVYiU6Ri8xLgIjbzTmpcDE74rzmAwnokX_71_XKg). Geophysics, 88(3), G43-G55.\n\n* Kong, S., Oh, J., Yoon, D., Ryu, D. W., \u0026 Kwon, H. S. (2023). [Integrating Deep Learning and Deterministic Inversion for Enhancing Fault Detection in Electrical Resistivity Surveys](https://www.mdpi.com/2076-3417/13/10/6250). Applied Sciences, 13(10), 6250.\n\n* Thomas, A. T., Micallef, A., Duan, S., \u0026 Zou, Z. (2023). [Characteristics and controls of an offshore freshened groundwater system in the Shengsi region, East China Sea](https://www.frontiersin.org/articles/10.3389/feart.2023.1198215/full). Frontiers in Earth Science, 11, 1198215.\n\n* Haehnel, P., Freund, H., Greskowiak, J. \u0026 Massmann, G. (2023) [Development of a three-dimensional hydrogeological model for the island of Norderney (Germany) using GemPy](https://doi.org/10.1002/gdj3.208). Geoscience Data Journal, 00, 1–17. \n\n* Jüstel, A., de la Varga, M., Chudalla, N., Wagner, J. D., Back, S., \u0026 Wellmann, F. (2023). [From Maps to Models-Tutorials for structural geological modeling using GemPy and GemGIS](https://jose.theoj.org/papers/10.21105/jose.00185). Journal of Open Source Education, 6(66), 185.\n\n* 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](https://link.springer.com/article/10.1007/s11001-022-09475-z). Marine Geophysical Research, 43, 11. \n\n* Sehsah, H., Eldosouky, A. M., \u0026 Pham, L. T. (2022). [Incremental Emplacement of the Sierra Nevada Batholith Constrained by U-Pb Ages and Potential Field Data](https://www.journals.uchicago.edu/doi/full/10.1086/722724?casa_token=pkl8XXrtyokAAAAA:YeIh1t-qwt6AT8yz_vTj4OQapaR1_nZUjS3Az_77VZXlpyfGu0cN5DSzrz6NNjoj4Qv5iud4rdc). The Journal of Geology, 130(5), 381-391.\n\n* von Harten, J., de la Varga, M., Hillier, M., Wellmann, F. (2021). [Informed Local Smoothing in 3D Implicit Geological Modeling](https://www.mdpi.com/2075-163X/11/11/1281). Minerals 2021, 11, 1281.\n\n* Schaaf, A., de la Varga, M., Wellmann, F., \u0026 Bond, C. E. (2021). [Constraining stochastic 3-D structural geological models with topology information using approximate Bayesian computation in GemPy 2.1](https://gmd.copernicus.org/articles/14/3899/2021/gmd-14-3899-2021.html). Geosci. Model Dev., 14(6), 3899-3913. doi:10.5194/gmd-14-3899-2021\n  \n* Güdük, N., de la Varga, M. Kaukolinna, J. and Wellmann, F. (2021). [Model-Based Probabilistic Inversion Using Magnetic Data: A Case Study on the Kevitsa Deposit](https://www.mdpi.com/2076-3263/11/4/150), _Geosciences_, 11(4):150.\n\n* Wu, J., \u0026 Sun, B. (2021). [Discontinuous mechanical analysis of manifold element strain of rock slope based on open source Gempy](https://www.e3s-conferences.org/articles/e3sconf/abs/2021/24/e3sconf_caes2021_03084/e3sconf_caes2021_03084.html). In E3S Web of Conferences (Vol. 248, p. 03084). EDP Sciences.\n\n* Stamm, F. A., de la Varga, M., and Wellmann, F. (2019). [Actors, actions, and uncertainties: optimizing decision-making based on 3-D structural geological models](https://se.copernicus.org/articles/10/2015/2019/se-10-2015-2019.html), Solid Earth, 10, 2015–2043.\n  \n* Wellmann, F., Schaaf, A., de la Varga, M., \u0026 von Hagke, C. (2019). [From Google Earth to 3D Geology Problem 2: Seeing Below the Surface of the Digital Earth](\nhttps://www.sciencedirect.com/science/article/pii/B9780128140482000156).\nIn Developments in Structural Geology and Tectonics (Vol. 5, pp. 189-204). Elsevier.\n\nPlease let us know if your publication is missing!\n\nA continuously growing list of gempy-applications (e.g. listing real-world models) can be found [here](https://hackmd.io/@Japhiolite/B1juPvCxc).\n\n## References \n\n* de la Varga, M., Schaaf, A., and Wellmann, F. (2019). [GemPy 1.0: open-source stochastic geological modeling and inversion](https://gmd.copernicus.org/articles/12/1/2019/gmd-12-1-2019.pdf), Geosci. Model Dev., 12, 1-32.\n* Wellmann, F., \u0026 Caumon, G. (2018). [3-D Structural geological models: Concepts, methods, and uncertainties.](https://hal.univ-lorraine.fr/hal-01921494/file/structural_models_for_geophysicsHAL.pdf) In Advances in Geophysics (Vol. 59, pp. 1-121). Elsevier.\n* Calcagno, P., Chilès, J. P., Courrioux, G., \u0026 Guillen, A. (2008). [Geological modelling from field data and geological knowledge: Part I. Modelling method coupling 3D potential-field interpolation and geological rules](https://www.sciencedirect.com/science/article/abs/pii/S0031920108001258). Physics of the Earth and Planetary Interiors, 171(1-4), 147-157.\n* Lajaunie, C., Courrioux, G., \u0026 Manuel, L. (1997). [Foliation fields and 3D cartography in geology: principles of a method based on potential interpolation](https://link.springer.com/article/10.1007/BF02775087). Mathematical Geology, 29(4), 571-584.\n","funding_links":["https://github.com/sponsors/Leguark"],"categories":["Software","Economic Geology"],"sub_categories":["Simulation and Modelling","Geology and Geophysics","Repositories"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgre-aachen%2Fgempy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcgre-aachen%2Fgempy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgre-aachen%2Fgempy/lists"}