You are on page 1of 54

Stochastic inverse modeling under

realistic prior model constraints


with multiple-point geostatistics
Jef Caers
Petroleum Engineering Department
Stanford Center for Reservoir Forecasting
Stanford, California, USA

Acknowledgements

would like to acknowledge the contributions


of the SCRF team, in particular Andre Journel
and all graduate students
who contributed to this presentation

Quote

Theory should be as simple as possible,


but not simpler as possible.
Albert EINSTEIN

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

2-point correlation is not enough to characterize connectivity


A prior geological interpretation is required
and it is NOT multi-Gaussian

Stochastic sequential simulation


Define a multi-variate (Gaussian) distribution
over the random function Z(u)
Decompose the distribution as follows
Pr(Z(u1 ) z1,K , Z( u N ) z N )
Pr(Z( u1 ) z1 ). Pr(Z( u 2 ) z 2 | z1 ). Pr(Z( u 3 ) z 3 | z 2 , z 1 ) K Pr(Z( u N ) z N | z N 1 ,K , z1 )

Or in its conditional form


Pr(Z( u1 ) z1 ,K , Z( u N ) z N | (n))
Pr(Z( u1 ) z1 | (n)). Pr(Z( u 2 ) z 2 | z1,(n)). Pr(Z( u 3 ) z 3 | z 2 , z 1, (n))K Pr(Z( u N ) z N | z N 1 ,K , z1,(n))

Practice of sequential simulation


B1
A

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

Extended Normal Equations


Attribute S taking K possible states {s k , k 1,K , K}
At location u, unknown binary random variable
1 if S( u) s k
Ak
if not
0

Pr(A k 1 | S( u ) s , ) ?

1 if S( u ) s , 1,K , n
D
if not
0

u
n

A
1

Traditional kriging: 2 point statistics


n

Pr(A k 1 | S( u ) s , ) E[A k ] (1 E[A ])


1

Extensions to three point statistics


n

Pr(A k 1 | S( u ) s , ) E[A k ] (1 E[A ]) (1 E[A A ])


1

Single Normal Equation


I n case of (n+1) - point statistics
Pr(A k 1 | S( u ) s , ) Pr(A k 1 | D 1) E[A k ] (1 E[D])
.Var[D] Cov[A k , D]

E[A k D] E[A k ]E[D]


E[D](1 E[D])

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 !

The training image module


Training image module =
standardized analog model
quantifying geo-patterns

P(A|B)=1/4
SNESIM algorithm
A = Mud
Recognizing P(A|B) for all possible A,B

The SNESIM algorithm


Training image

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

Minimizes memory demand

1 1

0 1

Allows retrieving all training


cpdfs
for the template adopted!

Probabilities from a Search Tree


Training image

Search neighborhood

5
4
3
2
j=1

1
4 u2
3
Search tree

i =1 2 3 4 5

Level 0 (no CD)

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

400 sample data

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

Valid training image

Not Valid

Training image requires "stationarity"


Only patterns = "repeated multipoint statistics" can be repr

Modular training image


Training Image

Models generated with snesim


using the SAME training image

2- D Reference Data

500. 000

North

sand

shale

0. 0

0. 0

East

500. 000

Modular ?
* no units
* rotation-invariant
* affinity-invariant

Properties of training image


Required

Stationarity: patterns by definition repeat


Ergodicity: to reproduce long range feature => large im
Limited to 4-5 categories
Not required

Univariate statistics need not be the same as actual fiel


No conditioning to ANY data
Affinity/rotation need not be the same

Part II

Multiple-point Geostatistics
and data integration

Simple question, difficult


problem
The essential data integration problem
A geologist believes based on geological data that there is
80% chance of having a channel at location X

P(A|B)

A geophysicist believes based on geophysical data that


there is 75% chance of having a channel atP(A|C)
location X
A petroleum engineer believes based on engineering data
that there is 85% chance of having a channel at location
X
P(A|D)

What is the probability of having a channel at X ?


P(A|B,C,D)?

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)

1. P(A | B,C) [0,1] ?

O = In practice not necessarily

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)) 0 ?
5. C fully informative of A not occurring : P(A | C,( g)) 1 ? YES

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)

Solution: Standardize the expression


P(A) P(B | A) P(C | A)
P(A | B,C)
P(A) P(B | A) P(C | A) P(A) P(B
| A) P(C
| A)
P(A | B) P(A | C)
P(A)

P(A | B) P(A | C) P(A | B) P(A | C)

P(A)
P(A)
This expression honors all conditions 1- 5

Permanence of ratios hypothesis


P(A | B) P(A | C)
P(A)
P(A | B,C)
P(A | B) P(A | C) P(A | B) P(A | C)

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

is a permanence of ratios hypothesis


b
a

Advantages of using ratios


No term P(B,C), hence McMC is not required

Work with P(A|B),P(A|C), more intuitive than P(B|A),P(C|


Verifies all consistency conditions by definition
It is still a form of independence,
Yet dependence can be reintroduced

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

P(A|C) = 0.75 => P(A|BC)


Suppose P(A) = 0.5 => P(A|BC) = 0.92
Suppose P(A) = 0.3 => P(A|BC) = 0.95
= compounding of events
Lesson learned : if geologist and geophysicist
agree
for almost 80%, you can be even more certain
that there
is a channel !

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

2-D Reference Data


226.000

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

Honor seismic only as a


single-point probability

Concept of MODULAR training


image
Modular Training Image
2- D Reference Data

500. 000

North

sand

shale

0. 0

0. 0

East

500. 000

Modular ?
* Stationary patterns
* rotation-invariant
* affinity-invariant
* no units

Models generated with snesim


using the SAME training image

Local rotation angle from


seismic
P(A|C)

Local angle

2-D Reference Data


226.000

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

Constrain to local channel


features
Feature map
226.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

Inverse modeling with


multiple-point geostatistics
Application to history matching

Production data does not inform


geological heterogeneity
Geologist 1

Realization matched to Fractional Flow

A Petroleum Engineer

Realization matched only to Fractional Flow Data

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

The Reference Permeability Field


50.0

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

Methodology: two facies


Some notation:

if facies s1 occurs
u (x, y, z)

I( u)

if facies s0 occurs

D = set of historic production data (pressures, flows


Initial guess realization:

i ( u ) u

(l )
Realization at iteration

i ( u ) u

(o)

(l )

Define a Markov chain


i( l ) ( u) u
?
i( l 1) (u) u

Define a transition matrix:


Pr{I ( l 1) (u) 1 | D,i ( l ) ( u) 0} ?
Pr{I ( l 1) (u) 0 | D,i ( l ) ( u) 1} ?
Pr{I ( l 1) (u) 1 | D,i ( l ) ( u) 1} ?
Pr{I ( l 1) (u) 0 | D, I ( l ) ( u) 0} ?

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]

Pr{I ( l 1) ( u) 0 | D,i ( l ) ( u) 1} rD (1 Pr{I( u) 1})


Pr{I ( l 1) ( u) 1 | D,i( l ) ( u) 1} 1 rD (1 Pr{I( u) 1})
Pr{I ( l 1) ( u) 0 | D,i ( l ) ( u) 0} 1 rD Pr{I( u) 1}
rD is a constant over the reservoir and depends on production D

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]

P(A | D) = rDP(A) if i (l) (u) = 0


Pr{I ( l 1) ( u) 1 | D,i ( l ) ( u) 1} 1 rD Pr{I( u) 0}

rD [0,1]

P(A | D) = 1 - rD (1 - P(A)) if i (l) (u) = 1


P(A | D) = (1 - rD ) i (l) (u) + rD P(A)

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

Some initial model


initial model

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

Find rrDD that


that matches
matches best
best
Find
the production
production data
data
the
= one-dimensional
optimization

Complete algorithm
Construct a Training Image with the desired
geological continuity constraint
(o)

Use snesim (P(A|B)) to generate an initial guess


i ( u)
Until adequate match to production data D
Define a soft data P(A|D) as function of rD
Perform snesim (with
l 1) P(A|D) to generate a new
i rD (u)
guess

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

Generate 10 reservoir models


that
1. Honor the two hard data
2. Honor fractional flow
3. Have geological continuity
similar as TI

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

* First choose fixed permeability per facies,


perturb facies model

* Then, for a fixed facies


perturb the permeability within facies
(using traditional methods, ssc, gradual deformat

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

Tue Oct 23 14:13:10 PDT 2001

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

After iter 1, k_1=721, k_0=12


50.000

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

After iter 4, k_1=694, k_0=11.5


50.000

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

2-D Reference Data

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

2-D Reference Data

50.000

50.000

North
0.0

matched model

Initial model

2-D Reference Data

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 b f B (A) | A), b,c

P(B | A)

Q? why should B and C be independent unless


they are
homoscedastic, i.e. independent of A ?
Q? Is it not a mere transfer of independence
hypothesis to

You might also like