Advan Ad vanced ced Buil Bu il der Cours Cou rse e
Advanced Builder & Results Course Taking the full advantage of new of new powerful tools for creating and improving reservoir models
Builder Tutorial, V. 2013.10 Computer Modelling Group Ltd.
-1-
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
Introducti on to Advanced Fe Features atures in Buil der Dataset conversion for other simulator types IMEX - STARS - GEM (available (av ailable from the File menu). Various data source options (menu File | Import from another anothe r file): - Rescue - CMG simulation results files - Other datasets in CMG, Eclipse or CHEARS (Chevron-Texaco) (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-
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
Exerci se 1: 1: Creati Creating ng a New New Mod Model el Fro From m RESCUE RESCUE Data Data This example shows how to create a complete dataset based on a real RESCUE model.
Create a new d ataset 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 Buil der Course
Populate the grid matrix pr operties 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:
Por osi t y Pi nchout Ar r ay Net t o Gr oss Rat i o Connat e Wat er Sat ur at i on
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 Buil der 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 Buil der 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 Buil der Course
Populate the grid fracture system pro perties 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:
Fract ur e Por osi t y Fr actur e Per meabi l i t y I , J , K Fract ur e Spaci ng I , J , K ( use EQUALSI f or J di r ect i on)
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 Buil der Course
Rock-fluid s ection 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
kr w 0 1 kr g 1 0
kr ow 1 0 kr og 0 1
-8-
Advanced Buil der 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 Buil der 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 Setting s 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 f eet f eet f eet
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 Buil der 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 Buil der 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 Buil der 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 producti on 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 Buil der 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 Buil der 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 Buil der Course
Figure 18: Step 4 of importing production/injection data
Figure 19: Step 5 of importing production/injection data
- 16 -
Advanced Buil der 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 Buil der 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 tunin g 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). ===================== WARNI NG ( f r om subr out i ne: CAL LSL ) ====================== The l i near sol ver has not conver ged af t er 40 i t er ati ons. Cont i nui ng t he r un . . . ==============================================================================
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 Buil der Course
Add the following controls to the numerical sections and run the simulator again. *DTMAX *NORTH *I TERMAX
60 100 100
** l i mi t t he max t i me st ep t o 2 mont hs ** enabl e t he l i near sol ver usi ng mor e memor y ** enabl e l ar ger number of sol ver i t er at i ons
** i ncr ease nor mal changes t o get gr at er t i me st eps ** NORM i s used f or aut omat i c t i me- st ep sel ect i on *NORM *NORM *NORM
*PRESS *PBUB *SATUR
1000 1000 0. 25
** Add after the RUN keyword *DTWELL
5
** st ar t wi t h 5 day st ep af t er wel l 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 Builder’s 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 Buil der 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 Buil der 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 Buil der 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 Buil der Course
Exercise 2: Handl ing Multi lateral Well Trajector ies 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 t rajectory 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 Buil der 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#
-> -> -> ->
Par ent ( mai n br anch) -------------------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 Buil der Course
Adjus ti ng wel l t rajec to ry KB elev ati on
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 Buil der 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 Buil der Course
Create Refin ed 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 Buil der Course
- 28 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
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. 2 0 0
1,000
1,100
1,200
1,300
1,400Grid 1,5Top 00 1(ft) ,6001987-01-01 1,700 1,800
1J,9layer: 00 2,0046 0 2,100
2,200
2,300
2,400
2,500
3 0 0
0 0 2
0 0 3
4 0 0
FM09
0 0 4
5 0 0
0 0 5
6 0 0
0 0 6
FM14 7 0 0
0 0 7
8 0 0
0 0 8
9 0 0
0 0 9
FM14
1 , 0 0 0
0 0 0 , 1
1 , 1 0 0
0 0 1 , 1
1 , 2 0 0
0 0 2 , 1
1 , 3 0 0
0 1,000
1,100
1,200
1,300
1,400
185 1,500
371 1,600
556
741
1,700
- 29 -
927 1,800
0 0 3 , 1
1,112 1,298 1,483 1,668 1,854 1,900
2,000
2,100
2,200
2,300
2,400
2,500
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
Ad d t ub i ng per fo r manc man c e table tab le Tubing tables can be generated ge nerated 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, Ra te, 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 we llbore calculator to obtain the bottom-hole pressure values for this table.
- 30 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
In the pressure calculator window select the computation c omputation 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 Buil der Course
Ad d well co ns tr ain t d efi ni ti on s 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 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
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 dataset inp ut and run the model Let’s 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 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
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 c ontrol 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 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
Input / Output controls:
Add flux vector and stream line generation gen eration options on the simulation results output. Run the model with IMEX
- 35 -
Advanced Buil der Course
Exerci se 3: Creating a Corner Poin t 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: Units system: Start date: Single porosity
IMEX SI 2005-01-01
Open the cont our map fi le Use menu item: File | Open Map File. Select the file type “CMG Mesh format” and meters for x, y coordinates.
- 36 -
Advanced Buil der 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 -
Advanced Buil der 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 Buil der Course
Property calculation window.
Grid Display in 3D.
- 40 -
Advanced Buil der Course
Grid Thickness Calculation By default Builder has assigned a thickness of 10 m to each layer in model. Now let’s 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 Buil der Course
7. Click OK.
- 42 -
Advanced Buil der 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 Buil der 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 Buil der 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 Buil der Course
18. Save the data set when finished.
An aly zing the gr id thi ck nes s d is tr ibuti on 1. Switch the current view property to Grid Thickness.
- 46 -
Advanced Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der Course
327,000
328,000
329,000
330,000
331,000
332,000
0 0 0 , 1 3 4 , 4
4 , 4 3 0 , 0 0 0
0.32 0 0 0 , 0
0.29 3 0.26
4 , 4
0.22 4 , 4 2 9 , 0 0 0
0.19 0 0.16 0.13
0 0 , 9 2 4 , 4
0.10 4 , 4 2 8 , 0 0 0
0.06 0 0 0 ,
0.03 8 2 4 ,
0.00 4
327,000
328,000
329,000
330,000
331,000
332,000
Property Modif ication Aroun d 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 -
Advanced Buil der 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 Buil der 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.
Relativ e Permeabil ity 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Diagnosti c 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 Buil der 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 Buil der Course
Bonus Exercise: Creatin g 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 Builder’s scripting tools for automating some of those steps. This is not a tutorial on geostatistics. It aims at making the user more familiar with Builder’s 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 As si gn dat a to cel ls 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 As si gn dat a to cel ls 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 Buil der Course
is the variogram of the normal scores that is computed and modelled. We are not going to use this option at this time.
Loadin g 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 Buil der Course
Building the Top o f 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 “ Al l_Wel ls .wd b”. 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 Builder’s view.
- 62 -
Advanced Buil der Course
Figure 28: Well trajectories in 3D view
Importi ng 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 Buil der 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 Buil der Course
Creating a Top Map Maps can be created by clicking on File | Create Map Fil e. 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 Buil der 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 Buil der 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 user’s manual for more details.
Krigin g Method 1. Select the Methods tab and from the Calculation method pull-down list select Ordinary Krigi ng (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 Buil der Course
Checking for Ani sotropi es 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 An gl e 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 Buil der 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 variog ram 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 Buil der 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.
Editin g Variogr am 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 Buil der 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 Builder’s 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 Buil der 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.
Defin ing Search Wind ow 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 Buil der 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.
Krigi ng th e 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 Buil der 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 Impor tin g 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Definiti on 1. Select the option Open Map File if no maps are currently displayed in Builder’s 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 Point…from 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 Buil der 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 Builder’s main view:
Figure 49: Thickness Map with Simulator Grid Defined
- 81 -
Advanced Buil der 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 Buil der 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 Buil der 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 Buil der 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.
Defini ng Well Perforatio ns Well Perforations
1. Click on the Wells & Recurrent | Well Trajectories | Trajectories Perforations Intervals. The Trajectory Perforation Intervals dialog will appear:
- 85 -
Advanced Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der Course
Importi ng Well Lo g Data in the Geostati sti cal 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Vario gram Analysi s 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 Buil der 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 Buil der 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 w ith Different Variogram Component Information Selected
- 96 -
Advanced Buil der 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 Builder’s 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 Buil der 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 Buil der 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 Buil der Course
Creating Porosity Property from Formula We also need to create the Builder’s 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 Buil der 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 Buil der Course
Creatin g Permeabili ty Formu la 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 Buil der 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 Builder’s Permeability I,J,K, from well test data and CMGLCustom_PermFromPor.
Populating Simu lation Grid wi th 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 Buil der 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.
Importi ng 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 Buil der 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 Buil der 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 Buil der Course
Figure 81: Method Information for Geostatistics Dialog
3D Vario gram Analysi s 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 Buil der 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 Buil der 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 Buil der 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 Builder’s main view when the calculations are finished. Set the color scale to Logarithmic:
Figure 86: Permeability Property Simulated on the Simulator Grid
- 110 -
Advanced Buil der 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 Buil der 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 Buil der Course
Initial Condition s 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.
Reservoi r Pressur es 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 Buil der 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 w ith Script Scripts are used for automatic execution of basic Builder’s 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 Builder’s property, Calculation from Specification for general calculation of Builder’s properties with formulas, Save Dataset for saving the current states of Builder’s 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.
Creatin g a Scri pt 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 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
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 for the Repeat action from 1 to to 3. This will create create a loop with 3 iterations.
- 121 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
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 Calculation
- 122 -
Advan Ad vanced ced Buil Bu il der Cours Cou rse e
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
a
message
CMGLCustom_PermFromPor on Porosity.
- 123 -
dialog
about
the
dependency
of
Advanced Buil der 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 Buil der 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 Buil der 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 don’t need to include them in the script.
10. Select row 5 and select the Geostatistical Calculation action from the context menu. A pull down list of geostatistical objects will be created in the Values cell of the geostatistical action. Select the WellTestSim geostatistical object from the pull down list (remember that this WellTestSim object was created earlier in this tutorial). The Permeability I property name will be displayed in the Results cell of the geostatistical action to indicate that this action creates or updates that property. This will add the Permeability I calculation previously defined as a geostatistical object using the calibrated well test data.
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 Buil der 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 Title’s edit field. Click OK to close the dialog. This will create a series of datasets with the same base name; each appended with a sequence number starting with 0. From the above picture, the first dataset generated will be tutorial_0000.dat, the second will be tutorial_0001.dat and so on. Finally, the last action of the script is used to send the current dataset to the flow simulator for initialization and initial volume estimations. 12. Select row 7 and select the Simulator Initialization option from the context menu. The Simulator Initialization dialog will appear.
Figure 108: Simulator Initialization Dialog for Script
- 127 -
Advanced Buil der 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 Buil der 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 Builder’s current dataset showing the last property that was calculated by the script.
Figure 111: Reservoir View for Script Generated Dataset
- 129 -