Skip to content

Commit

Permalink
Merge pull request #24 from cgre-aachen/dev_gemgis
Browse files Browse the repository at this point in the history
FixReferences
  • Loading branch information
AlexanderJuestel authored Aug 8, 2023
2 parents ba82b25 + dd3842f commit 9831fb4
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions jose/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,16 @@ bibliography: paper.bib

# Summary

The geological map-to-model tutorials presented enable users of the **GemPy** and **GemGIS** Python libraries and associated packages to create structural geological models from scratch using input data for conceptual models but also more sophisticated models representing possible real-world examples. Text book geological maps and cross sections [e.g., @{bennison}; @{powell}] are transformed into structural models serving as teaching materials for undergraduate students in the field of Applied Geosciences at RWTH Aachen University, Germany. Their purpose is to enable students to not only think about geological problems in 2D (map view) but also in 3D (current structure of the subsurface) and even 4D (depositional, tectonic and erosional events resulting in the current structural framework). The purpose of creating these models is not to substitute the necessary analog thinking of geoscientists but to aid them in verifying their results, to advance 3D thinking skills and to introduce students to the world of data processing, data visualization, data analysis and structural geological modeling in Python.
The geological map-to-model tutorials presented enable users of the **GemPy** and **GemGIS** Python libraries and associated packages to create structural geological models from scratch using input data for conceptual models but also more sophisticated models representing possible real-world examples. Text book geological maps and cross sections [e.g., @bennison; @powell] are transformed into structural models serving as teaching materials for undergraduate students in the field of Applied Geosciences at RWTH Aachen University, Germany. Their purpose is to enable students to not only think about geological problems in 2D (map view) but also in 3D (current structure of the subsurface) and even 4D (depositional, tectonic and erosional events resulting in the current structural framework). The purpose of creating these models is not to substitute the necessary analog thinking of geoscientists but to aid them in verifying their results, to advance 3D thinking skills and to introduce students to the world of data processing, data visualization, data analysis and structural geological modeling in Python.


# Statement of Need

The subsurface below our feet is utilized in many different ways. We extract fresh water, thermal waters and fossil fuels from it. We exploit the subsurface for its coal, minerals and ores in open-pit mines and underground mines. We store fluids and gases as well as nuclear waste in the subsurface. But to do so, a concept of the structure of the subsurface and its properties is needed to drill into the right formation, to dig or drill into the right direction, to ensure that none of the stored fluid escapes and to ensure that no contaminants leak into surrounding rocks.

Creating structural geological models not only in 1D boreholes or 2D cross-sections but also in 3D models is a first step to gain a comprehensive knowledge of the subsurface. Apart from actually drawing models, most efforts to create structural geological models in 3D are built in and restricted to commercial software packages such as GeoModeller [@{geomodeller}], Petrel, Move, GoCad [@{gocad}] and others. The aim of **GemPy** [@{gempy}] and **GemGIS** [@{gemgis}] and associated open-source packages is to provide open-source software tools to create 3D structural geological models from maps, cross sections, borehole information, stratigraphic boundaries at the surface and the subsurface, orientation measurements of the stratigraphic units, mapped horizons from seismic data or information inferred from other geophysical methods. **GemGIS** further provides tools to process spatial data independently of **GemPy** which extends the number of fields in which the open-source package can be utilized.
Creating structural geological models not only in 1D boreholes or 2D cross-sections but also in 3D models is a first step to gain a comprehensive knowledge of the subsurface. Apart from actually drawing models, most efforts to create structural geological models in 3D are built in and restricted to commercial software packages such as GeoModeller [@geomodeller], Petrel, Move, GoCad [@gocad] and others. The aim of **GemPy** [@gempy] and **GemGIS** [@gemgis] and associated open-source packages is to provide open-source software tools to create 3D structural geological models from maps, cross sections, borehole information, stratigraphic boundaries at the surface and the subsurface, orientation measurements of the stratigraphic units, mapped horizons from seismic data or information inferred from other geophysical methods. **GemGIS** further provides tools to process spatial data independently of **GemPy** which extends the number of fields in which the open-source package can be utilized.

The tutorial materials presented here are adopted from a mapping class for undergraduate students majoring in Applied Geosciences at RWTH Aachen University, Germany. There, the students work with print-outs of these maps, millimeter paper, rulers and pencils to solve the different tasks of the various tutorials. The purpose of this paper-based analog course is to develop the 3D geological thinking of the students and to allow them to obtain a concept of the structures in the subsurface through constructing and analyzing maps and 2D cross-sections [@{bennison}; @{powell}]. The tutorials presented here can be seen as the logical continuation of the introductory mapping course. These tutorials motivate students to dig deeper into the data or to confirm their previous results. The barrier to utilize the Python language and associated packages for processing and visualizing data is lowered by the use of these tutorials. The usage of 3D structural models in teaching has also been adapted to make use of AR-Sandboxes [@{Wellmann2022}]. Here, models created through **GemGIS** and **GemPy** can be recreated in the AR-Sandbox [(augmented reality Sandbox)](https://www.cg3.rwth-aachen.de/cms/cg3/Forschung/Forschungssoftware/~lljsr/Open-AR-Sandbox/). A generation of a modified map can then be triggered by manual interaction with sand, hence changing the topography of the model.
The tutorial materials presented here are adopted from a mapping class for undergraduate students majoring in Applied Geosciences at RWTH Aachen University, Germany. There, the students work with print-outs of these maps, millimeter paper, rulers and pencils to solve the different tasks of the various tutorials. The purpose of this paper-based analog course is to develop the 3D geological thinking of the students and to allow them to obtain a concept of the structures in the subsurface through constructing and analyzing maps and 2D cross-sections [@bennison; @powell]. The tutorials presented here can be seen as the logical continuation of the introductory mapping course. These tutorials motivate students to dig deeper into the data or to confirm their previous results. The barrier to utilize the Python language and associated packages for processing and visualizing data is lowered by the use of these tutorials. The usage of 3D structural models in teaching has also been adapted to make use of AR-Sandboxes [@Wellmann2022]. Here, models created through **GemGIS** and **GemPy** can be recreated in the AR-Sandbox [(augmented reality Sandbox)](https://www.cg3.rwth-aachen.de/cms/cg3/Forschung/Forschungssoftware/~lljsr/Open-AR-Sandbox/). A generation of a modified map can then be triggered by manual interaction with sand, hence changing the topography of the model.

# Resources
The following resources are provided before going through the tutorials. It is recommended to use an [Anaconda Python distribution](https://www.anaconda.com/) and [Jupyter Notebooks](https://jupyter.org/) to access the tutorials. Both **GemPy** and **GemGIS** have been developed in recent years at the [Department for Computational Geosciences and Reservoir Engineering at RWTH Aachen University, Germany](https://www.cgre.rwth-aachen.de/). Both libraries are stored on Github and have well-documented resources:
Expand All @@ -69,11 +69,11 @@ The following resources are provided before going through the tutorials. It is r

Upon completion of the tutorials, the users will have learnt to:

- Create the necessary raw data for **GemGIS** and **GemPy** using the open-source software QGIS [@{QGIS_software}]
- Explore and manipulate the raw data using the Pandas [@{pandas}] and GeoPandas libraries [@{geopandas}]
- Create the necessary raw data for **GemGIS** and **GemPy** using the open-source software QGIS [@QGIS_software]
- Explore and manipulate the raw data using the Pandas [@pandas] and GeoPandas libraries [@geopandas]
- Process the raw data using **GemGIS** to create input data for **GemPy**
- Create the 3D structural model using **GemPy**
- Visualize the results using Matplotlib [@{matplotlib}] and PyVista [@{pyvista}]
- Visualize the results using Matplotlib [@matplotlib] and PyVista [@pyvista]
- Perform post-processing tasks
- Applying the different steps of the model building to user's own maps and datasets.

Expand All @@ -92,7 +92,7 @@ The tutorials are organized in a modular fashion and consist of seven units as s


## Basic Structural Geological Modeling with GemPy
**GemPy** is capable of modeling planar layers, folded layers, faulted layers, truncated layers and combinations of the aforementioned structures. The required input data for building a structural model in **GemPy** consists of locations for stratigraphic boundaries encountered on the surface (outcrops, maps, mines), or in the subsurface (boreholes, geological cross sections, seismic data, or constraints from other geophysical methods) and orientation measurements representing the dip and the azimuth of the respective stratigraphic unit also measured on the surface or in the subsurface. The input is loaded and assigned to different interpolation fields, where each field represents conformal surfaces which are modeled using one scalar field (implicit surface representation approach [@{Lajaunie1997}]). Through the interaction of multiple scalar fields, it is possible to represent non-conformal features, unconformities and the effect of faults. Each fault is attributed to its own scalar field. The interpolation itself is performed through a meshless interpolation algorithm, and a marching cube algorithm is subsequently used to create PyVista meshes from the interpolated fields for further visualization and post-processing.
**GemPy** is capable of modeling planar layers, folded layers, faulted layers, truncated layers and combinations of the aforementioned structures. The required input data for building a structural model in **GemPy** consists of locations for stratigraphic boundaries encountered on the surface (outcrops, maps, mines), or in the subsurface (boreholes, geological cross sections, seismic data, or constraints from other geophysical methods) and orientation measurements representing the dip and the azimuth of the respective stratigraphic unit also measured on the surface or in the subsurface. The input is loaded and assigned to different interpolation fields, where each field represents conformal surfaces which are modeled using one scalar field (implicit surface representation approach [@Lajaunie1997]). Through the interaction of multiple scalar fields, it is possible to represent non-conformal features, unconformities and the effect of faults. Each fault is attributed to its own scalar field. The interpolation itself is performed through a meshless interpolation algorithm, and a marching cube algorithm is subsequently used to create PyVista meshes from the interpolated fields for further visualization and post-processing.


The first four notebooks illustrate how to create the different structures that **GemPy** is capable of modeling (Fig. \ref{fig1}):
Expand All @@ -107,7 +107,7 @@ The first four notebooks illustrate how to create the different structures that

## Model Building using teaching materials

In the section for the basic structural geological, models are presented where only one structural feature is present. Later on in the tutorial, the models include combinations of structural elements and therefore more complex models (Fig. \ref{fig3}). In addition, a topography is added to the models based on contour lines provided with the geological maps [@{bennison}; @{powell}].
In the section for the basic structural geological, models are presented where only one structural feature is present. Later on in the tutorial, the models include combinations of structural elements and therefore more complex models (Fig. \ref{fig3}). In addition, a topography is added to the models based on contour lines provided with the geological maps [@bennison; @powell].

The biggest advantage of this tutorial is that the input data is not provided as a CSV-file but as Shape-Files created by the user in a GIS environment such as QGIS (Fig. \ref{fig2}). Here, the user should already be aware which coordinate reference system the data is provided in. Using a cartesian coordinate system is recommended for the **GemPy** input data.

Expand Down Expand Up @@ -138,16 +138,16 @@ A very simple well sampling tool has been implemented to extract the intersected

## Creating ready-for publishing 3D models with Blender

To maximize the learning outcome, additional visualization techniques can be accessed. The open-source developed 3D creation suite Blender provides tools to model and edit meshes, to animate models and to render the final result (Fig. \ref{fig6}). Ray tracing technologies and complex shaders for materials allow the creation of photorealistic renders of models [@{Blender}]. This way, the lecturer is capable of highlighting key aspects of geological models and producing attractive figures or videos on a professional level.
To maximize the learning outcome, additional visualization techniques can be accessed. The open-source developed 3D creation suite Blender provides tools to model and edit meshes, to animate models and to render the final result (Fig. \ref{fig6}). Ray tracing technologies and complex shaders for materials allow the creation of photorealistic renders of models [@Blender]. This way, the lecturer is capable of highlighting key aspects of geological models and producing attractive figures or videos on a professional level.


![Example 2 (see Fig. \ref{fig7}) visualized in Blender. \label{fig6}](./images/fig6.png){ width=80% }

### Transferring the models to an AR-Sandbox using Open AR-sandbox (augmented reality sandbox)

Structural geological models created with **GemGIS** and **GemPy** can be transferred to an Open AR-Sandbox (Fig. \ref{fig7}) [@{Wellmann2022}]. After recreating the original topography, the original structural model or the geological map will be displayed, respectively. By modifying the sandbox topography, the geological map being displayed will be updated accordingly.
Structural geological models created with **GemGIS** and **GemPy** can be transferred to an Open AR-Sandbox (Fig. \ref{fig7}) [@Wellmann2022]. After recreating the original topography, the original structural model or the geological map will be displayed, respectively. By modifying the sandbox topography, the geological map being displayed will be updated accordingly.

![Geological model representation using Open AR-Sandbox [@{Wellmann2022}]: (A) digitization in GIS [@{bennison}]. (B) Reconstruction of topography in AR-Sandbox. (C) Generated 3-D model. (D) Geological map, calculated from 3-D geomodel and topography, projected in AR-Sandbox, view similar to original map. (E) and (F): modified topographies and updated geological map projections. \label{fig7}](./images/fig7.png)
![Geological model representation using Open AR-Sandbox [@Wellmann2022]: (A) digitization in GIS [@bennison]. (B) Reconstruction of topography in AR-Sandbox. (C) Generated 3-D model. (D) Geological map, calculated from 3-D geomodel and topography, projected in AR-Sandbox, view similar to original map. (E) and (F): modified topographies and updated geological map projections. \label{fig7}](./images/fig7.png)


# Experience of use in teaching and learning situations
Expand Down

0 comments on commit 9831fb4

Please sign in to comment.