Professional Documents
Culture Documents
Ensemble Kalman Filter For Automatic History Matching of Geologic Facies
Ensemble Kalman Filter For Automatic History Matching of Geologic Facies
Ensemble Kalman Filter For Automatic History Matching of Geologic Facies
www.elsevier.com/locate/petrol
Abstract
In this paper we address two fairly difficult problems. The first is the problem of matching production data (in this case,
production and injection rates) by adjustment of the locations of the geologic facies boundaries. The second is the use of a
Kalman filter for updating the facies locations in the reservoir model.
Traditional automatic history matching tools are not widely available for reservoirs with unknown facies boundaries,
largely because of the complexity of developing software for computing the sensitivity of the data to model parameters, the
lack of differentiability of facies type, and the high computational cost in generating multiple reservoir models that are
conditional to given data. With careful definition of variables, the use of the ensemble Kalman filter (EnKF) minimizes
those difficulties. First, the gradient does not need to be computed explicitly, the coding for the EnKF algorithm is easy and
adaptable to any reservoir simulator on a plug-in basis. Second, an approximation to differentiability results from the
correlation of variables. Third, the ensemble Kalman filter (EnKF) method takes one simulation run per reservoir model
realization, and the simulations of the reservoir models in the ensemble are ideal for multiple-processor parallel
computation.
We use the truncated pluri-Gaussian model to generate random facies realizations. The geostatistical model is fully
specified by the threshold truncation map and the covariance models for the two Gaussian random fields. The pluri-Gaussian
model is well known but not widely used, partly because of the difficulty of generating conditional realizations. In the first
example, we demonstrate the application of the EnKF to the problem of generating facies realizations conditional to
observations at 18 wells on a 128 128 grid. In the second example, realizations of facies on a 50 50 grid, conditional to
facies observations at the wells and to production and injection rates, are generated using the EnKF. In general, we found
that application of the EnKF to the problem of adjusting facies boundaries to match production data was relatively
straightforward and efficient.
D 2005 Elsevier B.V. All rights reserved.
T Corresponding author.
E-mail address: ning@ou.edu (N. Liu).
0920-4105/$ - see front matter D 2005 Elsevier B.V. All rights reserved.
doi:10.1016/j.petrol.2005.03.006
148 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
Gaussian model for describing facies distributions be attributed to each region, so up to 7 different kinds
with complicated facies arrangements. Le Loch and of facies can be modelled with appropriate relative
Galli (1997) discussed problems with the implemen- percentage. We believe that this number of facies will
tation of the algorithm, including practical structural be sufficient to describe the facies in history matching
analysis and conditional simulations to facies propor- problems, but if not, another line could be added.
tions. Lantuejoul (2002) discussed the problem of Each threshold line is described by a rotation angle h
conditioning truncated pluri-Gaussian models to and a distance r from the origin, according to the
facies observations more extensively. Assuming following formula:
known threshold parameters, a Gibbs sampler was p r
used with the truncated pluri-Gaussian method to y tan h x ;
generate reservoir realizations conditional to facies 2 cosh
observations. i.e., the threshold line is perpendicular to the line
The problem of history matching of reservoir passing through the origin with the slope h and
models with unknown geologic facies boundaries intersecting the threshold line at a distance r.
has been studied less frequently than the problem of
history matching to rock properties (Rahon et al., 2.2. The ensemble Kalman filter
1996; Bi, 1999; Landa et al., 2000). Liu and Oliver
(2003) applied a gradient-based method to the The basic idea of the ensemble Kalman filter method
problem of conditional simulation of facies bounda- is that it is possible to propagate a group of state models
ries generated from the truncated pluri-Gaussian along time using the full nonlinear model dynamics
method. They carried out a five-spot water-injection while adjusting the paths to assimilate to data; the
case study in which more than 73,000 model variables statistical information among the group of states is used
were conditioned to bottom-hole pressure data at for model updating. In the following introduction, we
wells. The adjoint method was used for gradient denote Y as a group of ensemble states:
computation, and a quasi-Newton algorithm was used
Y y 1 ; y 2 ; . . . ; y Ne ;
for minimization. Thirteen iterations were required for
the objective function to decrease to less than 2% of where N e is the number of state vectors in the
its initial value; this is approximately equivalent to ensemble.
about 52 simulation runs. The ensemble Kalman filter for assimilating data
consists of two sequential steps. One is the forecast
forward in time based on solution of the dynamical
2. Theoretical framework equations for flow and transport in the reservoir. The
other is data assimilation to update the model by
2.1. Truncated pluri-Gaussian method correcting the variables describing the state of the
system to honor the observations. The state vector in
The truncated pluri-Gaussian method is composed the ensemble Kalman filter contains all the uncertain
of two essential elements: Gaussian random fields, and dynamic variables that define the state of the
and truncation threshold lines. In the first step for system. At a certain time step i, the state vector for the
simulating a facies field, two random Gaussian fields reservoir model is expressed as:
Y 1 and Y 2 are generated based on the geological h iT
T T
spatial features, so that each gridblock is assigned two yi m i ; d m i ; 1
Gaussian variables. In the second step, facies are
assigned to gridblocks depending on the region of the where m i consists of variables for rock properties and
truncation threshold map occupied by Y 1 and Y 2. flow system in every gridblock, d(m i ) is the simulated
We have elected to use three intersecting lines as data from the previous simulation run. The number of
truncation thresholds. Three non-parallel randomly simulated data in the vector d(m i ) does not have to be
generated lines that do not all intersect at the same the same at every assimilation step since it depends on
point divide the plane into 7 regions. A facies type can the number of observation data at time step i.
150 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
dj dobs ej ; for j 1; . . . ; Ne : 3
1 XNe T
CYp ;e ypi y p ypj y p : 5
Ne 1 i;j1
y p is the mean of the N e ensemble members at the Fig. 2. The true facies map with all the well locations denoted by
current data assimilation step. The subscript Y black dots. The wells are numbered 1 through 18 from the lower left
represents the ensemble of state vectors. corner to upper right corner by rows.
N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161 151
Table 1
Facies observations from each of the 18 wells for the second case of matching facies observations
Well 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
x 17 49 81 113 33 65 97 17 49 81 113 33 65 97 17 49 81 113
y 25 25 25 25 45 45 45 65 65 65 65 85 85 85 105 105 105 105
facies 1 2 1 3 2 3 3 1 2 1 3 3 1 1 1 3 1 1
includes the pressure and the saturation in every model updating. As the number of data at each
gridblock, y j = { Y 1,Y 2,P,S,d sim}. Both Gaussian fields observation time N d is normally small, the computa-
have the same size as the reservoir grid, therefore the tion of the inversion term (HC Y,eH T + C D) 1 is fast.
size of the state vector is N y = 4n grid + n d, where n d is Instead of computing the covariance of the state
the number of data at each observation time. vectors in Eq. (5), only the product HC Y,eHT is
required, so we define
3.1. Computation of the ensemble Kalman gain
A HDy1 ; Dy2 ; . . . ; DyNe HDY : 6
The ensemble Kalman gain works as a weighting Because of the structure of H, the matrix A consists
term for assimilation of the observation data in the of the last N d rows of DY. Expressing the ensemble
Fig. 3. After replacing the simulated facies F sim with the facies mismatch f in the state vectors, the problem of facies assignment nonlinearity in
the threshold map is solved. The second facies observation is matched by all 50 ensemble members in three update steps. The thick lines in each
plot are the threshold lines. The arrows point from the starting locations of the Gaussian variables before update to the end locations after update.
152 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
Fig. 4. The initial facies map realizations 16. The black dots are well locations.
N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161 153
Fig. 5. The facies map realizations 16 that match the facies observations from all 18 wells.
The second true Gaussian field Y 2 is isotropic with a approximation to the relationship of the Gaussian
range of about the width of 20 gridblocks. Three variables to simulated facies. Multiple iterations on
facies are present in the field, which are denoted as assimilation of the same data are sometimes necessary to
facies 1, 2, and 3. Unconditional facies maps are
generated by truncating two unconditional Gaussian
fields Y 1 and Y 2 using the threshold map shown in
Fig. 1. The true facies field is shown in Fig. 2. The
facies observations are listed in Table 1 with the well
number and locations.
The state vectors are formulated as { Y1,Y 2,Fsim}. If
the data are assimilated one at a time, the size of the state
vectors is 2 ngrid +1, where n grid is the total number of
gridblocks in the reservoir model. After generating the
ensemble of Gaussian fields, truncation is applied to
generate facies maps for each ensemble state. As facies
is an indicator variable, no observation error is
considered in this study. As a result, the updated data
in the state vectors always match facies observations.
However, because the relation between the Gaussian
fields and the facies map is not linear, the Gaussian
Fig. 6. The true facies map for the 2-D case study of matching both
model variables are not always consistent with the the facies observations and the production data. This facies map is a
observation after updating. Modifications to the Gaus- 50 50 square taken from the 128 128 true facies map in the case
sian variables in the update step is based on a linear study of matching 18 facies observations.
154 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
Fig. 7. The initial facies maps from the ensemble members 1, 20, 40, 60, 80, and 100 that matched the facies observations in the previous case
study. Well locations are denoted by the black dots.
N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161 155
Fig. 8. The final facies maps from the ensemble members 1, 20, 40, 60, 80, and 100 after matched both the production data and the facies
observations. Well locations are denoted by the black dots.
first plot in Fig. 3 shows the modification to the corresponding final facies maps that honor all facies
Gaussian variables at well 2 in the first iteration for observations. The final facies maps have developed
each of the ensemble members that does not match the many common features. If the objective is to generate
observed facies. The facies assigned to each region model realizations that honor the data, then 120 initial
has been labeled as F 1, F 2, or F 3. The threshold map ensemble members are sufficient for this facies-
(Fig. 1) shows that the probability for the Gaussian matching problem. Liu and Oliver (2005) applied the
variables to fall into facies 2 regions is smaller than
the probability of falling into other facies regions as
the facies 2 regions are further from the origin. In fact,
45 of the 50 initial ensemble members do not have
facies 2 at well 2 before data assimilation. In the first
iteration of model updating, 31 ensemble members are
corrected to simulate facies 2 at the observation grid
(49, 25). Three iterations are required for all the
ensemble members to simulate facies 2 at grid (49,
25). The bottom right plot in Fig. 3 shows the final
locations of the Gaussian variables at grid (49, 25).
It was not possible to match all facies observations
using 50 ensemble members, so we increased the size
of the initial ensemble to 120, and 112 final facies maps
are obtained matching all 18 facies observations. Fig. 4 Fig. 9. The averaged variance of the Gaussian fields vs. the number
shows 6 initial facies maps while Fig. 5 shows the of data assimilations.
156 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
Fig. 11. The injection rates over the 195 days production history from the initial ensemble (left) and the final ensemble (right). The thick line
shows the observed data.
N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161 157
Fig. 12. The oil rate of well 2 over the 195 days production history from the initial ensemble (left) and the final ensemble (right). The thick line
shows the observed data.
over-shoot of the Gaussian variables. An iteration step compute the average variance over all grids, and
over the facies observations is made after each model plot the results as shown in Fig. 9. Prior to data
update to ensure the rock properties at well locations assimilation, the realizations of Y 1 and Y 2 should
are always correct. have variance close to 1. After matching the facies
Fig. 8 shows 6 out of the 100 facies maps from the observations, the average variances for the two
final ensemble members after assimilating all the Gaussian fields have decreased from 1 to less that
production data. Each of the final facies maps shown 0.4, and 0.7, respectively. After assimilating the
has kept some features from the initial state, but some production data, the variances decreased to less than
common features have developed among the ensem- 0.3. The reduction of the average variance for both
ble members. Some of the common features do not Gaussian fields in all the ensemble members
exist in the true facies map. indicate that the variability among the ensemble
The variability of the final ensemble has obvi- members have reduced and the ensemble members
ously been reduced and the subspace spanned by the have become more and more similar with data
ensemble members does not seem to include the true assimilation.
facies map. The variance of the Gaussian variables Box plots are used to represent the distribution of
can be used to quantify the reduction in variability the simulated production data from all the 100
due to data assimilation. At every gridblock, we ensemble members over the 195 days of production.
compute the variance over the ensemble, then Fig. 10 shows the key for interpretation of box plots.
Fig. 13. The oil rate of well 3 over the 195 days production history from the initial ensemble (left) and the final ensemble (right). The thick line
shows the observed data.
158 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
Fig. 14. The oil rate of well 4 over the 195 days production history from the initial ensemble (left) and the final ensemble (right). The thick line
shows the observed data.
The simulated rates and the observed data are plotted The histograms in Fig. 17 compare the squared
together in Figs. 1116. The box plot on the left of data mismatch from the initial ensemble with that
Fig. 11 shows the injection rates from the initial from the final ensemble. On average, the squared data
ensemble conditional only to facies observations. The mismatch has been reduced to 16.5% of the initial
observed injection rate is plotted as the thick line. The values. The best reduction is to 4.9% and the worst
distribution of injection rates from the 100 final one is to 49.2%. The quality of the match to the data is
reservoir models is much narrower than the initial not as good as one could expect from consideration of
distribution and almost centered at the observed data the level of noise added to the data. In a previous
(Fig. 11, right). study, Liu and Oliver (2005) compared the quality of
The distributions of the oil rates from the final the data mismatch for 20 independent facies model
ensemble are shown in Figs. 1216; they are all much realizations generated using an adjoint-based gradient
narrower and closer to the observed data. Fig. 16 method, with the quality of the data mismatch from 20
shows the water rate of well 3 over the 195 days independent history matched ensembles of 40 mem-
production history from both the initial and the final bers generated using EnKF. The EnKF models were
ensembles. Only a few of the initial 100 states have superior over the gradient based method in matching
water breakthrough within 195 days. After data the data. We attribute the fact of relatively high data
assimilation, almost all the reservoir models have mismatch in both methods to the nature of our
breakthrough in 195 days. problem; the facies is a discontinuous variable, and
Fig. 15. The oil rate of well 5 over the 195 days production history from the initial ensemble (left) and the final ensemble (right). The thick line
shows the observed data.
N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161 159
Fig. 16. The water rate of well 3 over the 195 days production history from the final ensemble. The thick line shows the observed data.
gradients of the objective function with respect to the ness of EnKF in solving reservoir history matching
Gaussian fields Y 1 and Y 2 were approximated by problems with geologic facies.
adding a transition zone between different facies. The relationships between the data and the state
variables are nonlinear in both the history matching
and the facies matching examples. When matching
6. Conclusions facies observations, it was necessary to enforce the
data constraints iteratively. Fortunately, there was no
The primary goal of this paper was to investigate need to compute the gradient or the state covariance
the applicability of the ensemble Kalman filter to the explicitly, so the cost of the iterations was negligible.
problem of history matching of facies locationsa In the history matching problem, the 2-D facies
problem for which the EnKF might not be an maps at the end of data assimilation are much
appropriate choice. The facies is an indicator variable, different from the initial facies maps, while consistent
and hence not differentiable or Gaussian. By a proper with the data assimilated in early time. This fact is
choice of state variables, however, for instance using encouraging for the use of the ensemble Kalman filter
the Gaussian fields instead of the facies and using an method in reservoir history matching. When the early
appropriate definition of facies mismatch instead of production data need to be reinforced to the ensemble
facies type, history matching of facies locations is states, it may be necessary to iterate on the data
possible with EnKF. The results from both case assimilation with the final states which would require
studies are satisfactory, which establishes the useful- rerunning the reservoir simulations from early time.
Fig. 17. The histograms of squared data mismatch from the 100 initial ensemble states (left) and the final ensemble states (right).
160 N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161
The squared data mismatch for history matching Corser, G.P., Harmse, J.E., Corser, B.A., Weiss, M.W., Whitflow,
was on average reduced to 16% of its initial value G.L., 2000. Field test results for a real-time intelligent drilling
monitor, SPE-59227. Proceedings of the 2000 IADC/SPE
after assimilating production data. The uncertainty of Drilling Conference.
the model variables conditional to data appears to be Eisenmann, P., Gounot, M.-T., Juchereau, B., Whittaker, S.J., 1994.
underestimated, as the subspace spanned by the final Improved Rxo measurements through semi-active focusing,
states does not include the true facies map. SPE-28437. Proceedings of the SPE 69th Annual Technical
Conference and Exhibition.
The EnKF algorithm was highly efficient from the
Evensen, G., 1994. Sequential data assimilation with a nonlinear
standpoint of computational cost and software devel- quasi-geostrophic model using Monte Carlo methods to forecast
opment. Once the algorithm is fully understood, it error statistics. J. Geophys. Res. 99 (C5), 10143 10162.
only takes a few days to write the EnKF code for Evensen, G., 2003. The ensemble Kalman filter: theoretical
data assimilation. The amount of computation time formulation and practical implementation. Ocean Dyn. 53,
for generating 100 reservoir facies models condi- 343 367.
Floris, F.J.T., Bush, M.D., Cuypers, M., Roggero, F., Syversveen,
tional to production data is the time required for 100 A.-R., 2001. Methods for quantifying the uncertainty of
reservoir simulations plus some overhead for the production forecasts: a comparative study. Pet. Geosci. 7
update of Kalman states after each data assimilation. (SUPP), 87 96.
Although the uncertainty from a single ensemble Galli, A., Beucher, H., Le Loch, G., Doligez, B., Group, H., 1994. The
appears to have been underestimated, comparison of pros and cons of the truncated Gaussian method. Geostatistical
Simulations. Kluwer Academic, Dordrecht, pp. 217 233.
uncertainty estimation between the EnKF and the Gosselin, O., van den Berg, A.C.S., Chowdhury, S.D., 2001. A
gradient-based history-matching algorithms should gradient-based approach for history-matching of both produc-
probably be based on the distributions from multiple tion and 4D seismic data. Tech. rep., preprint.
ensembles. Gu, Y., Oliver, D.S., 2005. History matching of the PUNQ-S3
reservoir model using the ensemble Kalman filter: SPE 89942.
Proceedings of the 2005 SPE ATCE.
He, N., Oliver, D.S., Reynolds, A.C., 1997. Conditioning stochastic
Acknowledgments reservoir models to well-test data (SPE-38655). 1997 SPE
Annual Technical Conference and Exhibition.
Support for Ning Liu was provided by the U.S. Houtekamer, P.L., Mitchell, H.L., 2001. A sequential ensemble
Department of Energy, under Award No. DE-FC26- Kalman filter for atmospheric data assimilation. Mon. Weather
Rev. 129 (1), 123 137.
00BC15309. However, any opinions, findings, con- Landa, J.L., Kamal, M.M., Jenkins, C.D., Horne, R.N., 2000.
clusions or recommendations herein are those of the Reservoir characterization constrained to well test data: a field
authors and do not necessarily reflect the views of the example. SPE Reserv. Evalu. Eng. 3 (4), 325 334.
DOE. Lantue joul, C., 2002. Geostatistical Simulation: Models and
Algorithms. Springer, Berlin.
Le Loch, G., Galli, A., 1997. Truncated pluriGaussian method:
theoretical and practical points of view. In: Baafi, E.Y.,
References Schofield, N.A. (Eds.), Geostatistics Wollongong 96, vol. 1.
Kluwer Academic, pp. 211 222.
Anderson, J.L., 2001. An ensemble adjustment Kalman filter for Le Loch, G., Beucher, H., Galli, A., Doligez, B., Group, H.,
data assimilation. Mon. Weather Rev. 129 (12), 2884 2903. 1994. Improvement in the truncated Gaussian method:
Anderson, J.L., Anderson, S.L., 1999. A Monte Carlo implemen- combining several Gaussian functions. Proceedings of ECMOR
tation of the nonlinear filtering problem to produce ensemble IV, Fourth European Conference on the Mathematics of Oil
assimilations and forecasts. Mon. Weather Rev. 127 (12), Recovery.
2741 2758. Li, R., Reynolds, A.C., Oliver, D.S., 2003. Sensitivity coefficients
Bi, Z., 1999. Conditioning 3D stochastic channels to well-test for three-phase flow history matching. J. Can. Pet. Technol. 42
pressure data. Ph.D. thesis, University of Tulsa, Tulsa, (4), 70 77.
Oklahoma. Liu, N., Oliver, D.S., 2003. Automatic history matching of geologic
Bissell, R., Sharma, Y., Killough, J.E., 1994. History matching using facies, SPE 84594. Proceedings of the 2003 SPE Annual
the method of gradients: two case studies. SPE 69th Annual Technical Conference and Exhibition, pp. 1 15.
Technical Conference and Exhibition SPE 28590, pp. 275 289. Liu, N., Oliver, D.S., 2005. Critical evaluation of the ensemble
Chu, L., Reynolds, A.C., Oliver, D.S., 1995. Computation of Kalman filter on history matching of geologic facies, SPE-
sensitivity coefficients for conditioning the permeability field to 92867. Proceedings of the 2005 SPE Reservoir Simulation
well-test data. In Situ 19 (2), 179 223. Symposium.
N. Liu, D.S. Oliver / Journal of Petroleum Science and Engineering 47 (2005) 147161 161
N&vdal, G., Johnsen, L.M., Aanonsen, S.I., Vefring, E.H., 2003. ings of the 5th European Conference on the Mathematics of Oil
Reservoir monitoring and continuous model updating using Recovery, pp. 283 293.
ensemble Kalman filter. SPE, p. 84372. Reichle, R.H., McLaughlin, D.B., Entekhabi, D., 2002. Hydrologic
Oliver, D.S., 1994. Incorporation of transient pressure data into data assimilation with the ensemble Kalman filter. Mon.
reservoir characterization. In Situ 18 (3), 243 275. Weather Rev. 130 (1), 103 114.
Omre, H., Hegstad, B.K., Tjelmeland, H., 1996. Alternative history Wen, X.-H., Chen, W., 2005. Real-time reservoir model updating
matching approaches. Tech. rep., Department of Mathematical using ensemble Kalman filter, SPE-92991. Proceedings of the
Sciences, Norwegian University of Science and Technology, 2005 SPE Reservoir Simulation Symposium, pp. 1 14.
Trondheim, Norway.
Rahon, D., Blanc, G., Guerillot, D., 1996. Gradients method
constrained by geological bodies for history matching. Proceed-