# <p align="center"><img src="docs/readme_images/header_combined_slim.png" width="1000"></p>
> Open-source, implicit 3D structural geological modeling in Python.
[![PyPI](https://img.shields.io/badge/python-3-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/badge/pypi-1.0-blue.svg)](https://pypi.org/project/gempy/)
[![license: LGPL v3](https://img.shields.io/badge/license-LGPL%20v3-blue.svg)](https://github.com/cgre-aachen/gempy/blob/master/LICENSE)
[![Documentation Status](https://assets.readthedocs.org/static/projects/badges/passing-flat.svg)](http://docs.gempy.org)
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/cgre-aachen/gempy/master)
[![DOI](https://zenodo.org/badge/96211155.svg)](https://zenodo.org/badge/latestdoi/96211155)
[![DOCKER](https://img.shields.io/docker/cloud/automated/leguark/gempy.svg)](https://cloud.docker.com/repository/docker/leguark/gempy)
## Overview
[GemPy](https://www.gempy.org/) 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`
as it will take care of automatically installing all the required dependencies - except in windows that requires one extra step.
Windows does not have a gcc compilers pre-installed. The easiest way to get a aesara compatible compiler is by using
the aesara conda installation. Therefore the process would be the following:
`$ conda install aesara`
`$ pip install gempy`
For more information, refer to the [installation documentation](https://docs.gempy.org/installation.html).
## Requirements
The following versions are required/strongly recommended for the main dependencies of GemPy (as of June 2023):
- python=3.10
- pandas=2.0.1
- matplotlib>=3.7
- pyvista>=0.39
## Resources
After installation, you can either check the [notebook tutorials](https://docs.gempy.org/getting_started/get_started.html#sphx-glr-getting-started-get-started-py)
or the [video introduction](https://www.youtube.com/watch?v=n0btC5Zilyc) to get started.
Go to the [documentation site](http://docs.gempy.org/) for further information and enjoy the [tutorials and examples](https://www.gempy.org/tutorials).
For questions and support, please use [discussions](https://github.com/cgre-aachen/gempy/discussions).
If you find a bug or have a feature request, create an [issue](https://github.com/cgre-aachen/gempy/issues).
Follow these [guidelines](https://github.com/cgre-aachen/gempy/blob/WIP_readme-update-march21/CONTRIBUTING.md) to contribute to GemPy.
<a name="ref"></a>
## References
* 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.
* Wellmann, F., & 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.
* 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](https://www.sciencedirect.com/science/article/abs/pii/S0031920108001258). 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](https://link.springer.com/article/10.1007/BF02775087). Mathematical Geology, 29(4), 571-584.
## Publications using GemPy
* Schaaf, A., de la Varga, M., Wellmann, F., & 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
* 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. https://doi.org/10.3390/geosciences11040150.
* 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.
* Wellmann, F., Schaaf, A., de la Varga, M., & von Hagke, C. (2019). [From Google Earth to 3D Geology Problem 2: Seeing Below the Surface of the Digital Earth](
https://www.sciencedirect.com/science/article/pii/B9780128140482000156).
In Developments in Structural Geology and Tectonics (Vol. 5, pp. 189-204). Elsevier.
A continuously growing list of gempy-applications (e.g. listing real-world models) can be found [here](https://hackmd.io/@Japhiolite/B1juPvCxc).
## Gallery
### Geometries
<p>
<table>
<tr>
<td>
<a href="https://docs.gempy.org/examples/geometries/1_horizontal_stratigraphic.html#sphx-glr-examples-geometries-1-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/2_fold.html#sphx-glr-examples-geometries-2-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/3_recumbent_fold.html#sphx-glr-examples-geometries-3-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/4_pinchout.html#sphx-glr-examples-geometries-4-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/5_fault.html#sphx-glr-examples-geometries-5-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/6_unconformity.html#sphx-glr-examples-geometries-6-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="docs/readme_images/sectiontest.png" width="300" />
</a>
</td>
<td>
<a href="https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_7_3d_visualization.html#sphx-glr-tutorials-ch1-fundamentals-ch1-7-3d-visualization-py">
<img alt="colormapped image plot thumbnail" src="docs/readme_images/data_vis.png" width="300" />
</a>
</td>
<td>
<a href="https://docs.gempy.org/examples/geometries/7_combination.html#sphx-glr-examples-geometries-7-combination-py">
<img alt="colormapped image plot thumbnail" src="docs/readme_images/scalarfield.png" width="300" />
</a>
</td>
</tr>
<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="docs/readme_images/geomap.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="docs/readme_images/topology.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="docs/readme_images/topology_matrix.png" width="300" />
</a>
</td>
</tr>
</table>
</p>
### 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="docs/readme_images/alesmodel.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="docs/readme_images/perthmodel.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="docs/readme_images/greenstonemodel.png" width="300" />
</a>
</td>
</tr>
</table>
</p>
Raw data
{
"_id": null,
"home_page": "https://github.com/cgre-aachen/gempy",
"name": "gempy-legacy",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "geology, 3-D modeling, structural geology, uncertainty",
"author": "Miguel de la Varga, Alexander Zimmerman, Elisa Heim, Alexander Schaaf, Fabian Stamm, Florian Wellmann, Jan Niederau, Andrew Annex, Alexander Juestel",
"author_email": "miguel@terranigma-solutions.com",
"download_url": "https://files.pythonhosted.org/packages/e4/af/49023a0557c80dc12cc95350d3c7be9335e2505ce1aae4338b86e69e4e63/gempy_legacy-2.3.2.tar.gz",
"platform": null,
"description": "# <p align=\"center\"><img src=\"docs/readme_images/header_combined_slim.png\" width=\"1000\"></p>\n\n> Open-source, implicit 3D structural geological modeling in Python.\n\n[![PyPI](https://img.shields.io/badge/python-3-blue.svg)](https://www.python.org/downloads/)\n[![PyPI](https://img.shields.io/badge/pypi-1.0-blue.svg)](https://pypi.org/project/gempy/)\n[![license: LGPL v3](https://img.shields.io/badge/license-LGPL%20v3-blue.svg)](https://github.com/cgre-aachen/gempy/blob/master/LICENSE)\n[![Documentation Status](https://assets.readthedocs.org/static/projects/badges/passing-flat.svg)](http://docs.gempy.org)\n[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/cgre-aachen/gempy/master)\n[![DOI](https://zenodo.org/badge/96211155.svg)](https://zenodo.org/badge/latestdoi/96211155)\n[![DOCKER](https://img.shields.io/docker/cloud/automated/leguark/gempy.svg)](https://cloud.docker.com/repository/docker/leguark/gempy)\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`\n\nas it will take care of automatically installing all the required dependencies - except in windows that requires one extra step.\n\nWindows does not have a gcc compilers pre-installed. The easiest way to get a aesara compatible compiler is by using \nthe aesara conda installation. Therefore the process would be the following:\n\n`$ conda install aesara`\n\n`$ pip install gempy`\n\nFor more information, refer to the [installation documentation](https://docs.gempy.org/installation.html).\n\n## Requirements\n\nThe following versions are required/strongly recommended for the main dependencies of GemPy (as of June 2023):\n- python=3.10\n- pandas=2.0.1\n- matplotlib>=3.7\n- pyvista>=0.39\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<a name=\"ref\"></a>\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., & 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\u00e8s, 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](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., & 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\n## Publications using GemPy\n\n\n* Schaaf, A., de la Varga, M., Wellmann, F., & 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* G\u00fcd\u00fck, 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. https://doi.org/10.3390/geosciences11040150.\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\u20132043.\n* Wellmann, F., Schaaf, A., de la Varga, M., & 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\nA continuously growing list of gempy-applications (e.g. listing real-world models) can be found [here](https://hackmd.io/@Japhiolite/B1juPvCxc).\n\n## Gallery\n\n### Geometries\n\n<p>\n<table>\n<tr>\n\n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/1_horizontal_stratigraphic.html#sphx-glr-examples-geometries-1-horizontal-stratigraphic-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model1_nodata.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/2_fold.html#sphx-glr-examples-geometries-2-fold-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model2_nodata.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/3_recumbent_fold.html#sphx-glr-examples-geometries-3-recumbent-fold-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model3_nodata.png\" width=\"300\" />\n </a>\n </td>\n\n</tr>\n<tr>\n\n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/4_pinchout.html#sphx-glr-examples-geometries-4-pinchout-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model4_nodata.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/5_fault.html#sphx-glr-examples-geometries-5-fault-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model5_nodata.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/6_unconformity.html#sphx-glr-examples-geometries-6-unconformity-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/model6_nodata.png\" width=\"300\" />\n </a>\n </td>\n\n</tr>\n</table>\n</p>\n\n### Features\n\n<p>\n<table>\n<tr>\n\n <td>\n <a href=\"https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_3b_cross_sections.html#sphx-glr-tutorials-ch1-fundamentals-ch1-3b-cross-sections-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/sectiontest.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_7_3d_visualization.html#sphx-glr-tutorials-ch1-fundamentals-ch1-7-3d-visualization-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/data_vis.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/geometries/7_combination.html#sphx-glr-examples-geometries-7-combination-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/scalarfield.png\" width=\"300\" />\n </a>\n </td>\n\n</tr>\n<tr>\n\n <td>\n <a href=\"https://docs.gempy.org/tutorials/ch1_fundamentals/ch1_3b_cross_sections.html#sphx-glr-tutorials-ch1-fundamentals-ch1-3b-cross-sections-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/geomap.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/tutorials/ch4-Topology/ch4-1-Topology.html#sphx-glr-tutorials-ch4-topology-ch4-1-topology-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/topology.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/tutorials/ch4-Topology/ch4-1-Topology.html#sphx-glr-tutorials-ch4-topology-ch4-1-topology-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/topology_matrix.png\" width=\"300\" />\n </a>\n </td>\n\n</tr>\n</table>\n</p>\n\n\n### Case studies\n\n<p>\n<table>\n<tr>\n\n <td>\n <a href=\"https://docs.gempy.org/examples/real/Alesmodel.html#sphx-glr-examples-real-alesmodel-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/alesmodel.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/real/Perth_basin.html#sphx-glr-examples-real-perth-basin-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/perthmodel.png\" width=\"300\" />\n </a>\n </td>\n \n <td>\n <a href=\"https://docs.gempy.org/examples/real/Greenstone.html#sphx-glr-examples-real-greenstone-py\">\n <img alt=\"colormapped image plot thumbnail\" src=\"docs/readme_images/greenstonemodel.png\" width=\"300\" />\n </a>\n </td>\n\n</tr>\n</table>\n</p>\n",
"bugtrack_url": null,
"license": "LGPL v3",
"summary": "An Open-source, Python-based 3-D structural geological modeling software.",
"version": "2.3.2",
"project_urls": {
"Homepage": "https://github.com/cgre-aachen/gempy"
},
"split_keywords": [
"geology",
" 3-d modeling",
" structural geology",
" uncertainty"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b7dcdeba0d389f665c2bce4ae2f9521004aff71ed6b8dca4fca6494719224415",
"md5": "f4fc4f29150b7b39800d83551b8a545e",
"sha256": "86547315e654b3b4fe4ba17a71510ec4973726c9023b710b6a296bb50f3429c5"
},
"downloads": -1,
"filename": "gempy_legacy-2.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f4fc4f29150b7b39800d83551b8a545e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 339327,
"upload_time": "2024-04-18T07:29:39",
"upload_time_iso_8601": "2024-04-18T07:29:39.321014Z",
"url": "https://files.pythonhosted.org/packages/b7/dc/deba0d389f665c2bce4ae2f9521004aff71ed6b8dca4fca6494719224415/gempy_legacy-2.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e4af49023a0557c80dc12cc95350d3c7be9335e2505ce1aae4338b86e69e4e63",
"md5": "4ecb2657ac10c8d84a9587334c9ca069",
"sha256": "337ed6b39a39eec089c2c66f43372e5951a4869dc1cc2b349b98159f6f9741f9"
},
"downloads": -1,
"filename": "gempy_legacy-2.3.2.tar.gz",
"has_sig": false,
"md5_digest": "4ecb2657ac10c8d84a9587334c9ca069",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 360493,
"upload_time": "2024-04-18T07:29:43",
"upload_time_iso_8601": "2024-04-18T07:29:43.650508Z",
"url": "https://files.pythonhosted.org/packages/e4/af/49023a0557c80dc12cc95350d3c7be9335e2505ce1aae4338b86e69e4e63/gempy_legacy-2.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-18 07:29:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cgre-aachen",
"github_project": "gempy",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "gempy-legacy"
}