Você está na página 1de 130

Advanced Builder Course

AdvancedBuilder&ResultsCourse

Takingthefulladvantageofnewpowerfultoolsfor
creatingandimprovingreservoirmodels

BuilderTutorial,V.2013.10

ComputerModellingGroupLtd.

-1-

Advanced Builder Course

Introduction to Advanced Features in Builder


Dataset conversion for other simulator types IMEX - STARS - GEM (available from the
File menu).
Various data source options (menu File | Import from another file):
- Rescue
- CMG simulation results files
- Other datasets in CMG, Eclipse or CHEARS (Chevron-Texaco) formats
- Component (PVT) properties
- Stand alone array files
Grid and reservoir section (Reservoir menu):
- Quick pattern grid generation
- Changing transmissibility across faults
- Geo-statistical property generation
- Full support for Rescue data import
Tools menu commands:
- Export grid and spatial properties into Rescue or text format
- Property statistics generation
- Validation with simulator
Well features:
- Production data wizard supports input for well groups
- Switching well constraints in time
- Create a field history file with the imported data
- Export well trajectory table file
- Wellbore diagram shows initial fluid contact depth for WOC and GOC
Dataset validation tools:
- Rock-fluid | Diagnostic plots
- Well | Fix well definitions dates
- Well | Validate well completions for NULL blocks
Color scale and IJK slab controls.

-2-

Advanced Builder Course

Exercise 1: Creating a New Model From RESCUE Data


This example shows how to create a complete dataset based on a real RESCUE model.

Create a new dataset


Simulator:
Units:
Porosity:
Shape Factor:
Simulation start date:

IMEX
FIELD
DUALPOR
Gilman and Kazemi
1991-01-01

Import the grid model using menu item "Reservoir | Open RESCUE File..." Browse for
the file RESC_MATX.bin located in the Rescue folder and click OK through the next
3 control panels to finish the grid import.
Switch to the 3D view. Adjust the Z / X Aspect Ratio to 1 from the menu View | Aspect
Ratio and Scale, then turn off the grid block lines in the main property panel and turn on
Spatial Property block outline. The model should look similar to the one below (showing
Grid Top). Save the dataset with a new name.

Figure 1: Model in 3D showing grid top

-3-

Advanced Builder Course

Populate the grid matrix properties


Use menu item Reservoir | Advanced RESCUE | Direct import of RESCUE Property
to open the control panel for property import. Select the following properties from the
rescue file to bring it for corresponding matrix values in Builder and then click OK:

Porosity
Pinchout Array
Net to Gross Ratio
Connate Water Saturation

Figure 2: Direct import of Rescue properties window

Click OK to the messages that appear.


Open the tree view for Reservoir section and notice the green and red marks for the
existing and missing grid properties as signaled by the Builder validation routine.
Please do not forget to save the dataset file on a regular basis.
Set both matrix and fracture rock compressibility and reference pressure (Reservoir >
Rock Compressibility) to:
CPOR
PRPOR

4.5e-6
4100

(1/psi)
(psi)

Specify the matrix permeability by formula based on porosity values.


Select menu Tools | Formula Manager... Give the formula a name like PermI_Matrix.
Add porosity to the list of independent variables, type in the actual formula code and
press OK button. Repeat the same steps for the vertical permeability formula.
PERMI = 0.0117 * EXP(30.691*)
PERMK = (/1.1996) ** 1.1341

-4-

Advanced Builder Course

Figure 3: Calculator interface for equations to calculate permeabilities from porosities

Open the grid property specification window and set the above formulas as an input for
matrix permeability in I and K directions. Set the Permeability J equal to the Permeability
I by using the Equals I option.

-5-

Advanced Builder Course

Figure 4: Property Specification window

Press OK to calculate these properties and populate the actual grid arrays.

Figure 5: Property calculation window

-6-

Advanced Builder Course

Populate the grid fracture system properties


Use menu item File | Import from another file | Spatial properties from stand-alone
arrays to open the control panel and import corresponding arrays from the files
FRACTURE_PERMEABILITY.txt, FRACTURE_SPACING.txt and
FRACTURE_POROSITY.txt in the DATA folder:

Fracture Porosity
Fracture Permeability I, J, K
Fracture Spacing I, J, K
(use EQUALSI for J direction)

Figure 6: Importing spatial properties from stand-alone arrays

Notice that the red marks for missing data should disappear from reservoir section.

Component properties (PVT)


Use menu item Components | Import WinProp-generated model to import the file
RESC_PVT.imx from the DATA folder.
The validation red mark should change to green for OK status.

-7-

Advanced Builder Course

Rock-fluid section
Open MS Excel file other data required.xls located in DATA folder.
Select menu Rock-Fluid | Create / Edit Rock Types to open the control panel.
Add a new rock type from right arrow button.
Copy and paste the table data from the spreadsheet ROCK TYPE CURVE into the
SWT and SLT tables.
Press OK button and look at the plot view for curve display.

Figure 7: Relative permeability curves for rock type 1

Create a second set of relative permeability curves in fracture system. For fracture
relative permeability we assume a straight line function from 0 to 1 for all phases.
Add new rock type 2 and enter only the end points for water and liquid saturation tables.
SWT

SLT

Sw
0.0
1.0
Sl
0.0
1.0

krw
0
1
krg
1
0

krow
1
0
krog
0
1

-8-

Advanced Builder Course

Figure 8: Relative permeability for rock type 2

Press OK in the rock-type control panel.


Specify the relative permeability set number for matrix and fracture system as shown
below and press OK button in the property specification and calculation windows.

Figure 9: Specifying rock type for fracture

The validation red mark in Rock-Fluid section should have changed to green for OK
status.

-9-

Advanced Builder Course

Initial conditions
The model will be initialized with the vertical equilibrium from water-oil and gas-oil
contacts and variable bubble point pressure versus depth.
Select menu item Initial Conditions | Initialization Settings to open the control panel.
Press Advanced button as we will need the Pb vs. Depth table.
1. Keep the option Water Oil Gas selected.
2. Click on Advanced button and switch to the tab PVT region parameters.
3. Enter the reference conditions and fluid contact depths:
REFPRES
REFDEPTH
DWOC
DGOC

4.
5.
6.
7.

9000
17500
24000
17500

psi
feet
feet
feet

Select the option Depth dependent table for bubble point pressure input.
Use right mouse clicks in the table to insert 7 table rows.
Open MS Excel file other data required.xls located in the DATA folder
Copy and paste the table data from the spreadsheet Initialization.

Figure 10: Enter data for initial conditions

- 10 -

Advanced Builder Course

Press OK to finish the initial conditions input.

Import well trajectories and perforations


Select menu item Well | Well Trajectories | Well Trajectories to open the wizard
window.

Figure 11: Selecting trajectory files for importing

Step 1:
- Select Table Format file type
- Set ft units for both x, y and z coordinates
- Brows for the file RESCWELLS_Feet_2006.WDB located in the DATA folder
- Click Next when done
Step 2:
- Keep all the well names selected and select the other check box options
- Click Next when done

- 11 -

Advanced Builder Course

Figure 12: Selecting well trajectory names to import

Step 3:
- Accept all defaults and press Finish

Figure 13: Selecting parent trajectory for wells

- 12 -

Advanced Builder Course

The trajectory import wizard should have created 12 new wells marked by red dots. At
this moment they are missing completions and production constraints. We are going to
create well completions by reading the well perforation intervals from a text file.
1. Use menu item Well | Well Trajectories | Trajectory Perforation Intervals to open
the control panel.
2. Press Read File button to open the PERF file.
3. Select Field (ft) file units.
4. Select file name RESCWELLS_Feet.PERF in the DATA folder.
5. Press Open button.
6. Press OK to finish the perforation import.

Figure 14: Inserting trajectory perforations intervals

Import well production data


Use menu item Well | Import Production / Injection data to open the wizard window.
Step 1:
- Select the file type General
- Browse for the input file RESC_WELLS_PRODUCTION.prd in the DATA
folder
- Click Next

- 13 -

Advanced Builder Course

Figure 15: Step 1 of importing production/injection data

Step 2:
- Select the text lines with first data entry and well name
- Click Next

Figure 16: Step 2 of importing production/injection data

- 14 -

Advanced Builder Course

Step 3:
- Check mark the Space separator option for better column alignment
- Click Next

Figure 17: Step 3 of importing production/injection data

Step 4:
- Select correct headers in the date, oil and gas production columns as shown
below. Notice that the production figures in the input file are cumulative volumes
for each period (it will be converted into daily rates)
- Click Next
Step 5:
- Accept the defaults and press Finish button

- 15 -

Advanced Builder Course

Figure 18: Step 4 of importing production/injection data

Figure 19: Step 5 of importing production/injection data

- 16 -

Advanced Builder Course

After clicking finish, set the stop date as the last date of the simulation.

Figure 200: Setting the stop date for the simulation run

Create a field history file (fhf) from the so that later we can use it in Graph for history
matching. Clicking on Wells & Recurrent | Create a Field History File will bring up
the window shown below. You can rename the file or use the default name and then
click OK. Averaging production data is another useful option in Builder, but we do not
need it for this model.

Figure 21: Creating Field History File

- 17 -

Advanced Builder Course

Open the Time-Line View by clicking on Wells & Recurrent| Open Timeline View to
check the production events along the time scale.

Figure 22: Time line view of the wells in the model

Running and numerical tuning


When all red (error) and yellow (warning) validation signs have been replaced by green
check marks (ok) the model is ready to run with the simulator (IMEX). You may have a
warning for wells & recurrent section because an ALTER key words exist on the STOP
date
Run the dataset with IMEX and look at the log file time records.
Some things you can try if having numerical problems (Not the case for this dataset)
1. The linear solver has difficulties to converge in 40 iterations, which is not
surprising for dual porosity model. It can help if the maximum number of solver
iterations is increased (try factor of 2).
===================== WARNING (from subroutine: CALLSL) ======================
The linear solver has not converged after 40 iterations.
Continuing the run ...
==============================================================================

2. It takes only 1 or 2 Newtonian iterations for each time step. We can try to enable
wider normal variation of the main parameters allowing the simulator to take
longer time steps without increasing material balance error (try factor 2 - 2.5).

- 18 -

Advanced Builder Course

Add the following controls to the numerical sections and run the simulator again.
*DTMAX
*NORTH
*ITERMAX

60
100
100

** limit the max time step to 2 months


** enable the linear solver using more memory
** enable larger number of solver iterations

** increase normal changes to get grater time steps


** NORM is used for automatic time-step selection
*NORM
*NORM
*NORM

*PRESS
*PBUB
*SATUR

1000
1000
0.25

** Add after the RUN keyword


*DTWELL

** start with 5 day step after well changes

If you would like to see additional information about Newtonian iterations in the output
file than add keywords *WPRN ITER NEWTON to I/O section of the dataset.
Re-run the dataset.

Grid up-layering
One of Builders features is up-layering that allows combining the grid layers in Kdirection with automatic averaging of the grid properties and updating well completions.
The model with smaller number of grid blocks can run many times faster, but some
vertical resolution will be lost. In the current exercise we can try to reduce the number of
K layers from 23 to 12 and compare the simulation runs of the original and up scaled
models.
1. Open the dataset created in Exercise 1 in Builder.
2. Recalculate the trajectory intersections with grid blocks. Select Well | Well
trajectories | Recalculate Intersections with Grid
3. Press the Edit Grid button on the modes tool bar
and say OK to the message.
4. Select menu item Reservoir | Edit Grid | Combine Layers.

- 19 -

Advanced Builder Course

Figure 23: Step one of combining layers

5. In the drop down menu select PERMK/POROSITY MATRIX as Guide Property.


6. In the Divide Selection area select the radio button INTO EVENLY SPACED
LAYERS and click the Apply button that is directly below the Divide Selection Area.
This will bring up the Combine Layers Dialog: in the Lone Unit drop down menu
select 12.
7. Press Accept and Next when this is done.

- 20 -

Advanced Builder Course

Figure 24: Step 2 of combining layers

8. Notice the default averaging routines for different grid properties and select Pore
Volume Weighted Arithmetic for Connate Water saturation.

- 21 -

Advanced Builder Course

Figure 25: Step 3 of combining layers

9. Press Finish.
The up-layering on this model may take about one minute.
Well trajectories in this dataset need to be updated for intersection with grid blocks. It is
done by selecting the menu item Well | Well trajectories | Recalculate Intersections
with Grid. This command will recalculate block entries and exits for all trajectories.
Save dataset with a new name and run it with IMEX. In the test run the CPU time for up
scaled model was 4 times less than with the original.
(Sub-model extraction is another tool in Builder to get a smaller model from a big one).

- 22 -

Advanced Builder Course

Exercise 2: Handling Multilateral Well Trajectories


This exercise is an example of how to import and setup connections for multilateral well
trajectories.
Open the dataset file cart.dat in Builder. This file is in the DATA folder. The model
contains only a simple Cartesian grid (10800 blocks) without any other input properties.

Import well trajectory data


Use menu item Well | Well Trajectories | Well trajectories to bring the well trajectory
import wizard.
Wizard Step 1:
- Select file type ZMAP Format
- Set file units ft for x, y and z coordinates
- Use the browse button to open the trajectory file zmap_traj.dat
- Press Next
Wizard Step 2:
- Keep all trajectory names selected
- Press Next button

- 23 -

Advanced Builder Course

Wizard Step 3:
In this step we can modify the trajectory ID. The options allow:
- Change the imported trajectory names
- Set the parent trajectory to attach the current one as a child branch
- Chose a well that this trajectory will be a part of. This option is available only for
the main trajectory branch. The child one inherits it by default from the parent
In this trajectory data file we have 4 multilateral wells that have the following branch
hierarchy (attach-to order):
Level 2
------FM08STh

->

FM12STh
FM13STh

->
->

Level 1
------FM08ST#
FM11STd
FM12STd
FM13ST#

->
->
->
->

Parent (main branch)


-------------------FM08v
FM11
FM12v
FM13v

In order to set the connection for trajectory FM08STh click the cell in the row with its
name and column Attach to parent. This will bring up a little action button. Press the
action button in the cell. In the popped up control box select the "parent trajectory
name" as FM08ST# and click OK. Repeat it for other trajectory connections as outlined
above. Press the Finish button on the Wizard to complete the trajectory import. Reply
Yes to remove those well trajectories that do not intersect the grid model.

- 24 -

Advanced Builder Course

Adjusting well trajectory KB elevation

Switch Builder to 3D grid view. Adjust Transparency to 50% under the 3D settings
in the property window.

Rotate the model and notice that deviated branches for wells FM08 and FM13 are
below the grid bottom. We will try to modify the KB elevation for deviated trajectory
branches in order to put them inside the grid.

Expand the Wells item on the tree view for Wells & Recurrent section. Expand well
FM08v. Double click on the tree item Trajectory FM08Sth to open the Trajectory
Properties control panel (the same panel can be opened using menu item Well | Well
Trajectories | Trajectory Properties).
1. Select the second tab Nodes.
2. Press the Tools button and select the command Set correction to KB
elevation.
3. Enter correction value 300 ft, press OK.
4. Notice that the trajectory x, y, z coordinates have been updated.
5. Set the same KB correction for other branches FM08ST#, FM08v, FM13STh,
FM13ST#, FM13v.

- 25 -

Advanced Builder Course

Creating well completions


Note: We use well trajectory data in Builder to set the 3D well path. Providing both the
trajectories and perforation intervals allows for creating the model completions (PERF
cards) that will be the actual simulator input. Once the well trajectories have been
imported we add perforation intervals. The model completions are calculated
automatically in place of intersection of grid block surfaces and perforated intervals.

Use menu item Well | Well Trajectory | Trajectory Perforation Intervals to open
the control panel. It offers a number of options to add dates and perforation intervals
for selected number of trajectories.

Use Quick Perf button to add perforation intervals in all grid layers as shown below.
Click the OK button in both windows to finish the perforations input.

- 26 -

Advanced Builder Course

Create Refined Grids for Wells


Frequently, refined grids are needed at well locations so that pressure drop and saturation
profiles are modeled more accurately.
1. On the grid display in the 2D Areal view, right click and select Edit Grid.
2. In the dialog that appears, select the first option and click OK.

3. From the Reservoir menu, select Edit Grid | Refine Wells


4. From the Refine Wizard dialog that appears, select all wells and select the option
All Perforated Layers, and click Next. In the next step select Cartesian and click
Next. In the last step set I=3, J=3, K=3 and click Finish.

- 27 -

Advanced Builder Course

- 28 -

Advanced Builder Course

200

1,000

1,100

1,200

1,300

1,400Grid
1,500
1,700
1,800
Top1,600
(ft) 1987-01-01

1,900
2,000
J layer:
46 2,100

2,200

2,400

2,500

2,300

2,400

2,500

300

300

2,300

200

5. Change to probe mode, then change the view to a cross section view and locate a
well to verify that the grid refinements that were added.

400

400

FM09

500

500

600

600
FM14

700

700

800

800

900

900
FM14

1,000

1,000

1,100

1,100
1,300
1,100

1,200

1,300

185

1,400

1,500

371
1,600

556

741

1,700

- 29 -

927
1,800

1,300

1,200

1,200
1,000

1,112 1,298 1,483 1,668 1,854


1,900

2,000

2,100

2,200

Advanced Builder Course

Add tubing performance table


Tubing tables can be generated by CMG wellbore calculator or imported from a file that
has tubing data in CMG or Eclipse (VFP) format. With the tubing table we are going to
control the wells by well head pressure constraint (WHP).
1.
2.
3.
4.

Use menu item" Well | Tubing Tables..." to open the control panel.
Press the button New Table.
Enter the Flow Rate Type OIL and reference depth 3000 ft.
Type in the flow parameters for Flow Rate, GOR, WCUT, LFG Lift Gas and WHP as
shown below.
5. Press button Update BHP table.
6. Press Calculator button.

We are going to use CMG wellbore calculator to obtain the bottom-hole pressure values
for this table.

- 30 -

Advanced Builder Course

In the pressure calculator window select the computation method and enter the tubing
conditions, fluid gravity and tubing segment data as on the picture below.

Press Calculate button


Press Close and OK to accept the results
Use Tubing Plot button to review the results on the x-y plot
Press OK to finish the tubing input

- 31 -

Advanced Builder Course

Add well constraint definitions


In addition to having the completion all wells need to be defined as producer or injector
and have flow constraints set.
1. Use menu item Well | Well Events to open the control panel.
2. Select all well names in the list on the left side with the Shift key pressed in order to
set the same definition to all wells.
3. On the tab ID & Type select type PRODUCER and press Apply button.
4. Select Constraints tab and set check box Constraint definition ON.
5. Use select new (blue text) to add 2 operating and 1 monitoring constraint.
6. Press Apply.

Switch to the Wellbore tab to specify that tubing table #1 will be used for wellhead
pressure calculations from the reference depth 3000 ft. Then press Apply.

- 32 -

Advanced Builder Course

Notice that when multiple wells are selected in the left list the changes will apply to all of
them at the selected date. In this example all wells get the same events.
Close the window with OK.
Please note that the well trajectories, perforation, completions and constraints will be
saved in the dataset file.

Finish the dataset input and run the model


Lets use the Builder automation tools to provide the rest of the dataset input so that we
can quickly get this model running.
Reservoir section
- Constant porosity 30 %
- Horizontal permeability 200 mD, vertical permeability 100 mD
- Rock compressibility 3.0e-6 1/psi
- Reference compressibility pressure 14.7 psi

- 33 -

Advanced Builder Course

Component section
Select menu item Components | Quick Fluid Model, choose BLACKOIL option. Enter
the following data to build the PVT table from black-oil correlations and click OK:
- Reservoir temperature
220 F
- Max pressure
4000 psi
- Bubble point pressure
2000 psi
- Oil gravity (water=1)
0.8
- Gas gravity (air=1)
0.75
- Reference Pressure for water properties
2000 psi
Rock-Fluid section
Create a set of water and gas saturation tables based on Corry correlations with the end
point input. Use menu item Rock-Fluid | Create / Edit Rock Types. Press the right arrow
button to choose New Rock Type command. On the tab for Relative Permeability Tables
press Tools button and select the command Generate Tables Using Correlations. Enter
the following end points:
- SWCON, SWCRIT
0.20
- SOIRW, SORW
0.25
- SOIRG, SORG
0.15
- SGCON, SGCRIT
0.05
- KROCW
0.8
- KRWIRO
0.4
- KRGCL
0.6
- KROGC
0.8
- All exponent values
3.0
Initial conditions
Use menu item Initial Conditions | Initialization Settings to open the control panel, enter
the following options and then click OK:
- Equilibrium type
Water-Oil
- Reference pressure
3000 psi
- Reference depth
1000 ft
- WOC depth
1000 ft
- Bubble point pressure
2000 psi
Recurrent data
Create a range of dates in the Simulation Dates control panel for 10 year simulation run
with 1 year intervals. The intervals are used for outputting data into the result file. Add
STOP command at the end.

- 34 -

Advanced Builder Course

Input / Output controls:


Add flux vector and stream line generation options on the simulation results output.
Run the model with IMEX

- 35 -

Advanced Builder Course

Exercise 3: Creating a Corner Point Grid


The objective of this exercise is to create a non-orthogonal corner point grid that fits
inside the complex fault boundaries.
Open Builder and create a new dataset with initial settings
Simulator:
IMEX
Units system:
SI
Start date:
2005-01-01
Single porosity

Open the contour map file


Use menu item: File | Open Map File.
Select the file type CMG Mesh format and meters for x, y coordinates.

- 36 -

Advanced Builder Course

Set the grid boundaries


1. Looking at the map, you determine that the area of interest is about 3000m x 3000m.
You decide that you would like 50m x 50m grid blocks, so your grid will have NI=60
and NJ=60. You also have 10 thickness maps from your geologist, so will set NK=10.
2. From the menu, select Reservoir > Create Grid > Orthogonal Corner Point... Fill
in the values as follows, and click OK:

3. We now need to rotate the grid and shift it to cover the area of interest. Holding down
the Ctrl key, press down the left mouse button and move the mouse to rotate the grid.
Once you have rotated the grid about 45 degrees, release the Ctrl key and the mouse
button. Next, hold down the Shift key, press the left mouse button, and move the
mouse to shift the grid to cover the lower part of the mapped area. To set the grid to
an exact position and rotation, use the Reservoir > Edit Grid > Modify Location
dialog.

- 37 -

331,000

0
54
0

4,429,000

700

0
54 F730
0 620
770
800

38

331,000

4,428,000

700
78
700
78780 0
780
0
700
1,100
620
62
0
1,02
1,10
0 0 62054 540
780
0
1,9040
20
46
540
0

0
54

330,000

4,430,000

70
0

780

780

700

20
01,0
02
1,
700
0
80
94
94087080 7
7
780

4,428,000

329,000

780

0
78

4,429,000
328,000

4,431,000

94
0

1,020

1,020

F 10
F 8860 F 7 0
9
86
1,02 40
0
F6
94
0 940
86
78 0
7
0
780 78080
78
0 0
F750
0
62
F
1
0
62
54
00
46 4
54
60
0
0
62
338800
F4
54
46
F9
F611
F0 13
200
20 70
948,0
0
0
7
6 7000 700
1
6
8
940
12
0 880 770000
1F
1,100
,108001 9460
,1 ,1 1, 0
78 1
0002
0
0
F2
940

4,430,000
327,000

333,000

62 700
0
620 6
20

940

860

4,431,000
78
0

332,000

94
0
94
0

02
1,

1,020

0 0
86 086
78

94

86

330,000

1,0
1, 20
02
0

329,000

1,020

328,000

94
0

327,000

4,432,000

Advanced Builder Course

332,000

333,000

4. Once you are happy with the grid position, click on the Probe Mode icon on the Tool
bar to exit Edit Grid Mode.

Calculate 3D grid coordinates


For calculating the 3D grid coordinates we need to specify the depth contour map for the
top layer and thickness values for each layer.
1. Select menu item Reservoir | Specify Property to open the control panel.

- 38 -

Advanced Builder Course

2. Right click with the mouse in the row Layer 1 of the column Grid Top, select
Geological map. Use the button Values in File 1 to set the original contour maps
with the grid top and faults. Press OK.
3. Press OK in the property specification window.
4. In the property calculation window, select the option If property is not calculated
use an inverse weighted average of nearby points to estimate the value. Then
click OK.
5. After the calculation is completed, you should be able to visualize the model in 3D.
Rotate and zoom the model and do a quality check on the grid and fault system. Try
to locate any grid blocks that may cause problems.
6. Save the data set.
Property specification window (inputting grid top).

- 39 -

Advanced Builder Course

Property calculation window.

Grid Display in 3D.

- 40 -

Advanced Builder Course

Grid Thickness Calculation


By default Builder has assigned a thickness of 10 m to each layer in model. Now lets
assign the thickness map to each of these layers.
1. Click on Specify Property
2. For grid thickness Layer 1 right click and select Geological map
3. Click in "Values in File 1" and select CMG Mesh format (.msh), Units m. and the
CMG Mesh map file called Layer1.msh located in the DATA Folder. Click OK
4. Click OK.
5. Repeat the same procedure for all the ten layers selecting the corresponding
thickness map e.g., for layer 2 it will be Layer2.msh and so on.

6. Click OK and select the following options in the Block / Corner Value
Calculation

- 41 -

Advanced Builder Course

7. Click OK.

- 42 -

Advanced Builder Course

Property Modeling Using Geostatistics


This section will give a brief introduction to the Geostatistics tools available in Builder.
More details on the Geostatistics algorithms and options is given in the Bonus Exercise.
1. From the Wells & Recurrent menu, select Well Trajectories | Well Trajectory
2. Change the file type to be Table Format and select the file
Advanced_Builder_Trajectories.wdb.
3. Select all units to be m and click Next. Click Next twice and then Finish.
4. Now that the trajectories are loaded, well logs can be input. From the Wells &
Recurrent menu, select Well Trajectories | Import Well Logs
5. Change the File type to be Multiple wells log file and set the Depth units to be m.
6. Open the file Advanced_Builder_Porosity_Sw.wlg. Click OPEN and then OK.
7. From the Reservoir menu, select Geostatistics
8. At the top of the dialog, click the button with an arrow on it and from the popup
menu select New (default). Enter a name for the realization such as Porosity,
then click OK.
9. Select the Output Property of Porosity.
10. Click on the Tools button and from the popup menu select Import logs or tables
of measured depth values
11. From the dialog that appears, click on the Select Wells button, select all the wells
and click OK.
12. Select the log poro and click OK.
13. The main geostatistics dialog should now be populated with values for each well.

- 43 -

Advanced Builder Course

14. Select the Methods tab and change the Calculation method to be Gaussian
Geostatistical Simulation.

15. Click on the button Click to Match Variogram and match the variograms. The
matched variogram for porosity should look like the following:

- 44 -

Advanced Builder Course

16. Click Run to populate the grid with porosities.


17. Repeat the above steps #8 through #16 for Sw. For the output property, select
Endpoint Saturation: Connate Water.

- 45 -

Advanced Builder Course

18. Save the data set when finished.

Analyzing the grid thickness distribution


1. Switch the current view property to Grid Thickness.

- 46 -

Advanced Builder Course

2. Select menu item View | Color Scale | Set Color Scale. Adjust the color scale
number of intervals to 25. Press OK.
3. Use menu item Tools | Grid and Property Statistics to display the thickness
distribution at color scale intervals.
4. Think of what pinch-out thickness value we can choose.

Editing the Grid Structure in 3D


1. When the property is set to be Grid Top and the view is set to be IJ-2D Areal,
right click on the grid and from the popup menu select Edit Reservoir Property,
the following panel will appear:

2. Select the second option Interactively move grid blocks with the mouse in 3D.
3. In the dock window that appears, check the box Edit Grid in 3D. The display
should change to 3D.
4. Rotate and zoom the grid until a section of the model is found that contains poorly
formed blocks. The following picture is one of these locations.

- 47 -

Advanced Builder Course

5. Click on a grid block that is located in the badly formed area to find out the grid
location index.
6. From the dockable window, check the box Use 3D Sector For Drawing Grid.
Select the option Use Center Grid and change the I,J,K location to be the location
index noted in the previous step. Zoom into the problem area.
7. From the dockable window, select the option Move all layers, and check the box
Show All Nodes.
8. Right click on top of the grid and select Edit Grid Structure...
9. Using the mouse, move the grid blocks until they align with the rest of the grid.
Hold down the Ctrl key to select multiple nodes at the same time.

- 48 -

Advanced Builder Course

Quick Perfs of Wells


1. From Well menu, select Well Trajectories and the select Recalculate
Intersection with Grid, say No if a message pops up
2. From Well menu, select Well Trajectories and the select Trajectories
Perforation Intervals
3. Click on Quick Perf Button. Keep defaults on the next interface and select OK.
Say OK if a message pops up. Press OK

Property Modification Using MODs


4. Change the view to be IJ-2D Areal , change the displayed property to be
Porosity and right click on the reservoir grid. From the popup menu select Edit
Reservoir Property
5. Click on the grid and select a few grid blocks to be modified. Note that once the
mouse button is released, the property modify dialog appears.
6. Multiply the values by 1.2 for the Current fundamental layer only and click OK.
Return to Probe Mode.

- 49 -

Advanced Builder Course

7. From the Tree view under Reservoir, click the + sign next to Array Properties
and find the array Porosity.
8. Click the + sign next to Porosity and double click on the line that says Property
Edited (*MOD Keywords).
9. Note that the values that were changed in the Property Modify dialog are reflected
in this MOD edit window. Change the multiplier to be 1.1 and click OK. Say Yes
to the message that pops up.

- 50 -

Advanced Builder Course

10. On the tool bar, click on the Polygon Manager icon


. The New Polygon dialog
will appear. Change the Name: to Null Region. In the view of the reservoir,
click around the region to the left of the grid, enclosing those grid blocks to the
left of the fault.

11. Once you have completed (closed) the polygon region, click OK. Next the
Polygon Manager dialog will appear. Double click on Property Modifications.
The Property Modifications of Porosity dialog will appear. Replace the Porosity
value with 0 in this region.

- 51 -

Advanced Builder Course

328,000

329,000

330,000

331,000

332,000

4,430,000

0.32
0.29

4,430,000

4,431,000

327,000

0.26

4,429,000

0.19
0.16
0.13

4,429,000

0.22

4,428,000

0.06
0.03
0.00

327,000

328,000

329,000

330,000

331,000

332,000

Property Modification Around Wells


1. Change the view to be IJ-2D Areal, change the displayed property to be Porosity
and right click on the reservoir grid. From the popup menu select Edit Reservoir
Property
2. Click on the grid and select a few grid blocks to be modified. Note that once the
mouse button is released, the property modify dialog appears.
3. At the top of the dialog select the option Property Modifications Around Wells.
4. Select all wells and multiply the porosity by 0.9. Select All perforated layers
and change the Number of Surrounding Blocks to be 2.
5. Click the Add Wells button to add comments to the MOD keywords so that the
user can know what changes were applied to what wells.
6. Click OK when done.
7. From the tree view, find the property Porosity and double click on the MOD
keywords to bring up the MOD edit window. Note the comments at the
beginning of the new keywords.

- 52 -

4,428,000

0.10

Advanced Builder Course

Transmissibility multipliers across faults


We normally use transmissibility multipliers to model the fault effect on the fluid flow.
1. Change the view to be IJ-2D Areal and make sure the mode is select back to
Probe mode by right clicking on the grid and select the top item Probe Mode.
From the Reservoir menu select Set Transmissibility Multiplier Across
Faults
2. Also make sure you have the Top map, which includes the faults information,
open. If not you will get the following message, and you will only be able to
change all the faults at once.

3. In the dialog that appears, note that a number of faults are listed. If you click on
any line containing a fault, note that the image changes on the reservoir to
highlight the selected fault.
- 53 -

Advanced Builder Course

4. Change Fault F 4 to be sealing by setting the multiplier to be zero.

Note that this way of setting transmissibility multipliers across faults uses the *TRANSF
keyword, which gives all the grid blocks and directions along the fault. The advantage of
using *TRANSF is that one multiplier is applied to all the blocks along the fault.

Relative Permeability Curve Averaging


1. Before relative permeability curves can be created, the fluid model must be
defined. Therefore, from the Components menu, select Import WinProp
Generated Model, select the file RESC_PVT.imx and click Open.
2. From the Rock-Fluid menu, select Create/Edit Rock Types.
3. Click the top menu button,
and select Import and Average Rock Type
4. In the Rock Fluid Averaging dialog that appears, click the Tools button and select
Read Another Simulator Data File and Extract Rock Fluid Data. Select the
file RelPerms.txt and click Open. Select the simulator IMEX and click OK.
Click OK to any messages that appear.
5. Click the Tools button again, select Read Capillary Pressure Data in
Laboratory Format, select the file Lab_Capillary_Pres.txt, and click Open.
6. Click the Tools menu button and select Normalize Curves. If there are any
curves that do not follow the trend of the other curves and should be removed
from the averaging, uncheck the check box. Otherwise click Next.

- 54 -

Advanced Builder Course

7. Remove any liquid gas curves that do not follow the trend of the other curves (i.e.
curve #6) and click Next.

- 55 -

Advanced Builder Course

8. For the water oil drainage capillary pressure curves, to best determine if there are
any curves outside the normal trend, click the Tools button and select Plot
capillary pressure curve match with: Pc = Pe (entry height) * Sw ** (1.0/Lamda). Also, click the Normalize Curves option to un-check it and view
the curves un-normalized.
9. Uncheck curves that do not follow the trend of the other curves (#8, #13, #17).
Then click Next.

- 56 -

Advanced Builder Course

10. For the water oil imbibition capillary pressure curves, click the Tools button and
click the last option that is checked to un-check it, then click the Tools button
again and select the Normalize Curves option. Again, uncheck curves that do
not follow the trend of the other curves (#29, 30 and 36). Then click Finish, then
OK to the message that appears, and OK again to exit the rock fluid section.
11. Notice that you are still have a red mark error in the Rock fluid section. Right
click on the Rock fluid data tree and select Validate. You should get the
following error:

- 57 -

Advanced Builder Course

12. Set the first entry of the Krog in the SLT table to 0 and click OK. Now you
should have a green check mark in the Rock-Fluid section.
13. Save the data set.

Rock Fluid Diagnostic Plots


Note: When complicated end point scaling options are used in the data set, possibly
coupled with temperature dependent end point changes (STARS), it is not always clear
what relative permeability curve will actually be used for any particular grid block.
Therefore, the rock fluid diagnostic plots were created so that the user could visualize the
actual relative permeability and capillary pressure curves used for each grid block.
1. Click the Reservoir tab so that the grid is displayed in the view. Select Endpoint
Saturation: Connate Water as the grid property to display.
2. From the top Rock-Fluid menu, select Diagnostic Plots.
3. Click on grid blocks in the display and note the changes in the displayed relative
permeability curves. Note that for the gas oil curves, some grid blocks have very
steep relative permeability curves (i.e. blocks with very high Swcon values).
These steep curves can slow down the simulator substantially.

- 58 -

Advanced Builder Course

4. Click the button Show Blocks <= Minimums. This option will display a list of
grid blocks where the relative permeability curve scaling has caused the curves to
be very steep (i.e. 1-Sorg-Sgcrit-Swcrit <= 0.1). These blocks should be fixed
before running the simulator. One easy way to fix these blocks for this data set is
to limit the maximum Swcon to be some value (0.45). How might you do this?

- 59 -

Advanced Builder Course

Bonus Exercise: Creating A Builder Dataset That Uses


Geostatistical Tools
This first part of the tutorial will guide you through the steps for building a simple reservoir 3D
geometry using the geostatistical tools available in Builder. It will also show how to use the
geostatistical tools for populating the 3D grid with porosity and permeability values and how to
use Builders scripting tools for automating some of those steps.
This is not a tutorial on geostatistics. It aims at making the user more familiar with Builders tools.
However, the required geostatistical parameters will be briefly explained where needed.
Geostatistics and Kriging
Ordinary Kriging is a geostatistical method for linear data interpolation. A weighted average of the
neighbouring data is computed to obtain the estimate value. In addition to the usual parameters
for searching the data, ordinary Kriging uses a variogram model from which the interpolation
weights will be computed. The variogram is a function of variance versus distance that models
the spatial correlations between the data. It may vary with direction allowing anisotropies to be
accounted for. You can control the data variogram by using the Click to match variogram and
the Click to edit variogram buttons. We are going to do just that in the next section.
Notice that the Assign data to cells option is selected. This option is used when we want to
make sure the closest grid cell of the mesh map will be assigned a data value as opposed to an
estimated value. It has a minimal impact when the grid is not too coarse and is very often used in
practice. The number of grid cells can be controlled on the Mesh tab of the dialog. We are going
to use the default meshing parameters and keep the Assign data to cells option.
Notice also, the Use Declustering Algorithm option. This option is used when it cannot be
assumed that all the data points in the Points tab should have the same weight for computing
their arithmetic average. Sometimes, the wells are preferentially clustered in sweet spots and
their arithmetic average might be shifted toward a higher value than what it would be for a more
regular sampling pattern of the wells. The declustering algorithm will give more relative weight to
wells that are isolated and give relatively smaller weight to wells that are part of clusters when
computing the usual statistics such as the mean. We are not going to use this option at this time.
When the Use Normal Scores Transformation option is selected, a normal scores transform of
the data will be done prior to the interpolation and a back transform will be done on the
interpolated normal score values. This option is used to normalize the data which may otherwise
yield a very erratic variogram function. The normal scores transform is also useful with any
interpolation methods when the data histogram is highly skewed. When this option is selected, it

- 60 -

Advanced Builder Course

is the variogram of the normal scores that is computed and modelled. We are not going to use
this option at this time.

Loading Basic Dataset in Builder


We want to create a black-oil IMEX dataset and use the international unit system. A basic dataset
with fluid components and rock-fluid data have been created for this tutorial. For the interested
users, the steps of loading the components and the PVT data can be found in the IMEX tutorial.
These steps will not be repeated here.
1. Select the tutorial_start.dat file in your DATA-geostatistics folder (or another folder you
have chosen for storing that file) and drag and drop it in the Builder window. This will open
the dataset.
At this stage, Builder presents a blank view and is waiting for more inputs.

Figure 26: Builder interface / GUI


We now need to create a grid for the simulator. We want the grid to conform to the reservoir
geometry which is partly known from well data. Before we can create the simulator grid, we need
to interpolate the reservoir geometry between the wells. The reservoir geometry will be derived
from elevations of the reservoir top and from its thickness at the wells.

- 61 -

Advanced Builder Course

Building the Top of the Reservoir


Loading Well Trajectories
The first step in importing the well markers is to load the well trajectories. The tops and the well
logs will be loaded at a later step in the tutorial.
1. Click on Wells & Recurrent | Well Trajectories | Well Trajectories. This will open the
Import well trajectory wizard.

Figure 27: Importing well trajectories


2. Select the Table Format for the file type and navigate to the dataset folder to open the
provided table file All_Wells.wdb. The units will automatically be set to m.
3. Click the Next button two times and the Finish button to close the dialog and load the
wells in Builders view.

- 62 -

Advanced Builder Course

Figure 28: Well trajectories in 3D view

Importing Top Data


1. In Builder, click on Wells & Recurrent | Well Trajectories | Import Formation Top File.
The Import Formation Tops dialog will appear:

Figure 29: Importing formation top data


2. Select the provided file TopTable.tdb which contains the top values in Measured Depth for
each well. Click OK to close the dialog.
3. The 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 by selecting
the Property Sheet icon

on the tool bar. The Builder Properties dialog will open and the

disk size and their color can be changed by selecting the Well Trajectory Tops category as
shown below.

- 63 -

Advanced Builder Course

Figure 30: Changing well tops size


4. Click OK to close the Builder Properties dialog and update the 3D view. The disks will appear
bigger as shown below.

Figure 31: Well tops in 3D view

- 64 -

Advanced Builder Course

Creating a Top Map


Maps can be created by clicking on File | Create Map File. This will bring up the Create Map
dialog.

Figure 32: Creating a top map


The Create Map dialog is used to create maps according to different interpolation and simulation
methods available on the Methods tab of that same dialog. We will select a geostatistical
interpolation method later. First, we need to import the top values into the spreadsheet control of the
dialog (Points tab).
1. Click on Tools | Import Tops from Trajectories
2. This will open the Select Trajectory Top dialog as shown below.

Figure 33: Importing tops from trajectories

- 65 -

Advanced Builder Course

3. Click OK to close the dialog and select the top values in the Create Map dialog.
4. 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

TOP_Map.msh and an appropriate path where to save it. We are going to create a mesh file
(extension .msh) for the top of the reservoir. The Create Map dialog should now look similar
to this:

Figure 34: Create map dialog with values populated


The data has been imported and we are now ready to select an interpolation method.

Modelling Variogram
All Kriging methods use variogram models from which the spatial correlation can be computed
between any two data locations in the reservoir. Variogram calculations are done by pairing the
data points and looking at the difference between the values. This can be done for a given
direction or for all directions lumped together. The latter is called an omni-directional variogram
and is used when data are scarce or when no spatial anisotropy is present. If there is enough
data, directional variograms should be computed to explore for possible anisotropies. Computing
and modelling variograms in different directions allow us to account for possible anisotropy in the
spatial correlation between the data. Anisotropies are frequently observed with geological data.
They generally tend to be aligned with the geological features of the reservoir.
By default, the Omni-Directional option is selected for the variogram calculations. You can
change it to Bi-Directional which allows for computing the variogram in two perpendicular

- 66 -

Advanced Builder Course

horizontal directions. The principal variogram direction is given as the Principal Axis Azimuth
Angle parameter which is in degrees. The second direction is automatically set to be at 90
degrees from the principal direction. Therefore, anisotropy in the data can be explored by
changing the principal direction azimuth angle. Variogram anisotropies result in differences in the
variogram range and/or variogram sill with direction. The range is the distance needed for the
variogram to reach a constant value which is called the sill. In absence of deterministic trend in
the data, the sill should roughly match the data variance. A longer range indicates stronger
correlations between the data. A very short range (or no range at all) is characteristic of noise in
the data and will lead to undifferentiated weights for data interpolation. This will be similar to a
simple statistical average. Differences in the ranges with the direction are automatically modelled
with anisotropy ellipses in 2D or anisotropy ellipsoids in 3D. The ellipse (or ellipsoid) is
constructed from the knowledge of the ranges for the two principal directions. Therefore, the goal
is to find those principal directions and set the Principal Axis Azimuth Angle accordingly.
Please refer to a geostatistical text book or Builder users manual for more details.

Kriging Method
1. Select the Methods tab and from the Calculation method pull-down list select Ordinary
Kriging (OK) Estimation option. The dialog now shows like this:

Figure 35: Create Map Dialog with Methods Tab and Ordinary Kriging Selected
2. Make sure the Assign data to cells option is checked and proceed to the next section for
variogram modelling.

- 67 -

Advanced Builder Course

Checking for Anisotropies


1. Select the Bi-Directional option from the Horizontal Variogram Direction pull-down list. The
Create Map dialog should look like this:

Figure 36: Selecting Bi-Directional variogram


A control parameter for the Principal Axis Azimuth Angle and a second control parameter to
edit the variogram (in a perpendicular direction) have been added. 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.
2. Click on the Click to match variogram button which will actually compute the variogram for
the given directions and find a best match with variogram models available in Builder. The
following variogram plot will appear:

- 68 -

Advanced Builder Course

Figure 37: Variogram for grid top map


The plot shows 4 different variogram curves. One actual variogram curve computed for each of
the two directions (black lines) and one variogram model curve (blue lines) automatically fitted to
the actual variogram curves. You can notice that the actual variograms are computed for different
lag distances (x-axis) which have been marked with green or red small squares. The lag
distances can be different for each direction. The lag distances are pre-set to start with. You can
change them with the Click to edit variogram data option of the Methods tab of the Create Map
dialog. The green colour identifies curve points that were calculated with at least 30 pairs of data
points. These curve 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 as reliable as for the green points. You should concentrate your attention on the green
points when matching the model curves to the actual curves.
The plot also shows a horizontal grey line which 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 keep increasing away above the data variance
line. Very strong trends should be removed before using any interpolation methods. However,
trends are really 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.

- 69 -

Advanced Builder Course

In such a case, the variogram function needs to be matched only for distances smaller or equal to
the search window.
Different options are available to manually match the variograms when the automatic fitting is not
deemed good enough. The curve for the model variogram of the principal direction has 3 handle
points marked with blue squares. Sometimes a green or a red square may cover a blue square.
In this case, you may unselect the pair point curves (>= 30 pairs and < 30 pairs) to actually see
the blue handle points. Hovering the mouse over these grab handles will allow you to change the
variogram model curve. The mouse cursor will change from the pointer shape into a small double
pointed horizontal arrow for horizontal movement or a small vertical double pointed arrow for
vertical movement. The variogram maximum level (sill), the lag distance where the maximum
level is reached (range), and the level at the origin (nugget) can be changed with the mouse
movement. The variogram model curve for the second direction (minor direction) has one handle
marked by an empty blue square. This handle is used for changing the variogram range in the
minor direction of the anisotropy ellipse.
In our example, the variogram model type itself needs to be changed for a better fit. The model
type controls the rate of variance changes with the lag distance. This can be done with the
variogram data dialog.

Editing Variogram Data


1. Close the variogram plot window and click on the Click to edit variogram data button for the
first Horizontal Variogram: angle in the Create Map dialog. This will bring up a variogram
editor dialog for the principal (major) axis of the anisotropy ellipse.

Figure 38: Defining variogram data

- 70 -

Advanced Builder Course

The dialog is divided up into 3 sections, one section for calculating the actual variogram curve at
various lag distances (for the given direction), one section for search parameters (used only at
the interpolation time), and one section for variogram fitting. We are going to change the fitting
parameters to get a better match. The fitting parameters control the variogram type, the level of
the variogram curve at the origin (Nugget), its maximum level (Sill), and the lag distance where
the maximum level is reached (Range). The variogram type changes the rate at which the
variogram function ramps up from the nugget (at lag zero) to the sill (at lag = range). Please, refer
to Builders manual or any book on Geostatistics for more details.
Note also the series of Auto check boxes on the right hand side of the dialog. When Auto is
selected, the program will automatically set this parameter for you. Note that some of your Auto
check boxes might be unchecked and their associated edit fields might be turned ON if you have
changed the variograms Nugget, Sill, or Range parameters on the variogram plot by mouse
interaction prior to opening the Variogram Data dialog.
2. Select Gaussian from the Variogram type pull-down list and click OK to close the dialog.
3. Click the Click to match variogram button to redisplay the variogram plot again. This time with
a different variogram type. The following variogram match can now be achieved by moving
around the handles on the model curves (blue):

Figure 39: Matching variogram for Tops

- 71 -

Advanced Builder Course

We can now consider that we have a good variogram match. Notice that the variogram models
match the actual curves for a lag distance up to about 2500 m. This information will be
considered again at the moment of defining a search window for the data interpolation.
4. Close the variogram plot.

Defining Search Window


Building the top map continues on with the definition of a search window for controlling how data
points will be used for the interpolation. The search window can be defined on the variogram
editor dialog.
1. On the Create Map dialog, click on the Click to edit variogram data button for the first
Horizontal Variogram: angle. This will bring up the variogram editor dialog again. Uncheck the
Auto option for the Search Radius and input a value of 2500.0. This is the limit of validity as
previously observed from our variogram match. (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).

Figure 40: Editing the horizontal variogram dta

- 72 -

Advanced Builder Course

Warning
2. You can notice that the variogram range (4691 m, your values may vary depending on your
variogram fit) is fairly large in comparison of the distances between the wells. This is likely to
create a problem with the Gaussian variogram type. It is well known that the Gaussian
variogram 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. (Note that only the Gaussian variogram model needs such a
particular attention.)
3. Click OK to close the variogram data dialog and open the second horizontal variogram data
dialog and change the search radius for the second horizontal variogram direction to be
2500.

Kriging the Top Surface


1. Click the Save File button of the Create Map dialog to actually perform the interpolation with
kriging and save the results as a mesh file. The kriged map will be shown in the Builder main
view after the calculations are done. The picture below shows the map in an IJ-2D Areal
view.

Figure 41: Map for top of Reservoir

- 73 -

Advanced Builder Course

Please, note that the map has been automatically meshed in using the default parameters from
the Mesh tab of the Create Map dialog. These parameters can be changed to refine or coarsen
the meshing. Keep in mind that the interpolated map should cover the same area then the
simulator grid which we will create later in this tutorial.

Building the Reservoir Thickness


To complete the reservoir geometry, we need to estimate its thickness below the top surface.
Similarly to the reservoir top, the thickness too can be estimated by kriging. We need to import
the thickness data into Builder. The next few steps are very similar to those we went through for
estimating the reservoir top. At this point, you may find useful to save the dataset, close it, and
reopen it. This will clear the variogram data values retained from the previous reservoir top data.

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).

- 74 -

Advanced Builder Course

Figure 42: Inputting values for thickness map

Kriging Method and Variogram Modelling


1. Select the Methods tab, all the selections used to build the Top Map should be selected.
2. Keep the Ordinary Kriging (OK) Estimation option selected.
3. Change the horizontal Variogram direction to Omni-Directional
4. Click on "Click to edit variogram data and reset all the variogram parameters to Auto.
5. Click on the Click to match variogram button. The following variogram plot will appear
(assuming all variogram parameters were reset to Auto):

- 75 -

Advanced Builder Course

Figure 43: Variogram Plot for grid thickness


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
1. 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).

- 76 -

Advanced Builder Course

Figure 44: Editing Horizontal Variogram Data for Thickness Map


2. Click OK to close the variogram data dialog and click the Click to match variogram button to
redisplay the variogram plot.
3. 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.
4. Make other adjustments to the curve until the fit is deemed acceptable like in the picture
below:

Figure 45: Variogram Plot for Thickness Data

- 77 -

Advanced Builder Course

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.
5. 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.

Figure 46: Editing search radius for thickness map


6. Click the OK button to close the Variogram Data dialog. We are now ready to compute the
thickness map.

Kriging the Thickness Surface


1. Click the Save File (or Update File) button to actually perform the interpolation with kriging
and save the results as a mesh file. After the calculations, the kriged map will show up in the

- 78 -

Advanced Builder Course

Builder main view. However you also will see the Top map in the view, so close the top map
by going to the properties window (click on the top icon
maps option and uncheck the top map. Click OK

- 79 -

), select the

Advanced Builder Course

Figure 47: Map for Reservoir Thickness


2. You can now close the Create Map dialog since we have completed all the maps.

Building the Simulation Grid


At this stage we have estimated two maps, one for the reservoir top and one for the reservoir
thickness. Because adding thickness and elevation permits to define the reservoir shape in 3D,
Builder allows us to combine the information from these two maps for the creation of a 3dimensional reservoir geometry.

But first, we need to define a simulator grid in Builder. A

conformable grid can be created with a corner point geometry. We want the grid to cover the
same area covered by our two maps.

Grid Definition
1. Select the option Open Map File if no maps are currently displayed in Builders main view.
Select the Top or the Thickness map previously created. This will help to correctly position
the simulation grid.
2. Select the option Orthogonal Corner Pointfrom the Create Grid option of the Reservoir
menu.
3. The Create Grid dialog will appear and let you define the number of grid blocks and their
dimensions. For an exact match with the previous maps, one can use the grid definition

- 80 -

Advanced Builder Course

actually found in the header of the previously computed maps. You can specify the grid as in
the pictures below.

Figure 48: Orthogonal Corner Point Grid Definition


4. Click OK to construct a grid with 81 grid blocks in the I direction, 40 in the J direction, and 10
in the K direction. Give 128.56 m for the grid block size in I and J. The vertical dimension of
the grid blocks will be controlled by the thickness map as we will see later. The horizontal
simulator grid will appear in Builders main view:

Figure 49: Thickness Map with Simulator Grid Defined

- 81 -

Advanced Builder Course

5. The grid can be moved (by holding Shift + left mouse button and moving the mouse) or rotate
(holding Ctrl + left mouse button and moving the mouse) to superimpose it over the map.
6. Click on the Probe icon

to get out of the grid editing mode.

Corner Point Calculation


To compute the grid block elevations, we need to define the Grid Top property in Builder.
1. Click Specify Property button of the View Control tool bar. This will bring up the General
Property Specification spreadsheet dialog.
2. Select cell at row Layer 1 and column Grid Top. Right click and select Geological map from
the context menu. This will bring up the Property Specification dialog.

Figure 49: Defining Grid Top Property


3. On the Property Specification dialog, click the Values in file1 button and navigate to and
select the TopMap.msh file previously created.

- 82 -

Advanced Builder Course

Figure 50: Specifying Map File for Grid Top Property

Figure 51: Selecting map type and file


4. Click OK to close the dialog.
5. Select cell at row Layer 1 and column Grid Thickness. Right click and select Geological map
from the context menu. This will bring up the Property Specification dialog.
6. On the Property Specification dialog, click the Values in file1 button and navigate to and
select the ThickMap.msh file previously created.
7. Change the edit box to the right of times from 1 to 0.1. This is the multiplicative values used
to split up the thickness over all the 10 layers, each layer having one tenth of the total
thickness.

- 83 -

Advanced Builder Course

Figure 52: Specifying Map File for Thickness Property


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 10 as
shown below.

Figure 53: Defining grid thickness using thickness map


10. Click OK to close the dialog and click OK to the next dialog to actually compute the corners of
the grid. The picture below shows the resulting reservoir geometry in a 3D view with the

- 84 -

Advanced Builder Course

thickness contour map floating above the grid. You can select the view properties and the
location of the contour maps with respect to the grid by going to the set/modify properties
window and select maps.

Figure 54: 3D View of the Simulator Grid and Thickness Property


At this stage, as a precaution, you can save the dataset before any further analysis.
11. Select the Save As option under the File menu and save the dataset in an appropriate folder
with a different name.

Defining Well Perforations


Well Perforations
1. Click on the Wells & Recurrent | Well Trajectories | Trajectories Perforations Intervals. The
Trajectory Perforation Intervals dialog will appear:

- 85 -

Advanced Builder Course

Figure 55: Trajectory Perforation Intervals Dialog


2. Click the Quick Perf button. The Quick Perforation dialog will appear.

Figure 56: Quick Perforation Dialog


3. Click OK to close and accept the defaults. All grid layers will be perforated for all wells.

- 86 -

Advanced Builder Course

Figure 57: 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.

- 87 -

Advanced Builder Course

Figure 58: 3D View of Trajectories after Perforations

We are now ready to associate log data such as porosity with the wells. It might be a good idea to
save the dataset at this point.

Populating Simulation Grid with Porosity Values


Geostatistical Objects
1. Open the dataset that was previously saved if not already open.
2. Click on Reservoir | Geostatistics. This will bring up the Create Geostatistical Objects dialog
as shown below:

- 88 -

Advanced Builder Course

Figure 59: Geostatistics Dialog


The Create Geostatistical Objects dialog is very similar to the Create Map dialog. It does not
create maps however. Instead, it is used to populate the simulator grid with Builder pre-defined
properties such as porosity and permeability. It can be used as a stand-alone tool or in
combination with the scripting tool as we will see later in the tutorial. The main purpose of this
dialog is to create blue prints or specifications for using geostatistics in populating the grid with
properties. These geostatistical specifications are packaged together into geostatistical objects
that can be executed, saved, and recalled at will. As we will see later, the geostatistical objects
can be included in a script for automatic and iterative workflows. The dialog is actually empty
because this is a new dataset. We need to create a first geostatistical object.
3. Click the right pointed arrow next to the Name pull-down list at the top of the dialog and select
New (default).
4. Give a meaningful name such as PoroSim for this geostatistical object. We are going to use
this object for creating geostatistical simulations of the porosity. Click OK to accept the name.
The dialog is now active and can receive input data.
5. Select Add New Custom Property in the Output Property pull-down list, and add the suffix
PoroSim, and any comments you want. With this dataset, we cannot directly load the porosity
values into the Porosity property because these values are percentages instead of fractions.
We will later use a formula to create the Porosity property from the CMGLCustom_PoroSim
property.

- 89 -

Advanced Builder Course

Importing Well Log Data in the Geostatistical Object


6. Click the Tools button and select Import logs or tables of measured depth values
option. The Select Wells and Logs dialog will come up.

Figure 60: Importing Well and Log Information for Geostatistical Object
7. Click the Import Well Logs button. The Import well logs dialog will appear. This dialog can be used
to read LAS files.
8. Click the Open File(s) button on the Import well logs dialog. This will open an open file
dialog window where you can navigate the tutorial folder and select all LAS files at once. Use
the Shift key to select all of the LAS files. As shown below, the wells and their logs will be
loaded into the Import well logs dialog.

- 90 -

Advanced Builder Course

Figure 61: Imported LAS Information


9. Click OK to import all the logs and all the wells.
10. Back to the Select Wells and Logs dialog, click the Select Wells button. This will open the
Advanced Well Selection dialog.
11. Click the >> button to select all wells and OK to close the dialog.

Figure 62: Advanced Well Selection dialog

- 91 -

Advanced Builder Course

12. Back to the Select Wells and Logs dialog again, 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.

Figure 63: Selecting Specific Log


13. Now the porosity values are loaded into the spreadsheet of the Create Geostatistical Objects
dialog which should look like this (note: the values in the Value column might be slightly
different depending on your grid):

Figure 64: Geostatistics Dialog with Value Information Defined for Porosity
We still need to set the geostatistical method and its parameters before we can use this object.

- 92 -

Advanced Builder Course

Geostatistical Method
1. Select the Methods tab of the Create Geostatistical Objects.
2. Change the Calculation Method to Gaussian Geostatistical Simulation.

Figure 65: Methods tab and Gaussian Geostatistical Simulation Selected for Geostatistics Dialog
Similar to Ordinary Kriging which we have used to create the reservoir top and thickness maps,
Gaussian Simulation also computes an estimated value as a weighted average of the neighbouring
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 which Ordinary Kriging is.
In so doing, the simulated values will reproduce the data histogram and the variogram model used.
The simulated values will display a more heterogeneous pattern as oppose to an overly smooth
pattern as the one that can be produced 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. As a matter of fact, if one would do many Gaussian simulations of the same data and
compute their average, one would find a result very close to what would be obtained with Ordinary
Kriging. Thus, Ordinary Kriging can be seen as the expected value of Gaussian Simulation. As for
Ordinary Kriging, Gaussian Simulation calls for variogram modelling. With Gaussian simulation, the

- 93 -

Advanced Builder Course

data is automatically transformed in normal scores. Therefore, it is the variogram of the normal
scores of the data that needs to be computed and modelled.
You may also have noticed that a Vertical Variogram option is now available on the Methods tab.
This is because we are populating data in 3D. The 3D variogram is modelled with the spatial
correlation within the geological layers (horizontal) and across them (vertical).

3D Variogram Analysis
1. Select the Bi-Directional option from the pull-down list of the Horizontal Variogram Direction.
We want to explore if the variogram presents anisotropy with the direction. Notice that three
angle parameters are now shown. These angles are used to orient the axis of the anisotropy
ellipsoid if an anisotropy does exist.

Figure 66:Methods tab for Bi-Directional 3D Variograms


2. Click the Click to match variogram button to display the variogram plot window.

- 94 -

Advanced Builder Course

Figure 67: Variogram Plot for 3D Geostatistics Object


The plot shows that the horizontal variogram looks similar in all directions (you can repeat in
changing the Principal Axis Azimuth Angle parameter). 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.
The vertical variogram is actually squeezed against the vertical axis of the plot. The horizontal
variograms and the data variance curve need to be deselected in the tree view before we can
properly visualize the vertical variogram (shown below).

Figure 68: Vertical Variogram Plot

- 95 -

Advanced Builder Course

By zooming in on the vertical variogram, we can see that the nugget effect should be smaller. To
adjust the nugget effect, we need to reselect the Principal Axis component of the Horizontal
Variogram in the tree view. The following adjustment with no nugget effect and no anisotropy can
be obtained. 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.

Figure 43: Variogram Plots with Different Variogram Component Information


Selected

- 96 -

Advanced Builder Course

3. Close the variogram plot window and reselect the Omni-Directional option for the Horizontal
Variogram Direction as we have no indications for using horizontal anisotropies, and make
sure the variogram is still matching, and make the necessary adjustments to it.
At this stage, we can save the geostatistical objects but we should Run the simulation and look at
the results in case we need to modify some parameters.

Simulating Porosity
4. Click the Run button to actually create the CMGLCustom_PoroSim property. The results will
be automatically displayed in Builders main view when the calculations are finished.

Figure 69: Porosity Property Simulated on the Simulator Grid

5. Click OK to save the newly created geostatistical object and close the dialog. This Gaussian
Simulation geostatistical object will be used again later in an automatic workflow. You can
save the dataset to keep a permanent copy of the geostatistical object with it.
You can notice that the porosity values from the well logs are in percent. The IMEX simulator
requests the porosity values to be fractions. We can easily create the Porosity property by
rescaling the CMGL Temp Prop1 property in using a formula.

- 97 -

Advanced Builder Course

Creating Porosity Formula


1. We need to define a formula for rescaling porosity values from the CMGL Temp Prop1
property which is porosity in percents. Select the Formula Manager option from the Tools
menu. The Formula dialog will appear.

Figure 70: Formula Dialog


2. Name the new formula Porosity Fraction in the edit field next to Formula Name. Click the
button Add Independent Variables. Then Select a property as a source property dialog
will pop up.

Figure 71: Selecting Source Property for Formula Specification


3. Select the property CMGLCustom_PoroSim and click OK to close.

- 98 -

Advanced Builder Course

4. Back to the Formula dialog, select the X0 variable (alias for CMGLCustom_PoroSim) that was
just created by the previous step, then click the button Insert selected into formula and type in /
100 at the right of the X0 variable. This simple formula will divide CMGLCustom_PoroSim (alias
X0) by 100, thus rescaling the porosity values between 0-1.

Figure 72: Formula Specification for Porosity


5. Click OK to exit and click OK after reading the message window.

- 99 -

Advanced Builder Course

Creating Porosity Property from Formula


We also need to create the Builders Porosity property before we can use it in an equation for the
Permeability.
1. Click the Specify Property button on the view tool bar. The General Property Specification
dialog will appear. Click the cell at the intersection of the row Whole Grid and Porosity
column. Select Formula from the context menu (right mouse button).

Figure 73: Specifying Porosity Property


The Property Specification dialog will appear. Select the Porosity Fraction formula and Click OK
to close the dialog. Click OK again to close the General Property Specification dialog.

Figure 74: Selecting Formula for Porosity

- 100 -

Advanced Builder Course

2. The Block/Corner Value Calculation dialog will appear. Click OK on the General Property
Specification dialog to calculate the Porosity property as a rescaled version of
CMGLCustom_PoroSim property.

Figure 75: Porosity Fraction in 2D Reservoir View

With this dataset, the permeability values can be estimated in combining two different sources of
information; the regression equation from a cross-plot Permeability-Porosity from cores and the
well test data for a limited number of wells. We are going to define a first estimate of the
permeability values in combining the porosity model and the regression formula, and then, we will
create a geostatistical object from the well test data. The geostatistical object will combine the
porosity-calculated permeability values and the well test data into a final permeability model.

- 101 -

Advanced Builder Course

Creating Permeability Formula


1. Repeat the Creating Porosity Formula steps to create another formula that will calculate the
first (soft) permeability values from the Porosity property. Name the formula PermFromPor
and use the following equation 3000 * (X0+0.1)**3 / ((1-X0)**2) where X0 is an alias for the
Porosity property.

Figure 76: Creating Formula for Permeability I


2. Create a new Custom property with the suffix PermFromPor by placing the mouse on top of the
Array Properties and select Add New Custom Property... and click OK.

Now you will be able to see the new custom property on the Array Properties tree.

- 102 -

Advanced Builder Course

3. Repeat the Creating Porosity Property from Formula steps for assigning the PermFromPor
formula

with

the

Whole

Grid

CMGLCustom_PermFromPor.

Calculate

the

CMGLCustom_PermFromPor property. (Shown with a logarithmic scale below)

Figure 77: Calculated CMGL Temp Prop2 Property


Now we are going to define the Builders Permeability I,J,K, from well test data and
CMGLCustom_PermFromPor.

Populating Simulation Grid with Permeability Values


Geostatistical Objects
1. Open the dataset that was previously saved if not already open.
2. Open the Excel document WellTest.xls.
3. Select Geostatistics under the Reservoir menu. This will bring up the Create Geostatistical
Objects dialog as shown below. By default, the dialog loads in the first geostatstistical object
in the list which is the PoroSim, the object defined for porosity. We need to create a new one
for the permeability values.

- 103 -

Advanced Builder Course

Figure 78: Geostatistics Dialog with First Object


4. Click the right pointed arrow next to the Name pull-down list at the top of the dialog and select
New (default).
5. Give a meaningful name such as WellTestSim for this geostatistical object. We are going to
use this object for creating geostatistical simulations of the permeability. Click OK to accept
the name. The dialog is now active and can receive input data.
6. Select Permeability I in the Output Property pull-down list.

Importing Well Test Data


7. Click the Tools button and select Import well test permeabilities option. The Import Well
Test Permeabilities dialog will come up. Copy and paste the well test data from the Excel
spreadsheet into the spreadsheet control of the Import Well Test Permeability dialog, and
select CMGLCustom_PermFromPor as property for individual layer weighting values as
shown below:

- 104 -

Advanced Builder Course

Figure 79: Importing Well Test Information for Geostatistical Object

8. Click OK to close the dialog. 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.
9. Now the permeability values are loaded into the spreadsheet of the Create Geostatistical
Objects dialog which should look like this (note: the values in the Value column might be
slightly

different

depending

on

your

grid

CMGLCustom_PermFromPoro):

- 105 -

and

the

geostatistical

simulation

of

Advanced Builder Course

Figure 80: Geostatistics Dialog Defined for Permeability I


We still need to set the geostatistical method and its parameters before we can use this object.

Geostatistical Method
10. Select the Methods tab of the Create Geostatistical Objects.
11. Change the Calculation Method to Gaussian Geostatistical Simulation.

- 106 -

Advanced Builder Course

Figure 81: Method Information for Geostatistics Dialog

3D Variogram Analysis
12. Select the Bi-Directional option from the pull-down list of the Horizontal Variogram Direction.
We want to explore if the variogram presents an anisotropy with the direction. Notice that
three Angle parameters are now showing. These angles are used to orient the axis of the
anisotropy ellipsoid if an anisotropy does exist.

FIGURE 57: Updating Method Information for Bi-Directional 3D Variogram

- 107 -

Advanced Builder Course

13. Click the Click to match variogram button to display the variogram plot window.

Figure 82: Variogram Plot for Calibrated Well Test Data


The plot shows that the horizontal variogram looks similar in all directions (you can repeat in
changing the Principal Axis Azimuth Angle parameter). 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.
The vertical variogram is actually squeezed against the vertical axis of the plot. The horizontal
variograms and the data variance curve need to be deselected in the tree view before we can
properly visualize the vertical variogram (shown below).

- 108 -

Advanced Builder Course

Figure 83: Vertical Variogram Plot for Calibrated Well Test Data
By zooming in on the vertical variogram, we can see if there is need to adjust the nugget effect.
To adjust the nugget effect, we need to reselect the Principal Axis component of the Horizontal
Variogram in the tree view. The following adjustment with no nugget effect and no anisotropy can
be obtained. 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.

Figure 84: Plots with Different Variogram Component Information Selected for Well Test Data
14. Close the variogram plot window and reselect the Omni-Directional option for the Horizontal
Variogram Direction as we have no indications for using horizontal anisotropies, Make sure
you re-match the variogram if needed.

- 109 -

Advanced Builder Course

Figure 85: Omnidirectional Variogram Plot for Calibrated Well Test Data
At this stage, we can save the geostatistical objects, and. Now we should Run the simulation and
look at the results in case we need to modify some parameters.

Simulating Permeability
15. Click the Run button to actually create the Permeability I property. The results will be
automatically displayed in Builders main view when the calculations are finished. Set the
color scale to Logarithmic:

Figure 86: Permeability Property Simulated on the Simulator Grid

- 110 -

Advanced Builder Course

Click OK to save the newly created geostatistical object and close the dialog. 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.
16. Click the Specify Property button on the view tool bar. The General Property Specification
dialog will appear. Click the cell at the intersection of the row Whole Grid and Permeability J
column. Select EQUALSI from the context menu (right mouse button). The property
Specification dialog will appear. Click OK to accept the default and create Permeability J as
equal to Permeability I.

Figure 87: Specifying EQUALSI for Permeability J


17. Back to the General Property Specification dialog, click the cell at the intersection of the row Whole
Grid and Permeability K column. Select EQUALSI from the context menu (right mouse button). The
property Specification dialog will appear again. Select the multiplicative sign * from the Equals I pulldown list. Change the multiplicative factor from 1 to 0.1 as shown below. Click OK to close the
dialog and create Permeability K as one tenth of Permeability I.

- 111 -

Advanced Builder Course

Figure 88: Specifying EQUALSI for Permeability K


Now, the General Property Specification dialog should show like this:

Figure 89: General Property Specification Dialog with Permeability Specified

Click OK again to close and click OK on the next dialog to calculate the Permeability J and
Permeability K properties.
We still have few steps to do in order to make the dataset ready for the flow simulator.

- 112 -

Advanced Builder Course

Initial Conditions and Well Constraints


In this section of the tutorial, we are going to set the simulator initial conditions and well operating
constraints. This will allow us to initialize the dataset for initial oil in place. To have a simulator
ready dataset, we still need to add more engineering data.

Reservoir Pressures and GOW Contacts


1. Select Initialization Settings from the Initial Conditions menu. The Initial Conditions dialog
will appear. Keep the default Water-Oil-Gas system and enter 27600 kPa for Pressure, 190m for Depth, -185m for Water-Oil contact and -220m for Gas-Oil contact.

Figure 90: Initial Conditions Settings


This will complete the Initial Conditions section.

- 113 -

Advanced Builder Course

Figure 91: Reservoir View after Initial Conditions Specified

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.

Figure 92: Well Events Dialog with Little Information Defined

- 114 -

Advanced Builder Course

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).

Figure 93: 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.)

- 115 -

Advanced Builder Course

Figure 94: 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.

- 116 -

Advanced Builder Course

Figure 95: Selecting Wells for Copying WELL Keyword


7. Select the 2.- Dates tab and click the Select button to select all dates

Figure 96: Selecting Date for Copying WELL Keyword


8. Click the Search & Add button to fill the right hand side of the dialog with wells.

Figure 97: Wells and Dates Selected for Copying Information To

- 117 -

Advanced Builder Course

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.

Figure 98: Updated Well Events Dialog after Information is Copied


10. Click OK to close the dialog.
11. So far we have only one date for the wells. We need to add at least one more date if we want
initialize the reservoir for the static properties. Select Dates from the Well menu. The
Simulation Dates dialog will appear:

- 118 -

Advanced Builder Course

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 99: Dataset after All Main Information has been Defined
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:

- 119 -

Advanced Builder Course

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 Workflows with Script


Scripts are used for automatic execution of basic Builders actions. The sequence in which the
actions are performed defines the workflow. The ordering of the actions in the script is important as
some actions may depend on the results generated or updated by previous actions. At the time of
writing this tutorial, the available basic actions are: Repeat for looping, Geostatistical Calculation for
estimation or simulation of any Builders property, Calculation from Specification for general
calculation of Builders properties with formulas, Save Dataset for saving the current states of
Builders properties involved in the script, and Simulator Initialization for retrieving initialization
reservoir values in using the current state of the dataset. Altogether, these actions provide for very
general and flexible workflows. They can be used to automatically generate many different datasets
useful for uncertainty analysis or for testing various scenarios.

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

- 120 -

Advanced Builder Course

Figure 100: 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.
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.)
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.

- 121 -

Advanced Builder Course

Figure 101: Script with Repeat Action


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.

Figure 102: Script with Repeat Action and Geostatistical Calculation

- 122 -

Advanced Builder Course

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.

Figure 103: 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

message

CMGLCustom_PermFromPor on Porosity.

- 123 -

dialog

about

the

dependency

of

Advanced Builder Course

Figure 104: Specifying Porosity Calculation for Script


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.

Figure 105: Script with Porosity Calculation

- 124 -

Advanced Builder Course

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.

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.

- 125 -

Advanced Builder Course

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 dont 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.

Figure 106: 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.

- 126 -

Advanced Builder Course

Figure 107: Saving Option in Scripting Dialog


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 Titles 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.

Figure 108: Simulator Initialization Dialog for Script

- 127 -

Advanced Builder Course

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:

Figure 109: 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.

- 128 -

Advanced Builder Course

Figure 110: Script with Output Messages from being Run


Running the script generates 3 versions of the dataset. The last dataset created by the script will
become the Builders current dataset showing the last property that was calculated by the script.

Figure 111: Reservoir View for Script Generated Dataset

- 129 -

Advanced Builder Course

The Excel compatible file will be automatically opened showing the initial volumes as estimated
by the simulator.

Figure 112: Excel Worksheet Created by Script

- 130 -

Você também pode gostar