Model 6 - Unconformity

Modeling unconformities through the combination of scalar fields

This script creates an unconformity cutting an anticline structure using GemPy, an open-source, Python-based library for building implicit geological models.

# Import necessary libraries
import gempy as gp
import gempy_viewer as gpv

# sphinx_gallery_thumbnail_number = 2

Generate the model

Define the path to the input data

data_path = 'https://raw.githubusercontent.com/cgre-aachen/gempy_data/master/'
path_to_data = data_path + "/data/input_data/jan_models/"

# Create a GeoModel instance
geo_model = gp.create_geomodel(
    project_name='unconformity',
    extent=[0, 1000, 0, 1000, 0, 1000],
    refinement=6,
    importer_helper=gp.data.ImporterHelper(
        path_to_orientations=path_to_data + "model6_orientations.csv",
        path_to_surface_points=path_to_data + "model6_surface_points.csv"
    )
)

# Map geological series to surfaces
gp.map_stack_to_surfaces(
    gempy_model=geo_model,
    mapping_object={
        "Strat_Series1": 'rock3',
        "Strat_Series2": ('rock2', 'rock1')
    }
)

# Compute the geological model
gp.compute_model(geo_model)
Surface points hash:  7f8130574e9fd3deb75ffcbfcafff5b6b832d233ee95246f4be17e5cb8575712
Orientations hash:  580fd4be0d29ee09c4018f629b4a1b3545faeae127e6532e66f730e7f0203e69
Setting Backend To: AvailableBackends.PYTORCH
GPU enabled. Using device: cuda
GPU device count: 1
Current GPU device: 0
Solutions: 6 Octree Levels, 3 DualContouringMeshes


2D visualization

Plot the initial input data in the y direction, without computed results

gpv.plot_2d(geo_model, direction=['y'], show_results=False)
Cell Number: mid Direction: y
<gempy_viewer.modules.plot_2d.visualization_2d.Plot2D object at 0x7f3eea282550>

Plot the computed result in the y and x directions, with data

gpv.plot_2d(geo_model, direction='y', show_data=True)
gpv.plot_2d(geo_model, direction='x', show_data=True)
  • Cell Number: mid Direction: y
  • Cell Number: mid Direction: x
<gempy_viewer.modules.plot_2d.visualization_2d.Plot2D object at 0x7f3eea6bda50>

3D visualization

Display the computed model in 3D

gpv.plot_3d(geo_model, show_lith=True, show_boundaries=True, ve=None)
f06 unconformity
<gempy_viewer.modules.plot_3d.vista.GemPyToVista object at 0x7f3e3d5ff690>

Total running time of the script: (0 minutes 3.285 seconds)

Gallery generated by Sphinx-Gallery