Professional Documents
Culture Documents
Stochastic Inverse Modeling Under Realistic Prior Model Constraints With Multiple-Point Geostatistics
Stochastic Inverse Modeling Under Realistic Prior Model Constraints With Multiple-Point Geostatistics
Acknowledgements
Quote
Overview
Multiple-point geostatistics
Why do we need it ?
How does it work ?
How do we define prior models with it ?
Data integration
Integration of multiple types/scales of data
Improvement on traditional Bayesian
methods
Solving general inverse problems
Using prior models from mp geostatistics
Application to history matching
Part I
Multiple-point Geostatistic
Limitations of traditional
geostatistics
Variograms EW
1
1.2
Variograms NS
1.2
2
3
0.8
0.4
0.8
0.4
10
20
30
40
10
20
30
40
B2
B3
B={B1,B2,B3}
P(A|B) = N(m,)
m,given by kriging, depend on
autocorrelation (variogram) function
Multiple-point Geostatistics
Reservoir
= well data
multiple-point
data event
Sequential
simulation
P(A|B)?
Pr(A k 1 | S( u ) s , ) ?
1 if S( u ) s , 1,K , n
D
if not
0
u
n
A
1
such that
E[A k D] E[A k ]E[D]
E[D](1 E[D])
E[A k D] E[A k ]E[D]
Pr(A k 1 | D 1) E[A k ]
E[D]
E[A k D] Pr[A k 1, D 1]
E[D]
Pr[D 1]
Pr(A k 1 | D 1) E[A k ]
Bayes Rule !
P(A|B)=1/4
SNESIM algorithm
A = Mud
Recognizing P(A|B) for all possible A,B
Data template
(data search neighborhood)
Search tree
Construction requires
scanning training image one
single time
14 11
5 7
5 3
3 1
1 0
2 5
1 1
1 1
0 3
0 2
3 0
1 0
1 0
1 0
1 0
1 1
2 0
2 0
1 1
0 1
Search neighborhood
5
4
3
2
j=1
1
4 u2
3
Search tree
i =1 2 3 4 5
1
u
Level 1 (1 CD)
.
.
.
.
.
.
1
u2
1
Level 4 (4 CD)
1
u2
1
u
1
u2
14 11
1
u
2
0 2
1
u2
1
1
u2
1
u
1
u2
1
u2
1
u2
1
1
u 2 u2
3
3
1
4 u2
3
Example
True image
CPU
Training image
Realization
2 facies,
1 million cells
= 4 30
On 1GHz PC
Where do we get a 3D TI ?
2- D Reference Data
500. 000
North
sand
shale
0. 0
0. 0
East
500. 000
Not Valid
2- D Reference Data
500. 000
North
sand
shale
0. 0
0. 0
East
500. 000
Modular ?
* no units
* rotation-invariant
* affinity-invariant
Part II
Multiple-point Geostatistics
and data integration
P(A|B)
Combining sources of
information
P(A | B,C) (P(A), P(A | B), P(A | C)) (P(A), P(B | A), P(C | A))
Desirable properties of ,
1. P(A | B,C) [0,1]
2. Closure P(A | (g)) P(A | ( g)) 1
3. C non-informative of A : P(A | C,( g)) P(A | ( g))
4. C fully informative of A : P(A | C,(g)) 1
5. C fully informative of A not occurring : P(A | C,( g)) 1
Conditional independence
P(B,C | A) P(B | A) P(C | A))
P(A) P(B | A) P(C | A)
P(B,C)
Requires McMC to eliminate P(B,C)
P(A | B,C)
Correcting conditional
independence
2. Closure P(A | B,C) P(A | B,C) 1
P(A) P(B | A) P(C | A) P(A) P(B
| A) P(C
| A)
P(B,C)
P(A)
P(A)
This expression honors all conditions 1- 5
P(A)
P(A)
can be reshaped as follows
1
a
x b ca
P(A | B,C)
or
1 x a bc
b
a
with
1 P(A)
1 P(A | B)
1 P(A | C)
1 P(A | B,C)
a
b
c
x
P(A)
P(A | B)
P(A | C)
P(A | B,C)
x b ca
xb ca
x c
b
a
b a
reintroducing
dependence
x c
b a
( B,C)
Simple problem
P(A|B) = 0.80
1
a2
P(A | B,C, D)
2
1 x a bcd
Example reservoir
Training image
P(A|B)
Realization
P(A|C)
ence2-D
Data
Reference Data
.000
226.000
1.000
Single
realization
Realization
226.000
1.000
North
North
North
shale
sand
0.0
0.0
ast
0.0 112.000
East
112.000
0.0
0.0
0.0
0.0
East
112.000
0.0
East
112.000
P(A|C), A = single-point !
P(A|C)
Realization
Realization
When combing P(A|B) from
1.000 geology and
1.000 P(A|C) from
seismic to 0.900
P(A|BC),
North
North
.000
0.8000
0.7000
A is still 0.6000
a single point
event ! 0.5000
0.4000
Certain 0.3000
patterns, such as
0.2000
local rotation
will be ignored
0.1000
0.0
0.0
0.0
East
112.000
0.0
0.0
East
112.000
0.0
500. 000
North
sand
shale
0. 0
0. 0
East
500. 000
Modular ?
* Stationary patterns
* rotation-invariant
* affinity-invariant
* no units
Local angle
220
1.000
200
180
160
North
140
120
100
80
60
40
0.0
20
0.0
0.0
East
112.000
20
40
60
80
100
Results
2 Realization
realizations with
angle
Realization
226.000
without
angle
Realization
226.000
226.000
220
1.000
200
0.900
180
0.8000
shale160
0.7000
0.6000
North
North
North
140
120
0.5000
100
0.4000
80
0.3000
60
0.2000
sand
0.1000
40
0.0
20
0.0
0.0
East
112.000
0.0
0.0
East
112.000
0.0
0
20
40
60
80
100
0.0
East
112.000
2-DP(A|C)
Reference Data
226.000
Realization
226.000
1.000
sand
North
North
North
shale
not determin
0.0
0.0
0.0
East
112.000
Hard data
from seismic
0.0
0.0
East
112.000
Soft data
from seismic
0.0
0.0
East
112.000
Part III
A Petroleum Engineer
50.0
50.0
1000.0
800.0
800.0
600.0
600.0
400.0
North
North
1000.0
400.0
200.0
1.0
a
200.0
Initia l P erm e ab
a
a
a
a
a
a
a
a
aa
a a
aa
a
a
a
a
a
aa
a
a
a
aa
0.0
East
0.0
50.0
Disagreeing Geologist
Realization matched to Fractional Flow
50.0
0.0
East
50.0
0.8
W ater Cut
0.0
0.0
Water cut
0.0
Geologist 2
1000.0
1000.0
800.0
800.0
600.0
600.0
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
0.6
a
a
a
a
a
a
a
0.4
a
a
a
a
0.2
a
400.0
North
North
400.0
200.0
200.0
0.0
0.0
East
50.0
East
50.0
a
a
400
600
tim e , da ys
800
1000
Time (days)1000
a
0.0
200
0.0
0.0
0.0
0.0
Approach
Methodology
Define a non-stationary Markov chain that moves
a realization to match data, two properties
At each perturbation we maintain geological
realism
use term P(A|B)
Construct a soft data set P(A|D) such that we
move the current realization as fast as possible to
match the data => Optimization of the Markov
chain at each step
if facies s1 occurs
u (x, y, z)
I( u)
if facies s0 occurs
i ( u ) u
(l )
Realization at iteration
i ( u ) u
(o)
(l )
Transition matrix
2 x 2 transition matrix describes the probability of
changing facies at location u and we define it as
follows
Pr{I ( l 1) ( u) 1 | D,i ( l ) ( u) 0} rD Pr{I( u) 1}
rD [0,1]
Parameter rD
A {I ( l 1) ( u) 1}
Pr{I ( l 1) ( u) 1 | D,i ( l ) ( u) 0} rD Pr{I( u) 1}
rD [0,1]
rD [0,1]
Determine rD
Use P(A|D) as a probability model
in multiple-point geostatistics
Combine P(A|B) (from training image) with P(A|D)
from production data D into P(A|B,D)
Allows generating iterations that are consistent with
prior geological vision
Allows combining geological information with
production data
Allows determining an optimal value for rD as
follows
rD determines a perturbation
rD=0.01
50.000
training image
r_D = 0.05
50.000
150.000
faci es 1
North
faci es 0
0.0
0.0
East
faci es 0
0.0
50.000
rD=0.1
0.0
50.000
rD=0.2
r_D = 0.1
50.000
East
r_D = 0.2
50.000
faci es 1
North
North
faci es 1
faci es 0
0.0
North
North
faci es 1
0.0
East
faci es 0
0.0
50.000
0.0
East
50.000
0.0
rD=0.5
rD=1
r_D = 0.5
50.000
r_D = 1
50.000
faci es 1
North
North
faci es 1
faci es 0
0.0
0.0
East
50.000
faci es 0
0.0
0.0
East
50.000
0.0
East
150.000
Complete algorithm
Construct a Training Image with the desired
geological continuity constraint
(o)
training image
150.000
North
Examples
0.0
Reference model0
50.000
North
facies 0
0.0
East
East
150.000
P
facies 1
0.0
0.0
50.000
0.45
reference
match
init
0.4
Single model
0.35
0.3
Initial model
Iteration 1, r_D=0.21
50.000
0.25
fw
50.000
0.2
facies 1
facies 1
North
North
0.15
0.1
facies 0
0.0
0.0
East
facies 0
0.0
50.000
0.05
0
0
0.0
East
10
15
20
25
timesteps (days)
50.000
30
35
40
1
0.9
Iteration 5, r_D=0.50
50.000
50.000
facies 1
North
North
facies 1
Objective function
0.8
Iteration 3, r_D=0.52
0.7
0.6
0.5
0.4
0.3
facies 0
facies 0
0.2
0.1
0.0
0.0
East
0.0
50.000
0.0
East
50.000
0
0
4
5
Iterations
0.65
0.6
Iteration 7, r_D=0.31
0.55
Iteration 9, r_D=0.24 0
50.000
50.000
0.5
value of r
facies 1
North
North
facies 1
0.45
0.4
0.35
facies 0
facies 0
0.3
0.25
0.0
0.0
East
50.000
0.0
0.2
0.0
East
50.000
0.15
1
5
Iterations
rD values,
single 1D optimization
Iter at i on1
0.024
0.022
0.022
0.02
0.02
0.018
Objective function
0.025
Objective function
It er at io n3
It er at i on 2
0.03
0.018
0.02
0.016
0.015
0.014
0.012
0.01
0.01
0.005
0.5
0.008
Iter at i on4
0.5
- 3
10
0.018
0.016
0.014
0.012
0.01
0.014
0.012
0.01
0.008
0.02
0.016
x 10
0.006
It er at i on 5
0.5
It er at io n6
0.026
0.024
0.022
0.02
0.018
0.016
0.014
0.008
0.5
- 3
x 10
Iter at i on7
11
10
3.5
2.5
1.5
5
0
0.5
t - valu e
0.5
- 3
12
4.5
0.012
4
0
x 10
4
0
0.01
It er at i on 8
0.5
It er at io n9
0.012
0.01
0.008
0.006
0.004
0.002
0.5
t- v al ue
rD value
0.5
t - v al ue
North
North
fac ies 0
0.0
0.0
fac ies 0
Different geology
0.0
50.000
East
0.0
East
50.000
0.5
50.000
50.000
0.900
0.900
0.8000
fac ies 1
0.8000
fac ies 1
0.7000
0.7000
0.6000
0.6000
0.5000
0.4000
facies 0
1.000
North
North
North
North
North
facies 1
0.0
0.3000
fac ies 0
0.3000
fac ies 0
0.2000
0.2000
0.1000
0.1000
50.000
50.000
50.000
North
0.0
0.0
0.0
East
East
50.000
50.000
0
0
1.000
0.900
0.900
0.900
0.8000 0.8000
0.8000
0.7000 0.7000
0.7000
0.6000 0.6000
0.6000
0.5000
0.4000
0.3000 0.3000
0.3000
0.2000 0.2000
0.2000
0.1000 0.1000
0.1000
0.0
0.0
0.0
0.0
East
10
15
20
25
timesteps (days)
30
35
40
0.35
1.000
0.4000 0.4000
0.1
0.05
50.000
50.000
1.000
0.5000 0.5000
0.2
Iteration 3
50.000
0.0
0.0
East
East
0.25
0.15
0.0
0.0
0.0
0.0
0.0
Reference
model 2
Iteration
50.000
North
50.000
East
East
East
0.3
0.4000
North
0.0
0.35
0.5000
0.0
0.0
0.00.0
0.0
reference
match
init
0.4
1.000
fw
50.000
50.000
50.000
0.45
Iteration 7
Iteration 1
50.000
reference
match
init
0.3
0.25
0.2
fw
Iteration 6
Initial
model
Reference
model
0.15
0.1
0.05
0
0
10
15
20
25
timesteps (days)
30
35
40
Initial model
100.000
More wells
Iteration 6
faci
North
100.000
facies 1
facies 1
Reference model
100.000
No rth
faci
facies 1
facies 0
0.0
North
facies 0
0.0
0.0
East
Well 1
Well 2
0.8
0.0
East
100.000
0.7
facies 0
0.35
reference
match
init
0.3
0.6
East
0.2
fw
fw
0.0
0.4
0.15
100.000
0.3
100.000
0.05
0.1
10
20
30
timesteps (days)
Well 3
facies 1
0.5
facies 1
0.4
0
0
40
North
0
0
100.000
faci
10
20
30
timesteps (days)
40
Well 4
0.7
reference
match
init
0.6
reference
match
init
faci
No rth
0.5
0.3
facies 0
fw
0.4
fw
facies 0
0.2
0.0
0.3
0.0
0.2
0.1
0.0
Iteration 4
0.1
0.2
Iteration 8
reference
match
init
0.25
0.5
0.0
100.000
0.0
East
100.000
0
0
East
100.000
0.1
10
20
30
timesteps (days)
40
0
0
10
20
30
timesteps (days)
40
Hierarchical matching
Example
Reference model0
50.000
North
facies 1
facies 0
0.0
0.0
East
50.000
Initial guess
Iteration 1
50.000
50.000
K=500mD
No rth
No rth
K=500mD
K=50mD
0.0
0.0
0.0
50.000
East
K=50mD
Klow = 50
Khigh = 500
0.0
East
Klow = 150
Khigh = 750
50.000
Klow = 50
Khigh = 500
Reference model0
Iteration 2
50.000
Iteration 3
50.000
50.000
North
K=12mD
0.0
0.0
Klow = 12
Khigh = 729
facies 0
K=12mD
0.0
50.000
East
facies 1
K=729mD
No rth
No rth
K=729mD
0.0
East
50.000
Klow = 12
Khigh = 729
0.0
0.0
East
Iteration 4
50.000
No rth
K=694mD
Klow = 11
Khigh = 694
0.0
plot5.ps
K=11.5mD
0.0
East
50.000
Results
50.000
Results
Initial Guess, k_1=500, k_0=50
50.000
North
0.4
0.0
0.0
East
50.000
fw
0.3
0.4
reference
match
init
0.3
0.2
0.2
0.1
0.1
reference
match
init
No rth
0.4
0.3
East
20
30
40
0.4
reference
match
init
0.3
10
20
30
40
30
40
reference
match
init
50.000
fw
0.0
fw
0.0
10
0.2
0.2
0.1
No rth
0.0
0.1
10
20
30
timesteps (days)
0.0
East
50.000
40
10
20
timesteps (days)
More realistic
Reference
50.000
East
50.000
50.000
0.0
400.000
400.000
400.000
300.000
300.000
300.000
200.000
200.000
100.000
100.000
100.000
0.0
0.0
0.0
North
North
0.0
50.000
50.000
North
0.0
matched model
Initial model
200.000
0.0
0.0
East
50.000
0.0
North
North
North
East
50.000
0.0
facies 1
facies 1
facies 0
0.0
50.000
50.000
50.000
facies 1
0.0
East
0.0
0.0
facies 0
facies 0
East
50.000
0.0
East
50.000
Conclusions
What can multiple-point statistics provide
Large flexibility of prior models, no need for math.
def.
A fast, robust sampling of the prior
A more realistic data integration approach than
traditional Bayesian methods
A generic inverse solution method that honors prior
information
More on conditional
independence
P(B | A) ?
B f B (A) B similarly C f C (A) C
Conditional independence = B , C are independent
P(B b | A,C c) P( B b f B (A) | C f C (A) c, A)
P(B | A)