Professional Documents
Culture Documents
07/01/2015
Agenda
CMOST overview
CMOST functionality and Tutorials
Sensitivity Analysis
History Matching
CMOST functionality and Tutorials
Optimization
Uncertainty Assessment
07/01/2015
Overview
What is CMOST?
CMOST is CMG software that works in conjunction
with CMG reservoir simulators to perform the
following tasks:
Sensitivity Analysis
Better understanding of a simulation model
Identify important parameters
History Matching
Calibrate simulation model with field data
Obtain multiple history-matched models
Optimization
Improve NPV, Recovery,
Reduce cost
Uncertainty Analysis
Quantify uncertainty
Understand and reduce risk
6
07/01/2015
History matching
Matched model
Parameter
Sensitivities
Parameter
Histograms
Optimization
Optimal operating
conditions
Forecast model
Optimal model
Uncertainty
assessment
Uncertainty
quantification
7
Parameters
x1, x2, , xn
Simulation Model
y1=f1(x1, x2, , xn)
y2=f1(x1, x2, , xn)
Objective Functions
y1, y2, , yn
07/01/2015
CMOST Process
Experimental
Design
& Optimization
Algorithms
Select
combination of
parameter values
Substitute
parameter values
into simulation
dataset
Analyze results
Objective
Functions &
Proxy Analysis
Parameterization
Run simulation
9
07/01/2015
General Settings
07/01/2015
General Properties
All input files are entered on the general
properties page:
Base Dataset (required)
Master Dataset (required)
Results template files
Measured Data
Field History Files
Log Files
Fundamental Data
Fundamental data defines which 2D curves of simulation
results need to be viewed
Original Time Series
X-axis: Distance
07/01/2015
Parameterization
Parameterization
Parameters are variables in the simulation
model that will be adjusted when creating new
datasets
- E.g. Porosity, permeability, etc.
To determine the location in the dataset to
substitute values, a master dataset must be
created (.cmm)
A master dataset is almost identical to a normal
simulation dataset except CMOST keywords
have been added to identify where a parameter
should be added
- Acts as a template for creating new datasets
07/01/2015
Master Dataset
Master Dataset
A master dataset can be created in multiple
ways:
CMOST Editor
Builder
Text editor (Notepad, Textpad, etc.)
07/01/2015
List of
Parameters
Select
Dataset
Section
Select
Parameter from
Section
Export Master Dataset (Template
file)
Easy navigation
10
07/01/2015
PORCON0.20
Master Dataset:
PORCON<cmost>this[0.20]=Porosity</cmost>
Simulator
Keywords
CMOST
Start
No Spaces in
CMOST Portion
Variable
Name
Original
(Default)
Value in
Dataset
CMOST
End
Variable Names
Case Sensitive
Simulator
Keywords
CMOST
Start
Formula
CMOST
End
Default value
optional
11
07/01/2015
Block Ranges
I:IJ:JK:K
Parameter Definition
Continuous parameter
Lower and upper limit define the sampling range
used by study engines
Discrete parameter
Real, Integer, and Text
Each discrete text value also requires a
numerical value
Formula
Value based off of other parameters values
12
07/01/2015
Hard Constraints
Criteria that must be satisfied for a dataset
to be created
Used to eliminate unrealistic datasets
E.g. Horizontal permeability should be
greater than vertical permeability
13
07/01/2015
Pre-Simulation Commands
Passes dataset to separate application
before submitting to simulator
Run Builder Silently
Run GOCAD Command Silently
Run User Defined
Can be used to create new geostatistical
realizations, recalculate formulas in Builder,
recalculate rel. perm. curves, etc.
Geological model
Simulation model
14
07/01/2015
Objective Functions
Objective Functions
An Objective Function (OF) is something (an
expression or a single quantity) for which
you wish to achieve some goal
Usually this goal is to achieve a minimum or
maximum value
In the case of History Matching, one
usually wishes to minimize an error
between field data and simulation
In the case of Optimization, one usually
wishes to maximize something like NPV
15
07/01/2015
Objective Functions
Objective Functions
16
07/01/2015
17
07/01/2015
Peak NPV
18
07/01/2015
To name certain
data time
Criteria
Time Series
19
07/01/2015
20
07/01/2015
Sensitivity Analysis
21
07/01/2015
22
07/01/2015
23
07/01/2015
Objective
Function
Non-monotonic
variables require many
levels of parameter
values to be tested
Parameter
24
07/01/2015
Porosity = 0.2
CumOil = 33004
bbl
Porosity = 0.25
(reference value)
CumOil = 40416
bbl
Porosity = 0.3
CumOil = 44176
bbl
25
07/01/2015
52
26
07/01/2015
y a0 a1 x1 a2 x2 ak xk
Linear + Quadratic Model
k
j 1
j 1
y a0 a j x j a jj x 2j
Linear + Quadratic + Interaction
k
j 1
j 1
y a0 a j x j a jj x 2j aij xi x j
i j j 2
27
07/01/2015
Handles problematic
simulation runs
Specify desired
accuracy, the engine
will create and run
experiments as
needed.
28
07/01/2015
29
07/01/2015
Increasing PERMH_L1
(permeability) from
2625mD to 4375mD
results in an increase in
Cumulative Oil of 12,461
STB on average
30
07/01/2015
Any Questions?
31
07/01/2015
Control Centre
Engine Settings
Defines task type
Task type can be modified from what
was originally selected when creating
the study
Any other options related to the engine
can be modified from this page
32
07/01/2015
Engine Settings
Study Type
Engine
Simulator Settings
Simulation related settings:
Schedulers
Simulator version
Number of CPUs per job
Maximum simulation run time
Job record and file management
Data I/O Cleanup
33
07/01/2015
CMG Scheduler
Microsoft HPC
IBM Platform LSF
Oracle Grid Engine
Portable Batch System (PBS/TORGUE)
34
07/01/2015
Benefits
Remove I/O bottleneck
Reduce occurrence of strange problems
Reduce support troubleshooting time
Experiments Table
List of Experiments
Parameter values used
Objective function results
Able to sort and filter results
Open in Builder and Results
Add additional experiments
User defined
Predefined experimental designs
(fractional factorial, latin hypercube, etc.)
35
07/01/2015
Simulation Jobs
List of Simulations
Scheduler information
Start Time
End Time
Scheduler Name
Status
File information
Name and location
Normal/Abnormal termination
Any Questions?
36
07/01/2015
37
07/01/2015
38
07/01/2015
39
07/01/2015
Polynomial proxy
Linear/Quadratic/Interaction
40
07/01/2015
41
07/01/2015
42
07/01/2015
R2adjusted (Example)
4 Samples
n=4
Linear:
R2=0.9683
Quadratic:
R2=0.9715
4
4
1
1
2
0.9683
4
4
1
1
3
0.9715
43
07/01/2015
To calculate PRESS,
Select an observation i.
Fit the regression model to the remaining n-1
observations and use this equation to predict the
withheld observation yi.
Denoting this predicted value by y(i), we can find the
prediction error for point i as ei=yi-y(i).
The prediction error is often called the ith PRESS
residual. This procedure is repeated for each
observation i=1,2,3,,n producing a set of n PRESS
residuals: e1, e2, e3en.
The PRESS statistic is then defined as the sum of
squares of the n PRESS residuals:
R2prediction Example
x
1.000
2.000
3.000
4.000
y
1.900
2.450
2.950
3.890
y(i)
1.657
2.484
3.194
3.483
PRESS:
SS
(Total):
R2prediction
ei
0.243
-0.034
-0.244
0.407
ei2
0.059
0.001
0.060
0.165
0.285
2.143
0.867
44
07/01/2015
Sum of Squares
Total: Sum of Squared distances of each response from the
sample mean
Error: Sum of squared differences between the fitted (RS) values
and the actual simulated values
Model = Total Error
Mean Square
(Sum of Squares)/(Degrees of Freedom)
Converts sum of squares to an average
45
07/01/2015
Prob > F
The probability of obtaining a greater F-value by chance
alone if the specified model fits no better than the overall
response mean.
Significance probabilities of 0.05 or less are often
considered evidence that there is at least one significant
regression factor in the model
46
07/01/2015
Standard Error
Estimate of the standard deviation of the distribution of the
parameter estimate (coefficient)
t Ratio
Statistic that tests whether the true parameter (coefficient) is zero
47
07/01/2015
48
07/01/2015
Increasing PERMH_L1
(permeability) from
2625mD to 4375mD
results in an increase in
Cumulative Oil of 12,461
STB on average
Proxy Dashboard
See quick estimation of effects of
parameters on results at all simulation times
See results immediately without needing to
wait for additional simulation
Can assist in manual history matching or
optimization
CMOST can create dataset and run
simulation to verify proxy results
49
07/01/2015
Proxy Dashboard
Build Proxy
Model
What-if Scenario:
Estimate Objective
Functions
Select
Comparison Case
What-if Scenario:
Choose Parameter
Input
What-if Scenario:
Visualize Estimate of
Curve
50
07/01/2015
Any Questions?
51
07/01/2015
52
07/01/2015
Local
Objective
Function 1
Term 1
Term 2
Local
Objective
Function 2
Term 3
Term 1
Local
Objective
Function 3
Term 2
Term 1
Term 2
Term 3
Well 1 Error
Oil
Production
Error
Water
Production
Error
Well 2 Error
Gas
Production
Error
Bottom-hole
Pressure
Error
Oil
Production
Error
Well 3 Error
Oil
Production
Error
Water
Production
Error
Gas
Production
Error
53
07/01/2015
Number of measurements
(Y
t 1
measured
Yt m )2
Nt
(Y
t 1
TermError j
s
j,t
Y j,tm )2
Nt(j)
Y 4 Merrj
m
j
maximum difference
measurement error
54
07/01/2015
Qi
TermError
i, j
j 1
100% tw i, j
N(i)
tw
j 1
i, j
Nt(i, j)
(Y
t 1
Qi
N(i)
N(i)
tw
j 1
j 1
i, j
s
i, j,t
Yi,mj,t )2
Nt(i, j)
100% tw i, j
Yi,mj 4 Merri, j
55
07/01/2015
Q global
w Q
i 1
Nw
w
i 1
56
07/01/2015
Optimization Methods
CMG DECE (Designed Evolution, Controlled
Exploration)
Particle Swarm Optimization
Latin Hypercube plus Proxy Optimization
Random Brute Force Search
Optimization Philosophy
Mathematical optimization
Mathematicians are particularly interested in finding the true
absolute optimum.
Optimum 0.000001 is much better than 0.01 even though it may
take 20 extra days to achieve the former.
Engineering optimization
Engineers are more interested in quickly finding optima that are
close to the true optimum.
Optimum 0.01 is much better than 0.000001 if it takes 20 less
days to achieve the former.
57
07/01/2015
Add new
solutions to
training data
No
Exploration
(get more information)
Yes
Run simulations
No
58
07/01/2015
DECE Characteristics
118
59
07/01/2015
Local
Area
119
Next
Case
120
60
07/01/2015
Polynomial
RFB Neural
Network
No
61
07/01/2015
Proxy Optimization
Random Search
Parameter value combinations randomly until
the max number of simulator calls has been
reached
No trend to results (scatter)
Only use if search space is small
62
07/01/2015
Any Questions?
Optimization Goals
63
07/01/2015
Optimization Process
64
07/01/2015
PSO
Random Brute Force
Which objective
function to
optimization
Maximize or minimize
65
07/01/2015
Multi-Objective PSO
Select the engine
How many simulations?
First objective function
Maximize or minimize?
66
07/01/2015
Dominated solution
Leader
Pareto front
b
a dominates b
f2
Leader Selection
Leader is randomly selected for each particle
Least crowded leaders are given high priority,
trying to find an adequately spread Pareto front
f1
a
b
c
d
e
Priority
Leader
a, f
f2
67
07/01/2015
Colin Card et.al. A New and Practical Workflow of Large Multi-Pad SAGD Simulation- A
Corner Oil Sands Case Study, SPE HOCC, SPE 165511, June 2013.
68
07/01/2015
MO-PSO Optimization
Same set of parameters
Minimize two conflicting objective functions:
MaterialBalanceError & RunTime
GlobalObj & SolverFailurePercent are also
calculated, just for comparison
MOPSO
SPSO
3400
3300
3200
3100
3000
2900
2800
2700
2600
2500
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
69
07/01/2015
Any Questions?
Uncertainty Assessment
70
07/01/2015
141
71
07/01/2015
Uncertainty Assessment
Uncertainty Assessment
72
07/01/2015
SORG
81
82
SORW
SORW
SORG
DWOC
83
13
14
15
16
17
18
19
20
21
22
23
24
25
26
73
07/01/2015
Normal
Lognormal
Triangle
Uniform
Custom
Discrete
Parameter Correlations
Some parameters may be related to each
other
E.g. porosity and permeability may
correlate with each other
Correlation coefficient defines how closely
related parameters are to each other
Value of 1 means parameters are directly
related
Value of 0 means that parameters have no
relation with each other
74
07/01/2015
Parameter
POR
PERMH
PERMV
POR
PERMV
POR
PERMH
PERMV
1
0
0
0
1
0
0
0
1
POR
PERMH
PERMH
PERMH
PERMV
PERMV
Parameter
POR
PERMH
PERMV
POR
PERMH
PERMV
1
0.6
0.4
0.6
1
0.8
0.4
0.8
1
Calculated Values
Parameter
POR
PERMH
PERMV
POR
PERMH
PERMV
1
0.582
0.385
0.582
1
0.79
0.385
0.79
1
POR
PERMH
POR
PERMH
PERMV
PERMV
75
07/01/2015
Parameter Correlations
0.25
0.0
0.50
0.75
76
07/01/2015
Handles problematic
simulation runs
Specify desired
accuracy, the engine
will create and run
experiments as
needed.
77
07/01/2015
User
Defined
External Engine
Allows the use of users
own optimization
algorithm.
78
07/01/2015
79
07/01/2015
ProjectName:SAGD_2D_UA
ProjectFile:SAGD_2D_UA.cmp
ProjectFolder: SAGD_2D_UA.cmpd
Bestpractice: Allfilesrelatedtothe
projectshouldbestoredintheproject
folder.
80
07/01/2015
StudyName:BoxBen
Study File:BoxBen.cms
StudyFileAutoBackup:BoxBen.bak
StudyFolder: BoxBen.cmsd
Dontmodify/deletefilesinthestudyfolder
unlessyouknowwhatyouredoing.
81
07/01/2015
Vectordatarepositoryfile:*.vdr
VDRstorescompressed
simulationdatarequired for
objectivefunctioncalculations
SubsetofSR2results
Nevermodifyordeletevdrfiles
manually
Auto
Synchronization
Auto/Manual
Reprocessing
After you run an engine, you can go back to change input data.
Experiments inside a study will be automatically reused.
If new parameters are added, you need to resolve reuse pending
experiments.
After you finish the changes, click start engine to restart.
82
07/01/2015
Licensing Multiplier
CMOST uses only partial licenses when
running simulations
E.g. Run 2 STARS simulations while using
only 1 STARS license
Applies to other license types (Parallel,
Dynagrid, etc.)
IMEX
GEM
STARS
4:1
2:1
2:1
x4
x2
x2
83
07/01/2015
Quality Result
Further Assistance
Email: support@cmgl.ca
Zip an entire project or selected studies
Email or ftp the zip file to CMG
84
07/01/2015
85
07/01/2015
Any Questions?
86