Model 7 - Combination

A folded domain featuring an unconformity and a fault. We start by importing the necessary dependencies:

Importing GemPy

import gempy as gp

import pandas as pd
pd.set_option('precision', 2)

Creating the model by importing the input data and displaying it:

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

geo_data = gp.create_data('combination',
                          extent=[0, 2500, 0, 1000, 0, 1000],
                          resolution=[125, 50, 50],
                          path_o=path_to_data + "model7_orientations.csv",
                          path_i=path_to_data + "model7_surface_points.csv")

Out:

Active grids: ['regular']
X Y Z smooth surface G_x G_y G_z
surface_points 0 0 0 800 2.00e-06 rock3 NaN NaN NaN
1 0 500 800 2.00e-06 rock3 NaN NaN NaN
2 0 1000 800 2.00e-06 rock3 NaN NaN NaN
3 500 0 800 2.00e-06 rock3 NaN NaN NaN
4 500 500 800 2.00e-06 rock3 NaN NaN NaN
... ... ... ... ... ... ... ... ... ...
orientations 4 0 1000 450 1.00e-02 rock2 -0.42 1.00e-12 0.91
1 0 500 250 1.00e-02 rock1 -0.42 1.00e-12 0.91
3 0 0 250 1.00e-02 rock1 -0.42 1.00e-12 0.91
5 0 1000 250 1.00e-02 rock1 -0.42 1.00e-12 0.91
7 2000 500 400 1.00e-02 fault 0.82 1.00e-12 0.57

110 rows × 8 columns



Setting and ordering the units and series:

gp.map_stack_to_surfaces(geo_data, {"Fault_Series": ('fault'), "Strat_Series1": ('rock3'),
                                     "Strat_Series2": ('rock2','rock1'),
                                     "Basement_Series":('basement')})

geo_data.set_is_fault(['Fault_Series'])

Out:

Fault colors changed. If you do not like this behavior, set change_color to False.
order_series BottomRelation isActive isFault isFinite
Fault_Series 1 Fault True True False
Strat_Series1 2 Erosion True False False
Strat_Series2 3 Erosion True False False
Basement_Series 4 Erosion False False False


gp.plot_2d(geo_data, direction='y')
Cell Number: mid Direction: y

Out:

<gempy.plot.visualization_2d.Plot2D object at 0x7fccb8adedc0>

Calculating the model:

interp_data = gp.set_interpolator(geo_data, theano_optimizer='fast_compile')

Out:

Setting kriging parameters to their default values.
Compiling theano function...
Level of Optimization:  fast_compile
Device:  cpu
Precision:  float64
Number of faults:  1
Compilation Done!
Kriging values:
                        values
range                 2872.28
$C_o$               196428.57
drift equations  [3, 3, 3, 3]

Displaying the result in x and y direction:

gp.plot_2d(geo_data, cell_number=5,
           direction='y', show_data=False, show_boundaries=True)
Cell Number: 5 Direction: y

Out:

<gempy.plot.visualization_2d.Plot2D object at 0x7fcc46555d60>

sphinx_gallery_thumbnail_number = 2

gp.plot_2d(geo_data, cell_number=5,
           direction='x', show_data=True)
Cell Number: 5 Direction: x

Out:

<gempy.plot.visualization_2d.Plot2D object at 0x7fcc46555790>
gp.plot_3d(geo_data)
gp.save_model(geo_data)
7 combination

Out:

True

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

Gallery generated by Sphinx-Gallery