Escolar Documentos
Profissional Documentos
Cultura Documentos
AdvancedBuilder&ResultsCourse
Takingthefulladvantageofnewpowerfultoolsfor
creatingandimprovingreservoirmodels
BuilderTutorial,V.2013.10
ComputerModellingGroupLtd.
-1-
-2-
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.
-3-
Porosity
Pinchout Array
Net to Gross Ratio
Connate Water Saturation
4.5e-6
4100
(1/psi)
(psi)
-4-
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-
Press OK to calculate these properties and populate the actual grid arrays.
-6-
Fracture Porosity
Fracture Permeability I, J, K
Fracture Spacing I, J, K
(use EQUALSI for J direction)
Notice that the red marks for missing data should disappear from reservoir section.
-7-
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.
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-
The validation red mark in Rock-Fluid section should have changed to green for OK
status.
-9-
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.
- 10 -
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 -
Step 3:
- Accept all defaults and press Finish
- 12 -
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.
- 13 -
Step 2:
- Select the text lines with first data entry and well name
- Click Next
- 14 -
Step 3:
- Check mark the Space separator option for better column alignment
- Click Next
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 -
- 16 -
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.
- 17 -
Open the Time-Line View by clicking on Wells & Recurrent| Open Timeline View to
check the production events along the time scale.
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 -
Add the following controls to the numerical sections and run the simulator again.
*DTMAX
*NORTH
*ITERMAX
60
100
100
*PRESS
*PBUB
*SATUR
1000
1000
0.25
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 -
- 20 -
8. Notice the default averaging routines for different grid properties and select Pore
Volume Weighted Arithmetic for Connate Water saturation.
- 21 -
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 -
- 23 -
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#
->
->
->
->
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 -
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 -
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 -
- 27 -
- 28 -
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
2,000
2,100
2,200
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 -
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.
- 31 -
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 -
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.
- 33 -
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 -
- 35 -
- 36 -
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
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.
- 38 -
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 -
- 40 -
6. Click OK and select the following options in the Block / Corner Value
Calculation
- 41 -
7. Click OK.
- 42 -
- 43 -
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 -
- 45 -
- 46 -
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.
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 -
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 -
- 49 -
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 -
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 -
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
- 52 -
4,428,000
0.10
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 -
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.
- 54 -
7. Remove any liquid gas curves that do not follow the trend of the other curves (i.e.
curve #6) and click Next.
- 55 -
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 -
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 -
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.
- 58 -
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 -
- 60 -
is the variogram of the normal scores that is computed and modelled. We are not going to use
this option at this time.
- 61 -
- 62 -
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 -
- 64 -
- 65 -
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
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:
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 -
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 -
- 68 -
- 69 -
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.
- 70 -
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):
- 71 -
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.
- 72 -
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.
- 73 -
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.
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
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 -
- 75 -
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 -
- 77 -
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.
- 78 -
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
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 -
actually found in the header of the previously computed maps. You can specify the grid as in
the pictures below.
- 81 -
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
- 82 -
- 83 -
- 84 -
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.
- 85 -
- 86 -
- 87 -
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.
- 88 -
- 89 -
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 -
- 91 -
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 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 -
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 -
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.
- 94 -
- 95 -
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.
- 96 -
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.
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 -
- 98 -
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.
- 99 -
- 100 -
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.
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 -
Now you will be able to see the new custom property on the Array Properties tree.
- 102 -
3. Repeat the Creating Porosity Property from Formula steps for assigning the PermFromPor
formula
with
the
Whole
Grid
CMGLCustom_PermFromPor.
Calculate
the
- 103 -
- 104 -
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
Geostatistical Method
10. Select the Methods tab of the Create Geostatistical Objects.
11. Change the Calculation Method to Gaussian Geostatistical Simulation.
- 106 -
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.
- 107 -
13. Click the Click to match variogram button to display the variogram plot window.
- 108 -
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 -
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:
- 110 -
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.
- 111 -
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 -
- 113 -
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.
- 114 -
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).
- 115 -
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 -
- 117 -
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.
- 118 -
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 -
We now have a simulator ready dataset which can be used for iterative or automated workflows.
You can save it to disk if you want. The dataset has now reached a state where it can be sent to
the flow simulator. It is important to remember that the porosity and permeability values have
been simulated by geostatistical methods and therefore represent just one possibility among an
infinite number of porosity and permeability models for the reservoir. Uncertainty about these
properties can be explored by running the geostatistical methods multiple times. We are now
going to create a script that will help us to automate this process.
Creating a Script
1. Load the last saved dataset if not already open in Builder.
2. Select the Scripting option under the File menu. The Property Calculation Scripting dialog
will appear. It has a spreadsheet where each row corresponds to a script action. Rows can
be added as more actions are needed. They can also be removed or moved up and down in
using these buttons
- 120 -
- 121 -
- 122 -
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.
OK
few
times
to
close
message
CMGLCustom_PermFromPor on Porosity.
- 123 -
dialog
about
the
dependency
of
- 124 -
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 -
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.
- 126 -
- 127 -
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:
- 128 -
- 129 -
The Excel compatible file will be automatically opened showing the initial volumes as estimated
by the simulator.
- 130 -