CAPÍTULO 4: RESULTADOS Y DISCUSIÓN
4.1. Presentación de resultados
I will consider the total covariance matrix C (cf. (5.2), (5.4)) to be block diagonal, consisting of the two major blocks: C corresponding to the well data, and w C s
corresponding to the seismic data, so that the objective function is split into the wells and seismic parts, as defined in (4.3).
. 0 0 s w C C C (5.11)
Matrix C will be considered to be also block diagonal, with each block corresponding w
to a separate well data vector (the data vectors in the simulator output are the functions of different quantities vs. time, e.g. of water cut for a well or group of wells, GOR, BHP, etc). By adopting this block structure, I am making a simplifying assumption that the data points between the different vectors are not correlated. In practice C is w
not correlated, and only the standard deviations Cwii should be accounted for. E.g., in
[63] the authors claim that the correlation length in the well data is around 10-20 days, so if the well data are reported at monthly rate, which is usually the case, these correlations can be ignored. In Schlumberger SimOpt user guide [64] roughly the same statement about the correlations in well data is made.
It seems that in the above considerations only the measurement errors were addressed by the authors. I think that a more appropriate approach will be to consider both measurement and modelling errors, as discussed in section 5.1. The total covariance matrix is then obtained by (5.3), where the Gaussian assumption is made on both types of errors. For the modelling errors such an assumption may be not suitable, but I believe that making it would lead to a better uncertainty quantification than just ignoring the modelling errors. A detailed study of this issue is however beyond the scope of this thesis.
If one considers the modelled well data gwell(m) from a reservoir simulation model history matched to the observed well data well
obs
d , then in most cases the resulting error
) (m g d r well well obs
will show correlations with ranges notably exceeding 10 – 20 days reported for the measured well data. These long range correlations seem to be the consequence of the modelling errors existing in the total error r. To estimate the correlations range, the (auto)covariance function of r is considered:
1 ( ) ( ), ) ( r x r x h N h c (5.12)where summation takes place over all available pairs of the data points separated with lag h, and N = N(h) is the total number of such pairs. In this definition it is assumed that the residue r has zero mean, however for the real simulation models it is not always the case due to the modelling errors. Examples of the autocovariance functions for the well bottom-hole pressure, water cut and GOR are shown in Figure 5.1, where I took wells D2, D5, D7 from a history-matched simulation model of Schiehallion field, segment 4, which is to be considered in detail in the next chapter.
The statistical estimates of the covariance functions are more reliable at small lags (0 - 400 days on the plots above), since there are more pairs of points existing at such lags. In the ideal situation the shape of the covariance would look like that shown in Figure 5.2. In the examples considered, covariances for well D2 BHP and well D7 water cut
follow that shape quite closely. Covariance of well D2 GOR is somewhat worse, as it plunges into negative domain for the medium lags. Finally, the calculated covariance function of well D5 GOR is likely to be affected by the strong modelling errors.
Figure 5.1 Autocovariance functions calculated from the well data errors of a history matched Schiehallion model, wells D2, D5, D7. X axis is time lag in days
h, Y axis is the autocovariance function c(h).
Figure 5.2 Spherical covariance function csph with range 20.
It should be noted that the statistical estimates of the autocovariances may look weird even if the input random vectors were precisely generated with the known covariance function. To illustrate this, I generated the random normal vectors with zero mean and
-20 -15 -10 -5 0 5 10 15 20 0 500 1000 1500 2000 2500
σ = 5, range = 100
-30 -20 -10 0 10 20 30 40 0 500 1000 1500 2000 2500 -60 -40 -20 0 20 40 60 0 500 1000 1500 2000 2500σ = 20, range = 500
-600 -400 -200 0 200 400 600 800 0 500 1000 1500 2000 2500covariance matrix C 2R, where the correlation matrix R was calculated via the spherical34 covariance: ), , ( ) ( , c i j c rangei j Ri j sph sph (5.13)
where i and j denote the vector indices (can be regarded as time). The resulting random vectors and the (auto)covariance functions estimated from them are shown in Figure 5.3. As can be seen, the autocovariances at large lags are far from the ideal underlying one (Figure 5.2).
input vector estimated autocovariance v(i) i c(i) i v(i) i c(i) i
Figure 5.3 Random normal vectors sampled using the spherical covariance function csph. Top row: vector with = 5, correlation range = 100; bottom row: vector with = 20, correlation range = 500. The left column is the input vector,
the right column is the statistically estimated autocovariance. X axis in the left
column displays the index (can be regarded as time), X axis in the right column is the index lag, Y axis is for the vector (or covariance) value.
Returning to the example from Schiehallion field given in Figure 5.1, one can visually infer the correlation ranges of the autocovariance functions by superimposing the spherical covariance function (Figure 5.2) appropriately stretched horizontally and
34
Whereas different covariance functions could be used, in this thesis only the spherical one is considered for convenience. The spherical covariance (or the corresponding variogram) is one of the most commonly used in the geostatistical applications. The formula for the variogram, i.e. γ(h) = c(0) – c(h), can be found in Appendix D, where the obvious correction for the correlation range should be made.
vertically. The resulting ranges are of the order of 200 – 400 days, and this is obviously greater than 1 month. So, if the well data measurements are reported at monthly rate, the full non-diagonal covariance matrix should be used for the proper treatment of uncertainty.
For the purposes of history matching and uncertainty estimation the following procedure will be applied to estimate the covariance matrix C : w
1. History match the model using the diagonal covariance matrix. In this preliminary history matching the model parameterisation is taken the same as in the subsequent “final” history matching. The only difference between the two HM versions is in the objective function: the preliminary HM uses diagonal covariance matrices, and the standard deviations which are quite rough and approximate (usually inferred from the absolute magnitude of the observed well data vectors and engineering judgement). 2. For each data vector estimate the error r d gwell(m)
well obs
between the observation
data and the modelled data. The data vectors participating in the objective function are BHP, water cut, GOR for a simulation model controlled by the well liquid production rate and the well water injection rate. These vectors reasonably cover the conventional field historic data, and there are essentially no correlations between them. I do not consider the cumulative quantities like the total water production (WWPT) because the corresponding vectors have more complicated covariance functions, and are also correlated with the other vectors (e.g. WWPT is correlated with water cut).
3. Calculate the autocovariance function c(h) for r. Visually find the range by superimposing the spherical covariance function. If the autocovariance function looks suspicious, the range should be defined by analogy with the similar data vectors, and by engineering judgement. Once the range is found, the correlation matrix R can be calculated for each vector using the spherical covariance function, see (5.13).
4. Define the standard deviation for each data vector. Although can be specified separately for each vector at each time step, a more unifying approach is used here – one is defined for a whole group of similar vectors, e.g. for all well GOR vectors. In the first approximation the sigmas are defined from the magnitude of the vectors and engineering judgement. Then, for each group of vectors the 2 criterion set forth in Chapter 4 is applied, i.e. sigma for the group is selected such that after history matching the objective function for the group approximately equals NdgroupNpgroup, where
group d
N is the number of data in the group of vectors, Npgroup is the number of parameters "allocated" for that group. I define roughly Ngroupp as the total number of parameters used in history matching divided by the number of groups. Strictly speaking, 2 criterion is formulated for the whole set of data, and is not applicable to the data subgroups, at least because it is not known how parameters should really be allocated between the subgroups. However I consider the groups of data vectors with relatively large number of data (well exceeding the total number of parameters), so that the 2 criterion is believed to be applicable. To define 's with this algorithm it is required to run a few additional history matching runs. Once 's are defined for each data point of a data vector, the diagonal matrix S can be found which contains these sigmas on its diagonal.
5. The covariance matrix for each vector is then CSRS , and the total well covariance matrix C is block-diagonal, with blocks corresponding to the matrices of the vectors. w
For uncertainty estimation using the RML procedure outlined above one will also require to generate the perturbation for the observed well data. The perturbation is a normal random vector with zero mean and covariance matrix C , and is calculated w
using Cholesky decomposition of each matrix sub-block of C . More details on w
generating the normal random vectors and fields will be given in the next section.