geo statistics tutorial

117
Computer Modelling Group Ltd. Tutorial Creating Models with Builder’s Geological Modelling and Geostatistical Tools Using Builde r IMEX &

Upload: homero-castilla

Post on 29-Sep-2015

35 views

Category:

Documents


2 download

DESCRIPTION

Geo Statistics Tutorial

TRANSCRIPT

Software Defect Lifecycle

Computer Modelling Group Ltd.Tutorial

Creating Models with BuildersGeological Modelling and Geostatistical ToolsUsing

TABLE OF CONTENTS

3LIST OF FIGURES

CREATING A BUILDER DATASET THAT USES GEOSTATISTICAL TOOLS6Loading Basic Dataset in Builder6Building the Top of the Reservoir7Loading Well Trajectories7Importing Top Data8Creating a Top Map9Kriging Method11Modelling Variogram12Checking for Anisotropies13Editing Variogram Data15Defining Search Window16Warning17Kriging the Top Surface17Building the Reservoir Thickness18Data Importing18Kriging Method and Variogram Modelling19Variogram Calculations19Kriging the Thickness Surface21Building the Simulation Grid22Grid Definition22Corner Point Calculation24Defining Well Perforations27Populating Simulation Grid with Porosity Values29Geostatistical Objects29Importing Well Log Data in the Geostatistical Object30Geostatistical Method333D Variogram Analysis34Simulating Porosity36Creating Porosity Formula37Creating Porosity Property from Formula39Creating Permeability Formula41Populating Simulation Grid with Permeability Values42Geostatistical Objects42Importing Well Test Data43Geostatistical Method443D Variogram Analysis45Simulating Permeability47Initial Conditions and Well Constraints49Reservoir Pressures and GOW Contacts50Well Constraints51Creating Workflows with Script56Creating a Script56CREATING A GEOLOGICAL MODEL USING BUILDER'S TASK MANAGER TOOLS65Using the new task manager to build a geological model in Builder.65Using object modeling in Builder to create Facies distribution and populate the petrophysical properties by Facies.

85

LIST OF FIGURES

6FIGURE 1: New IMEX Dataset

7FIGURE 2: Importing Well Trajectories

7FIGURE 3: Well Trajectories in 3D view

8FIGURE 4: Importing Top Data File

8FIGURE 5: Changing Well Tops Size

9FIGURE 6: Well Tops in 3D View

9FIGURE 7: Create Map Dialog

10FIGURE 8: Create Map Dialog with Points Tab Populated

11FIGURE 9: Create Map Dialog with Methods Tab and Ordinary Kriging Selected

13FIGURE 10: Methods Tab Selected with Ordinary Kriging and Bi-Directional Variogram

14FIGURE 11: Variogram Plot for Grid Top Map

15FIGURE 12: Defining Variogram Data

16FIGURE 13: Matching Variogram for Tops

16FIGURE 14: Editing the Horizontal Variogram Data

17FIGURE 15: Map for Top of the Reservoir

18FIGURE 16: Create Map Dialog for Grid Thickness Data

19FIGURE 17: Variogram Plot for Grid Thickness Data

20FIGURE 18: Editing Horizontal Variogram Data for Thickness Map

20FIGURE 19: Variogram Plot for Thickness Data

22FIGURE 20: Map for Reservoir Thickness

23FIGURE 21: Orthogonal Corner Point Grid Definition

23FIGURE 22: Thickness Map with Simulator Grid Defined

24FIGURE 23: Defining Grid Top Property

24FIGURE 24: Specifying Map File for Grid Top Property

25FIGURE 25: Specifying Map File for Thickness Property

26FIGURE 26: Grid Properties Defined

26FIGURE 27: 3D View of the Simulator Grid and Thickness Property

27FIGURE 28: Trajectory Perforation Intervals Dialog before Perforations

27FIGURE 29: Quick Perforation Dialog

28FIGURE 30: Perforation Intervals Defined

28FIGURE 31: 3D View of Trajectories after Perforations

29FIGURE 32: Geostatistics Dialog

30FIGURE 33: Importing Well and Log Information for Geostatistical Object

30FIGURE 34: Import Well Logs Dialog

31FIGURE 35: Imported LAS Information

31FIGURE 36: Well Selection for Geostatistics Object

32FIGURE 37: Selecting Specific Log

32FIGURE 38: Geostatistics Dialog with Value Information Defined for Porosity

33FIGURE 39: Methods tab and Gaussian Geostatistical Simulation Selected for Geostatistics Dialog

34FIGURE 40: Methods tab for Bi-Directional 3D Variograms

34FIGURE 41: Variogram Plot for 3D Geostatistics Object

35FIGURE 42: Vertical Variogram Plot

35FIGURE 43: Variogram Plots with Different Variogram Component Information Selected

36FIGURE 44: Porosity Property Simulated on the Simulator Grid

37FIGURE 45: Formula Dialog

37FIGURE 46: Selecting Source Property for Formula Specification

38FIGURE 47: Formula Specification for Porosity

39FIGURE 48: Specifying Porosity Property

39FIGURE 49: Selecting Formula for Porosity

40FIGURE 50: Porosity Fraction in 2D Reservoir View

41FIGURE 51: Creating Formula for Permeability I

42FIGURE 52: Calculated CMGL Temp Prop2 Property

42FIGURE 53: Geostatistics Dialog with First Object

43FIGURE 54: Importing Well Test Information for Geostatistical Object

44FIGURE 55: Geostatistics Dialog Defined for Permeability I

44FIGURE 56: Method Information for Geostatistics Dialog

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

45FIGURE 54: Variogram Plot for Calibrated Well Test Data

46FIGURE 58: Vertical Variogram Plot for Calibrated Well Test Data

46FIGURE 59: Plots with Different Variogram Component Information Selected for Well Test Data

47FIGURE 60: Omnidirectional Variogram Plot for Calibrated Well Test Data

47FIGURE 61: Permeability Property Simulated on the Simulator Grid

48FIGURE 62: Specifying EQUALSI for Permeability J

48FIGURE 63: Specifying EQUALSI for Permeability K

49FIGURE 64: General Property Specification Dialog with Permeability Specified

50FIGURE 65: Initial Conditions Settings

50FIGURE 66: Reservoir View after Initial Conditions Specified

51FIGURE 67: Well Events Dialog with Little Information Defined

51FIGURE 68: Defining Well Constraint Information

52FIGURE 69: Well Events Tree View after Well Type and Constraint Defined

52FIGURE 70: Selecting Wells for Copying WELL Keyword

53FIGURE 71: Selecting Date for Copying WELL Keyword

53FIGURE 72: Wells and Dates Selected for Copying Information To

54FIGURE 73: Updated Well Events Dialog after Information is Copied

55FIGURE 74: Dataset after All Main Information has been Defined

56FIGURE 75: Empty Scripting Dialog

57FIGURE 76: Script with Repeat Action

57FIGURE 77: Script with Repeat Action and Geostatistical Calculation

58FIGURE 78: Script with Extra Rows Added

58FIGURE 79: Specifying Porosity Calculation for Script

59FIGURE 80: Script with Porosity Calculation

61FIGURE 81: Script with Porosity and Permeability Calculations Specified

61FIGURE 82: Saving Option in Scripting Dialog

62FIGURE 83: Simulator Initialization Dialog for Script

62FIGURE 84: Final Script

63FIGURE 85: Script with Output Messages from being Run

63FIGURE 86: Reservoir View for Script Generated Dataset

64FIGURE 87: Excel Worksheet Created by Script

REQUIRED FILESTUTORIAL_START.DAT TOPTABLE.TDB THICKNESSES.XLS WELLTEST.XLS ALL_WELLS.WDB *.LAS FILES RMS FORMAT FILES FORMATION_TOPS_TABLE.TDB

CREATING A BUILDER DATASET THAT USES GEOSTATISTICAL TOOLSThis first part of the tutorial will guide you through the steps for building a simple reservoir 3D geometry using the geostatistical tools available in Builder. It will also show how to use the geostatistical tools for populating the 3D grid with porosity and permeability values and how to use Builders scripting tools for automating some of those steps.

This is not a tutorial on geostatistics. It aims at making the user more familiar with Builders tools. However, the required geostatistical parameters will be briefly explained where needed.Loading Basic Dataset in BuilderWe 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 the Geostatistics folder 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 input.

FIGURE 1: New IMEX Dataset

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.Building the Top of the ReservoirLoading 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. In the main menu, select Well > Well Trajectories > Well Trajectories (or from the Wells & Recurrent tab). This will open the Import well trajectory wizard.

FIGURE 2: Importing Well Trajectories

2. Select Table Format for the file type and navigate to the dataset folder to open the provided table file All_Wells.wdb. The units will automatically be set to m.

3. Click the Next button two times and the Finish button to close the dialog and load the wells in Builders view.

FIGURE 3: Well Trajectories in 3D viewImporting Top Data2. In Builder, select Well > Well Trajectories > Import Formation Top File. The Import Formation Tops dialog will appear:

FIGURE 4: Importing Top Data File

3. Select the provided file TopTable.tdb which contains the top values in Measured Depth for each well. Click OK to close the dialog. Click OK to the warning message about measured depth not being input for certain wells.4. 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.

FIGURE 5: Changing Well Tops Size

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

FIGURE 6: Well Tops in 3D View

We can now proceed with the interpolation of the well tops by using a Kriging method.

Creating a Top MapMaps can be created by selecting File > Create Map File option.

This will bring up the Create Map dialog.

FIGURE 7: Create Map Dialog

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

6. Select menu item Tools > Import tops from trajectories.

7. This will open the Select Trajectory Top dialog as shown below.

8. Click OK to close the dialog and select the top values in the Create Map dialog.9. Change the file name at the top of the Create Map dialog. You can type the new name directly or navigate the folders by clicking the ellipses button. Give a name like TOP_Map.msh save to an appropriate local folder. 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 8: Create Map Dialog with Points Tab Populated

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

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

FIGURE 9: Create Map Dialog with Methods Tab and Ordinary Kriging SelectedOrdinary Kriging is a geostatistical method for linear data interpolation. A weighted average of the neighboring 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 the 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 data buttons. We are going to do just that in the next section.

Notice, that the Assign data to cells option is selected. This option is used when we want to make sure the closest grid cell of the mesh map will be assigned a data value as opposed to an estimated value. It has a minimal impact when the grid is not too coarse and is very often used in practice. The number of grid cells can be controlled on the Mesh tab of the dialog. We are going to use the default meshing parameters and keep the Assign data to cells option.Notice also, the Use De-clustering 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 of well patterns. The de-clustering 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 is the variogram of the normal scores that is computed and modelled. We are not going to use this option at this time.11. Make sure the Assign data to cells option is checked and proceed to the next section for variogram modelling.

Modelling VariogramAll 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 is 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 allows 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 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 degree 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 trends in the data, the sill should roughly match the data variance. A longer range indicates stronger correlations between the data. A very short range (or no range at all) is characteristic of noise in the data and will lead to undifferentiated weights for data interpolation. This will be similar to a simple statistical average. Differences in the ranges with the direction are automatically modelled with anisotropy ellipses in 2D or anisotropy ellipsoids in 3D. The ellipse (or ellipsoid) is constructed from the knowledge of the ranges for the two principal directions. Therefore, the goal is to find those principal directions and set the Principal Axis Azimuth Angle accordingly. Please refer to a geostatistical text book or Builder users manual for more details.

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

FIGURE 10: Methods Tab Selected with Ordinary Kriging and Bi-Directional Variogram A control parameter for the Principal Axis Azimuth Angle and a second control parameter to edit the variogram (in a perpendicular direction) have been added. The Principal Axis Azimuth Angle is assumed to correspond to the direction of the major axis of the anisotropy ellipse. This is expected to be the direction of maximum continuity (or correlation) in the data.13. 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:

FIGURE 11: Variogram Plot for Grid Top MapThe plot shows 4 different variogram curves. One actual variogram curve computed for each of the two directions (black lines) and one variogram model curve (blue lines) automatically fitted to the actual variogram curves. You can notice that the actual variograms are computed for different lag distances (x-axis) which have been marked with green or red small squares. The lag distances can be different for each direction. The lag distances are pre-set to start with. You can change them with the Click to edit variogram data option of the Methods tab of the Create Map dialog. The green color 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. In such a case, the variogram function needs to be matched only for distances smaller or equal to the search window.

Different options are available to manually match the variograms when the automatic fitting is not deemed good enough. The curve for the model variogram of the principal direction has 3 handle points marked with blue squares. Sometimes a green or a red square may cover a blue square. In this case, you may unselect the pair point curves (>= 30 pairs and < 30 pairs) to actually see the blue handle points. Hovering the mouse over these grab handles will allow you to change the variogram model curve. The mouse cursor will change from the pointer shape into a small double pointed horizontal arrow for horizontal movement or a small vertical double pointed arrow for vertical movement. The variogram maximum level (Sill), the lag distance where the maximum level is reached (Range), and the level at the origin (Nugget) can be changed with the mouse movement. The variogram model curve for the second direction (minor direction) has one handle marked by an empty blue square. This handle is used for changing the variogram range in the minor direction of the anisotropy ellipse.

In our example, the variogram model type itself needs to be changed for a better fit. The model type controls the rate of variance changes with the lag distance. This can be done with the variogram data dialog.

Editing Variogram Data14. 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 12: Defining Variogram DataThe dialog is divided up into 3 sections, one section for calculating the actual variogram curve at various lag distances (for the given direction), one section for search parameters (used only at the interpolation time), and one section for variogram fitting. We are going to change the fitting parameters to get a better match. The fitting parameters control the variogram type, the level of the variogram curve at the origin (Nugget), its maximum level (Sill), and the lag distance where the maximum level is reached (Range). The variogram type changes the rate at which the variogram function ramps up from the nugget (at lag zero) to the sill (at lag = range). Please refer to Builders manual or any book on Geostatistics for more details.

Note also the series of Auto check boxes on the right hand side of the dialog. When Auto is selected, the program will automatically set this parameter for you. Note that some of your Auto check boxes might be unchecked and their associated edit fields might be turned ON if you have changed the variograms Nugget, Sill, or Range parameters on the variogram plot by mouse interaction prior to opening the Variogram Data dialog.15. Select Gaussian from the Variogram type pull-down list and click OK to close the dialog.

16. 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 13: Matching Variogram for TopsWe 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.

17. Close the variogram plot.

Defining Search WindowBuilding 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.

18. 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 14: Editing the Horizontal Variogram DataWarning19. You can notice that the variogram range (4691 m your values may vary depending on your variogram fit) is fairly large in comparison to 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 situations. 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.)

20. Click OK to close the Variogram Data dialog and repeat the previous step with the Variogram Data dialog for defining the search window for the other horizontal variogram direction.

Kriging the Top Surface21. Click the Update 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 (may look a little different). The picture below shows the map in an IJ-2D Areal view.

FIGURE 15: Map for Top of the ReservoirPlease 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 than the simulator grid which we will create later in this tutorial.Building the Reservoir ThicknessTo 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 it 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 Importing22. Open the Create Map dialog by selecting File > Create Map File option, if not already open.

23. Change the file name at the top of the Create Map dialog. You can type the new name directly 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.

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

25. Open the file Thicknesses.xls in Excel if not already open. The file has 59 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).

26. Click on the window frame of the Create Map dialog to make sure it has the input focus. Also, make sure that the Points tab is selected.

27. Paste the data into the Create Map dialog with Ctrl-v (on the keyboard). Alternatively, you could have selected rows 1 to 57 of the Create Map dialog Points tab and selected the Paste option of the context menu (right mouse button).

FIGURE 16: Create Map Dialog for Grid Thickness DataKriging Method and Variogram Modelling28. Select the Methods tab. All the selections used to build the Top Map should be selected.

29. Keep the Ordinary Kriging (OK) Estimation option selected.30. Change the Horizontal Variogram direction to Omni-Directional.31. Click on Click to edit variogram data and reset all the variogram parameters and type to Auto. 32. Click on the Click to match variogram button. The following variogram plot will appear (assuming all variogram parameters were reset to Auto):

FIGURE 17: Variogram Plot for Grid Thickness DataAlthough 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 Calculations33. 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).

FIGURE 18: Editing Horizontal Variogram Data for Thickness Map34. Click OK to close the Variogram Data dialog and click the Click to match variogram button to redisplay the variogram plot.

35. 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.36. Make other adjustments to the curve until the fit is deemed acceptable like in the picture below:

FIGURE 19: Variogram Plot for Thickness DataThe 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.37. 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.

38. Click the OK button to close the Variogram Data dialog. We are now ready to compute the thickness map. Kriging the Thickness Surface39. Click the 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 Builder main view. However you also will see the Top map in the view, so close the top map by going to the Builder Properties window (click on the top icon ), select the Maps option and uncheck the top map. Click OK.

FIGURE 20: Map for Reservoir Thickness

40. You can now close the Create Map dialog since we have completed all the maps.Building the Simulation GridAt this stage we have estimated two maps, one for the reservoir top and one for the reservoir thickness. Because adding thickness and elevation permits us to define the reservoir shape in 3D, Builder allows us to combine the information from these two maps for the creation of a 3-dimensional reservoir geometry. But first we need to define a simulator grid in Builder. A conformable grid can be created with a corner point geometry. We want the grid to cover the same area covered by our two maps.

Grid Definition

41. Select File > Open Map File, if no maps are currently displayed in Builders main view. Select the Top or the Thickness map previously created. This will help to correctly position the simulation grid.

42. Select Reservoir > Create Grid > Orthogonal Corner Point.43. The Create Orthogonal Corner Point 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 actually found in the header of the previously computed maps. You can specify the grid as in the pictures below.

FIGURE 21: Orthogonal Corner Point Grid Definition

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

FIGURE 22: Thickness Map with Simulator Grid Defined45. Click on the Probe icon to get out of the grid editing mode.

Corner Point CalculationTo compute the grid block elevations, we need to define the Grid Top property in Builder.

46. Click the Specify Property button of the View Control tool bar. This will bring up the General Property Specification spreadsheet dialog.

FIGURE 23: Defining Grid Top Property47. 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.

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

FIGURE 24: Specifying Map File for Grid Top Property

49. Click OK to close the dialog.

50. Select the 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.

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

52. Change the edit box to the right of times from 0 to 0.1. This is the multiplicative value used to split up the thickness over all the 10 layers, each layer having one tenth of the total thickness.

FIGURE 25: Specifying Map File for Thickness Property53. Click OK to close the dialog

54. Copy the Grid Thickness specification of row Layer 1 to all rows from Layer 2 to Layer 10 as shown below.

FIGURE 26: Grid Properties Defined55. 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 thickness contour map floating above the grid (Go into Properties > Maps to change to this setting). 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 27: 3D View of the Simulator Grid and Thickness PropertyAt this stage, as a precaution, you can save the dataset before any further analysis.

56. Select File > Save As and save the dataset in an appropriate folder with a different name.

Defining Well Perforations 57. Select Well > Well Trajectories >Trajectories Perforation Intervals. The Trajectory Perforation Intervals dialog will appear:

FIGURE 28: Trajectory Perforation Intervals Dialog before Perforations58. Click the Quick Perf button. The Quick Perforation dialog will appear.

FIGURE 29: Quick Perforation Dialog59. Click OK to close and accept the defaults. All grid layers will be perforated for all wells.

FIGURE 30: Perforation Intervals Defined60. 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.

FIGURE 31: 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 Objects61. Open the dataset that was previously saved if not already open.

62. Select Reservoir > Geostatistics. This will bring up the Create Geostatistical Objects dialog as shown below:

FIGURE 32: 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.

63. Click the right pointed arrow next to the Name pull-down list at the top of the dialog and select New (default).64. 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.

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

Importing Well Log Data in the Geostatistical Object

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

FIGURE 33: Importing Well and Log Information for Geostatistical Object67. Click the Import Well Logs button. The Import well logs dialog will appear. This dialog can be used to read LAS files.

FIGURE 34: Import Well Logs Dialog68. 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.

FIGURE 35: Imported LAS Information69. Click OK to import all the logs and all the wells.

70. Back to the Select Wells and Logs dialog, click the Select Wells button. This will open the Advanced Well Selection dialog.

FIGURE 36: Well Selection for Geostatistics Object71. Click the >> button to select all wells and OK to close the dialog.

72. 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 37: Selecting Specific Log73. 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 38: Geostatistics Dialog with Value Information Defined for PorosityWe still need to set the geostatistical method and its parameters before we can use this object.

Geostatistical Method

74. Select the Methods tab of the Create Geostatistical Objects dialog.75. Change the Calculation method to Gaussian Geostatistical Simulation.

FIGURE 39: 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 neighboring data with the weights based on a variogram model. Contrary to Ordinary Kriging which only retains the weighted average, Gaussian simulation actually computes an error variance around the weighted average and uses it to simulate a value in the error bracket around the estimated average. Therefore, it is a simulation method as opposed to an estimation method such as Ordinary Kriging. 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 data is automatically transformed in normal scores. Therefore, it is the variogram of the normal scores of the data that needs to be computed and modelled.

You may also have noticed that a Vertical Variogram option is now available on the Methods tab. This is because we are populating data in 3D. The 3D variogram is modelled with the spatial correlation within the geological layers (horizontal) and across them (vertical).

3D Variogram Analysis

76. 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 40: Methods tab for Bi-Directional 3D Variograms77. Click the Click to match variogram button to display the variogram plot window (might not look exactly the same).

FIGURE 41: Variogram Plot for 3D Geostatistics ObjectThe 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 as shown below (NOTE might not look the same).

FIGURE 42: Vertical Variogram PlotBy zooming in on the vertical variogram, we can see that the nugget effect should be smaller. To adjust the nugget effect, we need to reselect the Principal Axis component of the Horizontal Variogram in the tree view. The following adjustment with no nugget effect and no anisotropy can be obtained. In this particular example, the vertical variogram component is very useful to fit the beginning of the variogram. The horizontal component is used to fit the variogram maximum level and possible horizontal anisotropies.

FIGURE 43: Variogram Plots with Different Variogram Component Information Selected78. 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 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

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

FIGURE 44: Porosity Property Simulated on the Simulator Grid80. 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.Creating Porosity Formula

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

FIGURE 45: Formula Dialog82. Name the new formula Porosity Fraction in the edit field next to Calculation at the top of the dialog, click the button Add to List of Independent Variables. Then Select a property as a source property dialog will pop up.

FIGURE 46: Selecting Source Property for Formula Specification83. Select the property CMGLCustom_PoroSim and click OK to close.

84. 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 47: Formula Specification for Porosity85. Click OK to exit and click OK after reading the message window.

Creating Porosity Property from Formula

We also need to create the Builders Porosity property before we can use it in an equation for the Permeability.

86. 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 48: Specifying Porosity PropertyThe 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 49: Selecting Formula for Porosity87. The Block/Corner Value Calculation dialog will appear. Click OK to close and click OK on the General Property Specification dialog to calculate the Porosity property as a rescaled version of CMGLCustom_PoroSim property.

FIGURE 50: Porosity Fraction in 2D Reservoir ViewWith 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.Creating Permeability Formula

88. Repeat the Creating Porosity Property from 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 51: Creating Formula for Permeability I89. 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.

90. 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 type color scale below.)

FIGURE 52: Calculated CMGL Temp PermFromPor PropertyNow we are going to define the Builders Permeability I,J,K, from well test data and CMGLCustom_PermFromPor.Populating Simulation Grid with Permeability Values

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

FIGURE 53: Geostatistics Dialog with First Object94. Click the right pointed arrow next to the Name pull-down list at the top of the dialog and select New (default).95. 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.

96. Select Permeability I in the Output Property pull-down list.Importing Well Test Data

97. Click the Tools button and select the 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:

FIGURE 54: Importing Well Test Information for Geostatistical Object

98. 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.99. Now the permeability values are loaded into the spreadsheet of the Create Geostatistical Objects dialog which should look like the following screenshot. (Note: The values in the Value column might be slightly different depending on your grid and the geostatistical simulation of CMGLCustom_PermFromPoro.)

FIGURE 55: Geostatistics Dialog Defined for Permeability IWe still need to set the geostatistical method and its parameters before we can use this object.

Geostatistical Method

100. Select the Methods tab of the Create Geostatistical Objects.

101. Change the Calculation Method to Gaussian Geostatistical Simulation.

FIGURE 56: Method Information for Geostatistics Dialog3D Variogram Analysis

102. 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 Variogram103. Click the Click to match variogram button to display the variogram plot window (may look different due to differences in porosity).

FIGURE 54: Variogram Plot for Calibrated Well Test DataThe 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 may look different).

FIGURE 58: Vertical Variogram Plot for Calibrated Well Test DataBy 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 59: Plots with Different Variogram Component Information Selected for Well Test Data104. 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.

FIGURE 60: Omnidirectional Variogram Plot for Calibrated Well Test DataAt this stage, we can save the geostatistical objects. We should also Run the simulation and look at the results in case we need to modify some parameters.

Simulating Permeability

105. Click the Run button to actually create the Permeability I property. The results will be automatically displayed in Builders main view when the calculations are finished. Right mouse click on the color scale on the right-hand side of the reservoir and select Color Scale > Set Color Scale. For scale type, select Logarithmic.

FIGURE 61: Permeability Property Simulated on the Simulator GridClick 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.

106. 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 62: Specifying EQUALSI for Permeability J107. 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 pull-down list. Change the multiplicative factor from 0 to 0.1 as shown below. Click OK to close the dialog and create Permeability K as one tenth of Permeability I.

FIGURE 63: Specifying EQUALSI for Permeability KNow, the General Property Specification dialog should look like this:

FIGURE 64: 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.

Initial Conditions and Well ConstraintsIn 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.Defining Initial Conditions with Well Constraints

To have a simulator ready dataset, we still need to add more engineering data.Reservoir Pressures and GOW Contacts

108. Select Initial Conditions > Initialization Settings from the main 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 65: Initial Conditions SettingsThis will complete the Initial Conditions section.

FIGURE 66: Reservoir View after Initial Conditions SpecifiedWell Constraints

Wells now need to be defined as producers and bottom hole pressure constraint needs to be added.

109. Select Well > Well Events from the main menu. The Well Events dialog will appear. Select Producer for the type in the ID & Type tab for well 01-12.

FIGURE 67: Well Events Dialog with Little Information Defined110. Select the Constraints tab. If prompted, say Yes to save the previous change.

111. On the Constraint tab, check off the Constraint definition check box at the top of the tab. Select the Constraint pull down list, select OPERATE, and give it a value of 5000 kPa (as shown below).

FIGURE 68: Defining Well Constraint Information112. 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 above. (If prompted, say Yes to save the previous change.)

FIGURE 69: Well Events Tree View copy events using filter113. Select WELL, PRODUCER and constraint event under well 01-12 for 1991-01-01 and select Copy events using filter from the context menu. The Select well-date pairs to copy event(s): WELL dialog will appear.

114. Click the Select button to select all the wells.

FIGURE 70: Selecting Wells for Copying WELL Keyword115. Select the Dates tab and click the Select button to select all dates

FIGURE 71: Selecting Date for Copying WELL Keyword116. Click the Search & Add button to fill the right hand side of the dialog with wells.

FIGURE 72: Wells and Dates Selected for Copying Information To117. 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 73: Updated Well Events Dialog after Information is Copied118. Click OK to close the dialog. 119. 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 Well > Dates. The Simulation Dates dialog will appear:

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 74: Dataset after All Main Information has been DefinedDouble click Rock Compressibility under the Reservoir section and use the following values in the window:

We now have a simulator ready dataset which can be used for iterative or automated workflows. You can save it to disk if you want. The dataset has now reached a state where it can be sent to the flow simulator. It is important to remember that the porosity and permeability values have been simulated by geostatistical methods and therefore represent just one possibility among an infinite number of porosity and permeability models for the reservoir. Uncertainty about these properties can be explored by running the geostatistical methods multiple times. We are now going to create a script that will help us to automate this process.

Creating Workflows with Script

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

121. Select the File > Scripting in the main 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 .

FIGURE 75: Empty Scripting Dialog122. 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.)

123. Select (click) the first empty row of the Property Calculation 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.

124. Change the Values cell for the Repeat action from 1 to 3. This will create a loop with 3 iterations.

FIGURE 76: Script with Repeat Action125. 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 77: Script with Repeat Action and Geostatistical Calculation126. 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 78: Script with Extra Rows Added127. 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_PoroSim and click OK few times to close a message dialog about the dependency of CMGLCustom_PoroSim on Porosity.

FIGURE 79: Specifying Porosity Calculation for ScriptThis 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 80: Script with Porosity CalculationAfter the porosity, we need to add the calculations for the permeability values. 128. 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.

Now we need to add the Perm I. Perm J and Perm K which both depend on Perm I are not calculated in Builder. Instead, their EQUALSI specifications are directly passed on to the simulator. Therefore, we dont need to include them in the script.129. 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 81: Script with Porosity and Permeability Calculations Specified130. 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.

Select row 6 and select the Save As Dataset option from the context menu. The Save As action dialog will appear.

FIGURE 82: Saving Option in Scripting DialogThis dialog is used to define the names along with titles for the datasets that will be generated by the script. Macros are used to insert sequence number, script name, date, and dataset filename in any of the Title1, Title2, or Title3 in the dataset. The macros are accessible by clicking the right pointed arrow buttons at the right of the Titles edit field. Click OK to close the dialog. This will create a series of datasets with the same base name each appended with a sequence number starting with 0. From the above picture, the first dataset generated will be tutorial_0000.dat, the second will be tutorial_0001.dat and so on.

Finally, the last action of the script is used to send the current dataset to the flow simulator for initialization and initial volume estimations.

131. Select row 7 and select the Simulator Initialization option from the context menu. The Simulator Initialization dialog will appear.

FIGURE 83: Simulator Initialization Dialog for ScriptThis 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 open 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 6) indicates where the Excel compatible file will be saved.

The script is now complete. The scripting dialog should look like this:

FIGURE 84: Final Script132. 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.

FIGURE 85: Script with Output Messages from being RunRunning the script generates 3 versions of the dataset. The last dataset created by the script will become the Builders current dataset showing the last property that was calculated by the script.

FIGURE 86: Reservoir View for Script Generated DatasetThe Excel compatible file will be automatically opened showing the initial volumes as estimated by the simulator.

FIGURE 87: Excel Worksheet Created by ScriptCREATING A GEOLOGICAL MODEL USING BUILDER'S TASK MANAGER TOOLSThis second part of the tutorial will guide you through the steps for building a simple Geological Model using the new Builder's Task Manager tools.This is not a tutorial on geological modelling. It aims at making the user more familiar with Builders new tools.

Using the new task manager to build a geological model in Builder.

We want to create a simple geological model in Builder ready to load dynamic information, and we will use SI units. 1. Start Builder from the CMG launcher by double clicking on the Builder 2011.10 icon2. Select IMEX for Simulator, SI units and, Simulation Start Date 2005 - 01 - 01

3. Click OK, and OK4. Go to the Reservoir menu in Builder and select the option Build Static Model with Task Manager.

5. You should be able to see the following window:

6. The first Task available in the Geological Modelling Task manager is Import Well Data. This defaults to Import Well Data from Well Trajectory Wizard. Click on the Import button. 7. Select File Type: RMS Format; Units: x,y: m and z, MD: m; RMS file: go to the

Geostatistics\Task_Manager\Import_well_Data and select all the wells from 1 to 8.

8. Click Next, Yes to the warning message about measured depth not being input for certain wells, Next and Finish. Now you should be able to see the wells in 3D view when moving the task manager window aside.

9.The RMS format already contains log information. However we have some extra logs for 4 of the eight wells in *.LAS format, so now we will proceed to import those. In the Geological Modelling Task Manager window, which should still open, select the Import well Data from Well Logs wizard (LAS2, Tables, ...) and click the Import button.

10. Click in the Open File(s)... button and go to Geostatistics\Task_Manager\Import_well_Data\LAS and select the 4 available wells and click Open. Leave all the wells and logs selected and click OK.

11.After Importing the well trajectories and logs, it is necessary to import the well markers in order to build the stratigrafic model. In the same window of the Geological Modelling Task Manager select the option to Import Well Data from Well Markers Dialog (CMG Tables), and click on the Import button.

12.Browse the Geostatistics\Task_Manager\Import_well_Data folder, and select the file Formations_tops_TABLE.tdb which is in CMG table Format (see Builder's user guide for details). You can leave the option to replace existing tops on or off since it won't make any difference at this point. Click OK.

At this point by moving aside the Geological Modelling Task Manager window (it doesn't need to be closed), you will be able to see the well picks (Formation Tops) in 3D for all the wells.

13. Now that all the well data is completed we can move on to the Select Tops Task. You can either select the task from the menu or click on the Next button in the central Lower part of the Task Manager window.

14. Select Well Markers as Tops Type. Select 2 for the number of geological Units. You have 3 markers, but only 2 geological units within the 3 markers. For each Geological Unit assign the Marker Top and Marker Bottom as shown in the picture below. In this case A (Bottom) = B (Top) and B (Bottom) = C (Top) since the formations are one immediately on top on the other. However, sometimes this is not the case, so you should take a look at the Top file first.

At the end the Select tops task window should look like below:

Click Next. 15. Now we should be at the Edit Markers Task window. Here we can compare our markers with the logs and make sure they are in the right position and correlated. By clicking on Add Well you can add different wells to the view, and in the upper right side of the window you can select the log or logs you want to display.

By clicking with the mouse on a well pick you will be able to move the markers up and down so you can correct them in the event of being in the wrong location compared with the wells. There are also view options available, like TVD vs. MD and zooming options.

You can play with all the options available, and move the well picks as you consider necessary. Click Next when you are done.16. Now we are at the Create Horizons tab. After making sure the formation markers are at the right depth and correlated, we can proceed to create the Horizons' Top Maps.

17. In the window you should have the 3 top horizons you want to map. Click on the Create Map button for each horizon at a time in order to display the Create Map window. If you click on the Create map button for Top A you should be able to see the wells having a pick in the Top A on the window and its X Y and depth value. Click on the search button and select the location and name of the map file. Name the file MeshMap_TopA and save it onto an appropriate local folder.

18. Move to the Methods tab and select Inverse Distance Estimation for the Calculation method. Since we are calculating a contour map with only 8 wells, this method should be simple enough to do it. Set the rest of the variables as shown below and click on Update File to view the contours. You can play with the Exponent value to get different contours, but in this case an exponent of 2 will give smooth contours.

In order to have smother surfaces go to the Mesh tab and change the number of mesh cells between data points to 6:

Now you should see your contours like this in 2D:

19. Repeat steps 17 and 18 for Tops B and C. Name them MeshMap_TopB and MeshMap_TopC, respectively and play with the inverse distance exponent to get smoother contours (You can use 2 for all the maps). In order to view each Top contour separately, select the one to be displayed in the Create Horizons Task window under View and check only the one you need to see.

You can also change the colours of the contours in case you can't see them by clicking in the set/modify properties icon on the top of the Builder View , go to Maps and double click on the colour line and change it to whatever colour you want.

20. Now click Next to create the 2D Grid from the contour maps. By default you will have a unique block displayed in the middle of the map, with a default origin size and deltas. It should look something like this:

In order to create a custom grid, please use the following values in the Create 2D Grid Task window:

Click . These values will generate a 2D Grid that looks like this:

21. Now that the three tops are mapped and gridded we can proceed to the last three tasks in the Geological Modelling Task Manager. Click . In the next task, Create Boundary, you will be able to specify the limits of the grid if needed.

By moving the Task Manager window aside you will be able to view the grid and the mouse cursor will be displayed as a cross which means that you can start clicking on the grid to generate your limits. You can create any random boundary you like and move on to the next task.

The Create Boundary task should look like this. You manipulate the limit coordinates if you make mistakes by using the Remove Last button.

Click and Yes to close the Polygon:

22. The next task is to create the 3D Grid so we can start populating it with petrophysical properties. By default the Task Manager will create one layer per Geological unit. Change the Number of Layers to 6 for each of the two Geological Units, and click Apply. If you take a look at the 3D view you can see that the 3D grid was created (no contour lines are shown change in Properties):

Click to go to the next task. 23. The last task in the Geological Modelling Task Manager is Create Properties. In here you can use geostatistical methods to populate the 3D grid with properties.

The list below shows the list of available logs, their ranges and the number of wells containing the log:

As it can be seen, there are no geostatistical objects created yet. This exercise will only focus on creating porosity since the geostatistics exercise at the beginning of the tutorial has already covered some details on geostatistics. 24.Click on the Geostatistics button for Poro and name the property Porosity and click OK.

The Points tab will be filled automatically with the porosity data available for the field at each well location.Select Porosity for the Output Property. Press OK to the warning messages about no log points being available for wells 5-8.

Move on to the Methods tab.

25. On the Methods tab, select Gaussian Geostatistical Simulation for the Calculation method. We are assuming that there is not anisotropy on the data, so the Omni-directional variogram option should be used. Leave the rest as default.

Click on the button in order to match the variogram model to the data variogram and match the variogram as best as you can. (Not all the variograms will look exactly the same).Hint: Match the Vertical variogram first and then the Horizontal one, since you should have more density of data in the vertical direction compared with the horizontal. Use the following values for the two variograms if you want to get the exact same results:

Click on Run in order to get the porosity geostatistical distribution. Click OK to any message displayed and OK to close the Create Geostatistical Object dialog.26. The Create Properties task in the Geological Modelling Task Manager window now should show Porosity as an existing Geostatistical parameter. Now you view the porosity distribution in 3D. You can go back to the task manager any time and re-distribute the properties by changing the search radius, variogram, etc....

Examine the Porosity distribution in the 3D view (may look a little different).

You are done with the task manager now, so click Close to leave the task manager.

Save the dataset as TaskManager_BaseCase.dat.27. In order to complete the Reservoir section we need to specify permeability too, so lets use the task manager and the permeability log to populate the 3D Grid with permeability.

Open the task manager again:

Move to the Create Properties tab:

NOTE:

At this point the only three tasks available are Import Wells, Edit Markers, and Create Properties. This is due to the fact that the other tasks are fixed now. However, if you decide that you want to edit the well picks again you will be asked:

If you say Yes then the full list of tasks will be available, but the grid and map related to the top you edited will have to be created again. This is just for your information so we are not going to change anything at this point.28. Click on the Geostatistics button for Perm, and repeat steps 24 to 26 just changing the Property Name to Permeability and the Output Property to Permeability I. For the variogram, you can use the following screenshots to match the values.

Click on Run and examine the property in 3D (may look a little different).

29.Make Perm J equal Perm I and Perm K equal 0.2 * Perm I by using the Specify Property button.

Click OK and then OK once again in the Block / Corner Value Calculation dialog.

Now the permeability in all directions is populated, but what about if we wanted to use a facies distribution and distribute the properties by facies? That can also be done using Builder and it will be explained in the following exercise.

Using object modeling in Builder to create Facies distribution and populate the petrophysical properties by Facies.1. Create four new CMG Custom Properties by right clicking in Array properties:

Use the following prefixes for creating the four properties:

So you should end up with the following properties in the list:

2. Now all these new properties will be calculated. First we will create a low permeability distribution by filtering the logs to only use values lower than 500 mD. Go to Reservoir > Geostatistics. Create a new geostatistical object called LowPerm and assign it to the CMGLCustom_LowPerm temporary property.3. Go Tools > Import Logs or tables of measured depth values Click on >> to select all wells:

4. Select the Perm log and create a limit from 0 to 500 mD. Click OK and OK to the warning messages.

5. Move to the Methods tab.

6.Match the variogram as best as you can. Notice that most of the points in the variogram are red and that is because of the lack of data for the calculation. For the sake of this exercise that should be fine but in real life you would need more data points in order to calculate a meaningful variogram.

7.You should get a low permeability distribution looking something like the picture below (in Logarithmic color scale).

8. Do the same as above but for the property CMGLCustom_HighPerm. Use the permeability limits of 500 to 2000 mD.

9. Use a Bi-Directional variogram in order to give some direction to the distribution:

10. This case is similar to Low Permeability since we don't have enough information in order to have a meaningful variogram. That is fine for this exercise since what we are really interested in generating two permeability distributions in order to do a by facies distribution of them. Some suggested values for matching the variogram are given in the figures below:

The high permeability distribution should look like the one below (in a logarithmic color scale).

11. Next, we will create the facies for the reservoir. Two types of facies will be present in the reservoir the background one and the channel one. In order to do that, click OK to close the Create Geostatistical Objects dialog. Click on the Specify Property button and go to property CMGLCustom_Facies in the dropdown list. Under this column and in the Whole Grid row, right click and select Constant Value (CON), as seen below:

Type 1 in the Constant text field:

12. The next step is to generate the geological objects, in this case Channels. Reservoir > Geostatistics and create a new property called Facies. Assign the Facies property to the CMGLCustom_Facies temporary property we created before.

13. Leave the Points table empty. We are just going to create a random object distribution base on density and uniform or triangular probability functions. Move to the Methods tab and select Object Modeling for the Calculation method. Fill in the fields according to the screenshot below:

In this case we will only have two facies, a background one and a channel one, and since we are not constraining the data to any points, the Min Value and Max Value will be 1. For the Object Value we selected 2, so the actual channels will be facies type 2. Also for the Volume Fraction Occupied by Objects, we selected 0.4, so that means that 40% of the full model will be populated with channels. 14.Click on: 15.Change the following properties and make sure all the Probability Distributions are Triangular: Azimuth angle Min: -30 and Max: -30

Length of 1 Curved Section Min: 600 and Max:1500

Channel width Min: 300 and Max: 450 Channel Height Min: 12 and Max: 20 Total length Min: 3500 and Max: 5000 Curved Section Offset Distance - Min: 50 and Max: 150

16. Click OK and Run the geostatistical simulation. It might take a couple of minutes, so be patient. You should end up with something like the distribution below (keep in mind that every time you run object creation the property will not be overwritten, so you will be adding extra bodies instead of replacing old ones):

17.After having the facies distribution the last step is to create a formula that will assign the low or high permeability values constrained by facies. Go to Tools > Enter a Formula.

18.Name your formula Perm_by_Facies. Add the 3 created CMGLCustom temporary properties, HighPerm, LowPerm, and Facies (in this order) to the independent variables list, and enter the following formula:

Click OK and OK to the message that pops up.19. Double click on the CMGLCustom_PermBYfacies property from the Reservoir > Array Properties tree.

20. Right click on the Whole Grid row and select Formula. Click on the Formula button and select Perm_by_Facies. Click Close and OK.

Click OK to calculate the property, and OK in the value calculation window making sure you only have the CMGLCustom_PermBYfacies selected. You should get a permeability distribution by facies like the one below:

You can replace PERMI with the new facies permeability distribution if you like by double clicking on Permeability I from Reservoir > Array Properties in the treeview, right-clicking on the Whole Grid row, and selecting the formula like we did for the CMGLCustom_PermBYfacies case.

21.Set the Rock Compressibility to be:

Click OK. Now the Reservoir section should be completed.The aim of this exercise was to show the Geological Modelling Task Manager capabilities, so the data set is still incomplete. You can complete the remaining parts and play with the task manager options on your own time.Builder

IMEX

&

1

_954225089.doc