Вы находитесь на странице: 1из 152

User's Guide

CMOST
Version 2009

By Computer Modelling Group Ltd.

This publication and the application described in it are furnished under license
exclusively to the licensee, for internal use only, and are subject to a confidentiality
agreement. They may be used only in accordance with the terms and conditions of
that agreement.
All rights reserved. No part of this publication may be reproduced or transmitted in any
form or by any means, electronic, mechanical, or otherwise, including photocopying,
recording, or by any information storage/retrieval system, to any party other than the
licensee, without the written permission of Computer Modelling Group.
The information in this publication is believed to be accurate in all respects. However,
Computer Modelling Group makes no warranty as to accuracy or suitability, and does
not assume responsibility for any consequences resulting from the use thereof. The
information contained herein is subject to change without notice.

Copyright 1987-2009 Computer Modelling Group Ltd.


All rights reserved.
The license management portion of this program is based on:

Reprise License Manager (RLM)


Copyright 2006-2009, Reprise Software, Inc.
All rights reserved

CMOST, CMG, and Computer Modelling Group are registered trademarks of


Computer Modelling Group Ltd. All other trademarks are the property of their
respective owners.

Computer Modelling Group Ltd.


Office #150, 3553 - 31 Street N.W.
Calgary, Alberta Canada T2L 2K7

Tel: (403) 531-1300

Fax: (403) 289-8502

E-mail: cmgl@cmgl.ca

Contents
Introduction

What is CMOST?.......................................................................................................... 1
CMOST Tasks .............................................................................................................. 1
Sensitivity Analysis (SA)................................................................................. 2
History Matching (HM) ................................................................................... 2
Optimization (OP)............................................................................................ 2
Uncertainty Assessment (UA) ......................................................................... 2
Work Flow .................................................................................................................... 3

Base Files

Base Dataset .................................................................................................................. 9


Base IRF ....................................................................................................................... 9
Base Session File .......................................................................................................... 9
Field History File .......................................................................................................... 9
Master Dataset ............................................................................................................ 10
CMOST Formulas.......................................................................................... 11
CMOST Formula Samples............................................................................. 11
Using Include Files ........................................................................................ 12

CMOST Tasks

13

Creating a Task File .................................................................................................... 13


Saving a Task File....................................................................................................... 14
General Properties....................................................................................................... 15
Parameters ................................................................................................................... 18
Adding a New Parameter ............................................................................... 18
Task Readiness .............................................................................................. 20
Validate Task File Menu Item ....................................................................... 21
Deleting a Parameter ...................................................................................... 26
Moving Parameters in Table .......................................................................... 26
Editing a Master Dataset ................................................................................ 26
Importing Parameters from the Master Dataset ............................................. 27

CMOST Studio: Getting Started

Contents i

Objective Functions .................................................................................................... 27


Global Objective Function ............................................................................ 28
Local Objective Functions............................................................................. 29
Task Readiness .............................................................................................. 31
Validate Task File Menu Item ....................................................................... 32
Treeview Icons .............................................................................................. 32
Experimental Design Errors .......................................................................... 33
Objective Function Terms ............................................................................. 34
Experimental Design .................................................................................................. 38
Experimental Design Job Patterns ................................................................. 39
Verification Job Patterns ............................................................................... 40
Designs .......................................................................................................... 40
Design Details ............................................................................................... 41
Influence Matrix ......................................................................................................... 42
Editing the Influence Matrix ......................................................................... 44
Result Observers......................................................................................................... 44
Adding a New Result Observer ..................................................................... 45
Importing Result Observers........................................................................... 47
Removing a Result Observer ......................................................................... 49
Constraints .................................................................................................................. 49
Hard Constraints ............................................................................................ 50
Soft Constraints ............................................................................................. 50
Restart Configurations ................................................................................................ 51
Simulation Auto Restart ................................................................................ 52
CMOST Result Files Reuse .......................................................................... 52
CMOST Restart Configuration ..................................................................... 53
Run Configurations .................................................................................................... 55
Scheduler Configuration................................................................................ 55
Simulator Configuration ................................................................................ 58
CMOST Engine Configuration ..................................................................... 59
Job Removal from Launcher Job List View .................................................. 62
Starting a Task ............................................................................................... 62

CMOST Results

65

Run Status Monitor .................................................................................................... 65


CMOST Engine ............................................................................................. 66
Run Display ................................................................................................... 67
Messages Tab ................................................................................................ 67
Schedulers Tab .............................................................................................. 68

ii Contents

CMOST Studio: Getting Started

Job Summary .............................................................................................................. 69


Job Summary Table ....................................................................................... 69
Table Configuration ....................................................................................... 71
Loading Jobs with other CMG Software ....................................................... 72
Viewing Log Files ......................................................................................... 73
Parameter Status ......................................................................................................... 73
Run Progress ............................................................................................................... 74
Graph ............................................................................................................. 74
Job Details ..................................................................................................... 75
Table .............................................................................................................. 75
Viewing Multiple Plots .................................................................................. 76
Results Observers ....................................................................................................... 77
Time Series Results Observers ...................................................................... 78
Fixed Date Results Observers ........................................................................ 79
Job Details ..................................................................................................... 80
Viewing Multiple Plots .................................................................................. 81
Parameter Effective Estimates .................................................................................... 81
Effective Estimate Table ................................................................................ 81
Tornado Plots ................................................................................................. 82
Response Surfaces ...................................................................................................... 86
Monte Carlo PDF ........................................................................................................ 87
Unconditional PDF ........................................................................................ 88
Conditional PDF ............................................................................................ 88
CDF Plots....................................................................................................... 89
Tables ............................................................................................................. 90
Parameter Histograms ................................................................................................. 91
CMT in Results Section .............................................................................................. 92

General Operations

93

CMOST Host Manager ............................................................................................... 93


Starting the CMOST Host Service................................................................. 94
Opening a Running CMR from Host Manager .............................................. 94
Opening a CMOST File .............................................................................................. 95
Operation Menu .......................................................................................................... 96
Task File Operations ...................................................................................... 96
Results File Operations .................................................................................. 96
Copying and Saving Images .......................................................................... 97
Copy ............................................................................................................... 97
Save Image..................................................................................................... 98

CMOST Studio: Getting Started

Contents iii

Validating Errors ...................................................................................................... 100


Task Readiness ............................................................................................ 100
Validate Task File Menu Item ..................................................................... 100
Treeview Icons ............................................................................................ 101
Experimental Design Errors ........................................................................ 101
CMOST Formula Editor ........................................................................................... 102
Functions ..................................................................................................... 102
Variables...................................................................................................... 102
Text Size ...................................................................................................... 103
Printing Plots ............................................................................................................ 103
Page Setup ................................................................................................... 103
Print Preview ............................................................................................... 104
Print Setup ................................................................................................... 105
Exporting a Task File ............................................................................................... 106
Closing and Exiting .................................................................................................. 107
Close ............................................................................................................ 107
Exit .............................................................................................................. 108
Plot Properties .......................................................................................................... 108
Axis Tab ...................................................................................................... 108
Curve Tab .................................................................................................... 109
Legend Tab .................................................................................................. 110
Zooming for Plots..................................................................................................... 111
How to Zoom .............................................................................................. 111
How to Remove Zooming ........................................................................... 112
Configuration Menu ................................................................................................. 114
Options ........................................................................................................ 114
Password...................................................................................................... 116

Troubleshooting

117

Creating and Editing a CMOST Task ...................................................................... 117


Running a CMOST Task .......................................................................................... 118
Viewing CMOST Result .......................................................................................... 121

Appendices

123

Appendix A: CMOST Formulas .............................................................................. 123


Parts of a Formula ....................................................................................... 123
Constants in Formulas ................................................................................. 123
Functions in Formulas ................................................................................. 123
Variables in Formulas ................................................................................. 124
Operators in Formulas ................................................................................. 125
Formula Calculation Order .......................................................................... 125
List of Built-in Functions in CMOST ......................................................... 126

iv Contents

CMOST Studio: Getting Started

Appendix B: Names in CMOST ............................................................................... 133


Appendix C: Optimizers ........................................................................................... 133
CMG DECE Optimizer ................................................................................ 133
Particle Swarm Optimizer ............................................................................ 134
Brute Force Search....................................................................................... 136
Random Search ............................................................................................ 136
Appendix D: Probability Density Functions ............................................................. 136
Uniform Distribution ................................................................................... 136
Triangle Distribution.................................................................................... 137
Normal Distribution ..................................................................................... 137
Log-normal Distribution .............................................................................. 137
Appendix E: Objective Functions ............................................................................. 137
History Match Error ..................................................................................... 137
Discounted Value ......................................................................................... 139
Raw Simulation Result ................................................................................ 140
Appendix F: Experimental Design............................................................................ 140
Sensitivity Analysis Experimental Designs ................................................. 141
Uncertainty Assessment Experimental Designs .......................................... 142
Appendix G: Post Processing.................................................................................... 142
Sensitivity Analysis Post Processing ........................................................... 142
Uncertainty Assessment Post Processing..................................................... 143

CMOST Studio: Getting Started

Contents v

Introduction

This guide gives a quick overview of how to use CMOST and it is a useful reference for
someone who has never worked with CMOST. Some basic knowledge of other CMGL
products is assumed.

What is CMOST?
CMOST is CMGs history matching, optimization, sensitivity analysis, and uncertainty
assessment tool. It can launch multiple simulation jobs to multiple computers using different
input parameter values. It may be used in any situation where a user runs multiple simulation
jobs with the intention of either converging on a better solution to some problem or seeing the
effect of input parameter changes on output properties.
CMOST can make full use of all available computers and licenses. Once a job has been
created by CMOST, it will automatically submit simulation jobs and check their status
periodically. Once simulations have completed, CMOST will automatically process the
results. It will then visualize the results in ways that will provide insight to the problem.
To make the best use of CMOST, the user should have a good understanding of the reservoir
model they are working with. A rough understanding of which parameters need to be adjusted
and the possible outcomes of changing each parameter should be known. The user should
also clearly know the specific goal of the project.

CMOST Tasks
CMOST Studio can be used for completing four different task types:

Sensitivity Analysis

History Matching

Optimization

Uncertainty Assessment

CMOST Studio: Getting Started

Introduction 1

Sensitivity Analysis (SA)


A Sensitivity Analysis Task is used for determining the overall variation of simulation results
under different parameter values and/or which parameters have the greatest effect on
simulation results. A sensitivity analysis normally uses a small number of simulation runs to
determine how sensitive results are to different adjustable parameters. This will help the user
to achieve a better understanding of how different parameters affect results. The information
can later be used in other tasks such as History Matching, Optimization, or Uncertainty
Assessment which make use of greater numbers of simulation runs, as it will help determine
which parameters should be varied and their approximate ranges.

History Matching (HM)


History matching with CMOST provides an effective and efficient way to match simulation
results to production history. CMOST can automatically create multiple derived simulation
datasets from the Master Dataset by varying selected dataset parameters and then run the
simulation jobs. As jobs complete, CMOST will analyze the results to determine how well
they match the production history. An optimizer will then be used to determine parameter
values for new simulation jobs. As more simulations complete, the results will converge to
multiple optimal solutions which provide satisfactory history match if user specified
parameters and their ranges are appropriate.

Optimization (OP)
An optimization task is used to identify optimal field development plan and operating
conditions that will produce either a maximum or minimum value for objective functions the
user specifies. These objective functions may be physical quantities, such as cumulative oil
produced, recovery factor, and cumulative steam oil ratio. More importantly, CMOST allows
that monetary values can be assigned to different physical quantities. Thus optimization can
be conducted using simplified net present value.

Uncertainty Assessment (UA)


Uncertainty Assessment is normally used to determine the likely variation in simulation
results due to uncertainty usually uncertainty in reservoir variables. It makes use of some
simulation to develop a Response Surface (RS) for each objective function (such as NPV,
CSOR, cumulative oil production, etc.) of interest with respect to each of the uncertain
variables (e.g. porosity, permeability, endpoint saturations, oil viscosity, etc.), and then
conducts a Monte Carlo simulation by selecting tens of thousands of variable value
combinations and determining the value of the objective function for each combination. The
results are probability density function (PDF) and cumulative density function (CDF) plots
for each objective function.

2 Introduction

CMOST Studio: Getting Started

Uncertainty Assessment can be used to obtain a sensitivity analysis and an optimization in


certain circumstances, and has certain advantages over SA and Optimization as well as
certain limitations.
The advantages are that: it uses three values for each variable instead of the two required by
SA; It results in Response Surfaces that map the change in objective functions with respect to
changes in the variables, which is a considerable improvement over SA; It provides a
conditional PDF for each objective function with respect to each variable which gives good
indication on the sensitivity of each variable; It allows some optimization of variables to be
carried out, which cannot be done by SA; And it requires many fewer simulation cases to be
run than does Optimization.
The limitations mainly apply to the Optimization component in that the RSs are a less
accurate way to obtain an optimum solution than full Optimization, and are potentially
limited to interpolation (rather than extrapolation) among the variable values. Also the
number of variables, and variable values, which can be assessed, is more limited than would
be the case with full Optimization and Sensitivity Analysis.
Before any of these tasks are started, some basic information is required. This is discussed in
the Base Files section.

Work Flow
CMOST tasks can be performed independently in CMOST Studio. It is considered as a good
practice to conduct a Sensitivity Analysis prior to History Matching, Optimization and
Uncertainty Assessment if the reservoir model is complex and you are not sure which
parameters need to be adjusted. Since the tasks can be performed independently, a user may
also wish to redo a task such as a refined history matching after an initial history matching is
complete. Before starting to work with CMOST, it is worthwhile to know the main
components of CMOST as shown in the figure below.

CMOST Studio: Getting Started

Introduction 3

The general steps for each task type are as follows:

4 Introduction

CMOST Studio: Getting Started

CMOST Studio: Getting Started

Introduction 5

6 Introduction

CMOST Studio: Getting Started

Create a base dataset file & corresponding IRF file

Base.DAT and Base.IRF

Create a CMOST Master Dataset (CMM file) for indicating where and how CMOST should modify
the dataset. Original dataset can be copied and manually edited.

Base.CMM

Create a new Uncertainty Assessment Task in CMOST Studio. Enter parameters into
the parameters section. Parameters that are marked in the CMM file can be imported directly.
Normally, the middle value should be the mean and the High and Low values should be the
highest/lowest practically possible values. Enter objective function information. Choose an
Experimental Design and Results Observers. Save the new task file.

Uncertainty.CMT

Uncertainty
Assessment
(Estimate reliability of
the predictions)

Run the task. CMOST Result file:

Uncertainty.CMR
Is generated along with a number of SR2 files specified in the Experimental Design step. In the
Results, look at the Response Surface plots. The Response Surfaces are trained using SR2
files of verification runs. A few additional runs are then performed and plotted against the
Response Surface plots to see if they match the predicted objective function values using the
Response Surfaces. If these additional values are along the line of the plot, then the predicted
values are very close to the actual simulation values. This is an indicator of the viability of a
Response Surface and subsequent Monte Carlo simulation results.

Use Unconditional PDF plots to assess uncertainties of production forecast results. Use
conditional PDF plots to understand the effect (sensitivity) of each uncertain parameter on
forecast results.

Present your findings to management

CMOST Studio: Getting Started

Introduction 7

Base Files

Each CMOST Task is based on a previously completed simulation. CMOST needs access to a
number of files from this base simulation, and can make use of other files if they are
available. The types of files that can be referenced are mentioned below.

Base Dataset
Before beginning to work with CMOST Studio (CMOST), a Base Dataset should be created.
The Base Dataset can be any valid dataset for any CMG simulator. This file is not directly
used by CMOST but will give a base state for which different variations can be made. See the
Master Dataset and Base IRF sections.

Base IRF
The Base Dataset should be used to create the Base IRF (simulation results file). This file
gives CMOST basic information about the dataset, such as the type of simulator that was
used, well lists, simulator start and end dates, etc. If the corresponding MRF file is located
with the base IRF to complete the SR2 pair, then the base information from these files will be
shown in the CMOST Results plots. The base IRF is a required component.

Base Session File


A base session file is a useful file to have but is not required by CMOST. The base session file
is a file created with Results Graph using the base IRF. CMOST can later use the session file to
quickly display different plots in Results Graph with simulation runs created by CMOST.

Field History File


A field history file contains production data for the reservoir. This file can be created using
Builder or by following the steps outlined in the Results Graph Manual. Field History Files
are only required for History Matching Tasks.

CMOST Studio: Getting Started

Base Files 9

CMOST treats all the data points in a field history file equally. Therefore, the temporal
distribution of data in the field history file will have certain effect on the final history match
results. If users do not pay attention to this, CMOST could converge to results that are not
desired. For example, the goal of a history match problem is to match the overall trend of
Cumulative Oil SC of 5-years history (2000-01-01 to 2005-01-01). Ideally, the Cumulative Oil
SC (or Oil Rate SC) data in the field history file should be equally distributed in time (daily,
weekly, or monthly). In this way, CMOST will try to match the trend of Cumulative Oil SC
during the entire five years. If the field history file has daily Cumulative Oil SC data for the
year of 2001 and monthly data for the remaining four years, the simulation results of 2001 (365
data points) will contribute more to the history match error than those of 2002-2004 (48 data
points). CMOST may converge to a match that is perfect for the year of 2001 but very bad for
the years of 2002-2004.
NOTE: Current version of CMOST only supports FHF using the following time units: days, day,
ISO_DATE_FORMAT, YYYY/MM/DD, YYYY MM.

Master Dataset
The Master Dataset is a version of the Base Dataset that has been modified to tell CMOST
where to enter different values into the dataset. Parameters in the dataset that are of interest to
the user have their values substituted with CMOST formulas allowing CMOST to substitute
different values at runtime. For example, the following line is used to set water-oil contact
depth in a STARS base dataset:
*DWOC 80.0

In a Master Dataset, water-oil contact depth can be specified by:


*DWOC <cmost>this[80.0]=WaterOilContact</cmost>
OR
*DWOC <cmost>WaterOilContact</cmost>

WaterOilContact is a parameter (independent variable) which will be defined in the


corresponding CMOST Task File created in CMOST Studio.
Anywhere CMOST is required to substitute a value or text into the Master Dataset, a CMOST
formula should be entered. CMOST formulas can appear anywhere in the Master Dataset.
However, each CMOST formula must be completed in a single line.
The Master Dataset is a required component.
NOTE 1: The first and last date/time keywords for a Master Dataset must be *DATE. Errors will be
encountered if *TIME keywords are used.
NOTE 2: Current version of CMOST requires that simulator output time unit (OUTUNIT) must be
day(s). Otherwise, Errors will be encountered.

10 Base Files

CMOST Studio: Getting Started

NOTE 3: It is recommended that master datasets DO NOT contain the action STOP in well operating
and monitoring constraints to force simulation to terminate. CMOST will ignore simulation results that
are terminated before the expected stop time is reached.

CMOST Formulas
All CMOST formulas that are entered into the Master Dataset must be nested within a start
tag <cmost> and an end tag </cmost>. It is optional but recommended to use
this[OriginalValue]= to start a formula. The original value indicates the value that
was used by the base dataset. Also, if the syntax this[OriginalValue]= is used, the
variable this can be used in the formula to reference the original value that was entered in
the dataset.
CMOST formula syntax and description of built in functions is provided in Appendix A:
CMOST Formulas.

CMOST Formula Samples


<cmost>this[1.0]=varA</cmost>
<cmost>varA</cmost>

Substitutes the value of parameter varA directly into the dataset


<cmost>this[1]= this + varB</cmost>

Substitutes the result of adding parameter varB to the original value


<cmost>this[26]=varA-varB+5</cmost>
<cmost>varA-varB+5</cmost>

Substitutes the result of varA minus varB plus 5


<cmost>this[203.9]=179.79*POWER(varA/varB, 0.248)</cmost>

var A
Substitutes the result of 179.79

var B

0.248

<cmost>this[1800.0]=MAX(varA*varB, 1200)</cmost>

If the result of varA multiplied by varB is greater than 1200, the multiplied
parameters will be substituted. Otherwise, 1200 will be substituted.
<cmost>this[OPEN]=IF(varA>=600, OPEN,
CLOSED)</cmost>

If varA is greater than or equal to 600, OPEN will be substituted. Otherwise,


CLOSED will be substituted.
<cmost>this[402.57]=LOOKUP(varB, {3.0, 5.0, 7.3}, {524.62,
402.57, 188.75})</cmost>

CMOST Studio: Getting Started

Base Files 11

If varB matches any of the values in the first set of values, the
corresponding value in the second set of values will be substituted. For
example, if varB was set to 7.3, the value 188.75 would be substituted.
<cmost>this[permMid.inc]=LOOKUP(varA, {porLow.inc",
"porMid.inc", "porHigh.inc"}, {"permLow.inc",
"permMid.inc", "permHigh.inc"})</cmost>

If varA matches any of the entries in the first set, the corresponding entry in
the second set will be substituted. For example, if varA was set to
porMid.inc, permMid.inc would be substituted into the dataset.
<cmost>this[0.68]=MAX(MIN(varA, 1), 0)</cmost>

A range of acceptable values is set for varA. If varA is less than 0, the
value 0 will be substituted. If varA is greater than 1, the value 1 will be
substituted. Otherwise, if varA is between 0 and 1, the value of varA would
be substituted.

Using Include Files


If large arrays of data need to be substituted, it may be easier to use include files. For
example, porosity may have a value for each grid block in a reservoir. It would be unrealistic
to create a parameter for each grid blocks porosity. Multiple include files can be used where
each one can contain a different geostatistical realization for porosity.
Include files can be used anywhere in a dataset. The syntax that is used for entering an
include file into a master dataset is:
*INCLUDE <cmost>ArrayIncFile</cmost>

The parameter ArrayIncFile would then be defined as a Text on the Parameters page
with the include files listed as candidate values.
The include files would contain the block of text that is to be substituted into the dataset. For
example, porosity could be used in an include file as follows for a reservoir with dimensions:
ni = 10, nj = 3, nk = 2
*POR
.08
.15
.074
.095
.11
.08

*ALL
.08
.134
.12
.13
.12
.09

.081
.08
.12
.12
.134
.144

.09
.087
.154
.157
.157
.143

.12
.157
.167
.17
.157
.123

.15
.145
.187
.18
.18
.16

.09
.12
.121
.184
.18
.165

.097
.135
.122
.122
.098
.102

.087
.18
.08
.084
.09
.10

.011
.092
.08
.09
.09
.10

Other include files would be created with similar syntax but with different values entered.

12 Base Files

CMOST Studio: Getting Started

CMOST Tasks

Creating a Task File


Once all the base files have been created, a new task file can be started.
When CMOST Studio is opened, a blank window will appear. To create a new task file,
select New from the File menu. The following dialog will appear:

Task Type
According to the type of task that is wished to be performed, select the appropriate Task
Type. See CMOST Tasks for more details.
Base IRF File Name
The Base IRF contains basic information about the datasets that CMOST will create, such as
the type of simulator that was used, well lists, simulator start and end dates, etc. See Base
IRF for more details.

CMOST Studio: Getting Started

CMOST Tasks 13

The file path can be entered manually or the Browse button can be used to search for the file.
Task File Folder
The Task File Folder is the directory where all files related to the CMOST Task will be
located. If the Task File Folder is going to be the same directory as directory where the base
IRF is currently located, check the The same as the Base IRF File checkbox. If not, uncheck
the box and browse for the directory using the Folder button. If this option is chosen, the
base IRF file will be copied to the Task File Folder.
NOTE: If CMOST will be scheduling jobs remotely, the Task File Folder must be in a UNC directory.

When all the information is filled in, click OK.

Saving a Task File


At any point during the progress of a task, the CMOST task file can be saved. To save, click
the File menu and select Save or Save As. The following dialog will appear:

14 CMOST Tasks

CMOST Studio: Getting Started

The first time a file is saved, the default file name is newtask.cmt. However, the file can be
named anything. The file should be saved to the Task File Folder chosen when creating the
new task file. If it is not, all related files will be copied to the new file location. When the
correct location and a file name have been chosen, click Save. The new task file will be saved.
If the file needs to be saved later after changes have been made, select either Save As
through the File menu to save the file with the same or new name, or select Save to
overwrite the old file with any changes that have been made.

General Properties
Once a new task is created, the studio will bring up the General Properties page of the task.
The General Properties page is where the base files can be entered for the task. This page is
also used for error checking using the Task Readiness display.

Master Dataset

The Master Dataset is a version of the Base Dataset that has been modified to tell CMOST
where to enter different values into the dataset. The file path can either be entered manually
or found using the Browse button. If the file is not in the Task File Folder, CMOST will copy
the file to the folder automatically. The Master Dataset is a required component.
CMOST Studio: Getting Started

CMOST Tasks 15

The Edit button can be used to open up the master dataset in a text editor. If there is no text
editor associated with the master dataset file type (CMM), a dialog will appear to set the file
type association.
See the Master Dataset section for more information about the file.
Base Dataset

The Base Dataset is entered only for future reference. This is not a required component.
The Builder button can be used to open the dataset in Builder for editing or to visualize the
dataset.
See the Base Dataset section for more information about the file.
NOTE: Changes made in the Base Dataset will not be reflected in the Master Dataset or vice versa.
Each must be edited separately.
Base Session File

The Base Session File is not required but is very useful for quickly analyzing simulation
results. See the Base Session File section for details.
IRF file from which origin information was imported:

The location of the Base IRF is listed in this section. The Base IRF is only required when
creating the Task File. See the Base IRF section for more information about the Base IRF File.
If changes in the Master Dataset are made that were not included in the Base IRF when the
task file was created, a new IRF file may need to be imported to update different sections of
the Task File.
For example, if a new well is added to the Master Dataset after the task file is created, a new
IRF needs to be imported if the user wishes for CMOST to use results from the new well. To
do this, the Base Dataset will need to be updated to contain the new well and then be run with
a simulator. The new IRF file can then be imported by using the Import button in the
Optional Files section on the General Properties page.
Task Readiness

The Task Readiness display shows if there are any errors on the pages listed. As tasks are
completed, the Xs will turn to checkmarks if there are no errors. If errors are encountered,
the cell can be expanded to give a description of the error. A task cannot be started unless all
errors have been fixed.
If there are any warnings, they will appear as exclamation marks. The description of the
warning can also be viewed by expanding the cell with the warning. A task can be started if
there are warnings, but it is recommended that all warnings are examined before starting.
See Validating Errors for more information on checking errors.
16 CMOST Tasks

CMOST Studio: Getting Started

Task Name

The Task Name contains the full path name of the task file that is currently open. This
information may not appear until the file is saved and reopened. The file name can also be
found in the title bar of the studio.
Task Type

The Task Type that is used for the current task file is listed here. See CMOST Tasks for
more information on the different task types.
Unit System

The unit system is the set of units that will be displayed in the plots in the CMOST Results
file. If the unit system is different from the units in the Master Dataset then the units will be
converted for the plots.
Description

The description box is not used by CMOST but can be used to note any details that may be
important for future reference.

CMOST Studio: Getting Started

CMOST Tasks 17

Parameters
The Parameters page can be found by selecting Parameters in the tree view. The Parameters
page is where different values are entered for each parameter that will later be used to substitute
into the Master Dataset. Each parameter has a number of properties associated with it.

Adding a New Parameter


A new parameter can be manually entered in two ways. Information can be entered into the
bottom row of the Parameters Table or the Insert button can be used to insert a new row into
the table where information can then be added.
CMOST can also automatically copy all parameters that are present in the Master Dataset to
the Task file. To do this, click on the Import button. If the Master Dataset is very large, it may
take a while for CMOST to read and find all parameters. See Importing Parameters from
the Master Dataset for more information on how to import parameters from Master Dataset.

18 CMOST Tasks

CMOST Studio: Getting Started

Name

The name of the CMOST Parameter listed in the Master Dataset should be entered into the
Name column. The name entered in the Parameters Table must match the name of the
parameter in the Master Dataset exactly. Names are case sensitive. See Appendix B: Names
in CMOST for more information about using names in CMOST.
Default Value

The default value should produce the original value that is entered in the Base Dataset. This
value is only used when the Active checkbox is not checked for a parameter. To edit a default
value in the studio, click on the cell and enter in the new value. If a more complicated
CMOST Formula is used, the default value may not be equal to the original value in the
dataset. For example, if the following CMOST Formula was entered into the Master Dataset:
<cmost>this[1]=LOG10(Keq)</cmost>

The default value for the parameter Keq would be 10 since this value would produce the
original value of 1 when the CMOST Formula is evaluated.
Active

The active checkbox determines whether or not CMOST will vary specific parameter when
substituting into the Master Dataset. If the Active checkbox is checked, CMOST will assign a
Candidate Value to the parameter. If the box is unchecked, CMOST will assign the Default
Value to the parameter for every run that is created.
Type

There are three different data types that the parameters can be defined as:

Real

Integer

Text

Depending on the simulator keyword that the parameter is being used with, different types
should be chosen.

Real should be chosen for parameters that can have decimal values such as
parameters representing porosity or permeability. This is the default type.

Integer should be chosen for a parameter that cannot have decimal values such as
parameters representing rock type or a block location.

Text should be used for parameters that have text values. The values should always
be enclosed in double quotation marks (for example OPEN). The Import option
will automatically assign the text type to any parameter which has a default value
enclosed in double quotation marks in the Master Dataset.

CMOST Studio: Getting Started

CMOST Tasks 19

Source

Source is used to tell CMOST how to assign values to a parameter. There are two different
types of sources for values that CMOST will use for a parameter:

Candidate Values List

Formula

The Candidate Value List refers to the items entered into the Candidate Value table located
on the bottom part of the studio. If this option is selected, values will be taken from this list to
assign to the parameter. This is the default.
Formulas can be entered for a parameter. The section for entering the formula will appear if
the source is changed to Formula for a parameter. Any other parameter can be used in the
formula, as well as any of the CMOST functions. See Validating Errors.
There are a variety of different ways to check errors in CMOST Studio. It is important to
check for errors and warnings before running a task since a task cannot be started unless all
errors have been fixed. A task can be started if there are warnings, but it is recommended
that all warnings are examined before starting.

Task Readiness
The main way to check errors in CMOST Studio is to use the Task Readiness display on the
General Properties page.
The Task Readiness display shows if there are any errors on the pages listed. As pages are
completed, the Xs will turn to checkmarks if there are no errors. If errors are encountered,
the pages cell can be expanded to give a description of the error.
If there are any warnings, they will appear as exclamation marks. The description of the
warning can also be viewed by expanding the cell with the warning.

20 CMOST Tasks

CMOST Studio: Getting Started

Validate Task File Menu Item


Another way to check for errors or warnings is to access the Validate Task File menu item.
This can be found under the Tools menu or by clicking on the Validate icon
in the Tool bar.
When this item is selected, it will give a text output of errors or warnings found on each page

If no errors are encountered, the status will be shown as Ready.


Treeview Icons

If there are errors with the task files, an error or warning display will appear on the treeview
icon where the problem was encountered.

A description of the error can be found by right clicking on the icon then selecting Show
Page Status. A similar display to the Validate Task File dialog will appear.

CMOST Studio: Getting Started

CMOST Tasks 21

Experimental Design Errors

Specific errors relating to experimental design can be found on the Experimental Design page
in the Error Messages display. This field is updated when first entering the Experimental
Design page or when the Check Error button is clicked.
CMOST Formula Editor for more details on entering formulas for parameters.
Track

The Track checkbox determines whether or not CMOST will show the value of the parameter
on the Job Summary page of the CMOST results file. If the Track checkbox is checked,
CMOST will show the parameter data in the Job Summary table. If the box is unchecked, the
data will not be shown.
Candidate Values

The Candidate Value table is where values are entered for CMOST to substitute into the
Master Dataset. This section will differ depending on the Task Type that is chosen.
The specific candidate value that is chosen for a run is different for each Task Type.
Sensitivity Analysis and Uncertainty Assessment values for each run are determined by the
Experimental Design. History Match and Optimization values for each run are determined
by the Optimization Method that is used.
Sensitivity Analysis
For a Sensitivity Analysis Task, this section will be labeled as Sample Value. Two different
values will be required to be entered for each parameter using Candidate Value Table as the
source. The values entered for low and high should be within the reasonable range for the
property represented by the parameter. The low and high values should be different.
History Match and Optimization
An unlimited number of entries can be added to the Candidate Value table for History Match
and Optimization tasks. However, it should be noted that it will take longer and longer for the
optimizer to arrive at a solution for the task as more candidate values are added. The values
added should represent a range of acceptable values that can be substituted for a certain
parameter.
Candidate Value entries can be removed by clicking on the table entry number (the grey cell
next to entry that needs to be removed), then using the delete key on the keyboard.
For each parameter, candidate values must be arranged in either ascending or descending
order.

22 CMOST Tasks

CMOST Studio: Getting Started

Uncertainty Assessment
For an Uncertainty Assessment Task, this section will be labeled as Dataset Value. Three
different values will be required to be entered for each parameter using Candidate Value
Table as the source. The value entered for low should represent a value near the lower limit
of practical values for that parameter. High should represent a value that is near the upper
limit of practical values for that parameter. Middle should be a value somewhere in the
middle of that range.
For all task types except Sensitivity Analysis, if the parameter type is Text, an equivalent
numerical value will have to be added with the candidate value. If there is a value that fits
with the text value, that number should be entered.
Copying Candidate Values
If candidate values for several parameters are the same, the values can be copied from one
parameter to another parameter or group of parameters. To do this, right click on the
parameter that the values are to be copied from then select Copy Candidate Values to Other
Parameters.
This will bring up the Candidate Value Copying dialog:

For Sensitivity Analysis and Uncertainty Assessment tasks, all candidate values will have to
be copied. For History Matching and Optimization tasks, the different candidate values can
be chosen to be copied by using the checkboxes in the Candidate Value table.
CMOST Studio: Getting Started

CMOST Tasks 23

The Parameters table will be filled with all parameters that are the same Type as the
candidate value that is being copied. The parameters that the candidate values will be copied
to can be chosen by checking the corresponding checkbox for each parameter.
NOTE: If the parameters that the values are being copied to already have values entered, the
preexisting values will be replaced by the new copied values. Values will NOT be appended.

File Button
If a parameter is selected to represent an include file in the Master Dataset, the File button
can be used to browse for the files that will be included. The parameter type must be selected
as Text for this button to be activated. Only one file may be selected at a time to add to the
task file. See Using Include Files for more information on how to use include files with a
Master Dataset.
Generate Button
The Generate button can be used to quickly populate the Candidate Value table with a range
of values. This button is only available for History Matching and Optimization tasks. The
parameter type must be either Real or Integer for this button to be active.
Once the button has been clicked, the Value Generator dialog will appear:

There are three different methods available for generating values:

24 CMOST Tasks

CMOST Studio: Getting Started

Arithmetic Sequence

Geometric Sequence

Sampling from Distribution (Not recommended unless there is a specific reason to


use this method.)

For each of the methods, the number of values that should be entered into the Task File is
determined using the Number of Values box.
NOTE: It will take longer and longer for the optimizer to arrive at a solution for the task as more
candidate values are added.

The Arithmetic Sequence produces values that are evenly spaced between them (for example,
0.25, 0.50, 0.75, 1.00, 1.25, and 1.50). The minimum and maximum values can be any value.
The Geometric Sequence creates a sequence of values that follow a pattern of multiplying a
fixed number from one term to the next (for example, 0.25, 0.5, 1, 2, and 4). The minimum
and maximum values can be any non-zero value and both values must be the same sign. (i.e.
Minimum*Maximum > 0)
The Sampling from Distribution method creates a random sampling of values based on the
distribution that is entered. There are five types of distributions available for sampling:

Normal

Uniform

Triangle

Lognormal

Universal

See Appendix D: Probability Density Functions for more information on each of the
distribution types.
Once the PDF has been defined, click Random Sample to randomly choose values using
that distribution. This can be repeated several times if desired.
After all of the information is filled out for the Value Generator dialog, click OK. The values
will be transferred to the parameter.
NOTE: If duplicate values are created by the random sample, they must be removed before continuing.
To do this, select the item number of a duplicate value in the Preview Values table then use the Delete
key on the keyboard.

CMOST Studio: Getting Started

CMOST Tasks 25

Prior Probability Density Functions

Prior Probability Density Functions are only available for Uncertainty Assessment tasks. The
distribution given in this section should represent the probability that specified values can
occur. There are several different distribution types available for CMOST:

Normal

Fixed

Uniform

Triangle

Lognormal

Universal

More information for each of the Prior Probability Density Functions is provided in the
Appendix D: Probability Density Functions section.
All of the associated Prior Probability Density Function data entries must be filled out for
each parameter.

Deleting a Parameter
To delete a parameter, the entire row of the parameter must be selected. To do this, click on
the grey cell to the left of the parameter name. The entire row will then become highlighted
and the Delete Button will become enabled. Click on the Delete button to delete the row. The
Delete key on the keyboard can also be used.
Multiple Parameters can be removed by clicking on the grey cell to the left of a Parameters
Name and dragging the mouse up or down. Shift and Ctrl functionality is also available. The
Delete button or Delete key on the keyboard can then be used to delete the rows.

Moving Parameters in Table


To move a Parameter up or down in the Parameters Table, select any cell in the row of the
parameter that needs to be moved, then click on the Up or Down arrow buttons. Parameters
may be listed in any order.

Editing a Master Dataset


The Master Dataset and Task File can be accessed from the Parameters page to view or to
edit with other programs. The files can either be opened in Builder or with a text editor. To
open the Task File in Builder, click on the Builder button. This will open the Task File in
Builder with the CMOST Project dialog opened (This feature will be available for 2009
Builder release). To open the Master Dataset in a text editor, click on the Edit button.

26 CMOST Tasks

CMOST Studio: Getting Started

NOTE: If there is no text editor associated with the master dataset file type (CMM), a dialog will
appear to set the file type association.

Importing Parameters from the Master Dataset


CMOST can automatically copy all parameters that are present in the Master Dataset to the
Task file. To do this, click on the Import button (It may take a while for CMOST to read large
Master Dataset files). If the this[OriginalValue] syntax is used in the Master Dataset,
the Default Value will also be copied from the file. CMOST will assume that the Default
Value is equal to the original value when importing parameters from the Master Dataset. The
imported default values should be checked since this may not always be the case.
The parameter Type should also be checked for any errors. When importing, CMOST will set
any parameters that have original values with quotation marks to Text. All other parameters
will be set to Real. Parameters that should be Integers will have to be changed manually after
importing.
Active and Track checkboxes are automatically checked when importing parameters. The
Source will be set to Candidate Value List by default.
Candidate Values and Prior Probability Density Functions will still have to be entered
after the parameters have been imported.

Objective Functions
Objective functions are what CMOST uses to analyze the data that is retrieved from the
simulation output files. For a History Matching or Optimization task, a global objective
function is required. For all task types, at least one local objective function is required. Each
local objective function must contain at least one objective function term.
For History Matching and Optimization, both global objective function and local objective
functions are used to rank results of simulation jobs and determine how to modify parameter
values to improve simulation results.
For Sensitivity Analysis and Uncertainty Assessment, local objective functions are the
responses you want to investigate for a simulation model by changing parameter values.

CMOST Studio: Getting Started

CMOST Tasks 27

Global Objective Function


Global Objective functions are only used for History Matching and Optimization tasks.
Name
The Global Objective Function can be changed to any acceptable name to give it a better
description. See Appendix B: Names in CMOST for more information about using names in
CMOST.
Method
For a History Matching task, the global objective function is always the weighted average of
all the Local Objective functions. For an Optimization Task, the Global Objective Function
can be determined using one of three different methods:

Sum (Recommended)

Weighted Average

Use the First

28 CMOST Tasks

CMOST Studio: Getting Started

The Sum method adds all objective functions together to produce a Global Objective
Function. The weighted average will average all values using the Weight set for each Local
Objective Function.
Error! Objects cannot be created from editing field codes.
Here, LOFi is local objective function; wi is weight.
If Use the First is selected, the Global Objective Function will be equal to the first Local
Objective Function listed in the Local Objective Functions Table.

Local Objective Functions


Local Objective Functions are used in all task types. There are three types of local objective
functions:

History Match Error (For History Matching only)

Discounted Value (Optimization, Sensitivity Analysis, Uncertainty Assessment)

Raw Simulation Result (Optimization, Sensitivity Analysis, Uncertainty Assessment)

See Appendix E: Objective Functions for more information about how these objective
functions are calculated.
Adding a New Local Objective Function

To add a new Local Objective Function, click on the Insert button. For each task type except
for History Matching, a menu will appear. There will be two options for creating a Local
Objective Function:

Discounted Value

Raw Simulation Result

Local Objective Functions using Raw Simulation Results will analyze data by taking
simulation results without any alterations. If Discounted Value is selected, simulation results
will be transformed using the discounting function. This option should be used if you want to
calculate Net Present Value using simulation results. See Discounted Value for more
information about how data is transformed.

CMOST Studio: Getting Started

CMOST Tasks 29

Name
The name of the Local Objective Function should be entered into the Name column. Names
for each Local Objective Function must be unique. Do not use the same name for more than
one Objective Function. See See Appendix B: Names in CMOST for more information
about using names in CMOST
Active
The active checkbox determines whether or not CMOST will analyze data using that specific
Local Objective Function. If the Active checkbox is checked, CMOST will use the function.
Otherwise, the Local Objective Function will not be used.
Weight
The Weight will give local objective functions more or less emphasis in the Global Objective
function if Weighted Average is selected for the Calculation Method. The higher the Weight
relative to the other Local Objective Functions, the more emphasis the objective function will
have on the Global Objective Function.
This value has no effect on Sensitivity Analysis or Uncertainty Assessment tasks.
Category
The Category lists the type of local objective function. This will be the same as the option
that was chosen when adding the new Local Objective Function. If the task is History
Matching, the Category will be listed as History Match Error. See Appendix E: Objective
Functions for more information about how each option is calculated.
Formula
The Formula column lists how each Local Objective Function uses its Objective Function
Terms to produce a value. For History Match Error and Discounted Value, this column is
read only. For Raw Simulation Result, the formula needs to be entered manually. See
Appendix E: Objective Functions for more information on how other Local Objective
Function types are calculated.
NOTE: It is recommended that Objective Function Terms are entered before adding a Formula to a
Raw Simulation Result Objective Function.

To enter a formula for a Raw Simulation Result Objective Function, click the Formula cell in
the Local Objective Functions table. A text box and button will appear. The Formula can be
typed into the text field or the button can be clicked to bring up a dialog for editing formulas.

30 CMOST Tasks

CMOST Studio: Getting Started

The variables listed will be the Objective Function Terms that have been added for that
Local Objective Function. See Validating Errors.
There are a variety of different ways to check errors in CMOST Studio. It is important to
check for errors and warnings before running a task since a task cannot be started unless all
errors have been fixed. A task can be started if there are warnings, but it is recommended
that all warnings are examined before starting.

Task Readiness
The main way to check errors in CMOST Studio is to use the Task Readiness display on the
General Properties page.
The Task Readiness display shows if there are any errors on the pages listed. As pages are
completed, the Xs will turn to checkmarks if there are no errors. If errors are encountered,
the pages cell can be expanded to give a description of the error.
If there are any warnings, they will appear as exclamation marks. The description of the
warning can also be viewed by expanding the cell with the warning.

CMOST Studio: Getting Started

CMOST Tasks 31

Validate Task File Menu Item


Another way to check for errors or warnings is to access the Validate Task File menu item.
This can be found under the Tools menu or by clicking on the Validate icon
in the Tool
bar. When this item is selected, it will give a text output of errors or warnings found on each
page.

If no errors are encountered, the status will be shown as Ready.

Treeview Icons
If there are errors with the task files, an error or warning display will appear on the treeview
icon where the problem was encountered.

32 CMOST Tasks

CMOST Studio: Getting Started

A description of the error can be found by right clicking on the icon then selecting Show
Page Status. A similar display to the Validate Task File dialog will appear.

Experimental Design Errors


Specific errors relating to experimental design can be found on the Experimental Design
page in the Error Messages display. This field is updated when first entering the Experimental
Design page or when the Check Error button is clicked.
CMOST Formula Editor for more information about adding formulas to Objective Functions
Units
The units that should be displayed with the objective functions can be listed in this cell. For
example, if the objective function represents the cumulative liquid production of a well, bbl
may be added as the unit type. This item is optional and does not affect the values that are
calculated.
Removing a Local Objective Function

To delete a Local Objective Function, the whole row for that function must be selected. To do
this, click on the grey cell to the left of the Local Objective Functions name. The whole row
will become highlighted and the Delete button will become enabled. Click on the Delete
button or use the Delete key on the keyboard to delete the row.
Multiple Local Objective Functions can be removed by clicking on the grey cell to the left of
a Local Objective Functions Name and dragging the mouse up or down. Shift and Ctrl
functionality is also available. The Delete button or Delete key on the keyboard can then be
used to delete the rows.
Repeating an Objective Function

Local Objective Functions can quickly be repeated if very similar Local Objective Functions
need to be created. Using the Repeat button, all Local Objective Function information will be
copied except for the Local Objective Function Name and Objective Function Terms Origin
Name.

CMOST Studio: Getting Started

CMOST Tasks 33

To repeat a Local Objective Function, the entire row for that function must be selected. To do
this, click on the grey cell to the left of the Local Objective Functions name. The whole row
will become highlighted and the Repeat button will become enabled.
NOTE: To be able to repeat an Objective Function, all of the Objective Function Terms for that
function must have the same Origin Name.

Click on the Repeat button to bring up a dialog for selecting which Origin Names should be
repeated. Shift and Ctrl functionality is available for selecting items in the list. Once all the
Origin Names that should be repeated are selected click OK.

The same objective function information for all of the selected items will be entered into the
table. Any of the information for the repeated Local Objective Functions may be edited.
Moving Local Objective Functions in Table

To move a Local Objective Function up or down in the Local Objective Functions Table, select
any cell in the row of the objective function that needs to be moved, then click on the Up or
Down arrow buttons respectively. Local Objective Functions may be listed in any order.

Objective Function Terms


Objective Function Term describes which data should be extracted from simulation results
files for calculating objective functions.

34 CMOST Tasks

CMOST Studio: Getting Started

Adding a New Objective Function Term

There are two ways to add new Objective Function Terms. Information can be added to the
bottom row of the Objective Function Terms Table or by clicking on the Insert button and
adding information to the new row that is created.
Name
The name of the Objective Function Term should be entered into the Name column. Names
for each Objective Function can be the same as an Objective Function Term for a different
Local Objective Function. However, the same name cannot be used for two Objective
Function Terms for the same Local Objective Function. See Appendix B: Names in
CMOST for more information about using names in CMOST.
Origin Type
The Origin Type is the type of data that will be retrieved for the Objective Function Term.
This data can come from the following types:

Wells

Groups

Specials

Sectors

Layers

Leases

Parameters

Numerical (Not supported yet)

All Origin Types come from the simulation results file except for Parameters which retrieves
parameter information from the task file.
Origin Name
The Origin Name is a specific item of the Origin Type. If there are no items available for
Origin Type, the Origin Name list will be empty. If this is the case, that Origin Type should
not be used.
For example, if the Origin Type is WELLS, the Origin Name would contain a list of all the
wells that are present in the dataset.
Property
The Property is a specific item for the Origin Name. No information needs to be entered into
this column if the Origin Type is SPECIALS or PARAMETERS. Information is required for
all other types.
CMOST Studio: Getting Started

CMOST Tasks 35

For example, if the Origin Type is WELLS, the Property cell would have a list of well
properties such as Cumulative Oil SC or Gas Rate SC.
If Discounted Value is selected for the Local Objective Function, select property rates, not
cumulative property amounts.
Start Date Time
The Start Date Time is only available for Discounted Value and History Match Error Local
Objective Functions. This date represents the date that data should start to be analyzed from.
This date must be between the simulation start date and the End Date Time. The default date
that is entered is the simulation start date.
End Date Time
The End Date Time is only available for Discounted Value and History Match Error Local
Objective Functions. This date represents the date that CMOST should stop analyzing data.
This date must be between the Start Date Time and the simulation stop time. The default
date that is entered is the simulation stop time.
Simulation Date Time
The Simulation Date Time is only available for Raw Simulation Result Local Objective
Functions. This date is the time that the data for the Objective Function Term will be taken at.
This date must be between the simulation start date and simulation stop time. The default date
that is entered is the simulation stop time.
NOTE: You must make sure that the required data at the specified Simulation Date Time are available
in SR2 files. Improper use of WSRF keyword in Master Dataset may cause simulator to skip writing
data to SR2 output files.

Yearly Interest Rate


The Yearly Interest Rate is the rate that is used for discounting simulation results. This
column is only available for Discounted Value Local Objective Functions. This value should
be entered as a fraction, not a percent. The default value is 0.10 (10%). See Discounted
Value for more information how this value is used.
Field History File
This option is only available for History Match Error Local Objective Functions. This is the
column where the Field History File containing the production data that matches the
Property information for the Objective Function Term.
NOTE: There must be data in the field history file for each objective function term. If there is not,
analysis will not be completed. Do not add terms which do not have available data.

Different Field History Files can be added for different Objective Function Terms. The
ellipsis button
36 CMOST Tasks

can be used to browse for the Field History File.


CMOST Studio: Getting Started

Measurement Error
This option is only available for History Match Error Local Objective Functions.
Measurement error is used to indicate the accuracy of the production data. The measurement
error for each Objective Function Term can be added to the measurement error cell. A default
of 0 is entered otherwise. More information about how Measurement Error is used to
calculate the history match error can be found in the History Match Error section.
Term Weight
This option is only available for History Match Error Local Objective Functions. The Term
Weight gives Objective Function Terms more or less emphasis in the Local Objective
Function. The higher the Term Weight relative to the other terms Term Weight, the more
emphasis the term will have on the Local Objective Function. Normally, higher term weight
should be given to wells that are important (good production, long history, near future
development wells) and difficult to match.
Unit Value
This column is only available for Discounted Value Local Objective Functions. The unit
value should be used primarily for adding a monetary value to a simulation result. Both
positive and negative values can be entered. For example, in SAGD processes, unit value for
oil rate should be positive and determined from oil price; unit value for injector water rate
should be negative and determined from steam generation cost.
Conversion Factor
This option is available for Discounted Value and Raw Simulation Value Local Objective
Functions. The conversion factor is used to convert from one unit to another. For example, if
the units in the dataset were bbl and units of Million bbl were desired, a value of 1E-6 would
be entered for the conversion factor. (1 Million bbl/1,000,000 bbl)
Removing an Objective Function Term

To delete an Objective Function Term, the whole row for that function must be selected. To
do this, click on the grey cell to the left of the Objective Function Terms name. The whole
row will become highlighted and the Delete button will become enabled. Click on the Delete
button or use the Delete key on the keyboard to delete the term.
Multiple Objective Function Terms can be removed by clicking on the grey cell to the left of
an Objective Function Terms Name and dragging the mouse up or down. Shift and Ctrl
functionality is also available. The Delete button or Delete key on the keyboard can then be
used to delete the rows.
Repeating an Objective Function Term

Objective Function Terms can quickly be repeated if very similar terms need to be created.
Using the Repeat button, all Objective Function information will be copied except for the
Objective Function Terms Name and the Objective Function Terms Origin Name.

CMOST Studio: Getting Started

CMOST Tasks 37

To repeat an Objective Function Term, the entire row for that function must be selected. To
do this, click on the grey cell to the left of the Objective Function Terms name. The whole
row will become highlighted and the Repeat button will become enabled.
NOTE: To be able to repeat an Objective Function Term, the Origin Type of the term cannot be set to
PARAMETERS or NUMERICAL. Additional Origin Names must also be available.

Click on the Repeat button to bring up a dialog for selecting which Origin Names should be
repeated. Shift and Ctrl functionality is available for selecting items in the list. Once all the
Origin Names that should be repeated are selected click OK.

The same objective function term information for all of the selected items will be entered into
the table. Any of the information for the repeated Objective Function Terms may be edited.

Experimental Design
The Experimental Design page is where detailed information about which candidate values
will be used for each run. This page is only available for Sensitivity Analysis and Uncertainty
Assessment Tasks. This page should not be completed until the Parameters page has been
completed.

38 CMOST Tasks

CMOST Studio: Getting Started

Experimental Design Job Patterns


Patterns used by CMOST are composed of a series of + and symbols. The + symbol
represents the High value for a parameter and the represents the Low value for a parameter.
For Uncertainty Assessment tasks, there is a third symbol: 0. The 0 represents the middle
value for a parameter. The order of the pattern is the same order that parameters are listed on
the Parameters page. Only Active parameters are used in the patterns.
NOTE: If information is changed on the Parameters page, the Experimental Design page has to be
updated.

By default, CMOST will keep the output files (*.irf, *.mrf, *.log, *.out, etc.) for all runs. This
may consume large amounts of disk space. If this is an issue, it may be advisable to select
which experimental design patterns CMOST should keep output files for.
NOTE: If a pattern has already been simulated, the simulation results (IRF) file can be listed in the
Existing IRF column. When CMOST reaches that pattern in the design, it will analyze the Existing
IRFs data instead of creating a new dataset and running the simulation again. If the cell is clicked, a
button will appear that can be used to browse for the IRF file.

CMOST Studio: Getting Started

CMOST Tasks 39

Verification Job Patterns


This table is only available for Uncertainty Assessment tasks. It is used by CMOST to test the
accuracy of the Response Surfaces that it creates. Patterns are created the same as regular
experimental design patterns.

Designs
Designs can either be user defined or a design can be chosen from a predefined set. CMOST
can produce predefined experimental designs with up to 20 parameters for a Sensitivity
Analysis Task and up to 8 parameters for an Uncertainty Assessment Task.
Click the Pick a Design button to select a predefined design.

A list of design types will be given. See Appendix F: Experimental Design for more
information on the designs. Once a design has been selected, click OK to add the design to
the Task file.
Predefined Experimental Design Job Patterns cannot be edited. However, Verification Job
Patterns can be edited.
User Custom Designs

If a User Custom Design is chosen, the user has the option to select a predefined pattern to
work from.

40 CMOST Tasks

CMOST Studio: Getting Started

If a blank design is desired, click No when asked if you wish to work with an existing design.

Design Details
Various details about the design are listed to the right of the patterns.
Number of Parameters
This text field lists the number of Active parameters.
Number of Jobs
This text field lists the number of jobs that will be created using the experimental design.
Verification jobs are not included for this number.
Resolution
The resolution of a predefined design is listed here. Information is only listed for Sensitivity
Analysis tasks.
Design Type
The type of design that was chosen in the Pick a Design dialog is listed here. User Custom
Design is the default. See Appendix F: Experimental Design for more information on the
different design types.
Error Messages
This box lists any errors that have been found in the experimental design. To update this
display, click on the Check Error button located at the bottom of the display.

CMOST Studio: Getting Started

CMOST Tasks 41

Influence Matrix
The influence matrix gives CMOST optimizers information that will help speed up
convergence of the optimization. For each of the Parameters and Local Objective
Functions, a value from 0 to 1 is given to represent the effect each parameter will have on the
objective function. The more likely a parameter is to affect the Local Objective Function, the
higher the value should be. Engineering judgment and understanding of the reservoir model
should be applied when modifying the influence matrix. For more information about the
optimizers, see the Appendix C: Optimizers.
NOTE: This page must be updated whenever Parameters page and/or Objective Functions page are
modified.

By default, all values in the Influence Matrix are 1. This is acceptable for CMOST but it may
take longer for a solution to be found.
Values can be entered into the matrix by selecting a cell and entering a value, or one or more
cells can be selected and have their values all changed by selecting a value from the
Possibility of Influence radio buttons on the right side of the page.

42 CMOST Tasks

CMOST Studio: Getting Started

Each value in the influence matrix indicates users estimation on the possibility of whether
changing a parameter will affect the result of an objective function:

Definitely Yes = 1

Very Possible = 0.8

Possible = 0.6

Somewhat Possible = 0.4

Doubtfully Possible = 0.2

Definitely No = 0

For example, if a parameter is a global parameter and its adjustment will definitely affect all
the objective functions, you may enter 1.0 for all the objective functions. If a parameter is a
regional parameter and its adjustment will only affect certain objective functions, you may
enter 1.0 for those that will definitely be affected by the parameter. For objective functions
that will definitely not be affected by the parameter, 0.0 should be entered. For objective
function that could (somewhat possible) be affected by the parameter, 0.4 could be used.
The following influence matrix shows an example which has 8 objective functions, 6 global
parameters, and 16 regional parameters.

CMOST Studio: Getting Started

CMOST Tasks 43

The first column in the table shows the names of parameters. The remaining columns are
parameter-objective function possibility of influence. The example shown is for a history
matching problem with 8 objective functions, which are defined for 8 production wells
respectively. Objective function W4_HM_Error is defined for Well #4, which is the only
well that has bottom-hole pressure measurement. The adjustable parameters include 6 global
parameters and 16 regional parameters.

The first parameter initial reservoir pressure INIP is a global parameter, and its
adjustment will most likely affect all of the 8 objective functions. Therefore, the
value of 0.8 (Very Possible) is given for all objective functions except for the
objective function ME04, which is given the value of 1.0 because well bottomhole pressure match will definitely be affected by INIP.

The seventh parameter BKROCW_1 is a regional parameter, and its adjustment


will definitely affect objective function W1_HM_Error. Therefore, the value of 1.0
is given for W1_HM_Error. Moreover, Well #1 is adjacent to well #2. Adjustment
on the former may affect the latter. Therefore, 0.4 (Somewhat Possible) is given for
W2_HM_Error. For all the other objective functions, 0.0 is used.

CMOST does not require accurate values for the table. However, the table will greatly affect
the convergence behavior of CMG DECE optimization if there are many adjustable parameters
and objective functions. Therefore, the user should make sure the influence matrix is properly
set up. The basic requirement is that global and regional parameters should be differentiated.

Editing the Influence Matrix


Values for the influence matrix can be entered by selecting one or more cells and selecting
the corresponding Possibility of Influence located at the right side of the grid. Entire rows or
columns can be copied or pasted by clicking on the row or column title to select the whole
row or column then typing ctrl+c (copy) or ctrl+v (paste). If copying and pasting between
influence matrices in different task files, the number of entries in each row or column must
match.
The ordering of the influence matrix can be changed by clicking on the row or column title to
select the entire row or column then clicking on one of the arrow buttons located at the edge
of the grid to move the selection.

Result Observers
Result Observers are simulation outputs that CMOST will cache in its results file.
Specific data that should be tracked should be defined in the Result Observers Table. There
are two types of Result Observers that can be added to a task file:

44 CMOST Tasks

CMOST Studio: Getting Started

Time Series Simulation Result Observers

Fixed Date Simulation Result Observers

Times Series Simulation Results Observers collect data for all times during the simulation
runs. Fixed Date Simulation Result Observers only collect data at one point for each
simulation. Fixed Date Simulation Result Observers are only available for History Matching
or Optimization Tasks.

Adding a New Result Observer


A new Result Observer can be added by adding information to the bottom row of a Result
Observers Table. The Insert button can also be used to add a new entry.
Name

The name of the Result Observer should be entered into the Name column. Two Result
Observers of the same type cannot have the same name. However, a Time Series Simulation
Result Observer can have the same name as a Fixed Date Simulation Result Observer. See
Appendix B: Names in CMOST for more information about using names in CMOST.
CMOST Studio: Getting Started

CMOST Tasks 45

Origin Type

The Origin Type is the type of data that will be retrieved for the Result Observer. This data
can come from the following types:

Wells

Groups

Specials

Sectors

Layers

Leases

Parameters

Numerical (not supported yet)

All Origin Types come from the simulation results file except for Parameters which retrieves
parameter information from the task file.
Origin Name

The Origin Name is a specific item of the Origin Type. If there are no items available for
Origin Type, the Origin Name list will be empty. If this is the case, that Origin Type should
not be used.
For example, if the Origin Type is WELLS, the Origin Name would contain a list of all the
wells that are present in the dataset.
Property

The Property is a specific item for the Origin Name. No information needs to be entered into
this column if the Origin Type is SPECIALS or PARAMETERS. Information is required for
all other types.
For example, if the Origin Type is WELLS, the Property cell would have a list of well
properties such as Cumulative Oil SC or Gas Rate SC.
Number of Points

This option is only available for Times Series Result Observers. Number of Points tells
CMOST how many data points should be cached in the CMOST Results File. The points will
be spread evenly throughout the entire date range of the simulations. If more detailed results
are desired, more points can be chosen.
NOTE: Graphs will take longer to load if many points are displayed.

46 CMOST Tasks

CMOST Studio: Getting Started

If only a rough estimate is required, fewer points can be chosen. CMOST can cache fewer
points than are in the simulation output file. This can be useful if disk space is a
consideration.
NOTE: Values entered here will have no effect on the number of points in the simulation output files.

Multiple cells can be changed at once by selecting the Number of Points cells that should be
changed then entering a new value into the last cell that was selected.
Field History File

This option is only available for Time Series Simulation Result Observers. If there is
production history data available for a specific Result Observer, the field history file can be
added. This is usually only necessary for History Matching and Sensitivity Analysis tasks.
This data will be plotted with the rest of the simulation results curves. The button on the right
side of the cell can be clicked to browse for the field history file. For more information about
this file, see the Field History File section.
Simulation Date Time

This option is only available for Fixed Date Simulation Result Observers. This is the date that
CMOST will find data for. It can be any date between the simulation start date and the
simulation stop time. The default date is the simulation stop date.
NOTE: You must make sure that the required data at the specified Simulation Date Time are available
in SR2 files. Improper use of WSRF keyword in Master Dataset may cause simulator to skip writing
data to SR2 output files.
Conversion Factor

This option is only available for Fixed Date Simulation Result Observers. The conversion
factor should be used to convert from one unit to another. For example, if the units in the
dataset were bbl and units of Million bbl were desired, a value of 1E-6 would be entered for
the conversion factor. (1 Million bbl/1,000,000 bbl)
Units

This option is only available for Fixed Date Simulation Result Observers. The units that
should be displayed on the plots for the CMOST Results file should be entered here. This
item is optional and will not change the values displayed on the plot.

Importing Result Observers


Associated with the Time Series Simulation Result Observers table is a button entitled
Import. The purpose of the Import feature is speed up the process for creating Time Series
Simulation Result Observers. If this button is pressed, a dialog will appear that contains a list
of available objective functions with the associated terms. For example, if the Objective
Functions page showed the following:
CMOST Studio: Getting Started

CMOST Tasks 47

Then the Results Observers section would provide the following options when pressing the
Import button:

48 CMOST Tasks

CMOST Studio: Getting Started

Shift and Ctrl functionality is available for selecting items in the list. Once all the desired Time
Series Simulation Result Observers have been selected, click OK. The selected items will then
be populated in the table. The Origin Type, Origin Name and Property from the original
Objective Function Term will be included in the Time Series Simulation Result Observers table
after the import. The items in the table can then be manually edited as necessary.

Removing a Result Observer


To delete a Result Observer, the whole row for that function must be selected. To do this,
click on the grey cell to the left of the Result Observers name. The whole row will become
highlighted and the Delete button will become enabled. Click on the Delete button or use the
Delete key on the keyboard to delete the term.
Multiple Result Observers can be removed by clicking on the grey cell to the left of a Result
Observers Name and dragging the mouse up or down. Shift and Ctrl functionality is also
available. The Delete button or Delete key on the keyboard can then be used to delete the rows.

Constraints
The ability to add Constraints is available when working with History Matching or Optimization
tasks in CMOST. The purpose of the constraints is to prevent unnecessary simulation runs and
allow the user to change local objective function values if constraints are violated.

CMOST Studio: Getting Started

CMOST Tasks 49

Hard Constraints
Hard Constraints can be particularly useful when a lot of simulations are set up to be run. If a
Hard Constraint is violated, then the simulation run will not take place as these constraints are
checked by the CMOST engine before performing a run.
For example, if a CMOST Optimization task is set up to work with a SAGD case, it may be
known beforehand that the production wells involved should not be less than a certain distance
apart from each other. In the figure shown above, the following hard constraint can be seen:
W1_I W2_I > 40
For this particular task, W1_I and W2_I refer to the block address of wells W1 and W2 in
the I direction, respectively. The constraint formula shown indicates that there should
always be more than 40 grid blocks between W1 and W2 in the I direction. If the condition
W1_I W2_I <= 40 is encountered, the simulation should not be run. Both W1_I and
W2_I were specified as parameters to be modified by CMOST in the Master dataset.
To specify a hard constraint, press the ellipsis button
that is next to an empty row in the
table. This will bring up the CMOST Formula Editor. Formulas can be entered using the
list of available parameters that have been defined previously. An alternate method of
entering the formula is to click with the mouse in the white space of an empty row and
manually type in the formula. Rows in the table can be either inserted or deleted by clicking
in the grey area that is to the left of the white space (which will cause an arrow to appear),
and pressing either the Insert or Delete button.

Soft Constraints
Soft constraints allow the user to override local objective function values if they violate any
parameter (or fixed date result observer) based constraints that have been set. Checking for
this violation is performed while the simulations are being run. For example, if there is a
fixed date results observer set for the cumulative steam oil ratio of well W1 (CSOR_W1), a
formula can be entered using CSOR_W1 for the soft constraint. If CSOR_W1 should
normally be less than a value of 5, then the soft constraint specified would be CSOR_W1 <
5. If the soft constraint is violated for a simulation while its running (i.e. CSOR_W1 >= 5),
a penalty can be applied to a local objective function.
To specify a soft constraint, press the ellipsis button
that is next to an empty row in the
table. This will bring up the CMOST Formula Editor. Formulas can be entered using any
of the available variables shown in the editor. The list will include previously defined
parameters as well as fixed date results observers. An alternate method of entering the
formula is to click with the mouse in the white space of an empty row and manually type in
the formula. Rows in the table can be either inserted or deleted by clicking in the grey area
that is to the left of the white space (which will cause an arrow to appear), and pressing either
the Insert or Delete button.

50 CMOST Tasks

CMOST Studio: Getting Started

Defining Penalties

The other part of specifying a soft constraint is to define the associated penalty if that
constraint is violated. In the Penalties table, a list of the local objective functions that have
been defined previously in the CMOST task file will be available. For each of the soft
constraints defined in the other table, one or more penalties should be defined. For example,
say a local objective function is defined for calculating the Net Present Value from well W1
(called NPV_W1), then a penalty can be defined for it if our soft constraint CSOR_W1 <
5 is violated. The penalty can be defined using the CMOST Formula Editor. An example
of a penalty for this objective function may be something like the following:
IF(NPV_W1>=0, NPV_W1/SQRT(CSOR_W1 - 4), NPV_W1*SQRT(CSOR_W1 - 4))
This formula indicates that if the local objective function NPV_W1 is greater than or equal to
0, the value for NPV_W1 should be set to:

NPV _ W 1
(CSOR _ W 1 4)

If not, it should be set to:

NPV _ W 1 * (CSOR _ W 1 4)
The violation of the soft constraint will occur if CSOR_W1 is greater than or equal to 5. If a
value of 6 is encountered and the NPV_W1 value is >= 0, then the NPV_W1 will be changed
to =NPV_W1 / ( (6-4)).
Any constraint violations that occur will be mentioned in the messages displayed by the
CMOST Engine when the task is running.

Restart Configurations
Restart Configurations can be used to take advantage of previous simulation results. This
section can also be used to restart from a previous CMOST task run.

CMOST Studio: Getting Started

CMOST Tasks 51

Simulation Auto Restart


Simulator auto restart can be used if CMOST parameters are scattered in the well and
recurrent section of the Master Dataset. (This feature is not available in the current version.)

CMOST Result Files Reuse


This feature is useful when you want to run the same task file multiple times by changing
optimization methods. For example,

Results of the first run using Particle Swarm Optimizer are in MyTask_PSO.cmr

Results of the second run using Random Search are in MyTask_Random.cmr

Now you want to do the third run using CMD DECE Optimizer.

52 CMOST Tasks

CMOST Studio: Getting Started

If MyTask_PSO.cmr and MyTask_Random.cmr is entered into the CMOST Result File


Reuse table, these two files will be loaded by CMOST when the task is started. When DECE
Optimizer creates a new job, CMOST Engine will try to find whether there exists a job in the
two reuse cmr files that have the same parameter value combination. If there is such a job,
CMOST will retrieve objective function values directly without the need to run the job again.
Therefore, considerable amount of simulation time could be saved.

CMOST Restart Configuration


A CMOST Task can be restarted from a previously run if certain information in the task files
is the same. This can be useful if a task is stopped or fails, and the user wishes to continue the
task from where it was stopped.
NOTE: This option cannot be used with the Particle Swarm Optimizer for Optimization and History
Matching tasks.

Checkboxes
The Restart from previous CMOST runs checkbox should be checked to enable the CMOST
Restart Option. If the Reprocess SR2 Files checkbox is checked, CMOST will recalculate
objective functions and results observers using SR2 files. This allows objective functions and
results observers to be changed for the restart run. Otherwise, CMOST will read objective
function and observer values from the CMR file and it is not possible to change objective
functions and result observers for the restart run.
CMOST Result File to Restart From
The CMOST Result (*.CMR) file that is to be restarted from, should be entered here. The
ellipsis button

can be used to browse for the file.

Total Number of Jobs in Result File


Once a CMOST Result file has been entered, CMOST will read the file and display how
many jobs are available to use in the CMOST Result file.
Restart Option
There are two options for restarting from a CMOST Results file:

Continue From Selected Job

Re-Run Selected Jobs

For History Matching and Optimization tasks, the Continue From Selected Job option
should be used. For Sensitivity Analysis and Uncertainty Assessment, either of the options
can be used.

CMOST Studio: Getting Started

CMOST Tasks 53

If the Continue From Selected Job is chosen, CMOST will use the simulation results from
the specified CMR file up to the job number specified in Restart Job Number.
If Re-Run Selected Jobs is chosen, Re-Run Jobs Table will appear to allow you to pick
specific jobs you want to re-run. For unpicked jobs, CMOST will use simulation results from
the specified CMR file.
Restart Job Number
This option is only available if Continue from Selected Job is selected for the Restart Option.
The number determines which job number that CMOST will restart from. That is, CMOST
will use the results from the CMOST Results file up to the job number specified then
continue running after that point.
Re-Run Jobs Table
The Re-Run Jobs Table is only available if Re-Run Selected Jobs is selected for the Restart
Option. This table gives information about the jobs that were run in the CMOST Results file
and allows the user to select which jobs should be rerun. Typically, this is used after running
a Sensitivity Analysis or Uncertainty Assessment task and some simulation jobs are crashed
(abnormal termination). These crashed jobs require some numerical tuning in the CMM file
and need to be re-run again.

54 CMOST Tasks

CMOST Studio: Getting Started

Run Configurations
This section is used to set up how CMOST Engine and the simulators will run. Job
Schedulers will also be set up on this computer.

Scheduler Configuration
A list of schedulers will automatically be taken from Launcher. If there are no schedulers
listed in Launcher, only the Local scheduler will be shown. If a scheduler needs to be added
or changed, this must be done through Launcher. See the Launcher Manual for more
information on Job Schedulers.
Host Name

Host Name is the computer name (Local for the local computer) in which CMG CMOST
Host Service is running. The default host name is Local. After a task is started, it is running
in the background by CMG CMOST Host Service. This means that you can close CMOST
Studio while the task is running. When you open the corresponding CMR file later in
CMOST Studio, the connection between CMOST Studio and CMOST Host will be
established again. If you wish to run the CMOST Host on a remote computer, the computers
name must be typed in the Host Name box. Remote host names will be stored for later use
and can be found by using the drop down box.
CMOST Studio: Getting Started

CMOST Tasks 55

Scheduler Configuration Table

The Scheduler Configuration Table allows the user to adjust settings for each scheduler
separately. It also lists some basic information about the schedulers.
Active
The active checkbox determines whether or not CMOST will use a specific scheduler. If the
Active checkbox is checked, CMOST will use the scheduler. Otherwise, the scheduler will
not be used.
NOTE: If schedulers other than Local are used, all Base Files and the Task file must be located in a
UNC directory.

Scheduler Name
The names of the schedulers are listed in the Scheduler Name Column. Local is the
computer that is currently being used to create the task. This information cannot be edited in
CMOST Studio. If this information needs to be changed, it should be done through Launcher.
Scheduler Type
The scheduler type is one of the following four types:

Local (local computer running CMG Job Service)

CMG Drone Scheduler (a remote computer running CMG Job Service)

Mscc Scheduler (Microsoft Windows Compute Cluster)

Lsf Scheduler (Platform Computing LSF)

Max Pending Jobs


Different numbers of jobs can be run on different schedulers. Max Pending Jobs can be edited
so that CMOST will send a certain amount of jobs to each scheduler. The Default value is 1.
When changing this value, you should consider:

Number of processors of the scheduler: N

Number of required processors for each job: nj

Is the scheduler shared by other users?

The Max Pending Jobs should NOT be greater than N/nj. If a scheduler is shared by other
users, you should limit Max Pending Jobs to prevent using all processors by yourself.
NOTE: Jobs that are running as well as jobs that are queued are both considered pending jobs.

56 CMOST Tasks

CMOST Studio: Getting Started

NOTE: If the CMG DECE Optimizer is used for a History Matching or Optimization Task, it is
suggested that the total number of Max Pending Jobs for all schedulers be less than 8 to improve
performance. This is because if too many pending jobs are set, schedulers will be filled and there could
be unnecessary runs queued.

If this value is set to 0, no jobs will be run on that scheduler. However, it is recommended
that the Active checkbox is unchecked if jobs shouldnt be run on a specific scheduler.
Max Failed Jobs
Schedulers can be set to stop sending jobs to a scheduler if a certain amount of jobs have failed.
Failed jobs are jobs that couldnt be started due to hardware or software problem such as network
cable is unplugged, computer is shut down, CMG Job Service is not running, no simulator is
installed, or no license is available. Jobs that are terminated by simulator abnormally due to
numerical problems are NOT failed jobs. CMOST will stop sending jobs if the hardware/software
problem persists for a scheduler. The default maximum number of failed jobs is 5.
Work Plan
CMOST can be set to send jobs to different schedulers at different times. There are three
options available for work plans:

All Time

Evenings and Weekends

Weekends

If the Work Plan is set to All Time, there will not be any limits on when jobs can be
scheduled. This is the Default.
If the Work Plan is set to Evenings and Weekends, jobs will be scheduled 8PM to 6AM
Monday through Friday and all hours on Saturday and Sunday. This option is useful if a
computer is normally used during the day during the work week but is left idle during the
evenings and weekends.
If the Work Plan is set to Weekends, jobs will only be scheduled from 12:00AM Saturday to
12:00PM Sunday. This option is useful if a computer is used during the workweek but left
idle during the weekends.
NOTE: Jobs that take a while to run may run outside of the range set in the Work Plan. The Work Plan
only guarantees that jobs will not be sent to a scheduler outside of the times set. If necessary, it is OK
to kill jobs in Launcher. Once a job is killed, CMOST will be notified and proper action will be taken.
For Sensitivity Analysis and Uncertainty Assessment, a new job with the same parameter values will
be scheduled. For History Matching and Optimization, the killed job will be ignored and a new job
may be scheduled depending on the progress of the optimization process.

CMOST Studio: Getting Started

CMOST Tasks 57

Job Priority
Different priority can be set for different schedulers. If there are multiple jobs queued for a
scheduler, the jobs with higher priority will be run first. The default value for Job Priority is
Low.
Scheduler Switches
If a scheduler switch is required, it should be entered into the Scheduler Switches column.
See the Launcher Manual for more information on scheduler switches.
Head Node
The Head Node column lists which computer the scheduler runs from. There is no Head
Node listed for the Local scheduler. This information cannot be edited in CMOST Studio. If
this information needs to be changed, it should be done through Launcher.
Refreshing Schedulers

If a new scheduler has been added or removed via Launcher, the Scheduler Configuration
Table can be updated to reflect these changes. Schedulers may also need to be updated if a
task file is sent from one computer to another and schedulers are different on the two
machines. The Refresh Schedulers button can be clicked to update the table. If new
schedulers have been added, they will be added to the table with default values.
NOTE: The Refresh Schedulers button will work only if CMG CMOST Host Service is running on the
Host computer (default is the local computer). Otherwise, an error message dialog will appear. To start
the service, Click on the Tools Host Admin menu item. Then click on the Start Service button to
start the CMOST Host Service.

Simulator Configuration
This section specifies which simulator version to use and options on how jobs will be run.
Writing Files to Temporary Folder
Simulation results files can be saved to a temporary location (C:\Documents and Settings\All
Users\Application Data\cmg) on the execution computer when running the simulation. After
the simulation is complete, the output files will be copied back to the jobs folder under the
Engine Output Path location. To do this, check the Write Output Files to a Temporary
Folder checkbox.
NOTE: This feature is not available for local or Microsoft Computer Cluster (MSCC) schedulers. This
option is only available for CMG and LSF schedulers.

58 CMOST Tasks

CMOST Studio: Getting Started

Simulator
The simulator that CMOST should use is specified in the Simulator box. If there is more than
one simulator version installed on the local computer, more than one version will be listed. It is
recommended that the same simulator version is installed on all compute nodes of all schedulers.
Method to Find Executable
The method to find executable defines which simulator will be used on remote computers. By
default CMOST will attempt to use the simulator version defined in the Simulator field. If
this version does not exist on the remote computer, CMOST will use a method to find an
alternative simulator version. There are three options available:

Find Best Version

Find Latest Version

Find Exact Version

The option Find Best Version will try to locate the closest match to the simulator defined.
The Find Latest Version option will try to find the newest version located on the remote
computer. If Find Exact Version is used, only the simulator defined will be used; no jobs
will be sent to the scheduler if that version does not exist.
Number of Processors to Use
The number of processors to use for each job can be specified.
NOTE: This value should not be greater than the number of processors for the scheduler with the
lowest number of processors.

Additional Simulator Switches


If simulation switches are required, they can be entered into the Additional Simulator Switches
text box. More information on simulator switches can be found in the Simulator Manuals.

CMOST Engine Configuration


CMOST Engine is the component that runs CMOST tasks in the background. When it is
running, it performs the following tasks:

Creates all output files

Calls the Optimizer to create simulation jobs

CMOST Studio: Getting Started

CMOST Tasks 59

Creates simulation data sets

Submits simulation jobs to schedulers

Checks simulation job status

Processes simulation output files

Updates CMOST result file

Some configurable options for the CMOST Engine are listed as follows.
Engine Refresh Interval

This value can be changed to set how long CMOST Engine waits before checking whether
status of simulation jobs is changed. If it has changed, proper action will be taken by the
Engine such as processing simulation results, and submitting new jobs. The default interval
time is 15 seconds. For fast running simulation jobs, this interval can be decreased. For slow
running simulation jobs, this interval can be increased.
Max Number of SR2 Files to Keep

The number of simulation results (SR2) files that CMOST will keep is listed here. It is only
editable for History Matching and Optimization tasks. For Sensitivity Analysis and
Uncertainty Assessment tasks, this value is equal to the number of SR2 files that are checked
on the Experimental Design page.
For History Matching and Optimization tasks, CMOST will keep the best runs that are
produced. For History Matching and Optimization Minimum tasks, these are the runs with the
lowest values for the Global Objective Function. If the Task is an Optimization Maximum,
the runs with the highest values will be kept. The task type that was chosen can be checked
on the General Properties page.
Optimization Switches

Optimization Switches are only used when the Particle Swarm Optimizer is used. If
Optimization Switches are required, they can be entered by clicking on the Optimizer
Switches button. This will bring up a dialog to set the Particle Swarm Optimization Switches.

60 CMOST Tasks

CMOST Studio: Getting Started

If any of the values are changed from their default, they will be shown in bold.
More information on Optimizer Switches can be found in the Particle Swarm Optimization
Switches section.
Maximum Number of Simulator Calls

The amount of jobs that CMOST will create can be set. For Sensitivity Analysis or
Uncertainty Assessment, this value should not be set to a value less than the Number of Jobs
listed on the Experimental Design page. CMOST will automatically stop running after all
jobs in the Experimental Design have completed.
For a History Match or Optimization, the engine will stop if the CMG DECE Optimizer
detects that further improvement of the solution is not possible or the maximum number of
simulator calls is reached. If the task stops because the maximum number of simulator calls is
reached, the task can be continued by using the CMOST Restart Configuration.
Optimization Method

The Optimization Method must be entered for every task type. If the task type is a Sensitivity
Analysis or Uncertainty Assessment, the Optimization Method will be Experimental Design
Dispatcher.
For History Matching or Optimization task, there are four options to choose from:

CMG DECE Optimization (default and recommended)

CMOST Studio: Getting Started

CMOST Tasks 61

Particle Swarm Optimization

Brute Force Search

Random Search

See Appendix C: Optimizers for detailed information on these optimization methods.

Job Removal from Launcher Job List View


Jobs can be removed automatically from the Job List View in Launcher by checking the
Remove finished jobs from Job Service and Launcher checkbox. Otherwise, jobs will
remain in the Job List View until they have been deleted by the user. If jobs are deleted in
Launcher before CMOST has completed analysis of the simulation results file, jobs will be
reported as lost. It is recommended that either this option is used or the user should wait until
the results of a job appear in CMOST Studio before deleting the job from Launcher.

Starting a Task
It is recommended to validate the task file first before running a task. To do this, go to Tools
Validate Task File. If there are no errors, click on the Start Task button to run the task. If
errors or warnings are still present, a message will appear informing the user to check the
General Properties page. A task cannot be started if there are errors present. If there are
warnings present, there is a choice to continue or not.
The following dialog will appear if no errors exist or the user chooses to continue with warnings:

62 CMOST Tasks

CMOST Studio: Getting Started

Task File (CMT)


This text box displays the full path of the Task File that will be run. This information cannot
be edited.
Host Name
The Host Name that was defined in Run Configurations is listed. If it needs to be changed, it
can be changed here. See Host Name for more details.
The status of the connection to the host is also shown. If the status is Connected,
communication between CMOST Studio and CMOST Host is established and it is ready to
submit the task to CMOST Host. If the status is Cannot find host, CMOST Studio is not
able to communicate with CMOST Host. Normally, this is because CMG CMOST Host
Service is stopped. To start the service, click cancel to exit the dialog. Then select the Tools
Host Admin menu item. Then click the Start Service button. For more information about
the Host Manager, see the CMOST Host Manager section.
Run Tag
A run tag can be entered if the task is going to be run more than once. This tag will be appended
onto the end of the results file name and to the end of all datasets created by CMOST. For
example, if the task file is named TaskFile.cmt and a run tag FirstRun is entered, the
CMOST Results file name that is created will be TaskFile_FirstRun.cmr. The datasets
that are created will have a name similar to TaskFile_FirstRun_00001.dat.
NOTE: Text is not required for this field. An empty Run Tag is considered to be a unique Run Tag.

Engine Output Path


The Engine Output Path is the location where all the results files will be saved (all simulation
job files will be saved in the jobs subfolder). The default location is the Task File Folder. If
the Engine Output Path should be changed, the ellipsis button can be used to browse for a
new location. If the Engine Output Path is different from the Task File Folder, all required
base files will be automatically copied to the Engine Output Path.
NOTE: If remote schedulers are being used, this path must be a UNC directory.

Scheduler Configuration Table


The Scheduler Configuration Table is the same as the table shown on the Run Configuration
page. This is provided to check for anything that needs to be changed before starting the task.
This table has been refreshed and has the most current schedulers listed. See Scheduler
Configuration Table for more information about this table.
After all the information shown on the Submit a CMOST Run dialog is checked, the run can
be started by clicking the OK button.

CMOST Studio: Getting Started

CMOST Tasks 63

CMOST Results

Once the task has started to run, CMOST will automatically load the CMOST Results file. As
the run progresses, results will be updated periodically.

Run Status Monitor


The first page that will appear after a run has started is the Run Status Monitor page.
Information about how the task is running is displayed on this page.

CMOST Studio: Getting Started

CMOST Results 65

CMOST Engine
Details about the engine are listed. This information cannot be edited. The engine can also be
controlled from this point.
Engine Status
The current status of the Engine is shown in the Engine Status box. This status will be either
Running, Paused, or Stopped.
Current Activity
The current activity of the engine is shown in the Current Activity box. The activities that
may be shown are Idle, Busy, or No Load.
Engine Host
The Engine Host that is used for the run is listed here. For more information about Engine
Hosts, see Host Name.
Run Tag
The Run Tag that was defined with starting the run is listed here.
Controlling the Engine
The engine control buttons can be used to manage the Engine. The engine can be stopped or
paused by pressing the Stop or Pause buttons respectively. If the engine is paused, it will
finish running any pending jobs in the job scheduler but no new jobs will be sent. To resume
the engine, click on the Play button. If the engine is stopped, no new jobs will be sent to the
job scheduler and the user will be prompted as to whether all running jobs should be killed.
The engine cannot be resumed if it has been stopped.
The Refresh button
can be used to reload the CMOST Results file. This will update the
studio and any changes will be displayed. This will be done automatically by the CMOST
Studio and does not need to be used unless Stop Auto Refresh Result has been selected.
NOTE: These buttons are equivalent to the engine control menu items in the Operation Menu and the
toolbar.

66 CMOST Results

CMOST Studio: Getting Started

Run Display
A quick display of the progress of the run is displayed on the Run Status Monitor page. This
display differs depending on what task type is chosen.
Experimental Design Job Status Matrix
In the Experimental Design Job Status Matrix, the progress of the Tasks run can be seen.
This is shown for Sensitivity Analysis and Uncertainty Assessment tasks. Each different cell
represents a different experimental design pattern. If a cell is white, the job has not been sent
to the job scheduler. If a cell is light green, the job is either running or waiting in the job
scheduler. If a cell is dark green, the job has completed normally. If the cell is red, the job has
failed or is terminated by simulator abnormally.
For CMOST to complete any post processing after all simulations have completed, there must
not be any abnormally terminated simulations. CMOST will rerun jobs that have failed due to
a scheduler problem but will not rerun jobs if a job crashes due to numerical problem in the
simulation.
Run Progress Plot
In the Run Progress Plot, the progress of the tasks runs can be seen. This plot is shown for
History Matching and Optimization tasks. Each point on the plot represents the value of the
global objective function. The best runs are colored in dark green (or red) while the rest of the
runs are colored blue. The number of runs shown in dark green is determined by the Max
Number of SR2 Files to Keep set on the Run Configurations page. This plot is repeated on
the Run Progress page.

Messages Tab
The messages tab in the bottom part of the Run Status Monitor page gives messages about
what the engine is doing. It will display what time jobs start and finish and which scheduler
they have been sent to. If there are any errors or warnings, they will be displayed here.

CMOST Studio: Getting Started

CMOST Results 67

Schedulers Tab

From the Schedulers tab, each of the schedulers can be controlled. This is very similar to the
Scheduler Configuration Table on the Run Configurations page. There are three additional
columns here. NPending, NFinished, and NFailed display the number of pending, finished
and failed runs respectively.
Apply
If any changes are made to the schedulers, the apply button needs to be clicked to update the
engine. Changes will not be sent to the engine if the Apply button is not used.
Refresh
To update these three columns, click on the refresh button located to the right of the grid. The
Load All button will act in the same way as the Refresh Schedulers button on the Run
Configurations page. See Refreshing Schedulers for more information.

68 CMOST Results

CMOST Studio: Getting Started

Load All
If a new scheduler has been added via Launcher after a task is started, the Load All button
can be clicked to update the table to include the newly added schedulers. If new schedulers
are added, they will be added to the table with default values. To let the engine use new
schedulers, check the Active cell and click the Apply button.

Job Summary
The Job Summary page gives details of the results of each run. This page can also be used to
load each jobs dataset or simulations results file in other CMG software (Builder, Results
Graph and Results 3D).

Job Summary Table


Detailed information about each run is listed in the table. Information can be copied from the
table by selecting the cells that need to be copied and typing Ctrl+c on the keyboard. Items in
this table can be sorted by clicking the top title row.

CMOST Studio: Getting Started

CMOST Results 69

Job Number
The CMOST Job ID Number is listed in the Job # column. This column is frozen and will not
move when the horizontal scroll bar is used.
Has SR2
If a run has simulation results (SR2) files, the checkbox in this column will be checked.
These checkboxes are read-only and cannot be edited.
User Highlight
Specific runs can be highlighted in CMOST plots. If a job is check as User Highlighted, that
job will show as purple in all plots by default.
Pattern
If the task is a Sensitivity Analysis or Uncertainty Assessment, the pattern that was used for
the job is shown.
Objective Functions
The calculated value for each Objective Function is listed in the Job Summary Table. A
column with each Objective Functions name is listed.
Parameters
The specific candidate value that was entered for each parameter is listed in the Job Summary
Table. If the Parameter had its Source specified as Formula, the formula that was used is
listed. All Parameters are listed whether or not they are Active.
Fixed Date Observers
If Fixed Date Simulation Result Observers have been entered in the Result Observers
section, their values will be shown in this table.
Status
The Status column gives the current status of the run. There are several possible statuses that
each run could be:

Created

Failed (Failed due to hardware/software problem)

Running

Normal Termination

Abnormal Termination (Terminated by simulator due to numerical problem)

70 CMOST Results

CMOST Studio: Getting Started

Dataset
The name of the dataset that was simulated is listed here.
Scheduler
The name of the scheduler that was used is listed here.
Computer
The computer that the schedulers head node is on is listed here.
Launcher ID
The Launcher ID number for the job is listed here. This is different from the Job ID Number.
Source
The source that the job information came from is listed here. Jobs may come from the
following sources:

Simulator

Restart CMR File

Reuse CMR File

Existing SR2

If a session file was created for the CMOST task, it will be used when the results file is
loaded in Results Graph. The run selected will automatically be substituted in the session file
when it is opened.

Table Configuration

Columns can be adjusted so that only the columns that are needed are shown. To do this,
Click on the notebook button above the table. The following dialog will appear:

CMOST Studio: Getting Started

CMOST Results 71

Field Category
To switch between the different sections of the Job Summary Table for adjusting, select the
section in the Field Category box.
Table Display
Each of the different columns in each section chosen from the Field Category is listed in the
table. Columns can be shown or removed from the Job Summary table by checking or
unchecking the checkbox in the Show column. All of the checkboxes can be checked or
unchecked at once by clicking on the Select All or Unselect All buttons.
To apply any changes that have been made and exit the dialog, click OK.

Loading Jobs with other CMG Software


If a job has a dataset and simulation results (SR2) files, it can be loaded in other CMG
Software. This can be seen in the Has SR2 column in the Job Summary table.
To load the file, click on any cell in the row of the job that is to be shown. If it has the
appropriate files, the Load buttons located above the table will become enabled. The files can
be loaded in Builder, Results Graph, or Results 3D. If a Base Session File was entered for the
CMOST Task, it will be used when the SR2 file is loaded in Results Graph. The job selected
will automatically be substituted in the session file when it is opened.
NOTE: The newest version of the software will be used to open the files
72 CMOST Results

CMOST Studio: Getting Started

Viewing Log Files

Log Files can be viewed by clicking on the White Page button. This will open the file in a
text editor. If no text editor is set to open .log files by default, a dialog will appear asking the
user to select a program to view the file with.

Parameter Status
If the CMG DECE Optimizer is used, the Parameter Status page will fill out as the run
progresses. This page is only available for History Matching and Optimization Tasks.

CMOST Studio: Getting Started

CMOST Results 73

Cells that are colored in red have been determined not to be suitable solutions for the
optimization. These values will no longer be included for substitution into the datasets by
CMOST. The optimizer will stop looking for solutions when it detects that further
improvement on solutions is not possible. See CMG DECE Optimizer for more information
on the optimizer.

Run Progress
Run Progress plots show the results of each jobs objective functions. This page is only
available for History Matching and Optimization Tasks. As more and more simulations are
complete, more points will be shown on the plot.

Graph
By default, the best runs are shown as red points while the rest of the runs will be shown as
blue points.

74 CMOST Results

CMOST Studio: Getting Started

There is one plot produced for the global objective function as well as plots produced for
each local objective function. Each plot can be viewed by selecting a specific Run Progress
plot in the tree view. Alternatively, different graphs can be viewed by using the arrow buttons
located above the graph.

Job Details
If a point on the graph is double clicked, a Job Details dialog will appear. This dialog gives
the user basic information about the job that was selected.

Table
The results that were found in the graph can be shown in a table as well. To do this click on
the Table radio button in the Operations section above the Run Progress display.

CMOST Studio: Getting Started

CMOST Results 75

Data can be copied from the table by selecting cells then typing Ctrl+c on the keyboard or
using the Copy to Clipboard option in the Tools menu.

Viewing Multiple Plots


Multiple plots can be shown at once by changing the values for Plots on Horizontal and Plots
on Vertical. This can be used for viewing multiple graphs or tables.

76 CMOST Results

CMOST Studio: Getting Started

Results Observers
The Results Observers page displays graphs that were specified when creating the task. Each
graph can be viewed by selecting a specific Results Observer in the tree view. Alternatively,
different graphs can be viewed by using the arrow buttons located above the graph.
As the run progresses more and more curves or points will appear on the plots. Jobs that have
failed or terminated abnormally will not appear on the plots.

CMOST Studio: Getting Started

CMOST Results 77

Time Series Results Observers

The best runs on the Time Series Results Observers plots are colored in red while the rest of
the runs are colored in light blue by default. If there is a field history file specified for the
Result Observer, this will appear as points that are colored dark blue.
For a History Match or an Optimization Minimum task, the best runs are the runs with the
lowest global objective functions. For an Optimization Maximum task, the best runs are the
runs with the highest global objective functions.
For a Sensitivity Analysis or Uncertainty Assessment task, the runs that have SR2 files are
colored red and the rest of the runs are colored light blue by default.

78 CMOST Results

CMOST Studio: Getting Started

Fixed Date Results Observers


Graph

On the Fixed Date Results Observers, the best runs are colored in red and the rest of the runs
are colored in blue by default.

Table

Results of the Fixed Date Results Observers can be viewed in a table as well. Click on the
Table radio button located above the plot to switch to the table display.

CMOST Studio: Getting Started

CMOST Results 79

Job Details
If a point or curve on one of the Result Observer graphs is double clicked, a Job Details
dialog will appear. This dialog contains basic information about the job that was selected.

80 CMOST Results

CMOST Studio: Getting Started

Viewing Multiple Plots


Multiple graphs can be displayed at once by changing the values of Plots on horizontal or
Plots on vertical.

Parameter Effective Estimates


The Parameter Effective Estimates section displays analysis of the simulation results once all
jobs are completed. This is only available for Sensitivity Analysis tasks.
NOTE: There must not be any Abnormal Termination runs for a sensitivity analysis task or CMOST
cannot perform any post processing.

Effective Estimate Table


The Effective Estimate table displays the results of the sensitivity analysis in tabular form.
All of the objective functions and parameters can easily be compared with this table. See
Sensitivity Analysis Post Processing for more details.

CMOST Studio: Getting Started

CMOST Results 81

Values from this table can be copied and pasted into documents or spreadsheets by selecting
cells and typing Ctrl+c on the keyboard or by going to the Tools menu and selecting Copy to
Clipboard.

Tornado Plots
The tornado plots section shows the results of the Sensitivity Analysis post processing for
each objective function.
Graphs

Tornado plots are a visual display of the data presented in the Effective Estimate Table. There
is one tornado plot for each objective function. Parameters are ordered from having the
greatest effect on the objective function to having the least effect. Each parameter is given its
own color for all plots. The average bar represents the average value of the objective
functions for all of the jobs.

82 CMOST Results

CMOST Studio: Getting Started

Toggling Orientation

Orientation can be toggled so that negative bars appear to the left of 0 on the x-axis and
positive bars appear to the right of 0 on the axis. To do this, right click on one of the plots and
select Toggle Orientation. To change back, right click on the plot and select Toggle
Orientation again.

CMOST Studio: Getting Started

CMOST Results 83

Table

The Tornado Plots can also be viewed in table form. Click on the Table radio button located
above the plots to change to the table view.

84 CMOST Results

CMOST Studio: Getting Started

Viewing Multiple Plots

Multiple plots can be viewed at once by adjusting the values for Plots on Horizontal and
Plots on Vertical at the top of the page.

CMOST Studio: Getting Started

CMOST Results 85

Response Surfaces
This section is only available for Uncertainty Assessment tasks. Once all runs in the
experimental design have completed, the simulation results are approximated with a second
order polynomial equation. The equation is then used to quickly simulate thousands of Monte
Carlo simulations using the distributions from the Prior Probability Density Functions
defined in the Parameters section of the task file.
NOTE: There must not be any Abnormal Termination runs in an Uncertainty Assessment task or post
processing will not occur.

The response surface is a display of how closely the response surface predictions match the
actual values from the simulations. See Response Surface Modeling for more information
about response surfaces.

86 CMOST Results

CMOST Studio: Getting Started

The 45 degree line represents a perfect match between the equation and actual simulation
results. The closer the points are to the 45 degree line, the better the match between the
predicted and actual data.
The dark blue points are training jobs used by CMOST to create the equation. The red points
are verification jobs used by CMOST to check if the equation created is a good proxy to the
actual simulation results.

Monte Carlo PDF


The Monte Carlo probability density functions (PDF) are a distribution of how probable that
a value for an objective function will occur.
CMOST displays two types of Monte Carlo PDFs:

Unconditional PDF

Conditional PDF

CMOST Studio: Getting Started

CMOST Results 87

Unconditional PDF
The unconditional PDFs show the distribution of values for each objective function with all
uncertain parameters are sampled from prior probability density functions.

Conditional PDF
The conditional PDFs show different distributions for each objective function given that a
certain parameter is held constant.
For example, if an objective function was created representing average vertical displacement
throughout the reservoir and Youngs Modulus is set as a parameter; three plots will be created.
(One given that Youngs Modulus is set at the low value, one given that Youngs Modulus is
set at the middle value and one give that Youngs Modulus is set at the high value.)

88 CMOST Results

CMOST Studio: Getting Started

CDF Plots
Cumulative Density Function plots can be viewed by selecting the CDF Plots radio button
located above the plots.

CMOST Studio: Getting Started

CMOST Results 89

Tables
The Monte Carlo plots can also be viewed in table form. Click on the Tables radio button
located above the plots to change to the table view. Data is displayed for both Probability
Density Functions and Cumulative Density Functions. Data can be copied from the tables by
selecting cells and typing Ctrl+c on the keyboard or by going to the Tools menu and selecting
Copy to Clipboard.

90 CMOST Results

CMOST Studio: Getting Started

Parameter Histograms
The frequency that a certain value of each parameter has been used is shown in the Parameter
Histogram pages. If a value has been used at least once in the user-specified number of best
runs, its corresponding bar will be colored red by default.

CMOST Studio: Getting Started

CMOST Results 91

CMT in Results Section


All of the information that was entered into the task file (*.cmt) can be found in the results
file (*.cmr). Since the original task file may be edited for future runs, this section provides a
good reference to see the information that was used for that specific run. This information is
read-only and cannot be edited.

92 CMOST Results

CMOST Studio: Getting Started

General Operations

CMOST Host Manager


All CMOST Engines that are currently running on a computer can be managed through the
CMOST Host Manager. To access this dialog, go to Tools in the task bar then click on Host
Admin. It can also be accessed through the Host Admin icon
following dialog will appear:

in the toolbar. The

Basic information is listed for each of the engines that are running. Engines can also be
paused or stopped from this dialog by clicking on the Pause or Stop buttons respectively.
To receive updated information displayed in the Host Admin, click on the refresh button:

This dialog can be accessed at any point during the CMOST process.

CMOST Studio: Getting Started

General Operations 93

Starting the CMOST Host Service


If for some reason the CMOST Host Service has stopped, it can be restarted in the Host
Manager dialog. When the service is not running, a warning message appears and the Start
Service button is enabled:

located at the top right side of the


To start the service, click on the Start Service button
Host Manager dialog. If this was successful, the error message will disappear and the Start
Service button will disable.
NOTE: The user must have administrative privileges to start the CMOST Service.

Opening a Running CMR from Host Manager


CMOST Results files that are currently being run can be opened directly from CMOST. To
do this, double click on a CMR. If there is currently another file open in CMOST Studio, the
selected file will be opened in another instance of the Studio.

94 General Operations

CMOST Studio: Getting Started

Opening a CMOST File


At any point during the CMOST process, a CMOST file can be opened. To do this, click on
File in the menu bar and select Open. If there is already a file open, the user will be prompted
whether or not they wish to save the file that is currently open. If the file is not saved and
another file is opened, any changes that have been made to the current file will be lost.
A browser window will appear when opening a file:

By default, only Task and CMOST Results files will appear in the browser window. This can
be changed by selecting different options for the Files of Type box.
NOTE: Only Task and CMOST Results files can be opened in CMOST. Other file type should be
added to a CMOST Task through the General Properties page.

Once a file has been found, click on the Open button to open the file in CMOST.

CMOST Studio: Getting Started

General Operations 95

Operation Menu
The engine can be controlled from the Operation Menu on the menu bar.

Task File Operations


If a task file is open, the task file can be started by clicking on Start Task in the Operation
Menu. This is equivalent to clicking on the Start Task button on the Run Configurations
page. See Starting a Task for more details on this operation.
All other options will be disabled in the Operation menu if a task file is open.

Results File Operations


Engine Control

Once a task starts running, engine control buttons in the Operation Menu will become
enabled. The engine can be paused or stopped by using the Pause Engine or Stop Engine
menu options respectively. If the engine is paused, it will finish running any pending jobs in
the job scheduler but no new jobs will be sent. To resume the engine, click on the Resume
Engine button. If the engine is stopped, no new jobs will be sent to the job scheduler and the
user will be prompted as to whether all running jobs should be killed. The engine cannot be
resumed if it has been stopped. These menu items are equivalent to the Pause and Stop
buttons on the Run Status Monitor page.
Refresh Result

The Refresh Result menu item can be used to reload the CMOST Results file. This will
update the studio and any changes will be displayed. This will be done automatically by the
Studio and does not need to be used unless Stop Auto Refresh Result has been selected.
This menu item is equivalent to the Refresh button on the Run Status Monitor page.
Stop Auto Refresh Result

If the studio does not need to be refreshed automatically, Stop Auto Refresh Result in the
Operation Menu can be used. If this option is selected, CMOST will stop loading the CMOST
Results file automatically. The Results file will still be updated as more simulations finish.
However, the results will not appear in the studio unless Resume Auto Refresh Result is
selected or the Refresh Result menu item is selected.
Result Refresh Rate

The refresh rate that was defined in the Run Configurations can be adjusted after the engine
starts with Result Refresh Rate.

96 General Operations

CMOST Studio: Getting Started

The Engine Refresh Time Interval represents how often the CMOST engine will check to see
if a job has completed. The Studio Result Refresh Time Interval represents how often
CMOST Studio will reread the CMR file for changes. The Update buttons will not become
enabled unless the refresh rate is changed. The refresh rate when the engine starts is defined
in the CMOST Engine Configuration section of the Run Configuration page.

Copying and Saving Images


Images of different plots and graphs can be copied or saved by CMOST for use in other
applications. A page with a plot or graph must be selected before an image is copied or saved.

Copy
To copy an image, go to Tools in the Task Bar menu and select Copy to Clipboard. This
option can also be accessed through the Copy icon
in the toolbar. The image that is
currently being displayed on the screen will be copied to the computers clipboard. The image
can later be pasted in other applications such as word processors.

CMOST Studio: Getting Started

General Operations 97

Save Image
One or more images can be saved using Save Image. A variety of different options are
available when saving an image. To save an image, go to Tools in the Task Bar menu and
select Save Image. The following dialog will appear:

98 General Operations

CMOST Studio: Getting Started

Page Selection

Single or Multiple pages of images can be copied at once. If all pages need to be saved, check
the For All Pages checkbox. Otherwise, to save a selection of the pages, enter which pages
need to be saved in the From Page and To boxes.
Image Size

The size of the image can be set in the Image size section. The image can be set to the size of
the screen or to any custom size. The units used to determine image size are pixels. It is
recommended that the Width to Height ratio be kept close to the same or the image may
become skewed. The minimum size for each dimension is 100.
File Information

Base File Name


The full path of where the image file is going to be saved should be listed here. This should
include the file name. If multiple images are being saved, this name will be used by the first
image. Subsequent images that are created will be the base file name appended with a number.

CMOST Studio: Getting Started

General Operations 99

Image File Format


The image type that the file will be saved as can be chosen from the Image File Format list.
Once all the information is entered, click OK to save the images.

Validating Errors
There are a variety of different ways to check errors in CMOST Studio. It is important to
check for errors and warnings before running a task since a task cannot be started unless all
errors have been fixed. A task can be started if there are warnings, but it is recommended
that all warnings are examined before starting.

Task Readiness
The main way to check errors in CMOST Studio is to use the Task Readiness display on the
General Properties page.
The Task Readiness display shows if there are any errors on the pages listed. As pages are
completed, the Xs will turn to checkmarks if there are no errors. If errors are encountered,
the pages cell can be expanded to give a description of the error.
If there are any warnings, they will appear as exclamation marks. The description of the
warning can also be viewed by expanding the cell with the warning.

Validate Task File Menu Item


Another way to check for errors or warnings is to access the Validate Task File menu item.
This can be found under the Tools menu or by clicking on the Validate icon
in the Tool bar.
When this item is selected, it will give a text output of errors or warnings found on each page.

100 General Operations

CMOST Studio: Getting Started

If no errors are encountered, the status will be shown as Ready.

Treeview Icons
If there are errors with the task files, an error or warning display will appear on the treeview
icon where the problem was encountered.

A description of the error can be found by right clicking on the icon then selecting Show
Page Status. A similar display to the Validate Task File dialog will appear.

Experimental Design Errors


Specific errors relating to experimental design can be found on the Experimental Design
page in the Error Messages display. This field is updated when first entering the Experimental
Design page or when the Check Error button is clicked.

CMOST Studio: Getting Started

General Operations 101

CMOST Formula Editor


The CMOST Formula Editor can be used to easily add formulas to Parameters and Local
Objective Functions. On the Parameters page, the dialog will appear on the bottom half of
the page if a parameter that has Source as a Formula has been selected. On the Objective
Functions page, the formula dialog will appear after clicking the button to enter a formula for
a Raw Simulation Result Objective function.

Functions
A list of all the available functions that CMOST can use is listed in the Functions box. To add
a function to the Formula editor text field, select the function from the Functions box and
click on the add button located directly below it. The formula will appear with the basic
syntax for the function provided. See Appendix A: CMOST Formulas for more information
about the different CMOST Functions.

Variables
The variables box is populated with a list of Objective Function Terms if editing a Local
Objective Function formula, or a list of parameters if editing a parameter formula. To add the
variable to the formula, make sure the cursor is in the location where the variable should be
entered, then click the add button directly below the variable combo box. Text can also be
replaced by selecting the text that should be replaced then clicking the add button.

102 General Operations

CMOST Studio: Getting Started

Text Size
Text can be changed to a few different sized to make text easier to read. This option has no
effect on the results of the formula.

Printing Plots
Page Setup
Different page types and page layouts can be selected when printing. To do this, open the
Page Setup dialog by Clicking on the File menu and selecting Page Setup. The following
dialog will appear:

CMOST Studio: Getting Started

General Operations 103

Paper size and source can be changed in the Paper section. The page orientation can be changed
between Portrait and Landscape in the Orientation section. Page margins can be adjusted in the
Margins section. Any changes to the page setup will be shown in the page display at the top of
the dialog. The printer that is used can be selected by using the Printer button.

Print Preview
A preview of the print job can be found in the Print Preview. To access the Print Preview,
click on File in the menu bar and select Print Preview.

The preview can be zoomed by clicking on the magnification icon


from the print preview
toolbar. Multiple pages can be shown at once by clicking on the multiple page icons. If any
changes need to be made to the page, the Page Setup icon
can be used.

104 General Operations

CMOST Studio: Getting Started

If the preview looks correct and no changes need to be made, the page can be printed directly
located at the far left side of
from the Print Preview dialog. To do this, click on the Print icon
the toolbar. The print job will be sent directly to the printer; the Print Setup dialog will not appear.
To exit the dialog, click on the Close button.

Print Setup
When a page is ready to be printed, click on File in the menu bar and select Print. The Print
Setup dialog will appear:

Printer Selection
All known printers will be listed in the Select Printer section. If a printer is missing from the
list, the Find Printer button can be used to find the printer.

CMOST Studio: Getting Started

General Operations 105

The default printer will have a check mark on its icon. It will be selected by default. Different
printer options can be set up using the preferences button.
Page Range
There are three different options that can be chosen for the Page Range:

All

Current Page

Pages

All will print all of a specific plot type. Current Page will print the plot that was active when
the print dialog was opened. A single page or range of pages for a specific plot type can be
selected to be printed with the Pages option.
Number of Copies
More than one copy of the page can be printed. To do this, adjust the Number of Copies
value. If more than one copy is chosen, the user has the choice whether or not to collate. If
the Collate checkbox is checked, the pages will be collated; otherwise, they will not.
Once everything has been set, click on the Print button to send the print job to the printer.

Exporting a Task File


A task file can be exported from any CMOST results file. CMOST will use the information
that is shown under the CMT node when exporting the file.
To export from a CMOST Results file, click on File in the menu bar and select Export Task
File. A dialog will appear to set a name and location for the new task file:

106 General Operations

CMOST Studio: Getting Started

The new file name can be changed to any valid name. Any location can be chosen to save the
task file. When the file name and location have been chosen, click Save.
The task file will be created in the new location. Other files that are associated with the task
file will also be copied to the save location. This includes the master dataset, base dataset,
base session file, and field history files if available.

Closing and Exiting


Close
When the user is finished with a certain CMOST file, the file can be closed. To do this, select
close from the File menu. If any changes have been made to the file, the user will be
prompted if the file should be saved before closing the file.
The close menu item will close the file that is open but will not exit the studio. If a running
CMOST Results file is open, the close option will not stop the engine and the engine will
continue updating the file.

CMOST Studio: Getting Started

General Operations 107

Exit
To exit the Studio, select the Exit menu item from the File menu. This will close any files that
are open then will exit the studio. If any changes have been made to the file, the user will be
prompted if the file should be saved before exiting. If a running CMOST Results file is open,
the exit option will not stop the engine and the engine will continue updating the file.

Plot Properties
Different plot options can be changed for CMOST Results files. The Properties dialog can be
accessed for a plot by right clicking the plot and selecting Properties. This option is available
for Run Progress, Result Observers, Probability Density Function and Parameter Histogram
plots. Changes made to the Global Objective Function Run Progress plot will also apply to
the Run Progress plot on the Run Status Monitor page.

Axis Tab
Different axis options can be changed in the Axis Tab. This includes axis label font, grid
lines, and axis scale.

108 General Operations

CMOST Studio: Getting Started

Title

The font of the axis labels can be changed by clicking the Font button for each axis. If the
same changes should be made to every plot of the same type, check the Apply to all graphs
in the group checkbox.
Grid Lines

Grid Lines can be added to any plot. Lines will appear to have the same spacing as the Step
Size in the Range section. To apply the changes to all plots of the same type, check the
Apply to all graphs in the group checkbox.
Range

The minimum and maximum values for the plots can be adjusted in the range section. The
spacing between points on the axes can be changed by adjusting the step size. If an axis is a
date, the Step Size will have days as units. To apply the changes to all plots of the same type,
check the Apply to all graphs in the group checkbox.
If auto is selected, the range will be calculated automatically. This is the default.

Curve Tab
Options regarding the appearance of the curves and points on plots can be adjusted in the
Curve Tab. Changes made to the curve or point will be shown in the Line Preview display. If
changes should be applied to all plots of the same type, check the Apply to all graphs in the
group checkbox.

CMOST Studio: Getting Started

General Operations 109

Curves

This section is only enabled if the data type is a curve. The color of a curve can be adjusted
by clicking on the ellipsis button. The thickness of the line can be adjusted by changing the
width value. Different line styles can be adjusted by selecting different options in the style
box. If the style is selected as Not Set, the curve type will not be shown on the plot.
NOTE: Color is the only option that can be changed for Parameter Histograms plots.
Markers

This section is only enabled if the data type is a point. The appearance of the data points can
be changed by adjusting marker options. Color can be changed by clicking on the ellipsis
button and selecting a color from the color dialog. The size can be changed by adjusting the
value in the Size box. Several different marker shapes can be chosen from the shape box. If
None is selected, no points will appear on the plot.

Legend Tab
If the properties dialog was opened for a Response Surface plot, there will be a legend tab.
This tab is unavailable for all other plot types.

110 General Operations

CMOST Studio: Getting Started

The legend can be added or removed from the plot by checking or unchecking the Show
Legend checkbox. The position of the legend can be changed by changing the options in the
Placement and Alignment sections. The Legend Sample shows where the legend will appear
on the actual plot.

Zooming for Plots


When viewing a CMOST Results file, plots can be shown for Run Progress, Results
Observers, Response Surfaces, Tornado Plots, Probability Density Functions and Parameter
Histograms. For any of the available plots, it is possible to zoom in on any part of the data.

How to Zoom
The option of zooming is not available through the CMOST menu and has to be performed
using a mouse. When a plot is displayed, zooming can be performed by pressing on the left
mouse button and clicking in the lower left hand portion of the section of the plot to be
zoomed. Keep the mouse button pressed down and drag the mouse to the upper right hand
portion of the section to be zoomed.

CMOST Studio: Getting Started

General Operations 111

Release the mouse button. The zoomed in section will be shown. The entire plot can still be
viewed by using the sliders that are now shown along the X and Y axis.

How to Remove Zooming


To remove the sliders that are generated along the X or Y axis (and return to the original axis
display), click once on the button with a circle in it
located at the end of the slider.

112 General Operations

CMOST Studio: Getting Started

CMOST Studio: Getting Started

General Operations 113

Configuration Menu
Options
Recent Files

In the Recent Files tab, the files listed in the File menu can be adjusted. The number of files
that are kept can be changed. Also, recent files listed can be cleared by selecting a file then
clicking the Remove button. This will not delete the file; only the record of the file use will
be cleared.

114 General Operations

CMOST Studio: Getting Started

Curves

The default appearance of curves and markers used in CMOST plots can be set in the curves
tab. Any changes that are made will be seen in subsequent CMOST sessions. Any previously
opened CMR files will have a corresponding .session file that defines the appearance of
CMOST plots for a specific CMR. This file must be deleted before CMOST will use the new
default curves and markers set in the Options tab.
To restore the default settings, select the curve or plot in the treeview that should be reset
then click on the Restore Default button. All plots can be restored to the default settings by
clicking Default Curve Settings in the treeview then clicking the Restore Default button.

CMOST Studio: Getting Started

General Operations 115

Password

CMOST needs a password to submit jobs. The password can be changed in the Password
dialog.

116 General Operations

CMOST Studio: Getting Started

Troubleshooting

Creating and Editing a CMOST Task


1. I added a new well in my CMOST master dataset but the new well doesnt appear
in the list of origin names.

Add the new well in your base dataset

Run your base dataset

Click the Import IRF file button in General Properties page

Select the IRF file of your base dataset and click OK

The new well will appear in the list of origin names

2. I added a new remote scheduler in Launcher, but the new scheduler doesnt appear
in Run Configurations page.

Click the Refresh Schedulers button in Run Configurations page

The new scheduler will appear in the list of schedulers

3. When I click the Refresh Schedulers button, error message Failed to connect to
an IPC Port: The system cannot find the file specified appears.

Go to Tools Host Admin

Click on the Start Service button to start the CMOST Host Service

The Refresh Schedulers button will now work

4. All items in the Task Readiness table have green checkmarks but there are still
errors and/or warning messages when I start the task.
The task Readiness table only checks some common errors and warnings. For a
complete error checking, click menu item Tools Validate Task File, a dialog
will appear with a textbox showing the error checking result.

CMOST Studio: Getting Started

Troubleshooting 117

Running a CMOST Task


5. When submitting a CMOST run, the OK button is disabled and Cannot find host
message is displayed beside the Host Name combo box.

Click Cancel

Go to Tools Host Admin

Click on the Start Service button to start the CMOST Host Service

Submit the task again

The OK button should be enabled and message Connected should


appear

6. After submitting a CMOST run, nothing happens and no job is submitted.

Go to Run Status Monitor page

Click Schedulers tab

Check the list of schedulers and make sure (Active = true, Max Pending
Jobs >= 1, Work plan is All Time) for schedulers to which you want to
submit simulation jobs

If you need to make changes, enter your changes into the table and click
Apply

Click Messages tab

You should see messages telling that schedulers are updated and
simulation jobs are submitted.

7. I added a new remote scheduler in Launcher, but the new scheduler doesnt appear
in Run Status Monitor page.

Go to Run Status Monitor page

Click Schedulers tab

Click Load All

The new scheduler should appear in the schedulers table

By default, the active field is false for the new scheduler. If you want to
let CMOST submit jobs to it, you need to check the Active box and then
click Apply.

118 Troubleshooting

CMOST Studio: Getting Started

8. When using a Microsoft Windows Compute Cluster, output files are written in the
jobs folder directly even though I have checked the check box beside Write
output files to a temporary folder on the execution computer and copy all files back
to the simulator working directory when job is done.

Microsoft Windows Compute Cluster doesnt support this functionality yet.

If you are using CMG Scheduler, this functionality is supported.

9. Some simulation jobs are terminated by the simulator abnormally and error
message Fatal error from subroutine RDLINE (unable to read with a format)
appears in the log file of abnormally terminated jobs.
This could be caused by:

Temporary network hardware/software problem

Inbound connections limit in Windows 2000, XP, and Vista (For more
information about Inbound connections limit, view Microsoft Knowledge
Base article Q314882)

For History Matching and Optimization tasks, CMOST can tolerate a small number
of such abnormally terminated jobs. The ultimate result will not be affected.
For Sensitivity Analysis and Uncertainty Assessment, CMOST will not be able to
do post-processing if there are jobs that are terminated abnormally. To complete
the task successfully, you need to restart the CMOST task.

Open the cmt file in Studio

Go to Restart Configurations page

Check the check box beside Restart from previous CMOST runs

Use the Browse button beside CMOST result file to restart from to
select the previously created cmr file

Save (or Save As) the task

Start the task

Enter a run tag if you dont want to overwrite the previous cmr file

CMOST will automatically re-run the jobs that were terminated


abnormally. For jobs that were completed successfully, CMOST will
read results directly.

If all re-run simulation jobs are completed successfully, CMOST will


proceed to post-processing.

CMOST Studio: Getting Started

Troubleshooting 119

10. Engine stops unexpectedly with an error message CMGCmostWorkerException is


caught in executing instruction: RevolveEngine
Normally, this exception is caused by one of the following reasons:

The SR2 file may not contain well information for the last time step.

The required data don't exist in the SR2 file.

The required data don't exist in the FHF file.

Dictionary files required by Report.exe don't exist.

Simulator didnt finish writing the MRF file even though the job is
completed successfully and IRF is also complete. This could be caused
by temporary network problem or inbound connections limit in Windows
2000, XP, and Vista.

To diagnose the problem, please run Report.exe using the corresponding rwd file
located in jobs folder. If it is determined that the problem is incomplete MRF files
for completed jobs and you cannot resolve possible network problem, please
contact the CMOST team in CMG for help. After these possible problems are
resolved, you can restart from the previous cmr file.

Open the cmt file in Studio

Go to Restart Configurations page

Check the check box beside Restart from previous CMOST runs

Use the Browse button beside CMOST result file to restart from to
select the previously created cmr file

Save (or Save As) the task

Start the task

Enter a run tag if you dont want to overwrite the previous cmr file

For jobs that were completed successfully and have complete MRF files,
CMOST will read results directly.

After all previous jobs are processed CMOST will proceed to create new
jobs.

11. I have clicked the Stop Engine button several times but the engine doesnt stop.
If you are working with large models with large SR2 files, the Engine may be busy
reading SR2 files. So please wait for a while until the Engine is idle and click the
Stop Engine button again. The engine should stop by itself.
120 Troubleshooting

CMOST Studio: Getting Started

During our internal test, we have also found that this is a known problem for
Particle Swarm Optimizer in some situations. If you encounter such problem,
please notify CMG. As the last resort to stop the engine, you can

Close CMOST Studio

Go to Control Panel Administrative Tools Services right click


CMG CMOST Host Service click Stop to stop CMOSTHostService

When the service is stopped, all CMOST Engines will be stopped and
their associated objects are released from the memory as well.

To start the service again: Go to Control Panel Administrative Tools


Services right click CMG CMOST Host Service click Start to
Start CMOSTHostService

Viewing CMOST Result


1. I accidentally closed CMOST Studio. Is my task still running?

Yes, your task is still running in the background by CMOSTHostService

To view result, open the cmr file again in CMOST Studio

CMOST Studio will automatically connect to the Engine if it is still


running

2. I want to view a .cmr file using all default settings.


Every time you make changes to the table and plot settings in CMOST Studio, the
changes are saved to a session file when you close CMOST Studio. The file name
of the session file is the same as your cmr file but with a different extension
.session. At the next time you open your cmr file, CMOST studio will read the
session file and apply the saved settings automatically. To restore all default
settings, you can

Close CMOST Studio

Delete the session file

Open your cmr file again in CMOST Studio

All default settings are now restored.

CMOST Studio: Getting Started

Troubleshooting 121

Appendices

Appendix A: CMOST Formulas


Formulas are equations that perform calculations on values during a CMOST run. Formulas
can appear in CMOST Master Datasets and CMOST Task files. In a CMOST Master Dataset,
formulas can appear anywhere provided that each formula is enclosed within a start tag
<cmost> and an end tag </cmost>. In a CMOST Task file, formulas can be entered in
Parameters and Objective Functions page.

Parts of a Formula
A formula can contain any or all of the following: functions, variables (parameter or objective
function term names), constants, and operators.

Constants: Numbers or text values entered directly into a formula, such as 0.001,
OPEN.

Functions: The POWER(30, 0.25) function returns the result of 30 raised to 0.25.

Variables: SteamPress returns the chosen value of parameter SteamPress for the
particular simulation job created by CMOST.

Operators: The + (plus) operator adds, and the * (asterisk) operator multiplies.

Constants in Formulas
A constant is a value that is not calculated. For example, the number 210, and the text
"OPEN" are all constants. Text must be enclosed in double quotation marks. An expression,
or a value resulting from an expression, is not a constant.

Functions in Formulas
Functions are predefined formulas that perform calculations by using specific values, called
arguments, in a particular order, or structure. Functions can be used to perform simple or
complex calculations.

CMOST Studio: Getting Started

Appendices 123

Structure of a function:
POWER(SteamPress * 0.001, 0.2388057)

Structure: The structure of a function begins with the function name, an opening
parenthesis, the arguments for the function separated by commas, and a closing
parenthesis.

Function name: List of Built-in Functions in CMOST

Arguments: Arguments can be constants, parameter names, formulas, or other


functions. The argument you designate must produce a valid value for that
argument. For the LOOKUP function, arrays of constants or formulas can be
arguments as well.

In certain cases, you may need to use a function as one of the arguments of another function.
In this case, the function used as an argument is a nested function. When a nested function is
used as an argument, it must return the same type of value that the argument uses.

Variables in Formulas
For formulas in Master Dataset and Parameters page, a parameter name can be used as a
variable name. For formulas in Objective Functions page, an objective function term name
can be used as a variable name. A parameter name identifies a parameter defined in your
CMOST Task file. For a particular job created by CMOST, each parameter has one chosen
value, which will be used by CMOST in evaluating formulas. An objective function term
name identifies an objective function term within the objective function. For a complete job,
CMOST will extract the value from SR2 files and use it in calculating formulas.
For example, the following formula contains a parameter name SteamPress. For a specific
simulation job created by CMOST, the chosen value of parameter SteamPress is equal to
2500. When CMOST evaluates the formula, the result will be 223.78.
179.7989 * POWER(SteamPress * 0.001, 0.2388057)
Another example, the following formula contains two objective function terms: CumOil and
CSOR. CumOil is defined as the Cumulative Oil SC at 2008-12-01 and CSOR is defined as
the cumulative steam oil ratio at 2008-12-01. For a specific finished simulation job, CumOil
is equal to 6.528e5 m3 and CSOR is equal to 3.15. When CMOST evaluates the formula, the
result will be 0.207.
1e-6 * CumOil/CSOR

124 Appendices

CMOST Studio: Getting Started

Operators in Formulas
Operators specify the type of calculation that you want to perform on the elements of a formula.
CMOST includes two different types of calculation operators: arithmetic and comparison.
Arithmetic operators: To perform basic mathematical operations such as addition,
subtraction, or multiplication; combine numbers; and produce numeric results, use the
following arithmetic operators.
Arithmetic operator

Meaning (Example)

+ (plus sign)

Addition (3+3)

(minus sign)

Subtraction (31)

Negation

(1)

* (asterisk)

Multiplication (3*3)

/ (forward slash)

Division (3/3)

Comparison operators: You can compare two values with the following operators. When two
values are compared by using these operators, the result is a logical value either TRUE or
FALSE.
Comparison operator

Meaning (Example)

== (double equal sign)

Equal to (A1==B1)

> (greater than sign)

Greater than (A1>B1)

< (less than sign)

Less than (A1<B1)

>= (greater than or equal to sign)

Greater than or equal to (A1>=B1)

<= (less than or equal to sign)

Less than or equal to (A1<=B1)

!= (not equal to sign)

Not equal to (A1!=B1)

Formula Calculation Order


Formulas calculate values in a specific order. CMOST calculates the formula from left to
right, according to a specific order for each operator in the formula.
Operator precedence: If you combine several operators in a single formula, CMOST performs
the operations in the order shown in the following table. If a formula contains operators with
the same precedencefor example, if a formula contains both a multiplication and division
operator CMOST evaluates the operators from left to right.

CMOST Studio: Getting Started

Appendices 125

Operator

Description

Negation (as in 1)

* and /

Multiplication and division

+ and

Addition and subtraction

== < > <= >= !=

Comparison

Use of parentheses: To change the order of evaluation, enclose in parentheses the part of the
formula to be calculated first. For example, the following formula produces 11 because
CMOST calculates multiplication before addition. The formula multiplies 2 by 3 and then
adds 5 to the result.
=5+2*3
In contrast, if you use parentheses to change the syntax, CMOST adds 5 and 2 together and
then multiplies the result by 3 to produce 21.
=(5+2)*3

List of Built-in Functions in CMOST


IF

Returns one value if a condition you specify evaluates to TRUE and another value if it
evaluates to FALSE. Use IF to conduct conditional tests on values and formulas.
Syntax
IF(logical_test, value_if_true, value_if_false)

logical_test is any value or expression that can be evaluated to TRUE or FALSE. For
example, WellLen>=800 is a logical expression; if the value of WellLen is greater than or
equal to 800, the expression evaluates to TRUE. Otherwise, the expression evaluates to
FALSE. This argument can use any comparison calculation operator.
value_if_true is the value that is returned if logical_test is TRUE. Value_if_true can be a
constant or a formula.
value_if_false is the value that is returned if logical_test is FALSE. Value_if_false can be a
constant or a formula.
Example 1
Use the following IF functions to open/close certain perforations of a well according to the
length of the well in a CMOST Master Dataset.

126 Appendices

CMOST Studio: Getting Started

PERF GEO
**$ UBA
9 3 12 1.
9 4 12 1.
9 5 12 1.
9 6 12 1.
9 7 12 1.
9 8 12 1.
9 9 12 1.

'Horizontal'
ff
Status Connection
OPEN FLOW-TO 'SURFACE'
OPEN FLOW-TO 1
OPEN FLOW-TO 2
OPEN FLOW-TO 3
<cmost>IF(WL>=500,"OPEN","CLOSED")</cmost> FLOW-TO 4
<cmost>IF(WL>=600,"OPEN","CLOSED")</cmost> FLOW-TO 5
<cmost>IF(WL>=700,"OPEN","CLOSED")</cmost> FLOW-TO 6

For a simulation job created by CMOST with WL=600, perforations for well 'Horizontal' in
the dataset will be:
PERF GEO
**$ UBA
9 3 12 1.
9 4 12 1.
9 5 12 1.
9 6 12 1.
9 7 12 1.
9 8 12 1.
9 9 12 1.

'Horizontal'
ff
Status Connection
OPEN FLOW-TO 'SURFACE'
OPEN FLOW-TO 1
OPEN FLOW-TO 2
OPEN FLOW-TO 3
OPEN FLOW-TO 4
OPEN FLOW-TO 5
CLOSED FLOW-TO 6

LOOKUP

The LOOKUP function looks in array_constants for the specified value and returns a value
from the same position in array_formulas. Use LOOKUP to define relationships between
parameters.
Syntax
LOOKUP(lookup_value, array_constants, array_formulas)

lookup_value is a value that LOOKUP searches for in an array. Lookup_value must be a


parameter name.
array_constants is a group of constants that you want to compare with lookup_value.
array_formulas is a group of formulas, one of which will be the return value of the LOOKUP
function. The number of formulas should be equal to the number of constants in
array_constants.
Remarks
array_constants format

Constants are enclosed in braces { } and separated with commas (,).

Array constants can contain numbers, and text. Text is case-sensitive.

Numbers in array constants can be in integer, decimal, or scientific


format.

Text must be enclosed in double quotation marks, for example,


"CLOSED".

CMOST Studio: Getting Started

Appendices 127

Array constants cannot contain formulas and parameter names.

array_formulas format

The format of array_formulas is the same as array_constants except that


array_formulas can contain constants, formulas, and variable names.

Important

The LOOKUP function finds the value that matches exactly the same as
the lookup_value. If LOOKUP can't find the lookup_value, the result is
undefined.

Example 2
Use the LOOKUP function to set the mole fraction of solution gas according to gas-oil ratio
in a CMOST Master Dataset
**$ Property: Oil Mole Fraction(Soln_Gas)
MFRAC_OIL 'Soln_Gas' CON
<cmost>LOOKUP(ogor, {7,5,4,3},
{0.10,0.08,0.06,0.04})</cmost>

For a simulation job created by CMOST with ogor=4, the mole fraction of solution gas will
be set to 0.06
**$ Property: Oil Mole Fraction(Soln_Gas)
MFRAC_OIL 'Soln_Gas' CON
0.06
ABS

Returns the absolute value of a number. The absolute value of a number is the number
without its sign.
Syntax
ABS(number)

number is the actual number of which you want the absolute value.
Example
ABS(-12.5) returns 12.5

128 Appendices

CMOST Studio: Getting Started

COS

Returns the cosine of the given angle.


Syntax
COS(number)

number is the angle in radians for which you want the cosine.
Remark
If the angle is in degrees, multiply it by 3.14159/180 to convert it to radians.
Example
COS(1.047) returns 0.500171
EXP

Returns e raised to the power of number. The constant e equals 2.71828182845904, which is
the base of the natural logarithm.
Syntax
EXP(number)

number is the exponent applied to the base e.


Remarks
To calculate powers of other bases, use the POWER function.
Example
EXP(2) returns 7.389056
LN

Returns the natural logarithm of a number. Natural logarithms are based on the constant e
(2.71828182845904).
Syntax
LN(number)

number is the positive real number for which you want the natural logarithm.
Remark
LN is the inverse of the EXP function.

CMOST Studio: Getting Started

Appendices 129

Example
LN(2.7182818) returns 1
LOG10

Returns the base-10 logarithm of a number.


Syntax
LOG10(number)

number is the positive real number for which you want the base-10 logarithm.
Example
LOG10(100) returns 2
MAX

Returns the largest value in a set of values.


Syntax
MAX(number1,number2,...)

number1, number2, ... are numbers for which you want to find the maximum value.
Remarks

You can specify arguments that are numbers, variable names, and formulas.

The arguments must contain at least two values.

Example
MAX(var1, 2.54) returns 2.54 if var1=1.06
MIN

Returns the smallest number in a set of values.


Syntax
MIN(number1,number2,...)

number1, number2, ... are values for which you want to find the minimum value.
Remarks

You can specify arguments that are numbers, variable names, and formulas.

The arguments must contain at least two values.

130 Appendices

CMOST Studio: Getting Started

Example
For a SAGD well pair, you want to change the total liquid rate of the producer according to
the steam rate of the injector. You can use the MIN function in your Master Dataset to
achieve this.
INJECTOR MOBWEIGHT EXPLICIT 'WEST-I'
INCOMP WATER 1. 0. 0.
TINJW 253.2
QUAL 0.9
OPERATE MAX BHP 4200. CONT REPEAT
OPERATE MAX STW <cmost>Steam</cmost> CONT REPEAT
PRODUCER 'WEST-P'
OPERATE MIN BHP 2000 CONT REPEAT
OPERATE MAX STL <cmost>MIN(Steam*1.6,1000)</cmost> CONT REPEAT

For a job with Steam=500, operating constrains for producer 'WEST-P' will be:
PRODUCER 'WEST-P'
OPERATE MIN BHP 2000 CONT REPEAT
OPERATE MAX STL 900 CONT REPEAT

For a job with Steam=700, operating constrains for producer 'WEST-P' will be:
PRODUCER 'WEST-P'
OPERATE MIN BHP 2000 CONT REPEAT
OPERATE MAX STL 1000 CONT REPEAT
POWER

Returns the result of a number raised to a power.


Syntax
POWER(number, power)

number is the base number. It can be any number.


power is the exponent to which the base number is raised.
Example
POWER(5,2) returns 25

CMOST Studio: Getting Started

Appendices 131

SIN

Returns the sine of the given angle.


Syntax
SIN(number)

number is the angle in radians for which you want the sine.
Remark
If your argument is in degrees, multiply it by 3.14159/180 to convert it to radians.
Example
SIN(30*3.14159/180) return 0.5
SQRT

Returns a positive square root.


Syntax
SQRT(number)

number is the number for which you want the square root.
Remark
The number must be non-negative.
Example
SQRT(2.0) returns 1.4142
TAN

Returns the tangent of the given angle.


Syntax
TAN(number)

number is the angle in radians for which you want the tangent.
Remark
If your argument is in degrees, multiply it by 3.14159/180 to convert it to radians.
Example
TAN(0.785) return 0.99920

132 Appendices

CMOST Studio: Getting Started

Appendix B: Names in CMOST


In Parameters, Objective Functions, and Results Observers page, proper names must be
entered for each defined parameter, objective function, objective function term, time-series
observer, and fixed-date observer. The following guidelines should be followed:

The first character of a name must be a letter. Remaining characters in the name
can be letters, numbers, and underscore characters.

Names are case sensitive.

Spaces are not allowed. Underscore characters may be used as word separators
for example, perm_h, perm_v.

It is OK to use simulator keywords as parameter names. This indeed has some


advantages for users who are familiar with simulator keywords because the
meaning of such defined parameter will be very clear.

Do not use the following names because they are internal keywords used by
CMOST: this, Status, Dataset, Scheduler, Computer, Pattern, and Source.

All names must be unique. That is, if a name is already used for a parameter, it
shouldnt be used for an objective function or a result observer.

Appendix C: Optimizers
CMG DECE Optimizer
CMG DECE Optimizer implements CMGs proprietary optimization method: Designed
Exploration and Controlled Evolution. DECE optimization method tries to imitate the process
which reservoir engineers commonly use to solve history matching or optimization problems.
For simplicity, DECE optimization can be described as an iterative optimization process that
applies Designed Exploration stage and Controlled Evolution stage sequentially. In the
Designed Exploration stage, the goal is to explore the search space in a designed random
manner such that maximum information about the solution space can be obtained. In this stage,
experimental design and Tabu search techniques are applied to pick parameter values and create
representative simulation datasets. In the Controlled Evolution stage, statistical analyses are
performed for the simulation results obtained in the Designed Exploration stage. Based on the
analyses, DECE algorithm scrutinizes every candidate values of each parameter and determines
whether there is better chance to improve solution quality if certain candidate values are
rejected (banned) from being picked again. These rejected candidate values are remembered by
the algorithm and they will not be used in the next Controlled Exploration stage. To minimize
the possibility of being trapped in local minima, DECE algorithm checks rejected candidate
values from time to time to make sure previous rejection decisions are still valid. If the
algorithm determines that certain rejection decisions are not valid, the rejection decisions are
recalled and corresponding candidate values will be used again.
CMOST Studio: Getting Started

Appendices 133

One important unique feature of CMG DECE optimization method is its capability to
incorporate users engineering judgment and understanding of the reservoir in the
optimization process by adopting the concept of influence matrix. Each element of the
influence matrix indicates users estimation on the possibility of whether changing a
parameter will affect an objective function. For example, if a user knows that adjusting the
skin of a well A will not affect the simulation results of well B which is several hundred
meters away from well A, the user can let the DECE optimization method incorporate such
important information by setting the corresponding influence matrix element value to zero for
the skin parameter of well A and history match objective function of well B. For large fields
with multiple wells and large number of adjustable parameters, the efficiency of CMG DECE
optimization method can be improved dramatically by using a proper influence matrix. See
Influence Matrix for more information on how to set up an influence matrix.
DECE optimization method has been successfully applied in a number of real world reservoir
simulation studies, such as:

History matching for a highly heterogeneous black oil model

History matching of cold heavy oil production with aquifer

History matching of cyclic steam stimulation process

NPV optimization for a post-primary SAGD model with aquifer

NPV optimization for a 6 well pair SAGD model

The results demonstrate that DECE optimization method is reliable and efficient. Therefore,
it is the recommended optimization method in CMOST.

Particle Swarm Optimizer


Particle swarm optimization (PSO) is a population based stochastic optimization technique
developed by James Kennedy and Russell C. Eberhart in 1995, inspired by social behavior of
bird flocking or fish schooling.
Social influence and social learning enable a person to maintain cognitive consistency. People
solve problems by talking with other people about them, and as they interact their beliefs,
attitudes, and behaviors change; the changes could typically be depicted as the individuals
moving toward one another in a sociocognitive space.
The particle swarm simulates this kind of social optimization. The system is initialized with a
population of random solutions and searches for optima by updating generations. The
individuals iteratively evaluate their candidate solutions and remember the location of their
best success so far, making this information available to their neighbors; they are also able to
see where their neighbors have had success. Movements through the search space are guided
by these successes, with the population usually converging towards good solutions.

134 Appendices

CMOST Studio: Getting Started

It is noted that the current Particle Swarm Optimization in CMOST has the following
limitations (known problems):

It should not be used if the search space is smaller than 500.

The maximum number of allowed simulator calls in the Run Configuration page
should be smaller than the search space.

It does not support CMOST restart.

Particle Swarm Optimization Switches

It is optional to enter optimization switches in Run Configurations page for particle swarm
optimization.

Activate Simulated Annealing indicates whether or not to activate simulated


annealing while PSO is working. Its default is True.

Days represents the number of days user can allow optimizer to retrieve valid
solutions from the repository. Its default is 1.

Maximum Number of Retrieved Solutions represents how many solutions the


optimizer will retrieve. Its default is 10000. Any positive integer greater than 100
may be used.

Multiple Objective Optimization represents the work way used by the optimizer. If
this option is False, Single-objective optimization will be used. Multi-objective
optimization will be used if its value is True. The default is False.

Number of Annealing Times represents the number of annealing times used by the
simulated annealing optimizer. Its default is 20. If the parameter design space is
small, smaller values should be used. If the space is larger, greater values should
be used.

Starting Number of Simulator Calls initially activating simulated annealing


optimizer represents the number of calls where the simulated annealing optimizer
begins to activate. Its default is 250.

Threshold represents the threshold for influence matrix; the threshold must be
between 0 and 1. Its default is 0.2.

Total Number of Simulator Calls only by PSO represents the number of simulator
calls that will be used by the Particle Swarm Optimizer. The default is 500. This
value will override the Maximum Number of Simulator Calls given on the Run
Configurations page.

CMOST Studio: Getting Started

Appendices 135

Brute Force Search


Brute Force Search method is a straightforward optimization method which tries to evaluate
all possible solutions and decide afterwards which one is the best. It is feasible only for small
problems in terms of the dimensionality of the search space. More specifically, CMOST
requires that the search space (the number of all possible parameter value combinations)
should be less than 65536. Despite these drawbacks, Brute Force Search method does have a
few benefits: they are simple to implement, and in the case of discrete systems, all possible
solutions can be checked, which means that it can always find the true optimum solution if all
possible solutions are indeed evaluated.

Random Search
Random search methods for optimization are based on exploring the domain in a random
manner to find optimum solutions. These are the simplest methods of stochastic optimization
and can be quite effective in some problems (small search space and fast-running simulation
jobs). There are many different algorithms for random search such as blind random search,
localized random search, and enhanced localized random search. The algorithm implemented
in CMOST is blind random search. This is the simplest random search method, where the
current sampling does not take into account the previous samples. That is, this blind search
approach does not adapt the current sampling strategy to information that has been garnered
in the search process. One advantage of blind random search is that it is guaranteed to
converge to the optimum solution as the number of function evaluations (simulations) gets
large. Realistically, however, this convergence feature may have limited use in practice since
the algorithm may take a prohibitively large number of function evaluations (simulations) to
reach the optimum solution.

Appendix D: Probability Density Functions


Uniform Distribution

1
f (x )
ba

xa
axb
xb

Here, a and b are the lower and upper limit of the variable.

136 Appendices

CMOST Studio: Getting Started

Triangle Distribution

2( x a )
( b a )(c a )
f (x)
2( b x )

(b a )(b c)

xa
axc
cxb
xb

Here, a and b are the lower and upper limit of the variable; c is the peak (mode).

Normal Distribution
f (x)

( x ) 2
exp
2
2
2
1

Here, and are the mean and standard deviation of the variable.

Log-normal Distribution
f (x)

(ln x ) 2
exp
2 2
x 2

Here, and are the mean and standard deviation of the variables natural logarithm.

Appendix E: Objective Functions


Three different types of objective functions can be used in CMOST:

History Match Error

Discounted Value

Raw Simulation Result

History Match Error should be used for history matching task only. Discounted Value and
Raw Simulation Result can be used for optimization, sensitivity analysis, and uncertainty
assessment tasks.

History Match Error


History Match Error objective function measures the relative difference between the
simulation results and measured production data. If a field has multiple wells and each well
CMOST Studio: Getting Started

Appendices 137

has multiple types of production data to match, it is recommended to define an objective


function for each well. The objective function of each well contains multiple objective
function terms, each of which corresponds to a production data type. In practice, it is also
common to see that the quality and importance of measured data may be different for
different production data types. In a manual history match, these variations are usually taken
into account by the reservoir engineer intuitively and qualitatively. In computer-assisted
history matching, a quantitative approach should be used to account for the data quality and
importance. Therefore, different measurement errors and weights need to be assigned to
different production data types of different wells in calculating objective functions. In
CMOST, the following equation is used to calculate History Match Error for well i:
Error! Objects cannot be created from editing field codes.

Here subscripts i, j, t represent well, production data type, and time respectively; N(i) is the total
number of production data types for well i; NT(i, j) is the total number of measured data points;
Yis, j, t are simulated results; Yim, j, t are measured results; twi,j is the term weight; and Scalei,j is the
normalization scale, which is calculated by using one of the following two methods.
Method #1 applies when the number of measured data points is greater than 5. In this method,
the normalization scale is the maximum of the following three quantities:
Error! Objects cannot be created from editing field codes.
Error! Objects cannot be created from editing field codes.
Error! Objects cannot be created from editing field codes.

Here Yim, j is the measured maximum change for well i and production data type j; Merri,j is
the measurement error.
Method #2 applies when the number of measured data points is small (5). In this case, the
normalization scale is obtained by:
Error! Objects cannot be created from editing field codes.

As can be seen from the above equation, the calculated History Match Error is dimensionless
percentage relative error. If simulation results are exactly the same as measured data, the
calculated history match error is 0% which indicates perfect match. Our experience indicates
that if history match error is less than 5%, the match is usually acceptable.
Because the defined History Match Error is dimensionless, it can be used to calculate the
global history match error using the weighted average method.
Error! Objects cannot be created from editing field codes.

Here Qglobal is the global objective function; Qi is the objective function for well i; and NW is
the total number of wells.

138 Appendices

CMOST Studio: Getting Started

Discounted Value
In finance and economics, discounting is the process of finding the present value of an
amount of cash at some future date, and along with compounding cash forms the basis of time
value of money calculations. The discounted value of a cash flow is determined by reducing
its value by the appropriate discount rate for each unit of time between the time when the
cash flow is to be valued to the time of the cash flow.
To calculate the present value of a single cash flow, it is divided by one plus the interest rate
for each period of time that will pass.
Error! Objects cannot be created from editing field codes.

Here t is the time of the cash flow; I is the discount rate (interest rate); Rt is the net cash flow
(positive for inflow, and negative for outflow) at time t.
Net present value (NPV) is defined as the total present value (PV) of a time series of cash
flows. It is a standard method for using the time value of money to appraise long-term
projects. Each cash inflow/outflow is discounted back to its present value (PV). Then they are
summed. Therefore NPV is the sum of all terms.
Error! Objects cannot be created from editing field codes.

Based on the above equation, the Discounted Value objective function in CMOST is
calculated by
NJ Ndays

j1 t 1

Quantity * UnitValue
(1 I) t

Here t is the time of the cash flow in days; I is the daily interest rate; Quantity is the value
read from the SR2 file using user-specified origin name and property name; Unit Value is
user-specified cash flow value per Quantity (positive for inflow, and negative for outflow);
Ndays is the total number of days from the user-specified start date time and the end date
time; j represents each objective function term; and NJ is the number of objective function
terms for the Discounted Value objective function.
It is noted that CMOST uses the OUTUNIT table of the IRF file to read SR2 files. Therefore,
it is users responsibility to enter a proper Unit Value for each objective function term
according to the OUTUNIT of datasets. For example, if the output unit of oil rate is bbl/day,
the unit value should be dollar per barrel. If the output unit of oil rate is m3/day, the unit
value should be dollar per m3.

Raw Simulation Result


Raw Simulation Result objective function allows users to specify user-defined objective
functions. Each Raw Simulation Result objective function contains a list of objective function
terms. Each objective function term is identified by its unique term name. To define a custom
objective function, users can use each term name as a variable name to construct a formula.
CMOST Studio: Getting Started

Appendices 139

The formula will then be used by CMOST in objective function calculations. For example, a
Raw Simulation Result objective function has two terms:

CumOil identifies Cumulative Oil SC on 2008-10-01 for Producer

CSOR identifies Cumulative Steam-Oil Ratio on 2008-10-01 for Injector-Producer


pair

The formula field of the objective function is CumOil/CSOR. Therefore, the calculated
value of the objective function is equal to CumOil divided by CSOR which means
cumulative oil production per unit CSOR.

Appendix F: Experimental Design


In Sensitivity Analysis and Uncertainty Assessment, CMOST deliberately change one or
more variables (parameters) in order to observe the effect the changes have on one or more
response variables (objective functions). The statistical design of experiments is an efficient
procedure for planning experiments (simulation runs) so that the data obtained can be
analyzed to yield valid and objective conclusions.
Design of experiments begins with determining the objectives of an experiment (simulation)
and selecting the process variables (parameters) for the study. An Experimental Design in
CMOST is the laying out of a detailed simulation plan in advance of doing simulations. Well
chosen experimental designs maximize the amount of "information" that can be obtained for
a given amount of simulation effort.
The statistical theory underlying Experimental Design generally begins with the concept of
process models. In CMOST, the reservoir model is treated as a black-box type process model
with several discrete or continuous input parameters that can be varied at will by the user and
one or more measured (calculated) output responses (objective functions). The output
responses are assumed continuous. Experimental (simulation) data are used to derive an
empirical (approximation) model linking the outputs and inputs. The most common empirical
models take either a linear form or quadratic form of a polynomial function.
One important step in sensitivity/uncertainty analysis study is to choose the range of the
settings for input parameters. It is wise to give this some thought beforehand rather than just
try extreme values. In some cases, extreme values will give runs that are impractical or
impossible; in other cases, extreme ranges might move one out of a smooth area of the
response surface into some jagged region, or close to an asymptote.
Successful application of Experimental Design requires that the responses (objective
functions) are likely to be approximated well by first-order or second-order polynomial
models. For Sensitivity Analysis, first-order polynomial models are used. This requires that
over the experimental range, outputs (objective functions)

must be continuous

140 Appendices

CMOST Studio: Getting Started

must be reasonably smooth and close to linear

For Uncertainty Assessment, second-order polynomial models are used. This require that
over the experimental range, outputs (objective functions)

must be continuous

must be reasonably smooth

Sensitivity Analysis Experimental Designs


Two-level designs are used in Sensitivity Analysis. Two-level designs are ideal for screening
designs. They are simple and economical. They also give most of the information required to
go to a multilevel response surface experiment if one is needed.
The standard layout for a two-level design uses - and + notation to denote the "low level" and
the "high level" respectively, for each parameter. For example, the matrix below
Run

Parameter (X1)

Parameter (X2)

Describes an experiment in which 4 runs were conducted with each parameter set to high or
low during a run according to whether the matrix had a + or - set for the parameter during that
run. If the experiment had more than 2 parameters, there would be an additional column in
the matrix for each additional parameter.

CMOST Studio: Getting Started

Appendices 141

The following types of experimental designs are available in CMOST:

Full factorial designs

Fractional factorial designs

Plackett-Burman designs

Uncertainty Assessment Experimental Designs


In Uncertainty Assessment, three-level experimental designs are used. In a three-level design,
each parameter effect on the response is evaluated at three levels (low, median, and high).
Three-level designs are also called response surface designs because in addition to main
effects (linear term), both two-term interactions and quadratic terms can be examined. The
standard layout for a three-level design uses -, 0, and + notation to denote the "low level",
median level, and the "high level" respectively, for each parameter. CMOST provides the
following types of response surface designs:

Full Factorial designs

Box-Behnken designs

Central Composite designs (Face Centered, Uniform Precision)

Appendix G: Post Processing


Sensitivity Analysis Post Processing
In post processing a Sensitivity Analysis task results, CMOST calculates the effect estimate
of each parameter for each objective function. The effect estimate indicates how changing the
settings of a parameter change the response (objective function). The effect estimate of a
single parameter is also called a main effect. For a parameter X with two levels, the main
effect of X for an objective function is estimated by subtracting the average objective
function value when X is from the average objective function value when X is +.
Effect Estimate Y ( ) Y ( )

Here Y () is the average response (objective function) value for which the parameter takes
on a "+" value; and Y () is the average response (objective function) value for which the
parameter takes on a "-" value.
In the above equation, a large difference in the two averages imply that the parameter is
important because it means that it leads to a significant shift in the location of the response as
we go from the - setting of the parameter to the + setting. On the other hand, a small
difference would imply the factor is not important.

142 Appendices

CMOST Studio: Getting Started

A Tornado plot for an objective function displays a sequence of effect estimates of all
parameters for the objective function in the ascending order. To assist in comparability and
relative importance, all of the effect estimates are plotted on the same scale as the average
(intercept) objective function value, which is calculated from:
Error! Objects cannot be created from editing field codes.

Uncertainty Assessment Post Processing


Response Surface Modeling

Response surface methodology (RSM) explores the relationships between input variables
(parameters) and responses (objective functions). The main idea of RSM is to use a set of
designed experiments to build a surrogate model to represent the original complicated
reservoir simulation model. CMOST uses a second-degree polynomial model to fit simulation
results of experimental design runs. In the general case, a quadratic polynomial in n variables
x1, x2, ,xn can be written in the form
Error! Objects cannot be created from editing field codes.

Here A is a symmetric n-dimensional matrix; B is an n-dimensional vector; and C a constant.


It is noted that such a surrogate model is simple and easy to estimate, but it is used because
such a model is generally sufficient for forecast purpose given the fact that so little is known
about the future behavior of a reservoir. It has also been found that quadratic polynomials are
comparable to complex responses surfaces in terms of their estimation accuracy (See Paper
SPE 93347: Yeten, B., Castellini, A. Guyaguler, B., and Chen, W.H., A Comparison Study
on Experimental Design and Response Surface Methodologies). In CMOST, the seconddegree polynomial model is further used in Monte Carlo simulation to analyze uncertainty
propagation. Moreover, it can also be used to optimize (maximize, minimize, or attain a
specific target) for a response (objective function). In such use, it is suggested that the
polynomial model should be potentially limited to interpolation (rather than extrapolation)
among the variable values.
Monte Carlo Simulation

Monte Carlo simulation is an accurate method for analyzing uncertainty propagation, where
the goal is to determine how random variation, lack of knowledge, or error affects the
sensitivity, performance, or reliability of the system that is being modeled. Monte Carlo
simulation is categorized as a sampling method because the inputs are randomly generated
from probability distributions to simulate the process of sampling from an actual population.
So, it is required to choose a distribution for the inputs (parameters) that most closely
characterize data we already have, or best represents our current state of knowledge. The
results generated from the simulation can be represented as probability distributions
(probability density function and cumulative density function) or converted to error bars,
reliability predictions, tolerance zones, and confidence intervals. The following figure
demonstrates the concept of uncertainty propagation analysis using Monte Carlo simulation.
CMOST Studio: Getting Started

Appendices 143

Reservoir simulation models are usually computationally expensive. It is practically


impossible to iteratively evaluating a reservoir model tens of thousands of times which are
required by Monte Carlo simulation. Therefore, in CMOST, the response surface model is
used as the surrogate model in Monte Carlo simulation to represent the reservoir model.
CMOST performs two types of Monte Carlo simulation:

Unconditional simulation where all input parameter values are randomly


generated.

Conditional simulation where all input parameter values are randomly generated
except for one parameter which is fixed at the low, median, or high level value.

Unconditional simulation results can be used to examine reservoir performance and the
overall reliability of the forecast. Conditional simulation results can be used to analyze the
sensitivity of forecast results to each input parameter.

144 Appendices

CMOST Studio: Getting Started

Вам также может понравиться