Model 4 - PinchoutΒΆ

Forcing GemPy to create a layer of varying thickness. 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('pinchout',
                          extent=[0, 1000, 0, 1000, 0, 1000], resolution=[50, 50, 50],
                          path_o=path_to_data + "model4_orientations.csv",
                          path_i=path_to_data + "model4_surface_points.csv")

Out:

Active grids: ['regular']
X Y Z smooth surface G_x G_y G_z
surface_points 0 0 200 300 2.00e-06 rock1 NaN NaN NaN
1 0 800 300 2.00e-06 rock1 NaN NaN NaN
2 500 200 375 2.00e-06 rock1 NaN NaN NaN
3 500 800 375 2.00e-06 rock1 NaN NaN NaN
4 1000 200 450 2.00e-06 rock1 NaN NaN NaN
5 1000 800 450 2.00e-06 rock1 NaN NaN NaN
6 0 200 700 2.00e-06 rock2 NaN NaN NaN
7 0 800 700 2.00e-06 rock2 NaN NaN NaN
8 500 200 625 2.00e-06 rock2 NaN NaN NaN
9 500 800 625 2.00e-06 rock2 NaN NaN NaN
10 1000 200 550 2.00e-06 rock2 NaN NaN NaN
11 1000 800 550 2.00e-06 rock2 NaN NaN NaN
orientations 3 500 500 375 1.00e-02 rock1 -0.15 1.00e-12 0.99
4 500 200 375 1.00e-02 rock1 -0.15 1.00e-12 0.99
5 500 800 375 1.00e-02 rock1 -0.15 1.00e-12 0.99
0 500 500 625 1.00e-02 rock2 0.15 1.00e-12 0.99
1 500 200 625 1.00e-02 rock2 0.15 1.00e-12 0.99
2 500 800 625 1.00e-02 rock2 0.15 1.00e-12 0.99


Setting and ordering the units and series:

gp.map_stack_to_surfaces(geo_data,
                         {"Strat_Series": ('rock2', 'rock1'),
                          "Basement_Series": ('basement')})
surface series order_surfaces color id
0 rock1 Strat_Series 1 #015482 1
1 rock2 Strat_Series 2 #9f0052 2
2 basement Basement_Series 1 #ffbe00 3


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

Out:

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

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:  0
Compilation Done!
Kriging values:
                    values
range             1732.05
$C_o$            71428.57
drift equations    [3, 3]

Displaying the result in x and y direction:

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

Out:

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

sphinx_gallery_thumbnail_number = 3

gp.plot_2d(geo_data, cell_number=[25],
           direction=['y'], show_data=True)
Cell Number: 25 Direction: y

Out:

<gempy.plot.visualization_2d.Plot2D object at 0x7fcc6bc7cb20>
gp.save_model(geo_data)

Out:

True

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

Gallery generated by Sphinx-Gallery