Geomodelling - Tutorial
Geomodelling - Tutorial
Engineers
Builder V.2018.10
Tutorial
Geomodelling for Reservoir Engineers
This tutorial will provide steps for building a simple reservoir 3D model using the features
available in Builder. It will also show how to use the geostatistical tools for populating the 3D
grid with porosity and permeability values. The tutorial aims at making the user more familiar
with the options available in Builder for the purpose of building and editing geological models.
A Black-Oil IMEX dataset with metric units well be used for this tutorial. Predefined fluid
components and rock-fluid data have been created as a starting point for the model build. For
interested users, the steps of loading the Rock Fluid and PVT data can be found in the
Introduction to CMGs Modelling Workflows material and will not be repeated in this class.
1. Click on Wells & Recurrent | Well Trajectories | Well Trajectories. This will open the Import
well trajectory wizard
1
Geomodelling – Builder Tutorial
Figure 1: Importing Well Trajectories
2. Select the Table Format for the file type and navigate to find “All_Wells.wdb”. The units will
automatically be set to “m”
3. Click Next twice and the Finish button to close the dialog
2
Geomodelling – Builder Tutorial
Figure 3: Importing Formation Top Data
Note: Well tops will automatically be displayed as small red disks on each well. Sometimes the
disks are too small for good visualization. The size of the disks can be increased in the
Properties menu.
3
Geomodelling – Builder Tutorial
Figure 4: Changing Well Tops Size
5. Click OK to close the Properties menu. The disks will appear bigger as shown below
4
Geomodelling – Builder Tutorial
1. Click on Tools | Import Tops from Trajectories
2. The top file opened previously will already be selected. Click OK to close the window.
3. Browse to the desired save location using the button and change the name of the file to
“TOP_Map.msh”
5
Geomodelling – Builder Tutorial
4. Select the Methods tab and change the Calculation method to Ordinary Kriging (OK) Estimation
Figure 9: Create Map Dialog with Methods Tab and Ordinary Kriging
6
Geomodelling – Builder Tutorial
When investigating anisotropy a control parameter for the Principal Axis Azimuth Angle and
a second control parameter to edit the variogram (in a perpendicular direction) will be
added to the options in Builder. The Principal Axis Azimuth Angle is assumed to
correspond to the direction of the major axis of the anisotropy ellipse. This is expected to
be the direction of maximum continuity (or correlation) in the data.
1. Select the Bi-Directional option from the Horizontal Variogram Direction pull-down list.
2. Click on the Click to match variogram button which will compute the variogram for the given
directions and find a best match with the variogram models available in Builder
7
Geomodelling – Builder Tutorial
Figure 11: Variogram for Top Map
Note: The plot shows four variogram curves; actual empirical variogram curves computed for
each direction (black lines) and the variogram model (blue lines) automatically fitted to the
empirical variogram curves. The empirical variogram data points are computed for different
lag distances which are marked with green or red small squares. The green data points
identify values that were calculated with at least 30 pairs of data points. These data points
carry enough statistical mass to be considered as significant. The red points have been
computed with less than 30 pairs of data and their variance level (y-axis) may not be less
reliable. Attention should be focused on the green points when matching the model curves
to the empirical data points.
The horizontal gray line indicates the level of the data variance. In absence of trends in the
data, the variograms should level off at (or around) the data variance level. When a trend is
present, the variogram will continue increasing above the data variance line. Very strong
trends should be removed before the use of interpolation methods. However, trends are
usually a matter of scale. Very often, it is correct to consider that there is no trend in the
data if we confine the interpolation to a small window around each of the interpolation
locations. In such cases, the variogram function needs to be matched only for distances
smaller or equal to the search window.
8
Geomodelling – Builder Tutorial
Editing Variogram Data
1. Close the variogram plot window and click on the Click to edit variogram data button for the
Horizontal Variogram: Angle = 0.
2. Select Gaussian under Variogram type and click OK to close the window
3. Click the Click to match variogram button to redisplay the variogram plot
4. With the new Variogram type, adjust the model by dragging the handles (blue curve) to achieve the
best possible match. A match may look similar to the plot below:
9
Geomodelling – Builder Tutorial
Figure 13: Matching Variogram for Tops
Note: The variogram can be considered matched. Notice the variogram matches the actual
curves for a lag distance up to about 2500m. This information will be considered again
when defining a search window for the data interpolation.
Note: No matter how large the search window is defined, the maximum number of data used for
calculating an estimated value at any location is actually controlled by the Number of
nearest points option on the Methods tab
10
Geomodelling – Builder Tutorial
Figure 14: Editing the Horizontal Variogram Data
Note: WARNING: Notice that the variogram range (4691 m; values may vary depending on
variogram fit) is fairly large in comparison to the distances between the wells. This will likely
create issues with the Gaussian variogram type. It is well documented that the Gaussian
Variogram model can generate numerical instabilities in such situation. These numerical
instabilities will translate as erratic behavior in the contour lines of the interpolated surface.
Very often, geostatisticians will add a very small nugget effect to the Gaussian Variogram
to avoid numerical instability. In this case, it is suggested to add a nugget effect of 2 which
is small enough to not change the variogram fit, yet enough to remove numerical
instabilities when solving the kriging equations. It should also be noted that only the
Gaussian variogram model requires such attention
11
Geomodelling – Builder Tutorial
Figure 15: Top Map for Reservoir
Note: The map has been automatically meshed by using the default parameters in the Mesh tab
of the Create Map window. These parameters can be changed to refine or coarsen the
meshing. The interpolated map should cover the same area as the simulator grid which will
be created.
Grid Definition
1. If no maps are currently displayed in Builder’s main view, navigate to File | Open Map File and select
the top map created in the previous steps - this helps to correctly position the simulation grid
2. Navigate to Reservoir | Create Grid | Orthogonal Corner Point to display the grid creation window
3. Define the grid with the values shown below:
12
Geomodelling – Builder Tutorial
Figure 16: Orthogonal Corner Point Grid Definition
Note: For an exact match with the previous maps, the grid definition can be found in the header
of the previously computed mesh maps if viewed in a text editor.
13
Geomodelling – Builder Tutorial
Figure 17: Top Map with Grid Defined
5. Optional Step: The grid can be shifted (hold Shift + left mouse button) or rotated (hold Ctrl + left
mouse button) to align the grid with the displayed map
6. Click on the Probe button to leave the editing grid mode
1. Click the Specify Property button on the View Control tool bar
2. In Layer 1 under the Grid Top property, right click and select Geological Map to display the
Property Selection window
3. Click the Values in file1 button and navigate and select the “Top_Map.msh” file
14
Geomodelling – Builder Tutorial
Figure 18: Selecting Map Type and File
Note: A predefined thickness map of the reservoir has been defined. This will be assigned to the
grid and subdivided by the number of vertical layers
5. Select Layer 1 of the Grid Thickness property, right click and select Geological Map
6. Click the button and navigate to the Required Data folder and select the
Thick_Map.msh
7. Change the edit box to the right of times from 1 to 0.05. This is the multiplier used to split the
thickness over all the 20 layers, each layer having one twentieth of the total thickness
15
Geomodelling – Builder Tutorial
8. Click OK to close the dialog
9. Copy the Grid Thickness specification of row Layer 1 to all rows from Layer 2 to Layer 20 as shown
below:
10. Click OK to close the dialog and click OK to the next dialog to actually compute the corners of the
grid
16
Geomodelling – Builder Tutorial
Figure 21: 3D View of the Simulator Grid and Thickness Property
Geostatistical Objects
1. Click on Reservoir | Geostatistics to bring up the geostatistics dialog
17
Geomodelling – Builder Tutorial
Figure 22: Geostatistics Dialog
6. Add the suffix PoroSim for the custom property name
Note: The porosity values cannot be directly loaded into the Porosity property because the values
are percentages instead of fractions. A formula will be used later to adjust the values
7. Click the Tools button and select Import logs or tables of measured depth value option
18
Geomodelling – Builder Tutorial
Figure 23: Importing Well and Log Information for Geostatistics
9. Click and navigate to the Required Data folder and select all the available LAS files
10. Click OK to import all the logs and back to the Select Wells and Logs dialog
11. Click the button
12. Click the button to select all wells and OK to close the dialog
19
Geomodelling – Builder Tutorial
Figure 25: Advanced Well Selection dialog
13. Select the DPHI log and click OK to close the dialog. This will import the well log data and average
the values if more than one point is located in the same grid block
Geostatistical Method
1. Select the Methods tab
20
Geomodelling – Builder Tutorial
2. Change the Calculation Method to Gaussian Geostatistical Simulation
Note: Similar to Ordinary Kriging, Gaussian Simulation also computes an estimated value as a
weighted average of the neighboring data with the weights based on a variogram model.
Contrary to Ordinary Kriging, which only retains the weighted average, Gaussian simulation
actually computes an error variance around the weighted average and uses it to simulate a
value in the error bracket around the estimated average. Therefore, it is a simulation
method as opposed to an estimation method. The simulated values will reproduce the data
histogram and the variogram model used. The simulated values will also display a more
heterogeneous pattern as oppose to an overly smooth pattern observed with Ordinary
Kriging. The pattern obtained with simulation is closer to what is expected for a property
such as porosity. Another advantage of simulation is that they can generate multiple
versions of the porosity values on the grid. This allows for uncertainty analysis
3D Variogram Analysis
1. To investigate anisotropy, select the Bi-Directional option from the pull-down list of the Horizontal
Variogram Direction
2. Click the Click to match variogram button
21
Geomodelling – Builder Tutorial
Figure 28: Variogram Plot for 3D Geostatistics Object
Note: The plot shows that the horizontal variogram looks similar in all directions (can verify further
by changing the Principal Axis Azimuth Angle). The nugget effect appears to be quite high.
Usually, the vertical variogram will give a better estimate of the nugget effect because the
data values are closer to each other along the wells than between wells. Currently, the
vertical variogram cannot be seen because its scale is much smaller than the horizontal
variogram scale.
3. Deselect the horizontal variograms and the Data Variance in the tree view of the window
22
Geomodelling – Builder Tutorial
Figure 29: Vertical Variogram Plot
Note: By zooming in on the vertical variogram, it appears the nugget effect should be smaller. To
adjust the nugget effect dynamically from the curve, the horizontal variogram needs to be
re-selected. In this particular example, the vertical variogram component is very useful to fit
the beginning of the variogram. The horizontal component is used to fit the variogram
maximum level and possible horizontal anisotropies.
4. Enable the horizontal variograms and adjust the nugget to 0 using the handles on the model
23
Geomodelling – Builder Tutorial
Figure 30: Variogram with Adjusted Nugget
Note: It can be seen that the automated model is most likely Gaussian model is most likely not
the best fit for the empirical data. This should be adjusted.
5. Close the variogram window and change the Horizontal Variogram Direction back to Omni-Direction
as there is no indication of anisotropy
6. Click
7. Change the Variogram Type to Spherical
24
Geomodelling – Builder Tutorial
Figure 31: Selecting Spherical Model
8. Return to the Variogram plot and match the Horizontal and Vertical models
25
Geomodelling – Builder Tutorial
Figure 43: Vertical and Horizontal Variogram Plots
Simulating Porosity
10. Click the button to actually create the CMGLCustom_PoroSim property. The results
will be automatically displayed in Builder’s main view when the calculations are finished.
11. Click OK to save the newly created geostatistical object and close the dialog
26
Geomodelling – Builder Tutorial
12. Save the dataset
2. Click and change the Formula Name to “Porosity – Fraction” under Formula Name
3. Click the Add Independent Variables button and select the CMGLCustom_PoroSim property
27
Geomodelling – Builder Tutorial
Figure 34: Selecting Source Property for Formula Specification
7. Click OK to exit and click YES and OK to the messages that appear
28
Geomodelling – Builder Tutorial
Creating Porosity Property from Formula
Note: If a correlation between Porosity and Permeability is determined, this can also be populated
in the model using formulas. However, the Porosity values need to first be assigned to the
grid blocks to use the equation for Permeability.
10. Click the Formula button and select the Porosity – Fraction formula
11. Click OK twice to close the Formula Manager and Property Specification windows and to close the
dialog.
29
Geomodelling – Builder Tutorial
Figure 37: Selecting Formula for Porosity
12. Click OK again to close the General Property and one more time to calculate the Porosity property as
a rescaled version of CMGLCustom_PoroSim property
Note: With this dataset, the permeability values can be estimated in combining two different
sources of information; the regression equation from a Permeability-Porosity cross-plot
30
Geomodelling – Builder Tutorial
from cores and the well test data for a limited number of wells. Cross-plot equation will be
added in the following steps to estimate permeability. In the Bonus section of this tutorial
incorporation of well test data to the estimated permeability for the cross-plot will be
discussed.
Note: The formula created will be applied to the Permeability property of the reservoir. If the plan
is to complete the dataset using the steps outlined in the Bonus section, please create a
31
Geomodelling – Builder Tutorial
custom property (CMGLCustom_PermFromPor) at this point and assign the Permeability
formula. The following steps assume the well test data for permeability will not be
incorporated.
32
Geomodelling – Builder Tutorial
Figure 41: Permeability Property Specifications
12. Click OK twice to assign the Permeability in all directions to the grid
33
Geomodelling – Builder Tutorial
Grid Up-Layering
Note: If the plan is work through the Bonus material, it is recommended to skip the following Up-
Layering section and continuing with the bonus material. Once the dataset has been
completed, the up- layering steps can be followed.
Note: One of Builder’s features is up-layering that allows combining the grid layers in K-direction
with automatic averaging of the grid properties and updating well completions. The model
should be able to run faster as there are fewer number of grid blocks; however, some
vertical resolution will be lost. In the current exercise the number of K layers will be
reduced from 20 to 10. It is always good practice to compare the original and up-layered
model results.
1. Click the Edit Grid button on the modes tool bar and OK to the message
2. Navigate to Reservoir | Edit Grid | Combine Layers
3. In the drop down menu select PERMK/POROSITY as the Guide Property for Grouping
4. In the Divide Selection select Into Evenly Spaced Layers and click the Apply button
34
Geomodelling – Builder Tutorial
5. In the Combine Layers Dialog change the Lone Unit drop down from 3 to 10
6. Click Accept and observe the Mean, Std, and Relative Residual for the current combination
7. In the Divide Selection select Using Optimization Algorithm and click the Apply button
8. Highlight down to Layers 10 and click Accept and observe the combined layers and Residual
35
Geomodelling – Builder Tutorial
Figure 45: Optimization Algorithm Dialog
Note: For the purpose of this tutorial the Optimized Algorithm was used. Both scenarios could be
tested and the resulting models should be run and compared to the fine scale model for
validation.
10. Notice the default averaging routines for different grid properties and ensure that Arithmetic is
selected as the Average Type for CMGLCustom_PoroSim (will transfer to Porosity through the
formula)
12. A message may appear relating small porosity values in certain blocks. These blocks should be
investigated as they may impact simulation run time. Input a valid pore volume cut-off should alleviate
the issue. Click OK on the message
36
Geomodelling – Builder Tutorial
Note: Well trajectories in this dataset should be updated for intersection with grid blocks anytime
there is a grid change (refinements, splitting combining layers, and submodel extraction).
14. Navigate to Well | Well Trajectories | Recalculate Intersections with Grid which will recalculate
block entries and exits for all trajectories.
15. Save the dataset
Note: It is always good practice to compare results before and after upscaling. Histograms of
property distributions could be compared before and after upscaling to verify the upscaled
model. If the dataset is complete, both models could be run in a flow simulator to compare
results and again verify the upscale method.
37
Geomodelling – Builder Tutorial
Bonus Exercise: Completing the Dataset
38
Geomodelling – Builder Tutorial
Figure 49: Quick Perforation Dialog
3. Click OK to close and accept the defaults. All grid layers will be perforated for all wells.
4. Click OK to close the Trajectory Perforation Intervals dialog. The wells are perforated over the entire
reservoir thickness. The trajectories should be displayed in the view.
39
Geomodelling – Builder Tutorial
Figure 51: 3D View of Trajectories after Perforations
Note: At this step it is possible to associate log data such as porosity with the wells. This would
be a good time to save the dataset. The Permeability in I,J,K directions will be assigned in
Builder from well test data and CMGLCustom_PermFromPor.
Geostatistical Objects
5. Open the Excel document WellTest.xls
6. Navigate to Reservoir | Geostatistics to display up the Create Geostatistical Objects dialog
40
Geomodelling – Builder Tutorial
Figure 52: Geostatistics Dialog
41
Geomodelling – Builder Tutorial
Figure 53: Importing Well Test Information for Geostatistical Object
Note: This will import the well test data. For each well test, the values will be distributed on each
grid layer (at the well location) according to the spatial distribution of permeability values
from CMGLCustom_PermFromPor.
42
Geomodelling – Builder Tutorial
Figure 54: Geostatistics Dialog Defined for Permeability I
Geostatistical Method
1. Go to the Methods tab
2. Change the Calculation Method to Gaussian Geostatistical Simulation
3D Variogram Analysis
Note: As seen in previous examples the presence of anisotropy in the data can be explored by
selecting Bi-Directional in the Horizontal Variogram Direction. This case does not seem to
have anisotropy and the omni-direction will be selected.
3. Click the Click to match variogram button to display the variogram plot window
43
Geomodelling – Builder Tutorial
Figure 58: Variogram Plot for Calibrated Well Test Data
Note: The nugget effect appears to be quite high. Usually, the vertical variogram will give a better
estimate of the nugget effect because the data values are closer to each other along the
wells than between wells. The Nugget value should be adjusted.
Figure 60: Omnidirectional Variogram Plot for Calibrated Well Test Data
44
Geomodelling – Builder Tutorial
Simulating Permeability
1. Click the Run button to actually create the Permeability I property. The results will be automatically
displayed in Builder’s main view when the calculations are finished. Set the color scale to
Logarithmic
2. Click OK to save the newly created geostatistical object and close the dialog
Note. This Gaussian Simulation geostatistical object will be used again in an automatic workflow.
You can save the dataset to keep a permanent copy of the geostatistical object within it.
Permeability J and Permeability K properties can easily be defined by specifications
relative to Permeability I.
45
Geomodelling – Builder Tutorial
Figure 56: General Property Specification Dialog with Permeability Specified
46
Geomodelling – Builder Tutorial
Figure 57: Initial Conditions Settings
47
Geomodelling – Builder Tutorial
Well Constraints
Wells now need to be defined as producers and bottom hole pressure constraints needs to be added.
1. Select “Well Events…” from the Well menu. The Well Events dialog will appear. Select Producer for
the type in the “ID & Type” tab for well 01-12.
2. Select the Constraints tab. If asked to apply changes, say YES to save the previous change.
3. On the Constraint tab, check off the Constraint definition check box at the top of the tab. Select the
Constraint pull down list and select OPERATE, give it a value of 5000 kPa (as shown below).
48
Geomodelling – Builder Tutorial
Figure 60: Defining Well Constraint Information
4. Click on the well 01-12 in the list of wells on the left of the dialog, say YES to save the changes. This
will expand the events for this well as shown below. (If prompted, say yes to save the previous
change.)
Figure 70: Well Events Tree View copy events using filter
5. Select the Producer and constraint event and right click WELL event for well 01-12 and select Copy
events using filters… from the context menu. The ‘Select well-date pairs to copy event(s): WELL’
dialog will appear.
49
Geomodelling – Builder Tutorial
6. Click the Select button to select all the wells.
7. Select the 2.- Dates tab and click the Select button to select all dates
50
Geomodelling – Builder Tutorial
Figure 63: Wells and Dates Selected for Copying Information To
9. Click OK to close the dialog and go back to the Well Events dialog.. All the wells will have the same
constraints as shown below.
51
Geomodelling – Builder Tutorial
Figure 75: Adding More Dates in Simulation Dates Dialog
Click the “Add a new date” icon to add a date. The date value is not very important for the purpose of this
tutorial, one day (1991-01-02) will be correct for initialization. Select the last date as the STOP and click
close to close the dialog. This will complete the Wells & Recurrent section.
Figure 64: Dataset after All Main Information has been defined
Note: We are still having a warning in the reservoir section due to the use of the defaults for Rock
compressibility. This will not prevent us from running, but if desired double click in Rock
Compressibility under the Reservoir section and use the following values in the window:
52
Geomodelling – Builder Tutorial
Figure 77: Defining Rock Compressibility
Note: We now have a simulator ready dataset which can be used for iterative or automated
workflows. You can save it to disk if you want. The dataset has now reached a state where
it can be sent to the flow simulator. It is important to remember that the porosity and
permeability values have been simulated by geostatistical methods and therefore represent
just one possibility among an infinite number of porosity and permeability models for the
reservoir. Uncertainty about these properties can be explored by running the geostatistical
methods multiple times. We are now going to create a script that will help us to automate
this process
53
Geomodelling – Builder Tutorial
Creating a Script
1. Load the last saved dataset if not already open in Builder.
2. Select the Scripting … option under the File menu. The Property Calculation Scripting dialog will
appear. It has a spreadsheet where each row corresponds to a script action. Rows can be added as
more actions are needed. They can also be removed or moved up and down in using these buttons
3. Click the right pointed arrow button and select new, to create a new script. Give it a meaningful name such
as PorSim. The purpose of the script is to generate multiple datasets by changing the porosity values, and
the permeability values, using geostatistical simulations. We also want to initialize each dataset with the
simulator.
4.
Note: Now the dialog becomes active for the input of actions into the newly created empty script.
We want to create a loop and for each iteration we will simulate the percent porosity values
using our previously created geostatistical object PoroSim, we will rescale the porosity
values between 0-1 and simulate the I permeabilities, we will calculate the J,K permeability
values using EQUALSI assignment, we will save the dataset, and finally run the simulator
for initialization. (It might be a good idea to write the steps down on paper before actually
creating the script.)
54
Geomodelling – Builder Tutorial
5. Select (right click) the first empty row of the Scripting dialog and select Repeat Action (loop) from the
context menu (right mouse button). This will create a Repeat block of actions in the script. The block
is initially empty.
6. Change the Values cell for the Repeat action from 1 to 3. This will create a loop with 3 iterations.
7. Select row 2 and select Geostatistical Calculation from the context menu. A pull down list of
geostatistical objects will be created in the Values cell of the geostatistical action. Select the PoroSim
geostatistical object from the pull down list (remember that this PoroSim object was created earlier in
this tutorial). The CMGLCustom_PoroSim property name will be displayed in the Results cell of the
geostatistical action to indicate that this action creates or updates that property.
8.
55
Geomodelling – Builder Tutorial
Figure 80: Script with Repeat Action and Geostatistical Calculation
9. We need to add more rows in the Repeat block before we can add more actions to it. You can do that
by selecting the last action of the Repeat block and using the button a number of times. We need
1 more row for rescaling the porosity values, 1 more row for the permeability from porosity
calculation, 1 more row for adding the well test permeability, 1 more row for saving the dataset, and 1
last row to initialize the dataset with the simulator for initial volume estimation at the end of the loop.
56
Geomodelling – Builder Tutorial
10. Select row 3 and select the Calculation from Specification action from the context menu. The
Block/Corner Value Calculation dialog will appear. Check off the Porosity property only and click OK
to close the dialog. You may have to uncheck CMGLCustom_PermFromPor and click OK few times
to close a message dialog about the dependency of CMGLCustom_PermFromPor on Porosity.
Note: This will add the Porosity calculation which is defined as a Formula using the
CMGLCustom_PoroSim property. Porosity will appear in the Results cell of the Calculation
from Specification action indicating that the Porosity property will be created or updated by
this action.
57
Geomodelling – Builder Tutorial
Figure 83: Script with Porosity Calculation
After the porosity, we need to add the calculations for the permeability values.
11. Select row 4 and select the Calculation from Specification action from the context menu. The
Block/Corner Value Calculation dialog will appear. Check off the CMGLCustom_PermFromPor
property only and click OK to close the dialog. You may have to uncheck Porosity and click OK few
times to close a message dialog about the dependency of Porosity.
Note: This will add the CMGLCustom_PermFromPor calculation which is defined as a Formula
using the Porosity property. CMGLCustom_PermFromPor will appear in the Results cell of
58
Geomodelling – Builder Tutorial
the Calculation from Specification action indicating that the CMGLCustom_PermFromPor
property will be created or updated by this action.
Now we need to add the Perm I. Perm J and Perm K which both depend on Perm I are not calculated in
Builder. Instead, their EQUALSI specifications are directly passed on to the simulator. Therefore, we don’t
need to include them in the script.
12. Select row 5 and select the Geostatistical Calculation action from the context menu. A pull down list
of geostatistical objects will be created in the Values cell of the geostatistical action. Select the
WellTestSim geostatistical object from the pull down list (remember that this WellTestSim object was
created earlier in this tutorial). The Permeability I property name will be displayed in the Results cell
of the geostatistical action to indicate that this action creates or updates that property.
This will add the Permeability I calculation previously defined as a geostatistical object using the calibrated well
test data.
59
Geomodelling – Builder Tutorial
Figure 67: Script with Porosity and Permeability Calculations Specified
The next action of the loop is to save the current state of the dataset, which will have been updated for
the Porosity and the Permeability values by the precedent actions.
13. Select row 6 and select the Save As Dataset option from the context menu. The Save As action
dialog will appear.
60
Geomodelling – Builder Tutorial
Click OK to close the dialog. This will create a series of datasets with the same base name;
each appended with a sequence number starting with 0. From the above picture, the first
dataset generated will be tutorial_0000.dat, the second will be tutorial_0001.dat and so on.
Finally, the last action of the script is used to send the current dataset to the flow simulator for initialization
and initial volume estimations.
14. Select row 7 and select the Simulator Initialization option from the context menu. The Simulator
Initialization dialog will appear.
Note: This dialog is used to create an ASCII file with initial pore volume estimates for each
datasets generated by the script. The file can be automatically opened in Excel when the
script is finished executing. The Timer option is used to set a number of milliseconds for
cycle time when trying to read the simulator outputs. Click OK to close, the Results value of
the Simulator Initialization action (script row 7) indicates where the Excel compatible file will
be saved.
The script is now complete. The scripting dialog should look like this:
61
Geomodelling – Builder Tutorial
Figure 70: Final Script
15. You can run the script by clicking the Run Script button. You can also save it by clicking the OK
button. This script will be saved with the dataset on a Save or a Save As selection from the File
menu.
62
Geomodelling – Builder Tutorial
Figure 90: Script with Output Messages from being Run
Note: Running the script generates 3 versions of the dataset. The last dataset created by the
script will become the Builder’s current dataset showing the last property that was
calculated by the script.
63
Geomodelling – Builder Tutorial
Figure 91: Reservoir View for Script Generated Dataset
The Excel compatible file will be automatically opened showing the initial volumes as estimated by the
simulator.
64
Geomodelling – Builder Tutorial
Bonus Exercise: How the Thickness Map was Determined
Data Importing
1. Open the Create Map dialog by selecting the Create Map File option from the File menu if not already
open.
2. Change the File Name at the top of the Create Map dialog. You can type the new name directly in or
navigate the folders by clicking the ellipses button . Give a name like ThickMap.msh and an
appropriate path where to save it. We are going to create a mesh file (extension “.msh”) for the
reservoir thickness.
3. Clear the spreadsheet of the Create Map dialog if it is not already empty. You can do it by clicking the
gray cell at the very top left corner of the spreadsheet. This will select all the cells which can then be
cleared by depressing the Delete key on the keyboard.
4. Open the file Thicknesses.xls in Excel if not already open. The file has 57 records with the well name,
well (x,y) coordinates, and reservoir thickness for each record. We are going to paste that data into
the Create Map dialog.
Select the range of data values in Excel and copy (rows 2 to 58 and columns A to D).
5. Paste the data into the Create Map dialog with Ctrl-v (on the keyboard). Alternatively, you could have
selected rows 1 to 59 of the Create Map dialog Points tab and selected the Paste option of the
context menu (right mouse button).
65
Geomodelling – Builder Tutorial
Figure 71: Inputting values for thickness map
66
Geomodelling – Builder Tutorial
Figure 72: Variogram Plot for grid thickness
Note: Although the variogram fit looks good, it does need adjustment. Remember that we are
dealing with a thickness attribute. The thickness is not likely to change abruptly over a very
short distance. The actual variogram fit (blue curve) is not zero at the origin (zero lag
distance). It has a small nugget effect which indicates that the model is compatible with
abrupt thickness variations within very short distances. The nugget effect needs to be
removed if this is not a plausible situation. A too high nugget effect is very often observed
on variograms. This is explained by the usual lack of samples with very short separation
distances. In this case, we should try to recompute the variogram for smaller lag distances.
Variogram Calculations
11. Close the variogram plot and use the Click to edit variogram data button to change the variogram
calculation parameters with a number of lags of 20 (instead of 10) and a smaller lag size of 200 m as
shown below. You will need to uncheck the Auto check box before you can change these values.
These changes will allow for smaller lag distances (e.g. 200 m instead of the current value 415 m)
and yet will cover a similar total separation distance than before (as an example 4000m = 20 X 200m
= 10 X 400 m).
67
Geomodelling – Builder Tutorial
Figure 73: Editing Horizontal Variogram Data for Thickness Map
12. Click OK to close the variogram data dialog and click the Click to match variogram button to redisplay
the variogram plot.
13. Hover the mouse on the blue rectangle at the origin of the variogram model and drag it down to zero.
This will reset the nugget effect to zero.
14. Make other adjustments to the curve until the fit is deemed acceptable like in the picture below:
68
Geomodelling – Builder Tutorial
Note: The first variogram point is almost at zero variance but now has been computed with less
than 30 data pairs (red square mark). Although the point is marked to not carry enough
statistical mass, it does suggest that the nugget effect could be smaller than first observed.
We can now consider that we have a good variogram match. Notice that the variogram
model matches the actual curve for a lag distance up to about 3300 m. For distances
larger than 3300 m, the actual variogram does continue to increase which indicates that a
deterministic trend actually creates more important variations than variations associated
with the spatial correlation between the data. This suggests that we should apply kriging in
a limited search window.
15. Close the variogram plot window and click the Click to edit variogram data button. Uncheck the Auto
option for the search radius and set the search to 3300m as shown below.
16. Click the OK button to close the Variogram Data dialog. We are now ready to compute the thickness
map.
69
Geomodelling – Builder Tutorial
window (click on the top icon ), select the maps option and uncheck the top
map. Click OK
70
Geomodelling – Builder Tutorial
Figure 76: Map for Reservoir Thickness
18. You can now close the Create Map dialog since we have completed all the maps.
71
Geomodelling – Builder Tutorial