enhance & accelerate sensitivity analysis, history matching, … · 2017. 1. 16. · calculate...

56
Enhance & Accelerate Sensitivity Analysis, History Matching, Optimization & Uncertainty Analysis Using CMOST

Upload: others

Post on 02-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Enhance & Accelerate Sensitivity Analysis, History Matching, Optimization & Uncertainty Analysis Using CMOST

Page 2: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

© COPYRIGHT 2013. COMPUTER MODELLING GROUP LTD.

™ Trademark of Computer Modelling Group Ltd. All other company, product, and service names may be trademarks or registered trademarks, and are the property of their respective owners.

Page 3: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Outline

• What is CMOST • CMOST Input Data Features • CMOST Technologies • CMOST Data Analytics • CMOST Workflows • Summary

Page 4: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

What is CMOST? - Productivity 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

Page 5: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

CMOST View of Simulation Models

Simulation Model y1=f1(x1, x2, …, xn) y2=f1(x1, x2, …, xn)

… ym=f1(x1, x2, …, xn)

Parameters x1, x2, …, xn

Objective Functions y1, y2, …, yn

Black Box System

Page 6: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

CMOST User Interface

Page 7: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

CMOST INPUT DATA FEATURES Quality Data

Quality Result

Page 8: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

How Input Data is Organized

Define what data to be extracted from simulation

Define how the simulation model is parameterized

Define objective functions to be calculated

Page 9: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Original Time Series

Page 10: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

User-defined Time Series

Page 11: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Property vs. Distance Data Series

Page 12: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Easy Parameterization of Simulation Model • Complementary to Builder • Create CMOST parameters • Better syntax highlighting

– Highlight CMOST parameters – Fold no-need-to-see sections

• Easy navigation – Different sections of the

dataset – Navigate CMOST parameters

• Handle include files – Create/extract include files – View include files – Parameterize include files

Page 13: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Dependent Parameters using Formula • Syntax highlighting • Shows what variables are available to be used

to create formulas • Test and check the formula anytime

Page 14: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Coupling with Geological Software through Pre-simulation Commands

Geological model Simulation model

Simulation model

Third-party package

Third-party package

Page 15: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Objective Functions

Characteristic Date Times

• Fixed date times • Dynamic date times

o From original time series o From user-defined time

series

Basic Simulation Result • From original time series • From user-defined time

series • Characteristic time durations

History Matching Error • For original time series • For user-defined time series • For property vs. distance

series

Net Present Value

• Continuous cash flow terms • Discrete cash flow terms

Advanced

• Calculated by user Jscript code

• Calculated by Excel • Calculated by user

Executable

Global Objective Functions

• Nominal o Entire field HM error o Entire field NPV o User-defined

• Robust (coming soon) o Standard statistical

measures o User-defined

Page 16: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Dynamic Date Times: Maximize Peak NPV

Peak NPV

Page 17: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Dynamic Date Times: Plateau Optimization

Plateau period Oil produced at plateau Average oil rate at plateau

Page 18: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

User-defined Objective Functions

• Use Excel spreadsheet – Map CMOST parameter values to cells – Map simulation results to cells

• Use Jscript code • Use executable provided by user (e.g. MATLAB) • Preview calculation result using base case

Page 19: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

CMOST TECHNOLOGIES • Design of Experiments • Optimization Algorithms • Monte Carlo Simulation • Data-Driven Prediction • Distributed Computing

Page 20: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Design of Experiments • A structured, organized

method to determine the relationship between:

– Different variables (Xs) affecting a process

– The outputs of that process (Ys)

• An efficient strategy to gather empirical knowledge – Knowledge based on the analysis of experimental

(simulation) data

Page 21: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Experimental Design Methods in CMOST • Two-level classical experimental designs

– Plackett-Burman design – Fractional factorial design

• Three-level classical experimental designs – Full factorial design – Box-Behnken design – Central composite design (CCD)

• Latin hypercube design – Any number of parameters – Mixture of continuous and discrete parameters – Continuous parameter sampling options

Continuous uniform sampling Continuous sampling honoring prior distribution Discrete uniform sampling

– Discrete parameter sampling options Treat discrete values equally probable Honor prior distribution of discrete values

Page 22: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Recommendations

• Sensitivity analysis • Two-level classical experimental designs • Three-level classical experimental designs • Latin hypercube design

• Uncertainty analysis • Three-level classical experimental designs • Latin hypercube design

Page 23: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Optimization Algorithms

• CMG DECE (Design Exploration Controlled Evolution)

• Particle Swarm Optimization (PSO) • Latin Hypercube plus Proxy Optimization • Random Brute Force Search • Differential Evolution (coming soon)

Page 24: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

DECE: Designed Exploration Controlled Evolution

Run simulations using the design

Get initial set of training data

Run simulations

Satisfy stop criteria?

Stop

Add new solutions to training data

Generate initial Latin hypercube design

Yes

No

Exploration (get more information)

Exploitation (find optimum) Success?

Yes

No

Page 25: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

DECE Characteristics • Handles continuous & discrete parameters • Handles hard constraints • Asynchronous – complete utilization of distributed

computing power • Fast and stable convergence

Page 26: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

PSO Optimization Algorithm

25

• A population based stochastic optimization technique developed in 1995 by James Kennedy and Russell Eberhart

• Let particles move towards the best position in search space, remembering each local (particle’s) best known position and global (swarm’s) best known position.

Page 27: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Latin Hypercube plus Proxy Optimization Algorithm

Run simulations using the design

Get initial set of training data

Build a proxy model using training data

Find possible optimum solutions using proxy

Run simulations using these possible solutions

Satisfy stop criteria?

Stop

Add validated solutions to training data

Generate initial Latin hypercube design

• Polynomial • Ordinary kriging

Yes

No

Page 28: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Latin Hypercube Plus Proxy Optimization

Latin hypercube design

Optimization using proxy

Page 29: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Random Brute Force Search • Choose parameter value randomly • No trend to results (scatter) • Only use if search space is small

Page 30: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Monte Carlo simulation: method for analyzing uncertainty propagation

Define parameter probability distributions Pick random values and calculate NPV (using proxy or simulator) Repeat for thousands of iterations

DWOC

8281 83

p

DWOC

DWOC

8281 83

p

DWOC

SORG

0.300.25 0.35

p

SORG

SORG

0.300.25 0.35

p

SORG

SORW

0.300.25 0.35

p

SORW

SORW

0.300.25 0.35

p

SORW

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26Net present value (M$)

NPV=F(DWOC, SORG, SORW, …)

Page 31: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Probability Distributions in CMOST

Normal Lognormal Triangle

Uniform Custom Discrete

Page 32: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Parameter Correlations in Monte Carlo Samples

0.0 0.25

0.50 0.75

Page 33: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Data-driven Prediction

• Use proxy models to quickly predict reservoir response

• Choose different types of proxy models – Polynomial – Ordinary kriging – Polynomial + ordinary kriging – Kernel

• Excellent tool for what-if analyses & team discussions

Page 34: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Proxy Dashboard Movie

Page 35: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Run Simulation to Verify Proxy Prediction

New Experiment New Parameter & Objective Function

Values

Page 36: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Distributed Computing

• CMG Scheduler • Microsoft HPC • IBM Platform LSF • Oracle Grid Engine • Portable Batch System (PBS/TORGUE)

Page 37: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

CMOST DATA ANALYTICS

Patterns

CMOST Data

Analytics

Trends Relationships

Decisions Ideas

Page 38: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

How Data Flows in CMOST

CMOST Experiment Table

Data Filtering & Compression

Capable of storing results for thousands of simulations

Page 39: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Parameter Run Progress

Page 40: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Objective Function Run Progress

Page 41: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Time Series Observers

Page 42: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Property vs. Distance Series Observers

Page 43: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Parameter & Objective Function Histograms

Page 44: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Cross Plots

Page 45: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Proxy Model QC

Page 46: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Proxy Model Statistics

Page 47: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Proxy Model Effect Estimates

Page 48: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Monte Carlo Simulation Result

Page 49: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Tornado Plot

Page 50: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

CMOST WORKFLOWS • Sensitivity Analysis • History Matching • Optimization • Uncertainty Analysis • User-defined Workflow

Page 51: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Sensitivity Analysis Workflows

Define Input Data

Configure and Run Engine

Response Surface Methodology

One Parameter At A Time

Result & Analysis

Page 52: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

History Matching & Optimization Workflows

Define Input Data

Configure and Run Engine

PSO DECE

Result & Analysis

LHD+Proxy Brute Force

Page 53: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Uncertainty Analysis Workflows

Define Input Data

Configure and Run Engine

Monte Carlo using Simulator

Monte Carlo using Proxy Models

Result & Analysis

Page 54: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

User-Defined Workflows

Define Input Data

Configure and Run Engine

External Engine (User’s optimization

algorithm)

Manual Engine (User-defined experiments)

Result & Analysis

Page 55: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

Easy to Use

Adaptive & Dynamic Open & Extensible

Powerful Analytics

Page 56: Enhance & Accelerate Sensitivity Analysis, History Matching, … · 2017. 1. 16. · calculate NPV (using proxy or simulator) Repeat for thousands of iterations . DWOC 81 82 83 p

To be The Leading Developer & Supplier of Dynamic Reservoir Technologies in the WORLD

Our vision:

For more information or follow-up: [email protected]