Geomodelling - Tutorial (2020.10)
Geomodelling - Tutorial (2020.10)
Reservoir Engineers
Builder V.2020.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
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
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
Figure 19: Specifying Map File for Thickness Property
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
19
Geomodelling – Builder Tutorial
Figure 24: Imported LAS Information
10. Click OK to import all the logs and back to the Select Wells and Logs dialog
12. Click the button to select all wells and OK to close the dialog
20
Geomodelling – Builder Tutorial
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
2. Change the Calculation Method to Gaussian Geostatistical Simulation
21
Geomodelling – Builder Tutorial
Figure 27: Selecting 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
22
Geomodelling – Builder Tutorial
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
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
23
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
24
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
25
Geomodelling – Builder Tutorial
Figure 31: Selecting Spherical Model
8. Return to the Variogram plot and match the Horizontal and Vertical models
26
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
27
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
28
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
29
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.
30
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
31
Geomodelling – Builder Tutorial
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 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.
32
Geomodelling – Builder Tutorial
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
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.
5. Click on Specify Property and select Add New Custom Property in the top drop down
6. Add the name PermFromPoro
7. Under Whole Grid right click and select Formula
8. Click the Formula button and select PermFromPoro
9. Click OK twice to return to the Specify Property window
10. Click OK twice to assign the Permeability to the custom property in the grid
33
Geomodelling – Builder Tutorial
Completing the Dataset
34
Geomodelling – Builder Tutorial
Figure 42: Quick Perforation Dialog
3. Click OK to close and accept the defaults. All grid layers will be perforated for all wells.
35
Geomodelling – Builder Tutorial
Figure 43: Perforation Intervals Defined
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.
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
36
Geomodelling – Builder Tutorial
Figure 45: Geostatistics Dialog
37
Geomodelling – Builder Tutorial
Figure 46: 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_PermFromPoro.
38
Geomodelling – Builder Tutorial
Figure 47: 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
39
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
40
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.
41
Geomodelling – Builder Tutorial
Figure 49: General Property Specification Dialog with Permeability Specified
42
Geomodelling – Builder Tutorial
Figure 50: Initial Conditions Settings
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.
43
Geomodelling – Builder Tutorial
Figure 51: Well Events Dialog with Little Information Defined
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).
44
Geomodelling – Builder Tutorial
Figure 52: 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.)
45
Geomodelling – Builder Tutorial
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.
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
46
Geomodelling – Builder Tutorial
Figure 54: Selecting Date for Copying WELL Keyword
8. Click the Search & Add button to fill the right hand side of the dialog with wells.
47
Geomodelling – Builder Tutorial
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.
48
Geomodelling – Builder Tutorial
Figure 57: 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.
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:
49
Geomodelling – Builder Tutorial
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
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
50
Geomodelling – Builder Tutorial
Figure 59: Empty Scripting Dialog
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.
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.)
51
Geomodelling – Builder Tutorial
4. 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.
5. Change the Values cell for the Repeat action from 1 to 3. This will create a loop with 3 iterations.
6. 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.
52
Geomodelling – Builder Tutorial
Figure 61: Script with Repeat Action and Geostatistical Calculation
7. 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.
53
Geomodelling – Builder Tutorial
Figure 62: Script with Extra Rows Added
8. 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.
54
Geomodelling – Builder Tutorial
Figure 63: Specifying Porosity Calculation for Script
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.
55
Geomodelling – Builder Tutorial
Figure 64: Script with Porosity Calculation
After the porosity, we need to add the calculations for the permeability values.
9. 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.
56
Geomodelling – Builder Tutorial
Figure 84: Specifying Permeability Calculation from 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
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.
10. 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.
57
Geomodelling – Builder Tutorial
Figure 65: 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.
11. Select row 6 and select the Save As Dataset option from the context menu. The Save As action dialog
will appear.
58
Geomodelling – Builder Tutorial
Note: This dialog is used to define the names along with titles for the datasets that will be generated
by the script. Macros are used to insert sequence number, script name, date, and dataset
filename in any of the Title1, Title2, or Title3 in the dataset. The macros are accessible by
clicking the right pointed arrow buttons at the right of the Title’s edit field. 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.
12. 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:
59
Geomodelling – Builder Tutorial
Figure 68: Final Script
13. 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.
60
Geomodelling – Builder Tutorial
Figure 69: Script with Output Messages and Progress Bar
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.
61
Geomodelling – Builder Tutorial
Figure 70: Reservoir View for Script Generated Dataset
The Excel compatible file will be automatically opened showing the initial volumes as estimated by the
simulator.
62
Geomodelling – Builder Tutorial
Grid Up-Layering
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.
2. Click the Edit Grid button on the modes tool bar and OK to the message
3. Navigate to Reservoir | Edit Grid | Combine Layers
4. In the drop down menu select PERMK/POROSITY as the Guide Property for Grouping
5. In the Divide Selection select Into Evenly Spaced Layers and click the Apply button
6. In the Combine Layers Dialog change the Lone Unit drop down from 3 to 10
63
Geomodelling – Builder Tutorial
Figure 73: Divided Evenly Dialog
7. Click Accept and observe the Mean, Std, and Relative Residual for the current combination
8. In the Divide Selection select Using Optimization Algorithm and click the Apply button
9. Highlight down to Layers 10 and click Accept and observe the combined layers and Residual
64
Geomodelling – Builder Tutorial
Figure 74: 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.
11. 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)
13. 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
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).
65
Geomodelling – Builder Tutorial
15. Navigate to Well | Well Trajectories | Recalculate Intersections with Grid which will recalculate
block entries and exits for all trajectories.
16. 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.
66
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).
67
Geomodelling – Builder Tutorial
Figure 77: Inputting values for thickness map
68
Geomodelling – Builder Tutorial
Figure 78: 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).
69
Geomodelling – Builder Tutorial
Figure 79: 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:
70
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.
71
Geomodelling – Builder Tutorial
window (click on the top icon ), select the maps option and uncheck the top
map. Click OK
72
Geomodelling – Builder Tutorial
Figure 82: Map for Reservoir Thickness
18. You can now close the Create Map dialog since we have completed all the maps.
73
Geomodelling – Builder Tutorial