1 A013 HISTORY MATCHING WITH RESPECT TO RESERVOIR STRUCTURE 1 2 SIGURD IVAR AANONSEN ; ODDVAR LIA ; AND OLE JAKOB ARNTZEN 2 1 Centre for Integrated Research, University of Bergen, Allégt. 41, N-5007 Bergen, Norway 2 Statoil Research Centre, N-7005 Trondheim, Norway Abstract A practical method for history-matching with respect to geological fault properties (fault displacement, average dip and strike, smear-gouge-ratio, shale-smear-factor, etc.) is presented. The method is based on coupling commercial software for fault modelling with a reservoir simulator. The history-matching and control of these tools are performed using standard optimization routines in MATLAB. Both large seismic faults as well as small subseismic faults can be modelled. For the large faults the simulation model grid is automatically deformed in each iteration of the history-matching process. The sealing effect is based on an advanced fault seal model and is included as transmissibility multipliers across individual cell interfaces. The subseismic faults may either be included in the same way as the large faults, or as permeability modifiers applied to the existing grid. The methodology provides a good link between geological modelling (sedimentology, structural geology) and fluid flow simulation. The method is applied to reservoir models of typical shallow marine and fluvial depositional systems. Introduction A large number of publications on history-matching have appeared during the last three decades. However, they almost exclusively concentrate on the estimation of petrophysical properties, like permeability and porosity. Very few papers have considered the reservoir structure. If faults are considered, it is mostly limited to the adjustment of a single transmissibility multiplier for each fault. In a real case, however, the transmissibility will vary over the fault and depend on factors like fault throw, fault permeability, shale smear, etc. In this paper, the parameterization of seismic and subseismic faults used in a commercial fault modelling tool[1] has been evaluated for history matching. This tool can perform stochastic simulation of faults and fractures as well as structural uncertainty modelling and also add faults to simulation grids[2]. History-matching with respect to structural geological fault parameters is performed on reservoir models of shallow marine and fluvial systems. Fault Modelling Two types of faults have been considered: Small subseismic faults and larger seismic faults. The subseismic faults are generated stochastically, and their effect is normally incorporated in the flow model as modifications to the grid cell permeabilities. Sealing effects of the subseismic faults are based on a fault permeability, which may be given explicitly or calculated from the neighbouring cell permeabilities. The larger faults are modelled explicitly through a parametric description. These faults are denoted pfm faults. The simulated faults will automatically be 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 2 incorporated in the reservoir simulator grid by splitting of grid nodes and modification of layer depths in a region around the faults. The size of this region depends on the fault throw. When the fault displacement is used as a history-matching parameter, the grid is thus automatically adjusted in each iteration. For faults incorporated in the grid, transmissibility multipliers are calculated for each individual cell surface based on e.g., shale smear effects. Shale smear is included in two different ways, which may be combined: i) As a fault permeability or a fault permeability multiplier, which is given as a function of the smear-gouge-ratio (SGR)[3] or ii) as a complete blocking of flow in a “tongue” up or down the fault zone with a length depending on the thickness of the shale layer. The final fault permeability associated with each cell surface (from which the transmissibility multiplier is calculated) is obtained by multiplying the initial fault permeability with the SGR factor (SGRF) and the blocking factor taking the values 0 or 1. The length of the “shale-smear tongue” is related to the thickness, t, of the shale facies layer by the formula: L = bt a . (1) SGRF is generally specified as a tabulated function of SGR. Here, the following parameterization was used for history-matching purposes: log(SGRF ) = log( F 0) − C ( SGR − SGR0) . (2) Any of the parameters F0, SGR0, C, a, and b may in principle be adjusted during the historymatching process. Here, only SGR0 and b were used. In the following, the parameter b will be denoted just SSF (Shale-Smear-Factor). History Matching The mis-match between simulated and measured production history is measured using a standard least-squares objective function weighted by a measurement error (standard deviation). Root Mean Square (RMS) is defined as the square root of the objective function divided by the number of measurements. That is, RMS = 1 if the deviation between simulated and measured data is identical to the measurement error. The minimization of the objective function is performed using standard optimization routines in MATLAB, more specifically, the routines “fminsearch” and “fminunc”[5]. The routine fminsearch uses a simplex method which does not require gradients, while fminunc uses a gradient method based on the BFGS quasi-Newton method. The gradients are calculated numerically, using multiple simulations. To stabilize the MATLAB optimization algorithms, the parameters were normalised according to their initial value and a typical variation. For the fault permeability factor, a logarithmic transformation was used. For the other parameters we used a linear transformation. For details on the optimisation algorithms we refer to the MATLAB documentation[5]. The objective function is evaluated for a given set of parameter values by first running the fault modelling tool to generate updated fault properties (grid and transmissibility multipliers), and then a commercial reservoir simulator to generate production profiles. The fault modelling tool and the reservoir simulator are called automatically in each iteration from the MATLAB objective function routine. History-matching parameters for seismic (pfm) faults are fault displacement and the sealing parameters described above. History matching of subseismic faults is based on a similar procedure as described by Landa[4], where parameters of the stochastic fault model are varied while keeping the seed constant. That is, applying the stochastic modelling software as a purely deterministic tool. This approach may be applied to parameters for which the resulting fault realization depends continuously on the input parameters as long as the seed is kept constant, e.g. global fault parameters which are modelled by Gaussian random fields. For the fault modelling 3 Fig. 1. Model geometry Fig. 2. Fault model. Seismic (pfm) faults are shown as planes; subseismic faults as lines. tool applied, this applies to average displacement, strike and dip. Also the fractal dimension describing the distribution between smaller and larger subseismic faults[1] may be used as a history-matching parameter. The distribution of faults, however, is based on a marked point process implying that a parameter such as the number of subseismic faults cannot be used in a matching procedure as described here. The rationale behind such an approach is that in a real situation, the true solution is not known, and some sort of uncertainty analysis should be performed. Liu and Oliver[6] give a good overview of different methods for assessing uncertainty in reservoir models. They showed that the randomized maximum likelihood method (RML) as proposed by Oliver et al.[7], although being exact only for linear models, produced distributions that were quite similar to the correct distributions also for a highly non-linear reservoir fluid flow problem with Gaussian statistics. They also showed that this is the only practical alternative that provides an acceptable assessment of uncertainty. In the RML method, the uncertainty is assessed by running multiple history-matching runs with measured data and initial conditions drawn from the data pdf and prior pdf for the history-matching parameters, respectively[7]. When these distributions are known, the main objective of the history-matching process reduces to that of generating a parameter realization that matches a given set of data from a given initial condition as efficiently as possible. Examples The examples are based on a synthetic reservoir model populated with a fault model and petrophysical properties based on two different depositional environments: Case 1 (shallow marine) and Case 2 (fluvial). The reservoir, which is initially oil-filled, is produced by injecting water in two wells downflank and producing from three wells upflank (Fig. 1). The fault configurations are based on a predefined set of 50 subseismic faults and 17 larger seismic faults (Fig. 2). The reservoir dimensions are 1000x1500x30m. The volume was discretized using a regular grid with 20x30x90 cells. Well control is based on keeping the producers at a given bottom-hole pressure target combined with 100% voidage injection. History data to be matched are oil production rate and water cut. One set of parameters was chosen to represent the true values, and the production history is defined as the result of a simulation with this parameter set. Measurement errors are set to 10 Sm3/d for oil production and 0.02 for water cut. Figs. 3-4 and Table 1 show the results of an initial history-matching run with four parameters, three pfm fault parameters and one parameter for subseismic faults. The parameters for the pfm 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 4 40 35 RMS 30 25 20 15 10 5 0 1 11 21 31 41 51 61 No of simulation runs Fig. 3. HM run Case 1 with 4 parameters. x Parameters: Initial Final “True” PFMF 1.0 2.2 1.75 SSF 1.0 2.0 5.0 SGR0 -0.1 -0.1 -0.2 FPF 0.1 0.2 0.01 Table 1. HM run Case 1 with 4 parameters. x x x x x x x x x x x Fig. 4. Result of 4-parameter history-matching run Case 1, fluvial. faults are: Throw multiplier (PFMF), Shale-Smear-Factor b (SSF), and reference point for SGRcurve (SGR0). For the subseismic faults: Fault-permeability-factor (FPF). The objective function minimization is performed with the simplex method. Fig. 3 shows RMS development vs. the number of simulation runs, i.e., the number of objective function evaluations. Fig. 4 shows initial and final production profiles compared with the “true” case. Note that an RMS value of around 5 is quite satisfactory. This is because a measurement error of 10 Sm3/d corresponds to a relatively small relative error with the typical rates obtained here. From Table 1 it is seen that the solution converges to a local minimum different from the true solution. The displacement of the pfm faults is too large, and this is compensated with lower values for all the fault seal parameters. To obtain more insight to this problem, a sensitivity 5 Fig. 5. Variation in RMS vs. HM parameters, Case1. study was performed where the four parameters were systematically varied and the resulting RMS-values calculated. The result is shown in Fig. 5. It is seen on the left plot that there is a “valley” of low RMS-values. Also there are some “wiggles” in the objective function with variations in SSF. As a consequence, a local optimisation method may converge into a local minimum in this valley. A global minimum could possibly have been found using a global optimisation method. However, this would require a very large number of iterations, and the question is whether it is worth the additional cost, or even desirable if the history-matching is done as a part of a randomized maximum likelihood approach as described above. History-matching examples with eight parameters for the two cases are summarized in Figs. 6-8, and Table 2. Again it is seen that multiple solutions exist, all with similar final RMS. Notice that the gradient method is very efficient. Even with eight parameters, the algorithm converges after only one iteration for Case 1 and after four iterations for Case 2. The examples indicate that the most important means of obtaining a match is to find a reasonable value for the “overall” transmissibility of the reservoir, and that such a value can be found very efficiently with the gradient method. In these examples a single set of parameters have been used for all the pfm faults, and similar for the subseismic faults. The number of parameters would increase significantly if different values were used for each individual fault or fault group. However, it is a reasonable assumption that geological parameters, which we have used here, are globally more valid than for instance the traditional transmissibility multipliers, which are the same over the entire fault plane. In these and other examples not presented here, incorrect values for most of the parameters typically can be accounted for by some extra modifications of one single parameter. Also, very different solutions, all matching history, can be found if different starting points are chosen. Fig. 5 also illustrates a typical property of the objective function which have been observed in all cases run: The relative sensitivity with respect to the different parameters depends heavily on the location in parameter space where the sensitivities are evaluated. That is, a traditional sensitivity study varying one parameter at the time may lead to completely wrong conclusions with respect to which parameters being most important and most effective for history-matching. 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 6 CASE Method No of simulation runs No of iterations CASE 1 (SHALLOW MARINE) RMS 35 30 SIMPLEX 25 GRA DIENT 20 15 RMS rmax fdim strikeexp dipexp FPF SSF SGR0 PFMF “True” 10 5 0 1 11 21 31 41 51 61 71 81 91 No of s im ulation runs Fig. 6. Case 1 with 8 parameters. Comparison between Simplex method and Gradient method. RMS rmax fdim strikeexp dipexp FPF SSF SGR0 PFMF 0 50 1.75 30 60 0.01 5 -0.2 1.75 1 (shallow marine) simplex Gradient 178 124 100 10 Initial values 33.14 33.14 10 10 1 1 0 0 90 90 0.1 0.1 1 1 -0.15 -0.15 1 1 Final values 5.31 3.15 23 10 1 1 -22 0 90 90 0.0044 0.098 1.06 3.35 -0.26 -0.185 1.38 1.85 2 (fluvial) simplex gradient 178 97 99 7 8.34 10 1.00 0 90 1.0E-01 1.0 0.00 0.50 8.34 10 1.00 0 90 1.0E-01 1.0 0.00 0.50 0.37 23 1.00 -15 48 2.8E-03 0.4 -0.23 1.58 0.96 22 0.90 0 89 3.1E-02 2.4 -0.23 1.74 Table 2. Results from HM runs with 8 parameters. Conclusions It has been demonstrated that fault parameters applied in a commercial fault modelling tool can be used to match a reservoir simulation model to dynamic data in an automatic loop. The loop is controlled by standard optimization routines in MATLAB. In each iteration of the loop, the simulation grid and permeabilities/transmissibilities are adjusted by the fault modelling tool and applied in a commercial reservoir simulator to obtain production performance. With the advanced fault sealing model, “basic” geological fault properties can be adjusted as opposed to the traditional method, where the history matching parameters typically are one fault transmissibility multiplier per fault. Since these geological parameters are more likely to be similar for different faults in the same reservoir, this method should be more efficient than the traditional method with respect to obtaining a match. Since the parameters being adjusted are geological parameters, the results of the historymatching process can be implemented directly in the geological model. Upscaling errors should then be taken into account. In this project, the geomodel grid was used also for the flow simulations, so upscaling was not an issue. For the cases studied, a good match depends to a large degree on having a correct overall communication, but not so much on the values of the individual fault parameters. There is thus a path of acceptable parameter values crossing through the parameter space. Choosing a particular solution along this path requires the use of prior geological information. Alternatively, this path may be characterized through multiple history-matching runs. The gradient method was much more efficient than the simplex method even if the first used numerical gradients. This is in accordance with general experience, see e.g. Fletcher[8]. Seismic faults have been history-matched with respect to displacement, and in this process the grid was adjusted in each iteration. These adjustments consist of moving the depth nodes 7 Fig. 7. Production profiles Case 2, gradient method. Initial and final solution compared with the “true” solution. according to the change in fault displacement as modelled by the fault modelling tool. Other modifications of fault geometry, which require moving the grid pillars, have not been considered. Acknowledgments This work has been financed by Statoil, and the authors want to thank Statoil for permission to publish this paper. We also want to thank the Norwegian Computing Centre for valuable software support, Jan Tveranger (CIPR) who made the geomodels and Signe Ottesen (Statoil) for help on various issues related to fault modelling. References [1] Hollund K., Mostad P., Nielsen B.F., Holden L., Gjerde J., Contursi M.G., McCann, A.J., Townsend C., and Sverdrup E.: “HAVANA – a fault modeling tool,” In: Hydrocarbon Seal Quantification (edited by Koestler , A. G. & Hunsdale, R.), Norwegian Petroleum Society (NPF), Special publication 11, pp. 157-171, Elsevier Science, 2002. [2] Holden L., Mostad P., Nielsen B.F., Gjerde J., Townsend C., and Ottesen S.: “Stochastic Structural Modelling,” Math. Geol. 35(8), 2003, 899-914. [3] Yielding G.:. “Shale Gouge Ratio - calibration by geohistory.” In: Hydrocarbon Seal Quantification (edited by Koestler , A. G. & Hunsdale, R.), Norwegian Petroleum Society (NPF), Special publication 11, pp. 1-17, Elsevier Science, 2002. 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 2 1.8 1.6 1.4 1.2 SIMPLEX GRA DIENT 0 100 35 30 25 strike 10 9 8 7 6 5 4 3 2 1 0 fdim RMS 8 1 0.8 0.6 0.4 0.2 0 200 SIMPLEX GRA DIENT 50 100 150 No of s im ulations ssfb TRUE fpf 0.01 0.001 200 0 0 SIMPLEX -0.05 GRA DIENT -0.1 pfmf TRUE -0.15 50 100 150 No of s im ulations 5 4 0 200 50 100 150 No of s im ulations SIMPLEX GRADIENT 2 40 TRUE 1.5 20 GRA DIENT 10 0 0 0 50 100 150 No of s im ulations 200 30 SIMPLEX TRUE 200 TRUE GRA DIENT 50 0.5 50 100 150 No of s im ulations 7 6 60 -0.25 0 SIMPLEX 2.5 1 -0.3 9 8 3 -0.2 200 1 0 TRUE 50 100 150 No of s im ulations 50 100 150 No of s im ulations 3 2 rmax dip 0 GRA DIENT 0 TRUE 10 0.1 10 0 sgr0 200 SIMPLEX SIMPLEX GRA DIENT GRA DIENT 5 1 50 40 30 20 SIMPLEX 0 0 80 70 60 15 10 TRUE No of s im ulation runs 100 90 20 200 0 50 100 150 No of s im ulations 200 Fig. 8. Results Case 2 (fluvial). Comparison between Simplex method and Gradient method. [4] Landa J.: “Technique to Integrate Production Data and Static Data in a Self-Consistent Way,” paper SPE 71597, presented at the 2001 SPE Annual Technical Conference and Exhibition, New Orleans, Lousiana, 30 Sept. – 3 Oct. 2001. [5] MATLAB Documentation, http://www.mathworks.com. [6] Liu N. and Oliver D.S.: “Evaluation of Monte Carlo Methods for Assessing Uncertainty,” Soc. Petrol. Eng. J., 8(2), 188 – 195, 2003. [7] Oliver D.S., He N., and Reynolds A.C.: “Conditioning Permeability Fields to Pressure Data,” Proc. 5th European Conference on the Mathematics of Oil Recovery, Leoben, Austria, 3 – 6 Sept., 1996. [8] Fletcher R.: Practical Methods of Optimization, Wiley, 1987.