Sunteți pe pagina 1din 1807

Tempest MORE Help

Release 8.1

Emerson Roxar

November 2017
Copyright © 1999-2017 Roxar Software Solutions. All rights reserved.
Use of this product is governed by the Licence Agreement. Roxar Software Solutions makes no warranties,
express, implied or statutory, with respect to the product described herein and disclaims without limitation any
warranties of merchantability or fitness for a particular purpose.
This documentation may not be copied, photocopied, reproduced, translated, or converted to any electronic or
machine-readable form in whole or in part without prior written approval of Roxar Software Solutions.
While every effort has been made to ensure the accuracy of this documentation, Roxar Software Solutions accepts
no responsibility or liability for any errors or inaccuracies that it might contain. Be aware that continuous im-
provement of the described products may lead to minor differences between the products and the documentation.

Roxar Software Solutions


Gamle Forusvei 17
P.O. Box 112, 4065 Stavanger, Norway

Roxar is a brand of Emerson Automation Solutions, and a global software leader in the integrated workflow span-
ning seismic interpretation, reservoir characterisation, 3D reservoir geological modelling, reservoir simulation,
history matching and production management. Their solutions help operators make informed decisions across the
prospect lifecycle on where to drill, what production strategies to adopt, and how to maximize oil & gas recovery
from their assets.
Emerson Automation Solutions, an Emerson business, is a leader in helping businesses automate their production,
processing and distribution in the chemical, oil and gas, refining, pulp and paper, power, water and wastewater
treatment, mining and metals, food and beverage, life sciences and other industries. Its brands include PlantWeb™,
Syncade™, DeltaV™, Fisher®, Micro Motion®, Rosemount®, Daniel™, Ovation®, AMS Suite, and Roxar™.

ECLIPSE is a service mark of Schlumberger.


ECLIPSE-Office is a service mark of Schlumberger.
GRAF is a service mark of Schlumberger.
INTERSECT is a service mark of Schlumberger.

VIP and NEXUS are registered trademarks of Landmark Graphics Corporation.

POWERS and GigaPOWERS are a service mark of Saudi Aramco.

IMEX, STARS, GEM and RESULTS are programs from CMG.

“Python” is a registered trademark of the Python Software Foundation.

i
ii
CONTENTS

1 Getting Started 1
1.1 Introduction to Tempest MORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Running the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Data overview 3
2.1 Outline of Data Input Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Global Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 INPUt Data Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 FLUId Data Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 RELAtive Permeability Data Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 GRID Data Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7 INITialization Data Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8 RECUrrent Data Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Table of Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Tempest MORE version changes 21


3.1 Changes in MORE 8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Changes in MORE 8.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Changes in MORE 7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Changes in MORE 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5 Changes in MORE 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6 Changes in MORE 6.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7 Changes in MORE 6.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.8 Changes in MORE 6.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.9 Changes in MORE 6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.10 Changes in MORE 6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.11 Changes in MORE 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.12 Changes in MORE 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.13 Changes in MORE 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.14 Deprecated Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 Tempest MORE global keywords 47


4.1 DEBU (or DUMP) - Set Debug Output Requests . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 ECHO - Control of Input Data Echo Printing . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 ENDS - Stop Skipping Input Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4 EPRI - Request that ECLIPSE Keywords are Recognised before MORE Keywords . . . . . . 52
4.5 INCL - Specify an Include File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.6 MONI - Switch on details of simulation iteration . . . . . . . . . . . . . . . . . . . . . . . . 54
4.7 SKIP - Start Skipping Input Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.8 SWIT - Switch between Standard and Alternate I/O Units . . . . . . . . . . . . . . . . . . . 56

5 Tempest MORE input section keywords 57


5.1 ABSP - Use Absolute Pathnames for Open and Include Files . . . . . . . . . . . . . . . . . . 57
5.2 ADAP - Control Degree of Implicitness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3 AIMT - Set target for AIM (adaptive implicit method) . . . . . . . . . . . . . . . . . . . . . 60

iii
5.4 BACK - Request Back-Compatibility with Previous Version 5.0 of MORE . . . . . . . . . . . 61
5.5 BLOG - Request Binary Log File is Output by the MORE Run . . . . . . . . . . . . . . . . . 62
5.6 BCON - Use the Boundary Conditioning Linear Solver . . . . . . . . . . . . . . . . . . . . . 63
5.7 BCOP - Options for the Boundary Conditioning Linear Solver . . . . . . . . . . . . . . . . . 64
5.8 BICG - Request Bi-conjugate Gradient Stabilised Acceleration in the Linear Solver . . . . . . 65
5.9 CNAM - Component Names in a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.10 COAR - Specify Uniform Coarsening Factors in X, Y, and Z-Directions . . . . . . . . . . . . 67
5.11 CPFL - Use Compressibility Preserving Pressure Function Lookup . . . . . . . . . . . . . . . 69
5.12 CSEP - Request that Completion Streams be Flashed through Separators . . . . . . . . . . . . 70
5.13 CXGR - Specify Non-Uniform Coarsening in the X-Direction . . . . . . . . . . . . . . . . . 71
5.14 CYGR - Specify Non-Uniform Coarsening in the Y-Direction . . . . . . . . . . . . . . . . . 73
5.15 CZGR - Specify Non-Uniform Coarsening in the Z-Direction . . . . . . . . . . . . . . . . . 75
5.16 DIRE - Control of Data Checking and Program Execution . . . . . . . . . . . . . . . . . . . 77
5.17 DRIL - Select Once-only or Multiple Drilling from Drilling Queue . . . . . . . . . . . . . . . 78
5.18 DWPW - Default Weighting for Pressure Averages of Wells . . . . . . . . . . . . . . . . . . 79
5.19 ECCF - Add Contributions to Connection Factors using Root of Sum of Squares . . . . . . . 80
5.20 EDAT - End Date or Time of the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.21 ERRO - Severity and Output Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.22 ETUN - Set Tuning to Match ECLIPSE Settings . . . . . . . . . . . . . . . . . . . . . . . . 83
5.23 EVEN - Select Time-Stepping Option with Events . . . . . . . . . . . . . . . . . . . . . . . 84
5.24 FAFL - Use Fracture Augmented Flow option . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.25 FL3P - Test for Three Phase Hydrocarbon States . . . . . . . . . . . . . . . . . . . . . . . . 87
5.26 FLXR - Request that Reservoir Fluxes be read from a Flux File . . . . . . . . . . . . . . . . 88
5.27 FLXT - Set Type of Flux Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.28 FLXW - Request that Reservoir Fluxes be written to a File . . . . . . . . . . . . . . . . . . . 92
5.29 FORC - Model Forchheimer (Non-Darcy) Flow . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.30 GPP - Use gas pseudo-pressure for well inflow . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.31 HYST - Switch On Hysteresis Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.32 IDAT - Initial or Beginning Date of the Simulation . . . . . . . . . . . . . . . . . . . . . . . 96
5.33 IEPD - Imbibition EndPoint Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.34 IMPL - Control Degree of Implicitness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.35 IMPQ - Set Options for IMPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.36 IPFL - Use Inverse Pressure Function Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.37 INPU - Input Section Header Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.38 IPR - Request Inflow Performance Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.39 LOAD - Reads a fast restart file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.40 LOGF - Select Destination for Standard Output . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.41 LUMP - Lumped Component Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.42 MAXC - Maximum CPU time for the simulation (in minutes) . . . . . . . . . . . . . . . . . 108
5.43 MAXE - Maximum elapsed time for the simulation (in minutes) . . . . . . . . . . . . . . . . 109
5.44 MAXM - Maximum memory for the simulation . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.45 MESL - Set print limits for messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.46 MFC - Request Matrix Fracture Condensation . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.47 MGDE - Debug output requests for Multigrid linear solver . . . . . . . . . . . . . . . . . . . 113
5.48 MGOP - Options for the Multigrid linear solver . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.49 MGLS - Use the Algebraic Multigrid Linear Solver . . . . . . . . . . . . . . . . . . . . . . . 115
5.50 MGVB - Use the FIPE Linear Equation Set . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.51 MIXK - Mix Oil and Gas Relative Permeabilities and Potentials for Miscible Cases . . . . . . 117
5.52 MINS - Minimum time step for the simulation . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.53 MPFA - Use Multipoint Flux Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.54 MPGP - Use Multi-Phase Gas Pseudo-pressure for well inflow . . . . . . . . . . . . . . . . . 121
5.55 NEPT - Number of Pressure Tables (for use when reading ECLIPSE format Fluid Properties) . 122
5.56 NEST - Number of Saturation Tables (for use when reading ECLIPSE format Fluid Properties) 124
5.57 NEZT - Number of Equation of State Regions (for use when reading ECLIPSE format Fluid
Properties) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.58 NFLS - Force Use of the Nested Factorisation Solver . . . . . . . . . . . . . . . . . . . . . . 128
5.59 NOHY - Switch Off Hysteresis Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.60 NUMA - This run will use numerical aquifers . . . . . . . . . . . . . . . . . . . . . . . . . . 130

iv
5.61 OPEN - Defines Alternate I/O Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.62 OPER - Select Time-Stepping Option with Operations . . . . . . . . . . . . . . . . . . . . . 134
5.63 OPMX - Maximum Number of Cells for a Printed Map in the .out File . . . . . . . . . . . . . 135
5.64 PRIN - Define Printing Options for Input Data . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.65 QCVF - Use Quadratic Compressibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.66 RPTB - Request a report on the BLOG file contents . . . . . . . . . . . . . . . . . . . . . . . 139
5.67 RMS - Use root-mean-square error measure . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.68 RG - Use Russell-Goodrich for well inflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.69 SAVE - Generates a fast restart file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.70 SCMP - Standard Composition Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.71 SDAT - Starting Date or Time of the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.72 SLIP - Request use of Gas-Liquid Phase Slippage in Segmented Well Model . . . . . . . . . 145
5.73 SPLI - Splits for Additional Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.74 STRE - Request Output to Drive Streamline Displays in Tempest View . . . . . . . . . . . . 148
5.75 SWDA - Saturation Weighted Density Averages . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.76 TENS - Use Tensor Permeabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.77 TITL - Run Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.78 UNIT - Simulation Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.79 VDKR - Use Velocity-Dependent Relative Permeabilities for Well Inflow . . . . . . . . . . . 154
5.80 VSC3 - Select Scaling Method for Three-Point Vertical Scaling . . . . . . . . . . . . . . . . 155
5.81 WDOP - Options for Calculating Wellbore Density . . . . . . . . . . . . . . . . . . . . . . . 156
5.82 WFPLUS - Settings for improved well fracturing model functionality . . . . . . . . . . . . . 157
5.83 WFSP - Fraction Value for WFRA Shared Path Correction . . . . . . . . . . . . . . . . . . . 160

6 Tempest MORE fluid section keywords 161


6.1 FLUI - Fluid Section Header Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.2 GLST - Gas-liquid Surface Tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
6.3 KVSP - Pressure Dependent Permeabilities and Pore Volume Modifiers . . . . . . . . . . . . 164
6.4 KVPX, KVPY and KVPZ - Directional Pressure Dependent Permeability Modifiers . . . . . 169
6.5 OVPG - Oil Viscosity Modification with Pressure Gradient . . . . . . . . . . . . . . . . . . . 171
6.6 WVPG - Water Viscosity Modification with Pressure Gradient . . . . . . . . . . . . . . . . . 174
6.7 PCVR - Maximum Capillary Pressure Variation Rate. . . . . . . . . . . . . . . . . . . . . . . 175
6.8 APIT - Enable API Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.9 APIG - Maximal Number of API Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.10 TRAC - Defines a Tracer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.11 TSET - Defines a Tracer Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.12 WATR - Water Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.13 BASI - Defines Black Oil Basic Fluid Property Data . . . . . . . . . . . . . . . . . . . . . . 183
6.14 BDEN - Brine Surface Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.15 DENSITY - Defines Black Oil Basic Fluid Property Data . . . . . . . . . . . . . . . . . . . . 186
6.16 DPBD - Maximum Rate of Change of Bubble Point with Time in a Black Oil Model . . . . . 187
6.17 GPVT - Define Gas PVT Data for Black Oil Fluid . . . . . . . . . . . . . . . . . . . . . . . 188
6.18 OPVD - Define PVT Data in Table Form for Dead Oil . . . . . . . . . . . . . . . . . . . . . 191
6.19 OPVT - Define Oil PVT Data for Black Oil Fluid . . . . . . . . . . . . . . . . . . . . . . . . 192
6.20 PRIN - Black Oil Fluid Property Printing Options . . . . . . . . . . . . . . . . . . . . . . . . 195
6.21 PVTG - Condensate Gas Properties in ECLIPSE format . . . . . . . . . . . . . . . . . . . . 199
6.22 PVTO - Oil Properties in ECLIPSE format . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.23 PVTW - Water Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
6.24 PVTB - Brine Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
6.25 SDEN - Oil and Gas Surface Densities for Black Oil . . . . . . . . . . . . . . . . . . . . . . 207
6.26 SGRA - Oil API Gravity and Gas Specific Gravity for Black Oil . . . . . . . . . . . . . . . . 208
6.27 TEMP - Temperature for Black Oil Fluid Description . . . . . . . . . . . . . . . . . . . . . . 209
6.28 WPVT - Defines Water PVT Data in Table Form . . . . . . . . . . . . . . . . . . . . . . . . 210
6.29 EQUA - Define the Equation of State (EOS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.30 INTE - Binary Interaction Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
6.31 FCLI - Tune the Li Critical Temperature Correlation used to distinguish between Oil and Gas
Phases in Equation of State Runs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.32 GCON - Gas Condensate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

v
6.33 GCOR - Specific Gravity Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
6.34 KCOR - K-Value Correlation for Phase Stability Test . . . . . . . . . . . . . . . . . . . . . . 218
6.35 OMGA - Equation-of-State Ωa Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
6.36 OMGB - Equation-of-State Ωb Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
6.37 PRIN - Equation of State Fluid Property Printing Options . . . . . . . . . . . . . . . . . . . . 223
6.38 PROP - Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6.39 SOLU - Solubility Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
6.40 SURF - Reference Surface Tension Data for Equation-of-State Simulations . . . . . . . . . . 235
6.41 STDC - Set Standard Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
6.42 TEMP - Temperature Input for Equation-of-State Systems . . . . . . . . . . . . . . . . . . . 238
6.43 TEST - Testing Method for 1-phase Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
6.44 TOLE - Override Default Convergence Tolerances . . . . . . . . . . . . . . . . . . . . . . . 241
6.45 VCOR - Lohrenz-Bray-Clark Viscosity Correlation . . . . . . . . . . . . . . . . . . . . . . . 242
6.46 VICO - Viscosity Correlation for Compositional Runs . . . . . . . . . . . . . . . . . . . . . 244
6.47 VCVI - Critical volumes for equation of state viscosity correlations . . . . . . . . . . . . . . 245
6.48 VOLU - Volume Translation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.49 ZCOR - Z-Factor Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
6.50 ZCVI - Critical Z-factors for Equation of State Viscosity Correlations . . . . . . . . . . . . . 248
6.51 POLY - Enable Polymer Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
6.52 PPRO - Variation of Water Viscosity with Water Polymer Concentration . . . . . . . . . . . . 250
6.53 PADS - Control Polymer Adsorption on Rock . . . . . . . . . . . . . . . . . . . . . . . . . . 251
6.54 PADT - Polymer Adsorption Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
6.55 PAKW - Effect of Polymer Adsorption upon water relative permeability . . . . . . . . . . . . 254
6.56 PSHE - Control Polymer Shearing Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.57 PMIS - Parameters for Polymer Modelling Correlations . . . . . . . . . . . . . . . . . . . . . 256
6.58 THER - Enable the Thermal Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
6.59 GVVT - Gas Viscosity Variation with Temperature . . . . . . . . . . . . . . . . . . . . . . . 259
6.60 HLOS - Heat Loss Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
6.61 OVVT - Oil Viscosity Variation with Temperature . . . . . . . . . . . . . . . . . . . . . . . . 263
6.62 THCG - Gas Conductivity Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
6.63 THCO - Oil Conductivity Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
6.64 THCR - Rock Conductivity Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
6.65 THCW - Water Conductivity Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
6.66 THXO - Oil Thermal Expansion Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . 271
6.67 THXR - Rock Thermal Expansion Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . 272
6.68 THXW - Water Thermal Expansion Coefficients . . . . . . . . . . . . . . . . . . . . . . . . 273
6.69 UGAS - Gas Specific Heat Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
6.70 UOIL - Oil Specific Heat Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
6.71 UROC - Rock Specific Heat Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.72 UWAT - Water Specific Heat Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
6.73 WVVT - Water Viscosity Variation with Temperature . . . . . . . . . . . . . . . . . . . . . . 278
6.74 STEA - Request Steam Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
6.75 SOLV - Set Surface Density of Solvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
6.76 MFVP - Miscibility Factor vs. Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
6.77 MISC - Reference Surface Tension Data for Solvents . . . . . . . . . . . . . . . . . . . . . . 285
6.78 OSPVT - Defines Oil-Solvent PVT Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.79 SPVT - Defines Solvent PVT Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
6.80 TLMS - Minimum miscibility saturation factor . . . . . . . . . . . . . . . . . . . . . . . . . 290
6.81 TODD - Use Todd-Longstaff Viscosity Mixing Rule . . . . . . . . . . . . . . . . . . . . . . 291
6.82 CBM - Coal Bed Methane Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
6.83 CCOA - Components Adsorbed by Coal in Compositional CBM Modelling . . . . . . . . . . 297
6.84 CDEN - Coal Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
6.85 LANG - Global Values for Coal Bed Methane Modelling . . . . . . . . . . . . . . . . . . . . 301
6.86 SHAL - Shale Gas Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
6.87 AGVP - Available Shale Gas Variation with Pressure . . . . . . . . . . . . . . . . . . . . . . 304
6.88 BRINE - Enable Brine Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

7 Tempest MORE relative permeability section keywords 307

vi
7.1 ADJU - Adjustments to Relative Permeability Curves . . . . . . . . . . . . . . . . . . . . . . 307
7.2 EPS - Endpoint Scaling Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
7.3 EPSP - Capillary Pressure Endpoint Scaling Option . . . . . . . . . . . . . . . . . . . . . . . 310
7.4 FRPC - Freeze Capillary Pressures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
7.5 FFVS - Solvent and Gas Fractional Flows vs. Solvent Fraction . . . . . . . . . . . . . . . . . 312
7.6 GSF - Gas Saturation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
7.7 KRDR - Directional Relative Permeabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7.8 KRGO - Gas-Oil Relative Permeability Table . . . . . . . . . . . . . . . . . . . . . . . . . . 317
7.9 KRWG - Water in Gas Relative Permeability Table . . . . . . . . . . . . . . . . . . . . . . . 319
7.10 KRWO - Water-Oil Relative Permeability Table . . . . . . . . . . . . . . . . . . . . . . . . . 320
7.11 MCSW - Miscible Critical Solvent Saturation with respect to Water Saturation . . . . . . . . 322
7.12 MROW - Miscible Residual Oil Saturation with respect to Water Saturation . . . . . . . . . . 324
7.13 MFVS - Miscibility Factor vs. Solvent Fraction . . . . . . . . . . . . . . . . . . . . . . . . . 326
7.14 NWHY - Select Non-Wetting Phase Hysteresis for all Phase Combinations . . . . . . . . . . 328
7.15 OSF - Oil Saturation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
7.16 PCHC - Set Curvature Parameter for Capillary Pressure Hysteresis . . . . . . . . . . . . . . . 331
7.17 PRIN - Printing Options for Relative Permeability . . . . . . . . . . . . . . . . . . . . . . . 332
7.18 RELA - Relative Permeability Section Header Line . . . . . . . . . . . . . . . . . . . . . . . 336
7.19 SSF - Solvent Saturation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
7.20 SCAL - Scaled Relative Permeability Curves . . . . . . . . . . . . . . . . . . . . . . . . . . 339
7.21 TFUN - Tracer or Temperature Dependent Property Multipliers . . . . . . . . . . . . . . . . 341
7.22 WETT - Wettability Options for Three-Phase Calculations . . . . . . . . . . . . . . . . . . . 343
7.23 WSF - Water Saturation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7.24 ZERO - Permit Zero Connate Water Saturation . . . . . . . . . . . . . . . . . . . . . . . . . 347

8 Tempest MORE grid section keywords 349


8.1 Summary of Grid Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
8.2 Array Data Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
8.3 Using Grid Processing Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
8.4 Array Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
8.5 Discussion of Selected Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
8.6 Grid Array Sub-keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
8.7 CONS - Constant Value for Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
8.8 F(DE - Function of Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
8.9 F(PO - Function of Porosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
8.10 FUNC - Function of Specified Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
8.11 INTE - Distance Weighted Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
8.12 LINE - Linear or Bi-linear Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
8.13 MODI - Modify Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
8.14 REPL - Replace Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
8.15 VARI - Variable Values for Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
8.16 ZVAR - Variable in the Z-direction, constant in X and Y . . . . . . . . . . . . . . . . . . . . 400
8.17 ACTN - Active Cell Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
8.18 AQCD - Connect an Aquifer at a Given Depth . . . . . . . . . . . . . . . . . . . . . . . . . . 403
8.19 AQNN - Set Up Numerical Aquifer Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
8.20 AQNC - Set Up numerical aquifer connection . . . . . . . . . . . . . . . . . . . . . . . . . . 412
8.21 BETA - Forchheimer Coefficient for Non-Darcy Flow . . . . . . . . . . . . . . . . . . . . . . 416
8.22 CLAN - Langmuir Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
8.23 CLNn - Compositional Langmuir Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
8.24 CONS - Constant Grid Spacing in the X, Y, or Theta Directions . . . . . . . . . . . . . . . . 422
8.25 CONS - Constant Grid Spacing in the R-direction . . . . . . . . . . . . . . . . . . . . . . . . 424
8.26 COOR - Grid Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
8.27 CROC - Rock Compressibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
8.28 DATU - Datum Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
8.29 DEFI - Define an Array (including user-defined fluid-in-place arrays) . . . . . . . . . . . . . 431
8.30 DEPT (or ZGRI) - Grid Cell Centre Depths . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
8.31 DOGR (or EDIT) - Force Grid Calculations to Occur . . . . . . . . . . . . . . . . . . . . . . 439
8.32 DPCF - Dykstra-Parsons Coefficient and Controls . . . . . . . . . . . . . . . . . . . . . . . . 440

vii
8.33 DPOR - Dual Porosity Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
8.34 DPER - Dual Permeability Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
8.35 DPSS - Dual Porosity Source/Sink Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . 446
8.36 DPGR - Dual Porosity GRid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
8.37 DZMA - Matrix Material Unit Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
8.38 EEGR - Output ECLIPSE Extensible Gridfile . . . . . . . . . . . . . . . . . . . . . . . . . . 450
8.39 EGRI - Output ECLIPSE Format Gridfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
8.40 ELOB - Palmer-Mansoori EL/B Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
8.41 ENDR - Return to Applying Grid Data to Global Grid . . . . . . . . . . . . . . . . . . . . . 454
8.42 EOSN - Equation of State Region Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
8.43 EQUI (EQLN) - Equilibration Table Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 457
8.44 EROC - Young’s Modulus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
8.45 FASH - Ash Fraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
8.46 FAUL - Fault Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
8.47 FAULTS - Defining Fault Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
8.48 FAXY - Specify Fracture Paths for Fracture Augmented Flows . . . . . . . . . . . . . . . . . 472
8.49 FLXA - Specify Which Flux Regions are Active in a FLXR Run . . . . . . . . . . . . . . . . 473
8.50 FLXN - Flux Region numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
8.51 FLXY - Specify a Fault-type PEBI Refinement Feature . . . . . . . . . . . . . . . . . . . . . 476
8.52 FMUL - Fault Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
8.53 FROC - Palmer-Mansoori Mixing Fraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
8.54 FSHR - Palmer-Mansoori Shrinkage Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
8.55 GRDE - Request Output of Grid Data in ECLIPSE Keyword Form . . . . . . . . . . . . . . . 483
8.56 GRID - GRID Section Header Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
8.57 HORI - Horizontal Input Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
8.58 IGCR - Critical Gas Saturation for Imbibition . . . . . . . . . . . . . . . . . . . . . . . . . . 486
8.59 IGL - Connate Gas Saturation for Imbibition Processes . . . . . . . . . . . . . . . . . . . . . 487
8.60 IGU - Maximum Gas Saturation for Imbibition . . . . . . . . . . . . . . . . . . . . . . . . . 488
8.61 IOGC - Critical Saturation of Oil in Gas for Imbibition . . . . . . . . . . . . . . . . . . . . . 489
8.62 IOWC - Critical Saturation of Oil in Water for Imbibition . . . . . . . . . . . . . . . . . . . . 490
8.63 IWCR - Critical Water Saturation for Imbibition . . . . . . . . . . . . . . . . . . . . . . . . 491
8.64 IWGC - Critical Saturation of Water in Gas for Imbibition in Oil-Wet Case . . . . . . . . . . 492
8.65 IWL - Connate Water Saturation for Imbibition . . . . . . . . . . . . . . . . . . . . . . . . . 493
8.66 IWU - Maximum Water Saturation for imbibition . . . . . . . . . . . . . . . . . . . . . . . . 494
8.67 KRPR - KVSP Reference Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
8.68 KPTA - KVSP Table Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
8.69 KRDX - Saturation Table Numbers for Flow in the X-Direction . . . . . . . . . . . . . . . . 499
8.70 KRDY - Saturation Table Numbers for Flow in the Y-Direction . . . . . . . . . . . . . . . . . 501
8.71 KRDZ - Saturation Table Numbers for Flow in the Z-Direction . . . . . . . . . . . . . . . . . 503
8.72 KRMX - Saturation Table Numbers for Flow in the Negative X-Direction . . . . . . . . . . . 505
8.73 KRMY - Saturation Table Numbers for Flow in the Negative Y-Direction . . . . . . . . . . . 507
8.74 KRMZ - Saturation Table Numbers for Flow in the Negative Z-Direction . . . . . . . . . . . 509
8.75 K_X (or KX, K-X, PERMX) - X-Permeability . . . . . . . . . . . . . . . . . . . . . . . . . 511
8.76 K_Y (or KY, K-Y, PERMY) - Y-Permeability . . . . . . . . . . . . . . . . . . . . . . . . . . 513
8.77 K_Z (or KZ, K-Z, PERMZ) - Z-Permeability . . . . . . . . . . . . . . . . . . . . . . . . . . 515
8.78 LAYE - Define Layering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
8.79 LEVJ - Leverett J-Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
8.80 LJOP - Options for Leverett J-Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
8.81 LGRD - Local Grid Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
8.82 LOG1 - Logarithmic Spacing Excluding the 1st Interval in the R-direction . . . . . . . . . . . 525
8.83 LOGA - Logarithmic Spacing in the X, Y or Theta Direction . . . . . . . . . . . . . . . . . . 527
8.84 LOGA - Logarithmic Spacing in the R-direction . . . . . . . . . . . . . . . . . . . . . . . . 530
8.85 MFTC - Matrix-Fracture Time Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
8.86 MIND - Minimum Cell Thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
8.87 MINP - Minimum Pore Volume Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
8.88 MLRP - Multiply Cell Pore Volumes on Basis of MULN Region . . . . . . . . . . . . . . . . 540
8.89 MLRT - Transmissibility Multipliers Between Regions on Basis of MULN Region . . . . . . 541
8.90 MODE - Input Processing Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542

viii
8.91 MULN - Region Numbers for Applying Inter-Region Transmissibility Multipliers . . . . . . . 543
8.92 MULTFLT - Set Transmissibility Multipliers for Faults . . . . . . . . . . . . . . . . . . . . . 545
8.93 MULX (or MX, M-X, M_X, MULTX) - X-Transmissibility Multiplier . . . . . . . . . . . . . 548
8.94 MULY (or MY, M-Y, M_Y, MULTY) - Y-Transmissibility Multiplier . . . . . . . . . . . . . 550
8.95 MULZ (or MZ, M-Z, M_Z, MULTZ) - Z-Transmissibility Multiplier . . . . . . . . . . . . . 552
8.96 MXM (or MULTX-) - X-Transmissibility Multiplier in the Negative X-Direction . . . . . . . 554
8.97 MYM (or MULTY-) - Y-Transmissibility Multiplier in the Negative Y-Direction . . . . . . . . 556
8.98 MZM (or MULTZ-) - Z-Transmissibility Multiplier in the Negative Z-Direction . . . . . . . . 558
8.99 NEPS - Set options for endpoint scaling at non-neighbour connections . . . . . . . . . . . . . 560
8.100 NNC - Define Non-Neighbour Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
8.101 NOGE - No Geometric Non-neighbour connections. . . . . . . . . . . . . . . . . . . . . . . 565
8.102 NONN - No Non-Neighbour Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
8.103 NOXY - Restore Normal Grid Subdivisions after XDIV or YDIV . . . . . . . . . . . . . . . 567
8.104 NTOG (or NTG) - Net-to-Gross Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
8.105 PDSI - Initial Coal Desorption Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
8.106 PDSn - Compositional Initial Coal Desorption Pressure . . . . . . . . . . . . . . . . . . . . . 577
8.107 PEBI - Specify a PEBI Local Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
8.108 PDIV - Division of Plane between Processors for Parallel Simulation . . . . . . . . . . . . . 581
8.109 PINC - Pinchout Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
8.110 PLAN - Langmuir Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
8.111 PLNn - Compositional Langmuir Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
8.112 PMEX - Permeability Variation Exponent in Palmer-Mansoori Model . . . . . . . . . . . . . 594
8.113 PNSW - Pinchout Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
8.114 PORO - Porosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
8.115 PORV,TRANX,TRANY,TRANZ - Pore vol. and trans. in ECLIPSE units . . . . . . . . . . . 601
8.116 PREG - Polymer Property Region Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
8.117 PROC - Poisson’s Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
8.118 PVOL (or RVOL)- Modify or Replace Pore Volumes . . . . . . . . . . . . . . . . . . . . . . 606
8.119 PVOL tran, DEPT - Pore Volume, Transmissibility, Depth Modify/Replace . . . . . . . . . . 610
8.120 PVBM - Multiply pore volumes along a boundary . . . . . . . . . . . . . . . . . . . . . . . . 612
8.121 PVFL - Minimum Pore Volume for Active Cells . . . . . . . . . . . . . . . . . . . . . . . . 615
8.122 PVTN - Pressure Table Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
8.123 PRIN - Define Grid Print Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
8.124 R-DI - R-Direction Grid Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
8.125 REFI - Apply Grid Data to Local Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
8.126 REFE - Rock Compressibility Reference Pressure . . . . . . . . . . . . . . . . . . . . . . . . 630
8.127 ROCK (or SATN) - Saturation Table Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 632
8.128 ROFF - Read ROFF file into MORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
8.129 ROTA - Areal Rotation-Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
8.130 RPIP - Reference Pressures to be set to Initial Pressures . . . . . . . . . . . . . . . . . . . . 639
8.131 SIGM - Matrix-Fracture Coupling Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
8.132 SGCR - Critical Gas Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
8.133 SGL - Connate Gas Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
8.134 SGU - Maximum Gas Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
8.135 SOCO - Connate Oil for Black Oil Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
8.136 SOGC - Critical Saturation of Oil in Gas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
8.137 SOWC - Critical Saturation of Oil in Water . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
8.138 SWCR - Critical Water Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
8.139 SWGC - Critical Saturation of Water in Gas . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
8.140 SWL - Connate Water Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
8.141 SWU - Maximum Water Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
8.142 SIZE - Size and Type of Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
8.143 SPEC - Specify the Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
8.144 SORM - Trapped Oil Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
8.145 TCON - Define Transmissibilities of Non-Neighbour Connections . . . . . . . . . . . . . . . 667
8.146 THET - Theta-Direction Grid Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
8.147 THIC (or DZ) - Grid Cell Thicknesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
8.148 TLAN - Langmuir Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676

ix
8.149 TLNn - Compositional Langmuir Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
8.150 TMUL - Non-Neighbour Transmissibility Multipliers . . . . . . . . . . . . . . . . . . . . . . 681
8.151 TREG - Thermal Property Region Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
8.152 TRXY - Specify a Trajectory-type PEBI Refinement Feature . . . . . . . . . . . . . . . . . . 686
8.153 TSUM - Modify Sum of Transmissibility/Pore Volume . . . . . . . . . . . . . . . . . . . . . 688
8.154 T_X, T_Y or T_Z - Modify or Replace X, Y or Z-Transmissibilities . . . . . . . . . . . . . . 690
8.155 VARI - Variable Grid Spacing in the X, Y or Theta Direction . . . . . . . . . . . . . . . . . . 694
8.156 VARI - Variable Grid Spacing in the R-direction . . . . . . . . . . . . . . . . . . . . . . . . 696
8.157 VERT - Vertical Input Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
8.158 X-DI - X-Direction Grid Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
8.159 XDIV - Grid Subdivisions in the X-direction . . . . . . . . . . . . . . . . . . . . . . . . . . 703
8.160 XGRI - X-Grid Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
8.161 XKRG - Gas Relative Permeability Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . 709
8.162 XKRO - Oil Relative Permeability Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . 711
8.163 XKRW - Water Relative Permeability Multiplier . . . . . . . . . . . . . . . . . . . . . . . . 713
8.164 XPCG - Gas Capillary Pressure Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
8.165 XPCW - Water Capillary Pressure Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . 718
8.166 Y-DI - Y-Direction Grid Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
8.167 YDIV - Grid Subdivisions in the Y-direction . . . . . . . . . . . . . . . . . . . . . . . . . . 725
8.168 YGRI - Y-Grid Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
8.169 YKOG - Oil Relative Permeability Multiplier at Critical Gas Saturation . . . . . . . . . . . . 731
8.170 YKOW - Oil Relative Permeability Multiplier at Critical Water Saturation . . . . . . . . . . . 732
8.171 YKRG - Gas Relative Permeability Multiplier at Critical Other-Phase Saturation . . . . . . . 733
8.172 YKRW - Water Relative Permeability Multiplier at Critical Other-Phase Saturation . . . . . . 734
8.173 ZCOR - Grid Cell Corner Depths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
8.174 Z-DI - Define Z-direction Rotation/Translation . . . . . . . . . . . . . . . . . . . . . . . . . 737
8.175 ZONE - Zones for Array Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740

9 Tempest MORE init section keywords 743


9.1 Discussion of Equilibrium and Non-equilibrium Initialisation . . . . . . . . . . . . . . . . . . 743
9.2 Initial Property Array Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
9.3 AQCT - Carter-Tracy Aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
9.4 AQCO - Connect an Aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
9.5 AQFE - Fetkovitch Aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
9.6 AQUT - Carter-Tracy Influence Function Table . . . . . . . . . . . . . . . . . . . . . . . . . 753
9.7 AQUW - Force 100% Water Saturation in Water Zone . . . . . . . . . . . . . . . . . . . . . 754
9.8 AQWO - Aquifer Connection Weight Option . . . . . . . . . . . . . . . . . . . . . . . . . . 755
9.9 GCPG - Allow or Not Allow Connate Oil in Gas Cap . . . . . . . . . . . . . . . . . . . . . . 756
9.10 INIT - Initialisation Section Header Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
9.11 OFIP - Original Fluids in Place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
9.12 PCSC - Set Options for Initial Capillary Pressure Scaling . . . . . . . . . . . . . . . . . . . . 760
9.13 PCSH - Set Options for Initial Capillary Pressure Shifts . . . . . . . . . . . . . . . . . . . . . 763
9.14 TMVD - Temperature Variation of Reservoir Temperature for Equation of State Modelling . . 766
9.15 EQUI - Depths and Pressures for Equilibration . . . . . . . . . . . . . . . . . . . . . . . . . 767
9.16 CONS - Constant Equilibrium Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . 770
9.17 F(DE - Depth Dependent Equilibrium Initial Conditions . . . . . . . . . . . . . . . . . . . . 772
9.18 GOCX - Use Oil Composition at the Gas-Oil Contact to Define Gas Composition . . . . . . . 774
9.19 GOCY - Use Gas Composition at the Gas-Oil Contact to Define Oil Composition . . . . . . . 775
9.20 GCRI - Initial Gas Content of Coal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
9.21 AGVD - Initial Variation of API Gravity with Depth . . . . . . . . . . . . . . . . . . . . . . 778
9.22 MFVD - Initial Variation of Composition with respect to Depth . . . . . . . . . . . . . . . . 779
9.23 PBVD - Initial Variation of Bubble Point with Depth . . . . . . . . . . . . . . . . . . . . . . 780
9.24 PDVD - Initial Variation of Dew Point with Depth . . . . . . . . . . . . . . . . . . . . . . . 781
9.25 RSVD - Initial Variation of Solution Gas-Oil Ratio with Depth . . . . . . . . . . . . . . . . . 782
9.26 RVVD - Initial Variation of Vapour Oil-Gas Ratio with Depth . . . . . . . . . . . . . . . . . 783
9.27 SCVD - Initial Variation of Salt Concentration with Depth . . . . . . . . . . . . . . . . . . . 784
9.28 THPD - Threshold Pressures Between Equilibration Regions . . . . . . . . . . . . . . . . . . 785

x
9.29 TRIM - Reset the Composition of Saturated Cells in the Gas Zone to Prevent Oil Appearance at
the Start of a Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
9.30 XMFV - Initial Variation of Oil Composition with respect to Depth . . . . . . . . . . . . . . 789
9.31 YMFV - Initial Variation of Gas Composition with respect to Depth . . . . . . . . . . . . . . 790
9.32 CONS - Constant Non-Equilibrium Initial Conditions . . . . . . . . . . . . . . . . . . . . . . 791
9.33 F(DE - Depth Dependent Non-Equilibrium Initial Conditions . . . . . . . . . . . . . . . . . . 793
9.34 TMF - Total Mole Fraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795

10 Tempest MORE recurrent section keywords 797


10.1 ALLX - Set Crossflow On or Off for All Wells . . . . . . . . . . . . . . . . . . . . . . . . . 797
10.2 ARRA - Detailed Array Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
10.3 ATRC - Sets the Injection Concentration for an Aquifer . . . . . . . . . . . . . . . . . . . . . 805
10.4 BCKT - Set back-tracking Newton iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
10.5 BRAN - Define a Branch Structure for a Set of Tracks . . . . . . . . . . . . . . . . . . . . . 808
10.6 CMPR - Set up a Compressor Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
10.7 CNAC - Completions in Numerical Aquifer Cells . . . . . . . . . . . . . . . . . . . . . . . . 821
10.8 DEBJ - Set Jacobian Print Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
10.9 DEBR - Set Residual Print Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
10.10 DEBW - Set Well Print Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
10.11 DELT - Set Next Time Step Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
10.12 DENS - Density Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
10.13 DTMX - Set Maximum Time Step Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
10.14 EFIL - Well Event Data in an Include File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
10.15 EFOR - Format Definition for Well Event Data . . . . . . . . . . . . . . . . . . . . . . . . . 831
10.16 ETAB - In-line Event Data in a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
10.17 ENDE - End of the ETAB Event Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
10.18 ENDH - Terminate Historical Well Data Input . . . . . . . . . . . . . . . . . . . . . . . . . . 837
10.19 ENDO - End of an OPERation Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
10.20 ENDT - Terminate Welltrack Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
10.21 EUNI - Units for Perforation Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
10.22 ESOL - Request ECLIPSE Solution (restart) Files . . . . . . . . . . . . . . . . . . . . . . . . 843
10.23 ESUM - Request ECLIPSE Format Summary Files . . . . . . . . . . . . . . . . . . . . . . . 845
10.24 FLIP - Fluid In Place and Material Balance Output . . . . . . . . . . . . . . . . . . . . . . . 848
10.25 FREQ - Frequency of Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
10.26 GCOM - Set Up Action to be Taken if Group Pipeline Limit Cannot be Met . . . . . . . . . . 856
10.27 GENE - General Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
10.28 GFUEL - Group Fuel Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
10.29 GLIF - Optimise the Lift Value for a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
10.30 GLIM - Group Production Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
10.31 GLOP - Gas lift optimisation settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
10.32 GNEW - Use New Group Control Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 870
10.33 GOLD - Use Old Group Control Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
10.34 GPAL - Set Group Pipe Artificial Lift Value . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
10.35 GPIP - Attach a Pipe to a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
10.36 GPMI - Set Minimum Pressure for a Network Node Group . . . . . . . . . . . . . . . . . . . 874
10.37 GPUM - Attach a Pipeline Pump to a Network Group . . . . . . . . . . . . . . . . . . . . . . 875
10.38 GPRI - Group Prioritisation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
10.39 GRED - Well Redefinition for Group Limit Events . . . . . . . . . . . . . . . . . . . . . . . 877
10.40 GROU - Well Group Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
10.41 GSAL - Group Sales Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
10.42 GSET - Set up a set of groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884
10.43 GSPC - Set Group Separator Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
10.44 GTAR - Set Options for Group Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
10.45 GTOL - Group Limit Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
10.46 GUGR - Set Group User Guide Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
10.47 HADD - Add Columns of Data in Historical Rate Tables . . . . . . . . . . . . . . . . . . . . 897
10.48 HFIL - Well Historical Data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
10.49 HFOR - Column Headers and Units for Well Historical Data . . . . . . . . . . . . . . . . . . 903

xi
10.50 HUNI - Units for Historical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
10.51 HTAB - In-line Well Historical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
10.52 ILIM - Group Injection Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
10.53 INVO - Invoke an operation with arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
10.54 IPRL - Modify Limits of Inflow Performance Tables . . . . . . . . . . . . . . . . . . . . . . 920
10.55 KILL - Stop a Simulation on a Timestep Reduction . . . . . . . . . . . . . . . . . . . . . . . 921
10.56 KMOD - Modify Permeability during Simulation . . . . . . . . . . . . . . . . . . . . . . . . 922
10.57 LIMI - Define Custom Well Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
10.58 LSOL - Linear Solver Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
10.59 MASS - Force the use of mass variables with the Appleyard chop . . . . . . . . . . . . . . . 929
10.60 MOBI - Mobility Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
10.61 NOPI - No Pivoting (for Implicit compositional runs). . . . . . . . . . . . . . . . . . . . . . 931
10.62 OPER - Define an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
10.63 PARE - Define Parent Group for a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
10.64 PBAL - Production Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
10.65 PBDT - Maximum Rate of Change of Bubble Point Pressure . . . . . . . . . . . . . . . . . . 937
10.66 PIPE - Characterise a Pipe for the Network Model . . . . . . . . . . . . . . . . . . . . . . . 938
10.67 PLPU - Pipeline Pump Performance Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
10.68 PMOD - Modify Porosity during Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 942
10.69 POTN - Periodic Well Potential Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . 945
10.70 PRIN - Printing Options for Recurrent Section . . . . . . . . . . . . . . . . . . . . . . . . . 946
10.71 PRIO - Group Prioritisation Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
10.72 PUMP - Downhole Pump Performance Table . . . . . . . . . . . . . . . . . . . . . . . . . . 950
10.73 PTAB - Enter a Pipe pressure TABle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
10.74 RATE - Rate Output Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
10.75 READ (or TIME or DATE) - Time to Read Recurrent Data . . . . . . . . . . . . . . . . . . . 962
10.76 RECU - Recurrent Section Header Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
10.77 RELK - Relative Permeability Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
10.78 RPM - Regional Pressure Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966
10.79 RRTA - Radius and Roughness Table for a Well (Used by Segmented Well Model) . . . . . . 968
10.80 RSDT - Maximum Rate of Change of Solution Gas-Oil Ratio . . . . . . . . . . . . . . . . . 972
10.81 RVDT - Maximum Rate of Change of Vapour Oil-Gas Ratio . . . . . . . . . . . . . . . . . . 973
10.82 SATU, DENS, VISC, RELK, MOBI - Phase Properties . . . . . . . . . . . . . . . . . . . . . 974
10.83 SEPA - Define a Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
10.84 SEQU - Store a WAG sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
10.85 SERV - IMPES Volume Balance Error Servo Criteria . . . . . . . . . . . . . . . . . . . . . . 981
10.86 SOLV - Injected Solvent Concentration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
10.87 STMO - Modify Saturation Table During Simulation . . . . . . . . . . . . . . . . . . . . . . 984
10.88 SRV - Stimulated Reservoir Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
10.89 SRVW - Stimulated Reservoir Volume along a Trajectory . . . . . . . . . . . . . . . . . . . . 988
10.90 STOP - Stop the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
10.91 STOR - Output Array to File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
10.92 TEST - Periodic Well Test Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
10.93 TFIL - Well Track Definition File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
10.94 TPRO - Physical Properties of a Well Track . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
10.95 TTAB - In-line Well Track Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
10.96 TUNI - Units for Well Track Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
10.97 UPSI - Upstream Steam Injection Mobilities . . . . . . . . . . . . . . . . . . . . . . . . . . 1007
10.98 VISC - Viscosity Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
10.99 VREP - Voidage Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009
10.100 VTOL - Volume Error Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
10.101 WABC - Well Skin and D-factor from A and B Coefficients . . . . . . . . . . . . . . . . . . 1012
10.102 WAGT - Set Tolerances for WAG Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
10.103 WALQ - Set Well Artificial Lift Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
10.104 WCTL - Well settings controlling the THP shut-in behaviour . . . . . . . . . . . . . . . . . . 1015
10.105 WCOM - Set Up Action to be Taken if Well Pipeline Limit Cannot be Met . . . . . . . . . . 1016
10.106 WFFC - Water Filled Cell Flash Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
10.107 WFOR - Well is to use Forchheimer Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019

xii
10.108 WFRA - Set up a Well Fracturing Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
10.109 WGPP - Well is to Use Gas Pseudo-Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
10.110 WLGA - Set Well Lift Gas Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026
10.111 WLGO - Well Availability for Group Lift Gas Optimisation . . . . . . . . . . . . . . . . . . 1027
10.112 WLIF - Optimise the Lift Value for a Well . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
10.113 WLOC - Well Location Input Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
10.114 WLTA - Set Well Lift Table Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
10.115 WLTM - Set Well Lift Table Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
10.116 WMPG - Well is to Use Multi-phase Gas Pseudo-pressure . . . . . . . . . . . . . . . . . . . 1036
10.117 WMUL - Overall Well Connection Factor Multiplier . . . . . . . . . . . . . . . . . . . . . . 1037
10.118 WPAL - Set Well Pipe Artificial Lift Value . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
10.119 WPIP - Attach a Pipe to a Well . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039
10.120 WPRI - Set Well Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
10.121 WPUM - Attach a Pipeline Pump to a Well . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
10.122 WRG - Well is to Use Russell-Goodrich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
10.123 WSEG - Requests that a Well be Modelled as a Multi-Segmented Well . . . . . . . . . . . . . 1043
10.124 WSET - Set up a Set of Wells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047
10.125 WSPC - Set Well Separator Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
10.126 WTOL - Well Limit Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
10.127 WTRC - Set Tracer Concentration for an Injector Well . . . . . . . . . . . . . . . . . . . . . 1050
10.128 WUGR - Set Well User Guide Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
10.129 WVDK - Well is to use Velocity-Dependent Relative Permeabilities . . . . . . . . . . . . . . 1055
10.130 WWAG - Water and Gas Injection for a Well . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
10.131 WELL - Well Definition and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
10.132 CIJK - Completions for Deviated Wells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
10.133 COMP - Complete Well Along Welltrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
10.134 CONV - Well Conversion Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
10.135 CPLY - Injected Polymer Concentration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
10.136 CWAG - Continuous Water and Gas Injection for a Well . . . . . . . . . . . . . . . . . . . . 1074
10.137 DEVI - Deviated Well Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
10.138 DFAC - Well D-Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
10.139 DRAW - Set Drawdown Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
10.140 DREF - Well Bottom Hole Pressure Reference Depth . . . . . . . . . . . . . . . . . . . . . . 1082
10.141 HIST - Historical Well Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083
10.142 HORI - Horizontal Well Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
10.143 LIFT - Artificial LIFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
10.144 LOCA - Vertical Well Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
10.145 P-RE - Pressure at the External Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091
10.146 RADI - Well Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093
10.147 REDE - Well Redefinition Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
10.148 RESV - Use Reservoir Volumes for Injectors . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
10.149 STEA - Steam Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098
10.150 STIM - Well Stimulation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101
10.151 TEMP - Injection Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
10.152 WCOR - Correct Wells to Grid Corner or Edge . . . . . . . . . . . . . . . . . . . . . . . . . 1107
10.153 WDEN - Wellbore Fluid Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110
10.154 WEFA - Well Efficiency Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111
10.155 WEOS - Set Surface Equation of State for the Well . . . . . . . . . . . . . . . . . . . . . . . 1113
10.156 WEPS - Set options for endpoint scaling at completions . . . . . . . . . . . . . . . . . . . . 1114
10.157 WLIM - Auxiliary Well Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116
10.158 WSWI - Switch between Primary and Secondary Injection Fluids . . . . . . . . . . . . . . . 1119
10.159 WWEF - Well Efficiency Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121
10.160 ZONE - Zone Completion Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
10.161 RECY - Group Recycle Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
10.162 CSAL - Compositional Sales Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129
10.163 CMAK - Compositional Makeup Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132
10.164 SALE - Group Sales Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135
10.165 MAKE - Makeup Rate Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138

xiii
10.166 IORD - Order for Reinjection and Makeup into Injected Gas . . . . . . . . . . . . . . . . . . 1141
10.167 ORDE - Order for Fuel, Sales and Reinjection from Produced Gas . . . . . . . . . . . . . . . 1144
10.168 TUBI - Tubing Head Pressure Table Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
10.169 FLOW - Tubing Table Flow Rate Specification . . . . . . . . . . . . . . . . . . . . . . . . . 1153
10.170 THP - Tubing Head Pressure Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
10.171 RATI - Ratio to Flow Rate Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
10.172 ALQ - Tubing Table Artificial Lift Specification . . . . . . . . . . . . . . . . . . . . . . . . . 1164
10.173 BHP - Bottom Hole Pressure Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
10.174 HEAD - Convert Well Pressures to Datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172

11 Tempest MORE events 1173


11.1 Introduction to Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
11.2 Working with Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
11.3 Events vs RECU Section Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
11.4 Tempest MORE Well Perforation events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
11.5 Tempest MORE Well Mode events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189
11.6 Tempest MORE Well Constraint events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194
11.7 Tempest MORE Well Definition events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236
11.8 Tempest MORE Well Definition events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260
11.9 Tempest MORE Well Model events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335
11.10 Tempest MORE Group Constraint events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347
11.11 Tempest MORE Simulation Control events . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372
11.12 Tempest MORE Reinjection events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394
11.13 Tempest MORE Group Definition events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405
11.14 Tempest MORE Network events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414
11.15 Tempest MORE Invocation events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1423

12 Development Keywords 1425


12.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1426

13 ECLIPSE support 1427


13.1 ECLIPSE Keyword Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427
13.2 Entering ECLIPSE Format Edit Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428
13.3 Entering ECLIPSE Format Equation of State Descriptions . . . . . . . . . . . . . . . . . . . 1429
13.4 Entering ECLIPSE Fluid Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1431
13.5 Entering ECLIPSE Format Grid Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432
13.6 ECLIPSE Keywords Accepted in the INIT Section . . . . . . . . . . . . . . . . . . . . . . . 1436
13.7 ECLIPSE Keywords Accepted in the INPU Section . . . . . . . . . . . . . . . . . . . . . . . 1437
13.8 Miscellaneous ECLIPSE Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439
13.9 Entering ECLIPSE Recurrent Section Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 1440
13.10 Entering ECLIPSE Relative Permeability Descriptions . . . . . . . . . . . . . . . . . . . . . 1443

14 Error Messages and Error Handling 1445

15 Tempest MORE Examples 1447


15.1 One-dimensional Radial Well Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1448
15.2 Simple Quarter Five-spot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1449
15.3 A Dual Porosity Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451
15.4 A Dual Porosity Source/sink Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451
15.5 A Polymer Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452
15.6 A Heat Loss Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453
15.7 A Coal Bed Methane Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453
15.8 Compositional Coal Bed Methane Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455
15.9 Shale Gas Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1456
15.10 Full Field Model using Geological Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458
15.11 PETRA Tutorial Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1464
15.12 SPE Comparison Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1465
15.13 Flux Option Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467
15.14 Network Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469

xiv
15.15 Operations Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1470
15.16 Solvent Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1474
15.17 Relative Permeability examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1475

16 Tempest MORE File System 1495


16.1 The MORE Output File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495
16.2 The Misc File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1496
16.3 The Control File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1504
16.4 The Rate File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505
16.5 The Grid and Array Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
16.6 The Auxiliary File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1517
16.7 The MORE Structured File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518
16.8 The MORE Binary Log File or BLOG File . . . . . . . . . . . . . . . . . . . . . . . . . . . 1523
16.9 The MORE Flux File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1524
16.10 The ROFF File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1526
16.11 3D Grids in ROFF Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528
16.12 The MORE Well Fractures File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1536

17 Tempest MORE Technical Reference 1539


17.1 Overall Non-Linear Formulation of MORE . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539
17.2 Black Oil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546
17.3 Equations of State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1551
17.4 Multiple Equations of State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1555
17.5 Solution of the Linear System of Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559
17.6 Aquifer Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1564
17.7 Coal Bed Methane Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1568
17.8 Coarsening Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1577
17.9 Dual Porosity/Permeability Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1580
17.10 Dual Porosity Source/Sink (DPSS) Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1587
17.11 Dykstra-Parsons Permeability Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1599
17.12 Fluid In Place Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1601
17.13 Flux Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1607
17.14 Forchheimer Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1613
17.15 Gas Pseudo-Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1616
17.16 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1622
17.17 Pressure Dependent Permeabilities and Porosity . . . . . . . . . . . . . . . . . . . . . . . . . 1631
17.18 Multi-Segment Well Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1636
17.19 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644
17.20 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1648
17.21 Running MORE in Parallel Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1672
17.22 PEBI Gridding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675
17.23 Polymer Tracking Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1684
17.24 Relative Permeability Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1692
17.25 Restarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1707
17.26 Directional Relative Permeabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1711
17.27 Capillary Pressure and the Leverett J-Function . . . . . . . . . . . . . . . . . . . . . . . . . 1713
17.28 Shale Gas Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1717
17.29 Solubility Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1720
17.30 The Four Phase Todd-Longstaff Solvent Model . . . . . . . . . . . . . . . . . . . . . . . . . 1722
17.31 Tensor Permeabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1732
17.32 Steam and Thermal Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1741
17.33 Timestep Selection and Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1747
17.34 Tracer Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1749
17.35 API Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1754
17.36 Brine Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1758
17.37 Trapped Oil Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1762
17.38 Velocity Dependent Relative Permeabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 1763
17.39 Well Fracturing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1765

xv
17.40 Improved Well Fracturing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771
17.41 Well Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1778
17.42 Well Index Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1783
17.43 Obtaining Skin and D-factor from A and B Coefficient Well Test Data . . . . . . . . . . . . . 1788

xvi
CHAPTER

ONE

GETTING STARTED

1.1 Introduction to Tempest MORE

MORE allows black oil, thermal and equation of state simulation. In a black oil model the hydrocarbon system
is represented by two components, stock tank oil and stock tank gas. The solution gas-oil ratio, Rs, defines the
solubility of the gas component in the reservoir oil phase. The vapour oil-gas ratio, Rv, defines the amount of
the oil component in the reservoir gas phase. The formation volume factors specify the volumetric properties of
the fluid. Formation volume factors, solution gas oil ratio, gas liquid content, and viscosities are tabular functions
of saturation pressure. When the oil is undersaturated, the formation volume factor and viscosity are treated as
functions of pressure. Multiple PVT tables can be defined to represent the fluid properties in different parts of the
reservoir.
In compositional mode the hydrocarbon is represented by a number of components such as methane and ethane.
An equation of state is used to determine fluid properties such as density and viscosity. To determine fluid volumes
at surface conditions, a separator flash is carried out.
Three phase relative permeabilities are calculated using Stone I, Stone II or a linear interpolation. Hysteresis of
oil, gas and water relative permeability is supported, and curves may be modified from cell to cell using the end
point scaling options.
Either equilibrium or non-equilibrium initial conditions may be specified. The simulator can adjust the composi-
tion of the oil column to match a specified variation of bubble point pressure with depth.
One, two or three spatial dimensions may be used in either a Cartesian or cylindrical coordinate system. Both
right- and left-handed coordinate frames are accepted. MORE grids are normally composed of quadrilaterals
areally, while the z-direction grid lines may be vertical or sloping. Block centre or corner point descriptions may
be used for transmissibility calculations. When corner points are known fault transmissibilities and pinch-out
connections will be generated automatically.
MORE normally uses a 5-point block method. The exception is when the TENSOR option is used, in which case
a higher order method is employed.
MORE may be run in fully implicit, adaptive implicit or IMPES mode. The GMRES/nested factorization solver
is robust and only has only one tuning parameter, the solver stack size. There are no solver constraints on well
placement, and more than one well may exist in a grid block.
Dynamic allocation of memory is used throughout - there is no need to use keywords to pre-allocate space.
Production system constraints may be defined at both the well and group level. When a limit is violated a range
of remedial actions is available, such as workovers and the drilling of new wells.
MORE has a range of flexible features for specifying grid data such as porosity and thickness. Data generated by
a preprocessor for ECLIPSE™ using ZCORN and COORD keywords may be read directly by MORE. Grid data
may be defined using expressions or as a function of depth or porosity.
The Tempest post-processor accompanies MORE, and is the preferred way of displaying MORE results.
MORE can create ECLIPSE™ compatible grid, summary, init and restart files, so MORE output may also be
visualized using software which reads these files.

1
Tempest MORE Help, Release 8.1

1.2 Running the Program

The MORE program can be run from the command line. The command for this is:
mored.exe filename
Example:
mored.exe mspe3.dat
Where mspe3.dat is the name of the simulation to execute
Optional arguments:
There are optional arguments that can be included in the command. These are:
• -MAXCPU
• -MAXELAP
• REXMPI
• REXPMV
• REXSOCKETS
• RTPW1
• RTPW2
-MAXCPU:
MAXCPU sets the maximum CPU time for a run. If the simulation is still running when the limit is reached a
warning is issued.
Example:
mored.exe filename -MAXCPU 60
Sets a maximum elapsed CPU time of 60 minutes.
-MAXELAP.
This sets an upper limit to the maximum elapsed time for a run in minutes. If the simulation is still running when
the limit is reached a warning is issued.
Example:
mored.exe filename -MAXELAP 30
This sets a maximum elapsed CPU time of 30 minutes.
REXMPI
No longer in available
REXPVM
No longer in available
REXSOCKETS
Starts the simulation in REX socket mode.
RTPW1
Runtime password 1
RTPW2
Runtime password 2

2 Chapter 1. Getting Started


CHAPTER

TWO

DATA OVERVIEW

2.1 Outline of Data Input Requirements

The MORE input data file is a simple text file. The maximum length of an input line is 1000 characters. A warning
is issued if extra data is found beyond this limit.

Keywords

Keywords in MORE have 4 significant characters. A keyword must be on a new line and may only be preceded by
blanks. Case is not significant. In some cases a keyword (such as WELL) may introduce a series of sub-keywords.
The keyword line may also contain values or options.

Data

In some cases the amount of data is too great to fit on a keyword line. If so, the keyword line is followed by further
data.

Comments

Comment lines start with a slash (/) character. A / may also appear after data values on any line - MORE will
ignore everything after the / character. Two dashes (–) or a * character at the beginning of a line also indicate a
comment.

Sections of Input Data

The six sections of the data file are:


INPU Basic input data for the run
FLUI Fluid property data
RELA Relative permeability data
GRID Grid and rock property data
INIT Initialization data
RECU Recurrent (time-dependent) data
The sections must be in the order above.

Free Format Input

Data is free format and it is not necessary to enter data in specific columns on a line. Values must be separated by
one or more blank spaces. All of the usual formats - 15, 2.3E4, 0.635 etc. - are valid.

3
Tempest MORE Help, Release 8.1

Repeat Counts

n*v can be used to specify that a value v is repeated n times. For example: 25 3*21 28 is equivalent to 25 21 21
21 28.

Defaults

n* can be used to specify that n items should retain their default or previous values. So 1* implies one default
value and 3* implies 3 default values.

Termination of Tables

A comment line, i.e. a line beginning with a slash, should terminate tabular data supplied on multiple lines.

Notation Used In Tempest Documentation

Square brackets, [ ], are used to indicate optional values.


Curly braces, { }, enclose an option list. The default value is in bold font.
Keywords are written in upper case in this manual - for example, ECHO. They may be entered in either case in the
input file. As only the first 4 characters are significant INIT and INITIALISATION would have the same effect.
On some occasions, for clarity, only the significant characters are written in upper case. For example, where
RECUrrent is used in the manual, only RECU would be required as a keyword.

4 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

2.2 Global Keywords

Global keywords may appear in any section of the input data file. The global section keywords are summarised
below:
ECHO Control ECHOing of the input file to the output file
OPEN Defines alternate I/O files
SWIT SWITches between standard and alternate I/O units
INCL INCLude another file
SKIP/ENDS Start/stop skipping input data

Global Keyword Discussion

The simulator employs a number of files. When reading input data it is common to include other files. This may
be done using the INCLUDE keyword or OPEN and SWIT. Included files may be nested. When OPEN is used an
alternate input file is opened, and SWIT may then be used to switch between standard and alternate input. When
the end of an include or alternate file is reached the program returns to the original file.
A number of binary files are used to hold information for restarts and post-processing. The default is that these
follow the name of the data file - so if the data is in study43.dat the output files will be study43.mis
etc. OPEN ALL can be used to change the name and location of the output files - for example to put them in a
subdirectory.
Output to the binary files is controlled by:
• PRINT MAP in the GRID section
• ARRA and GENE REST keywords in the RECU section
• RATE and FREQ keywords in the RECU section

2.2. Global Keywords 5


Tempest MORE Help, Release 8.1

2.3 INPUt Data Section

This section of the data file is used to supply basic input data to the simulator. Some INPUt section keywords are
summarized below:
Keyword Description
INPU INPUt section header line
TITL TITLe on page headers
UNIT UNIT system
IDAT Initial date
SDAT Start date of this run
CNAM Component names
DIRE Select error checking mode
OPEN Defines alternate I/O files
FLXR/FLXW Requests that reservoir fluxes are read/written to file
COAR Define uniform grid coarsening
CXGR Define non-uniform grid coarsening in x-direction
CYGR Define non-uniform grid coarsening in y-direction
CZGR Define non-uniform grid coarsening in z-direction
SAVE Generate a fast restart file replacing the INPU, FLUI, RELA and GRID sections
LOAD Input a fast restart file replacing the INPU, FLUI, RELA and GRID sections

Input Keyword Discussion

CNAM is the only keyword that must be entered. In black oil mode possible components are oil, water, gas and
steam. In compositional mode a series of component names may be entered. These may be known library names,
such as C1, or other names for which properties will be provided.
The UNIT line may be used to specify the units to be used in the simulation. Metric or Imperial units may be used
- the default is Imperial, known in MORE as Practical Oil File Units (POFU). A list of units used in MORE may
may be found here.
IDAT is recommended for specifying the initial date, corresponding to a simulation time of zero. Dates may be
supplied as either (day month year) or (month day year) separated by blanks. The month is specified using the
first three letters of its name - e.g. AUG for August. Both JLY and JUL are accepted.
SDAT specifies the starting date for the simulation, either as a date or a time from the initial date. If the starting
date is after the initial date a restart will be attempted using the results from a previous simulation.
TITL defines a two-line header that is printed throughout the program output.
COAR, CXGR, CYGR and CZGR allow the calculational grid to be coarsened to improve speed and reduce memory
requirements for the run. The coarsening is performed internally, so the input is unchanged, apart from the addition
of the coarsening keywords. The OUTP argument requests that Tempest displays results on the coarse grid.

6 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

2.4 FLUId Data Section

This section is used to supply fluid property data.


The fluid data section starts with the FLUI keyword. The BLACk option should be selected for a black-oil
simulation, EOS for the equation of state case, EOST for equation of state with temperature variation.
FLUI {BLAC EOS EOST}
Black oil fluid input discussion
Important black oil fluid section keywords are summarized below.
Keyword Description
BASI Basic surface densities
TEMP Define temperature (F or C)
OPVT Oil PVT data
GPVT Gas PVT data
MORE uses temperature values to assign PVT tables to cells. There must be one PVT table for each phase present
for each temperature. These temperature values play the role of PVT regions in other simulators. The PVTN
keyword is an alternative method which simply provides the pressure table index for each cell.
The oil compressibility and viscosibility (pressure coefficient of viscosity) will usually be obtained from the 5th
and 6th columns of the OPVT table. An alternative is for the last pair of values in the OPVT table to define the
undersaturated properties. A total compressibility check has been added to MORE 6 to ensure that the saturated
oil-gas system has physically valid properties.
The BASIc keyword is used to supply oil density at stock tank conditions, oil molecular weight and gas molecular
weight or gas gravity.
Compositional fluid input discussion
Important compositional fluid section keywords are summarised below.
Keyword Description
PROP Component properties such as molecular weight and critical temperature
INTE Binary interaction coefficients
VOLU Volume shifts
OMGA Omega-A values for equation of state
OMGB Omega-B values for equation of state
EQUA Select equation of state
In equation of state mode MORE uses temperature values to assign equation of state data to the reservoir and
separator stages. There must be a set of (INTE, OMGA and OMGB) for each temperature used.
Solvent fluid input discussion
When the solvent option is used the fluid properties of the solvent must be specified:
Keyword Description
SOLV Solvent surface density
SPVT Fluid properties of solvent
Water properties
The WATR keyword is used to define water properties for black oil and compositional cases. Water density is
treated as a linear function of pressure. PVTW may be used as an alternative to WATR.

2.4. FLUId Data Section 7


Tempest MORE Help, Release 8.1

2.5 RELAtive Permeability Data Section

This section is used to supply relative permeability and capillary pressure data. Important RELA section keywords
are summarised below:
Keyword Description
RELA RELAtive permeability section header line
PRIN Define PRINting options
WETT Specify 3-phase relative permeability treatment
KRWO Water/oil relative permeability tables
KRGO Gas/oil relative permeability tables
OSF/GSF/WSF Oil/Gas/Water relative permeability data
Water/oil data is required if water is in the simulation. Gas/oil data is required if gas and oil are in the simulation

Relative Permeability Keyword Discussion

The relative permeability tables should be supplied in order of increasing saturation. The number of water/oil and
gas/oil tables should match.
The WETTability data is used only for three phase problems. The default three-phase calculation option uses
a modified form of Stone’s II method. Stone I and a linear interpolation form as used by ECLIPSETM are also
available - please refer to the Relative Permeability Calculations section of the MORE Technical Reference for
more information.
OSF, GSF and WSF are available as alternatives to KRGO and KRWO. In these keywords the relative permeability
of a phase is a function of the saturation of that phase.
The ROCK array (in the GRID section) is used to associate relative permeability tables with cells in the reservoir.
Note that MORE 6 uses the lowest saturation value in the water relative permeability table (KRWO or SWF) to
define the connate water saturation. This is different from earlier versions of MORE which used the first non-zero
Krw value. To guard against error, a zero connate water saturation value may only be read if a ZERO keyword has
been used - otherwise it is assumed that a data error exists. A zero connate water saturation in a run containing
water is unlikely and is probably an error.

8 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

2.6 GRID Data Section

Discussion

This section is used to supply data which describes the model grid and rock properties. The following table
summarises the most significant GRID keywords:
Keyword Description
GRID GRID section header line
PRIN Define PRINting options
SIZE SIZE and type of grid
SPEC SPECify the grid
HORI HORIzontal data input mode
VERT VERTical data input mode
DPOR Request dual porosity modelling
DPER Request dual permeability modelling
MINP MINimum Pore Volume
PINC PINChout Tolerance
DATU DATUm depth
X-DI X-DIrection grid spacing
Y-DI Y-DIrection grid spacing
COOR Grid COORdinates
ZCOR Cell corner point depths
COORDSYS Specify coordinate system
DEFI DEFIne an array
PVOL, TX, TY, TZ Pore volume/transmissibility modify/replace
TSUM Modify SUM of Transmissiblity/pore volume
NNC Define non-neighbour connections
TCON Transmissibilities of non-neighbour CONnections
TMUL Non-neighbour Transmissibility MULtipliers
FAUL FAUlt definition
FMUL Fault MULtiplier
The keywords R-DI and THETA are used in radial studies but are synonymous with X-DI and Y-DI respectively.
SIZE and SPECgrid are two different formats for the same data - only one is required.
GRID data is of three basic types:
• To specify grid size and type - SIZE, HORI and VERT.
• To set cell properties - X-DI, Y-DI, PORO, K-X etc.
• To modify pore volume and transmissibilities.
These main groups should occur in the above order - the grid size is required before grid properties can be read,
and all the data needed to obtain pore volumes must be known before pore volumes are edited. The grid must
be specified before using INTE or LINE processing methods. PORO must be specified before using F(PO, and
DEPTh must be specified before using F(DE. For FUNC the argument array must have been set.
SIZE or SPEC is required to set the number of cells in the main grid in each direction and to choose CARTesian
or RADIal coordinates.
MORE’s treatment of input grid data is based on the idea of layers of cells. The HORI, VERT and MODE
keywords define the way in which grid data is read:
• HORI BLOCk for block-centred grid input in x-y
• HORI POINt for point-centred grid input in x-y
• VERT BLOCk for block-centred grid input in z
• VERT POINt for point-centred grid input in z

2.6. GRID Data Section 9


Tempest MORE Help, Release 8.1

MODE provides a simple way of switching the horizontal mode between BLOCK and POINT. The default is
HORI POINT and VERT POINT, for historical reasons, as this is the traditional MORE default. However, most
studies use HORI BLOC and VERT BLOC. Note that MORE 6 always runs the study in block mode, so HORI,
VERT and MODE only concern the interpretation of input grid data. The input mode can be reset during the
processing of the grid section. The meaning of the POINt and BLOC options is discussed below.

Point and Block Data

Consider a reservoir consisting of a 5x5x2 cells, as shown:

To fill one layer of a rock property such as PORO in BLOCK mode, we would need 25 numbers, associated with
the cell centres as shown:

To fill one layer of a rock property such as PORO in POINT mode, we would need 36 numbers, associated with
the cell corners, as shown:

Similarly, in the vertical direction this grid contains 2 layers of cells but 3 layers of points. Internally MORE
always stores rock property data in block form, so when point data is provided it is automatically interpolated to
the cell centres. Even when property data is entered in block mode, it is often convenient to specify cell locations
via corner values. For example, the following grid was set up using interpolation of cell corner depths:

10 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

To change between POINT and BLOCK input modes, use HORI, VERT or MODE. Alternatively, the mode may
be set for a single keyword.

Grid Data

The grid data sets up values of arrays. The names of important predefined arrays are listed below. It is also possible
to define user arrays.
Array Name Description Units
XGRI X-grid locations ft or m
YGRI Y-grid locations ft or m
ZGRI Z-grid locations or depth ft or m
THIC Thickness ft or m
PORO Porosity fraction
K_X X-Permeability md
K_Y Y-Permeability md
K_Z Z-Permeability md
MULX X-transmissibility multipliers
MULY Y-transmissibility multipliers
MULZ Z-transmissibility multipliers
NTOG Net/Gross Thickness Ratio
CROC Rock Compressibility 1/psi or 1/bar
REFE Reference pressure for CROC
ROCK Rock Type Array
EQUI Equilibration Region
Some grid arrays have a number of aliases - for example MULX has MX, M-X, M_X and MULTX. A full list of
predefined arrays is included in the chapter on the grid section of the data file.
The position of the grid is defined by specifying the coordinates of the grid block corners, XGRI, YGRI and ZGRI.
This may be accomplished in one of two ways:
1. For rectangular grids, the X-DIrection and Y-DIrection keywords provide an easy way to define the grid.
Supplying a combination of depths and THICknesses specifies the ZGRId coordinates. Depths may be set
for one layer and thickness values will then determine any unset depths for other layers.
2. For quadrilateral grid blocks, the COORdinates keyword can be used. MORE will read the common
ECLIPSE™ ZCORN, COORD and COORDSYS keywords to set up a hexahedral corner point grid.
PORO and K_X are the only rock properties which must be specified - all others have default values. As well as
the predefined arrays, you also can DEFIne your own arrays.

2.6. GRID Data Section 11


Tempest MORE Help, Release 8.1

Grid Data Specification

There are two methods for processing grid data:


1. Using the grid array name and sub-keywords such as CONS, VARI, LINE, INTE, F(DE, F(PO, FUNC,
ZVAR, MODI and REPL.
2. Using expressions.
The syntax, l1 :l2 may be used to select a range of layers for specification or modification.

Grid Array Specification using Keywords

In the simplest case, just specify the name of the grid array, followed by the required number of values
(Nx*Ny*Nz) for a grid with dimensions Nx, Ny and Nz. The values should start on the line after the keyword. An
example is:

PORO
40000*0.1

Natural order is used: the x index changes most quickly and the z-index most slowly.
For other methods, MORE treats the grid data by layer. An option on the same line as the keyword specifies how
the layers are to be entered. For example, UNIForm implies that the data is uniform across all the layers, and so
data only needs to be entered for one layer. Examples of layer treatment keywords are:

UNIF Vertically uniform values


VARI Values which are variable by layer
TOPS Values for the tops of the layers

The way in which the data is input for each layer is specified by a sub-keyword. Examples of some layer sub-
keywords are:

CONS A single constant value for the layer


VARI Values which are variable across the layer
ZVAR A single value is supplied for each layer

So the single porosity value set in the example above could also be specified as:

PORO UNIF
CONS
0.1

If the problem had dimensions 20x200x10, then an alternative would be:

PORO
ZVAR
10*0.1

VARI should be followed by data for each point in the layer.


As well as the simple methods of entering data for a layer, MORE has some useful more sophisticated ways in
which values are related to position, porosity or depth:
• The LINEar-interpolation option uses a bilinear interpolation method.
• The INTErpolation option uses a distance weighted interpolation procedure. This is more flexible than linear
interpolation, and allows smoothly varying grid data to be obtained from a small number of data points.
• A F(POrosity sub-keyword is followed by a table with respect to porosity.
• The F(DEpth) sub-keyword is be followed by a table with respect to depth.
• The FUNCtion sub-keyword is be followed by a table with n nominated array (set after FUNCtion).

12 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

Further information on entering grid array data may be found in the Array Data Entry section.

Grid Processing Expressions

When an equals sign (=) is encountered to the right of the array name, the line is processed as a grid processing
expression. When combined with the ability to DEFIne your own arrays, grid-processing expressions allow you
to supply data in a flexible way. For example, a value may be set using an expression, as in
K_X=0.5
Alternatively it may be a function of another array, for example:
K_X=0.23+0.04*DEPTH+0.3*PORO
The expression language is defined in more detail in the Using Grid Processing Expressions section.

Changing Calculated Values

The transmissibilities and pore volumes will be calculated using the user’s data, and may then be modified or
replaced using the TX, TY, TZ, PVOL and DEPT keywords.

2.6. GRID Data Section 13


Tempest MORE Help, Release 8.1

2.7 INITialization Data Section

Discussion

This section is used to define the initial conditions for the simulation.
Keyword Description
INIT INIT section header line
OFIP Original fluid in place
EQUI Equilibrium depths and pressures
CONS Constant initialization data
F(DE Initialization data as function of depth
LAYE Define LAYEring
DEFI Define an array
THPD Threshold pressures between equilibration regions
Either EQUI or NEQU initialisation is selected on the INIT header line. EQUI yields an initial solution in hydro-
static equilibrium based on fluid constant depths. NEQU enables the user to specify the initial solution directly.
Further information on equilibrium and non-equilibrium initialisation may be found here.

Equilibrium Initialisation

For equilibrium initialization, the EQUI keyword is used to set the contact depths and reference pressures. There
may be more than one equilibration region, in which case data is required for each one. Equilibration regions are
associated with grid cells using the EQUI (or EQLN) grid array.
In an equilibrated solution the initial phase saturations are set up to match the hydrostatic pressure and capillary
pressure conditions so that the initial solution is stable (or ‘quiescent’). That is there will be no movement of fluid
in the absence of any wells or aquifers.
The variation with bubble point and vapour gas-oil ratio may be set using CONS or as a function of depth using
F(DE, PBVD or RSVD. If a gas condensate is being modelled, RVVD may be used to specify the variation of
vapour oil-gas ratio with depth. In a compositional model, initial compositions can be set using keywords MFVD,
XMFV, YMFV (and TMVD in thermal runs).
If a set of SWAT values is specified with the EQUIlibrium initialisation option, the simulator will honour these
values and stabilise the initial solution by adjusting the capillary pressures on a cell-by-cell basis (see PCSH).
Multiple equilibration regions may be specified using the EQUI (or EQLN) grid keyword. The EQUI INIT
keyword then specifies contacts for each equilibration region. The capillary pressures used for equilibration will
be taken from the saturation regions specified using the ROCK (or SATN) grid keyword.
A typical oil-water contact in an equilibrated initialisation is shown below:

14 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

Non-equilibrium Initialisation

For non-equilibrium initialisation, saturations are specified directly rather than by gravity-capillary equilibrium.
The compositions and saturations can vary areally as well as vertically. However, such an arbitrary initial solution
may not be stable when the simulation starts.
To specify an arbitrary variation of the initial conditions, the individual array names are specified as keywords:
CPLY Initial polymer concentration
GCRI Initial gas content of coal (alternative to PDSI)
PBUB Initial bubble point pressure
PRES Initial pressure
PSAT Initial saturation pressure
PDSI or PDSn Initial desorption pressure for CBM
RHAQ or RHAn Initial gas/water ratio for hydrocarbon in water phase (with SOLU)
RS Initial dissolved gas-oil ratio
RTEM Initial temperature (for thermal and steam options)
RV Initial vapour oil-gas ratio
RWV Initial water/gas ratio for water in hydrocarbon phase (with SOLU)
SALT Initial salt concentration
SWAT Initial water saturation
SGAS Initial gas saturation
TEMP Initial temperature (to set pressure regions – see TEMP keyword)
OAPI Initial oil API value
RHAQ Initial hydrocarbon in aqueous phase (as a gas/water ratio)
RWV Initial water in hydrocarbon phase (as a water/gas ratio)
XSOL Initial solvent fraction in the oil phase
YSOL Initial solvent fraction in the gas phase
These keywords are then followed by grid processing sub-keywords - so that initial values may be specified in
the same general way as rock properties. Further information on entering initial data arrays may be found in the
Initial Property Array Processing section.

Note: The TEMP array has traditionally been used in MORE to associate properties with cells. For the thermal
and steam options, where the temperature is a solution variable, RTEM (for the solution value) is used. RTMI and
PLYI (for the polymer model) are still accepted but RTEM and CPLY are better.

2.7. INITialization Data Section 15


Tempest MORE Help, Release 8.1

2.8 RECUrrent Data Section

Discussion

This section is used to define data that can be changed during the simulation. The recurrent data is of three main
types:
• Specification of the production system
• Requests for output
• Requests for simulation to specified times
Keyword Description
RECU Recurrent section header line
EUNI Units for production events
EFOR Format of production events
EFIL Define file of events
ETAB Define table of events
WELL Well definition and control
WLOC Well location input option
GROU Well group definition
GLIM Define group production limit
ILIM Define group injection limit
TUBI Tubing head pressure table
RATE Rate output control
ARRA Detailed output of solution arrays
READ Simulate to required time
DELT Set next time step size
DTMX Set maximum time step limits
STOP Stop the simulation

Specification of the Production System

There are two systems which may be used to define production data. One is to use an event table. Events may be
entered in an included file EFIL or as an in-line table ETAB. Furthermore, events may be readily displayed in the
VIEW event tab and edited using the event editor. A complete list of events may be found here.
The alternative is to use conventional MORE recurrent section keywords such as WELL. The WELL keyword
defines and controls wells. It is followed by a series of sub-keywords to supply data for the well.
The WLOC keyword describes the well areal location format. The default option, X-Y, uses the x-y coordinates
of a well. The alternative, I-J, uses grid block numbers.
The GROU keyword is used to specify well groups. A well may appear in more than one group, and a fraction of
a well may contribute to a group.
For compositional simulations, the SEPA keyword is used to specify separators which may be applied to any group
of wells.
The GLIM defines group production limits and ILIM defines group injection limits. Maximum, minimum and
target group rate constraints can be set, and various remedial actions can be exercised when these limits are
violated.
The TUBI keyword is used to specify tubing tables relating top-hole pressure to bottom hole pressure and flow
rates. These are required if a well is to be controlled by top-hole pressure.
MORE also supports more complex production systems, as described in the network model technical reference.
In particular, the PTAB keyword is used to enter a pipe pressure table, and the PLPU keyword is used to enter a
pipeline pump table.

16 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

Finally, the CMPR keyword is used to specify a multi-stage compressor table, while PUMP keyword is used to
specify a downhole pump performance table.

Well and Group Name Templates

Well or group name templates are name roots followed by a wild card character *, e.g. ‘WPRD*’. Templates may
be used to address several wells or groups at the same time when using keywords. Templates are also supported
in the context of operations.
Templates may also be extended to define well and group sets using the WSET and GSET keywords respectively.

Handling Well Tracks and Well History

Well tracks and well historical rates are usually stored in production databases in a format very different to the
well keywords used by a reservoir simulator. This can involve a lot of data re-formatting into the simulator format.
MORE supports a number of keywords which permit this data to be read directly.
Keyword Description
TFIL Well track definition
TUNI Units for well track definition
TTAB In-line well track definition
HFIL Well historical data
HFOR Column headers and units for well historical data
HUNI Units for historical data
HTAB In-line well historical data

Well Subkeywords

These subkeywords follow a WELL keyword, and are used to define and controls wells.
Keyword Description
LOCA Vertical well location
RADI Well radius
ZONE ZONE completions
CIJK Specify completions
WLIM Auxiliary well limit
LIFT Artificial lift specification
CPLY Injected polymer concentrations
SOLV Injected solvent concentrations
STEA Injected steam properties
COMP Complete along a specified welltrack
CIJK allows wells to be completed in any direction in any number of grid blocks. HORI and DEVI are retained
for back-compatibility but CIJK is preferred. The TFIL keyword may also be used to define a well trajectory in
xyz coordinates.
The RADI keyword is used to supply the wellbore radius and uniform skin value.
The LOCA keyword specifies the location of a vertical well; note that if no other information is specified MORE
will complete a vertical well in every layer of the grid.
The ZONE keyword is used to supply data that alters the zonal completion of a well. The completions may be
defined by specifying:
1. SKIN values for each zone
2. Normalized Well InDeX (WIDX) values
3. Total Well Index values

2.8. RECUrrent Data Section 17


Tempest MORE Help, Release 8.1

4. Well K-H values


5. Well index MULTipliers
6. Well CCFs (completion connection factors)
The COMP keyword allows a well to be completed along a section of a well track which has been entered using
TFIL.
The WLIM keyword is used to specify production limits which supplement the primary rate limit specified on the
WELL keyword line. Examples of limits are OIL, LIQU, GAS, WOR, and GOR. Possible remedial actions include
CUTBack, STIMulate, WORKover, CONVert, SHUT and REDEfine.
The P-RE keyword is used to calculate the pressure at a specified external radius.
The STIM keyword supplies an alternate zonal completion that will be used if the well is stimulated. The data
supplied is the same as for a ZONE keyword.
The CONV keyword supplies injection fluid description and well constraints for a producer that may be converted
to an injector.
The REDE keyword supplies new production/injection well information.
The LIFT keyword is used to supply gas lift information.
Note that all the above functionality may also be selected using events.

TUBIng Data

These subkeywords follow a TUBI keyword. The form of data entry depends on the choice of packed or long table
format. These keywords specify the variation of well bottom hole pressure as a function of flow rate, top-hole
pressure, and ratios such as GOR and water cut.
Keyword Description
FLOW Well stream FLOW rate
THP Tubing Head Pressure
RATI RATIos of other streams to flow rate
BHP Bottom Hole Pressure
ALQ Artificial lift values

Requests for Output

Two main keywords control the output of simulation results - RATE and ARRA.

RATE controls output of group and well rates


ARRA controls output of solutions such as pressure and saturations

The ARRA keyword requests simulator output at requested times. Possible output is of three main types, with
appropriate sub-keywords:

GENE General items such as well and group reports


FLIP Fluid-in-place and material balance calculations
SATU Phase saturations

Some GENE items are:

PRES Cell pressures


FLUI FLuid in place values for entire reservoir
GROUP Group production reports
WELL Well production reports
CMPL Completion production reports
REST Restart data

18 Chapter 2. Data overview


Tempest MORE Help, Release 8.1

RTEM Temperature (thermal/steam option)


CPLY Polymer concentration (polymer option)

These items are selected by specifying the option on the GENEral keyword line. Regional fluid-in-place and
material balance output summaries are selected by specifying the desired region name on the FLIP keyword line.
The wells used in the calculations are those with a group name that is the same as the region name.
Note that the RATE output will be used by Tempest to produce line graphics such as GOR versus time:

The 3D visualisation displays in Tempest use the output from the restart option on the GENE keyword, and also
require PRINT MAP in the GRID section. Extra items such as fluid densities may be added to the output files for
3D visualisation with Tempest using the STOR keyword.

Requests for Simulation Steps

DELT and DTMX control time step size and time stepping tolerances. DELT specifies the size of the next time
step; DTMX specifies a table of maximum step sizes versus time.
The READ keyword is the trigger for simulation to occur. The simulator will run forward to the specified time or
date. TIME and DATE are aliases for READ.
The simulation is terminated by a STOP keyword.

Simulation Step Codes

As the simulation proceeds, each reported step is written on a new line, starting with a four letter code defining
the reason for taking a particular time step (the number of steps reported to the OUT file and to standard output is
defined by the RATE keyword).
The meanings of the step codes are described in the Technical Reference.

2.8. RECUrrent Data Section 19


Tempest MORE Help, Release 8.1

2.9 Table of Units

Examples of units using in the FIELd and METRIC cases are in the following table:
Quantity Field Unit Abbrev Conversion Factor Metric Unit Abbrev
length feet ft 0.3048 meters m
pressure lb/in2 psi 0.06894757 100kPA bar
viscosity centipoise cP centipoise cP
o o
temperature Fahrenheit F Celsius C
o o
absolute Rankine R 5/9 Kelvin K
density lb/ft3 lb/ft3 16.01846 kg/m3 kg/m3
permeability millidarcy md millidarcy md
reservoir vol. res.bbl rb 0.1589873 res. m3 rm3
liquid volume 103 stb Mstb 103 m3 ksm3
liquid rate stb/day stb/d m3 /day SM3/D
gas volume 106 std ft3 MMscf 106 std m3 Msm3
gas rate 103 std ft3 /day Mscf/D 103 std m3 /d ksm3/D

20 Chapter 2. Data overview


CHAPTER

THREE

TEMPEST MORE VERSION CHANGES

3.1 Changes in MORE 8.1

This section summarizes changes in the 8.1 release of MORE compared to the previous version.

New keywords and developments

Input Section
WFPLUS Select settings for improved well fracturing model functionality.
NEZT Specify numbers of equations of state when using ECLIPSE format equation of state
properties.

Fluid Section
BRINE Activate brine tracking facility.
PVTB Input brine properties.
BDEN Augment brine properties with brine surface densities.
KVSP KVSP tables now support a flexible array of reference pressures KRPR.
WVPG Water viscosity modification with pressure gradient.
TEMP TEMP may now be used to specify properties for multiple equations of state regions.
PROP PROP may now be used to specify properties for multiple equations of state regions.
EQUA EQUA may now be used to define the equation used for multiple equations of state
regions.
INTE INTE may now be used to define binary interaction coefficients for multiple equations
of state regions.
OMGA OMGA may now be used to define coefficients for multiple equations of state regions.
OMGB OMGB may now be used to define coefficients for multiple equations of state regions.
SURF SURF may now be used to define surface tension data for multiple equations of state
regions.
VOLU VOLU may now be used to define volume translation parameters for multiple equa-
tions of state regions.
VCVI VCVI may now be used to modify the viscosity calculation for multiple equations of
state regions.
ZCVI ZCVI may now be used to modify the viscosity calculation for multiple equations of
state regions.

Rela Section
TFUN Several TFUNs modifying the same property may now be used to define a combined
product multiplier.

Grid Section
EOSN Specify Equation of State regions when using multiple equations of state.
SOCO Specify connate oil for black oil simulations.
Continued on next page

21
Tempest MORE Help, Release 8.1

Table 3.1 – continued from previous page

Init Section
SCVD Initial variation of salt concentration with depth.
SALT Initial salt concentration array.
AQCO The aquifer influx coefficient and multiplier may now be set.
AQCT The water viscosity default is now taken from the corresponding water pressure table.

Recu Section
GPLIM Event The drilling order may now follow a prioritized drilling queue.
DPRIO Event Set drilling prioritisation coefficients.
WDPRI Event Set well drill priority.
VFRA Event Vertical well fractures may now be defined using the improved well fracturing model.
HFRA Event Horizontal well fractures may now be defined using the improved well fracturing
model.
REFRA Event Existing well fractures defined by VFRA and/or HFRA may be re-fractured.
WSALT Event Set salt injection concentration for an injector well.
STOR Additional options for reporting volume balance errors and pressure change over a
timestep, IMPES support volume and various compositional properties.
DEBR Print the nonlinear residual.
RATE Additional output packages for monitoring well and fluid property convergence, re-
porting phase voidage rates and individual mobile fluid volumes.
MONI Additional output for monitoring convergence.
SEPA The Surface Equation of State index may now be specified for a separator stage.
GENE Additional option to report the separator configuration.
WEOS Event Define surface equation of state for the well.
SRVW Event This keyword is now available as an event.

3.2 Changes in MORE 8.0

This section summarizes changes in the 8.0 release of MORE compared to the previous version.

New keywords and developments

Input Section
FLXR Support for restarts, boundary condition interpolation, and improved handling of
group control
FLXT NONE option for running sector with zero flow boundary conditions
SAVE Generate a fast restart file to replace the INPU, GRID, FLUI AND RELA sections
LOAD Use a fast restart file to replace the INPU, GRID, FLUI AND RELA sections
ADAP, IMPL The performance of the Adaptive Implicit Method (AIM) has been improved, leading
to faster convergence and enhanced stability in AIM mode.
AIMT The default time interval for resetting the AIM status (choosing which cells are solved
fully implicitly and which are IMPES) has been changed to 15 days but may be mod-
ified using the DT argument.
IMPQ Selects options for modification of the IMPES method.
MESL Sets print limits for information, warning and error messages
CPFL Use the compressibility preserving pressure function lookup for oil PVT data

Fluid Section
Improved convergence when using dead oil (OPVD) with wet gas (GPVT) for black
oil runs (also when using Eclipse keywords PVDO or PVCDO and PVTG together).
KVSP Trap non-decreasing pore volume multipliers.
Continued on next page

22 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Table 3.2 – continued from previous page


TFUN Allows viscosity multipliers as a function of tracer concentration.
APIT, APIG API tracking is now available in black oil simulations.
SGRA Oil and gas gravities at surface conditions may be entered.

Rela Section

Grid Section
AQNC An optional region may be specified to define numerical aquifer connections. An
option has also been added to account for the types of inactive cells when connecting
the aquifer to the grid.
PVBM An optional region may be specified to define pore volume boundary multipliers. An
option has also been added to account for the types of inactive cells when connecting
the aquifer to the grid.
DEFI User-defined regions may now be defined to determine connections to aquifers.
NNC User-defined saturation tables may now be supplied for non-neighbour connections.
NEPS Controls options for saturation table scaling for individual non-neighbour connec-
tions.

Init Section
AQCO An optional region may be specified to define analytic aquifer connections. An option
has also been added to account for the types of inactive cells when connecting the
aquifer to the grid.
AGVD Initial API gravity variation versus depth may be entered for API tracking.
RS Initial dissolved gas-oil ratio may be entered for runs with non-equilibrium initialisa-
tion.
OAPI Initial API gravity may be entered for API tracking in runs with non-equilibrium
initialisation.

Recu Section
CIJK Saturation tables may now be specified for individual well completions.
COMP Saturation tables may now be specified for individual well completions.
CIJK Event Saturation tables may now be specified for individual well completions.
PERF Event Saturation tables may now be specified for individual well completions.
WEPS Controls options for saturation table scaling for individual well completions.
CNAC Saturation tables may now be specified for individual numerical aquifer completions.
CNAC Event Saturation tables may now be specified for individual numerical aquifer completions.
HFOR Historical well reservoir pressure data (WRP) may be entered for reporting purposes.
PRIO, GPRI, These keywords are now available as events.
WPRI

Small Changes
PCSH, PCSC The depth interval where variable capillary pressure shifts or scalings are applied
when using PCSH MIN or PCSC MIN will now be extended to include the oil-water
contact depth specified in the EQUI keyword if this is outside the interval.
WWAG Zero WAG intervals or volumes are properly skipped where MORE previously set the
respective target for one time-step.
The calculation of wellbore density has been modified in cases where the completion
connection factors are very small, as in the case of shale gas. An explicit connec-
tion factor averaged density in the wellbore is calculated from the fluid properties in
the connecting grid cells. A correction to this calculation has been made when the
connection factors are very small.
HTAB, HFIL The reporting of historical data to the MORE file system has been modified to account
for the states of the wells. Reported historical rates and totals are now consistent when
the reporting times differ from the historic times.
HFOR WRP column added to input/output historical reservoir pressure data.
Continued on next page

3.2. Changes in MORE 8.0 23


Tempest MORE Help, Release 8.1

Table 3.2 – continued from previous page


RATE Reference, reservoir, and hydrocarbon pore volumes available for field, groups, and
regions. Adsorbed and free gas vectors in CBM/SHAL runs available for field and
fluid in place regions. All new vectors are also available as functions in operations.
ETUN The ETUN keyword now applies to OPVD tables, controlling interpolation in 1/Bp
and 1/(Bp*viscp) rather than Bp and viscp.
STOR Additional outputs for molar quantities may now be requested (BOIL, BGAS, BWAT,
CC, MOBC and MOBV).
GENE Mnemonic CMPC controls output of completion molar rates and totals.

Deprecated Op-
tions
MPFA L-method option withdrawn.

3.3 Changes in MORE 7.2

This section summarizes changes in the 7.2 release of MORE compared to the previous version.

New keywords and developments

Input Section
HYST Switch on hysteresis modelling.
IEPD Select default option for imbibition endpoint arrays.
FLXT Set type of flux boundary conditions.

Grid Section
IOGC Imbibition critical saturation of oil in gas for each cell.
IOWC Imbibition critical saturation of oil in water for each cell.
IGL Imbibition connate gas saturation for each cell.
IGCR Imbibition critical gas saturation for each cell.
IGU Imbibition maximum gas saturation for each cell.
IWL Imbibition connate water saturation for each cell.
IWCR Imbibition critical water saturation for each cell.
IWU Imbibition maximum water saturation for each cell.
IWGC Imbibition critical saturation of water-in-gas for each cell (for oil-wet case).
PVBM Multiply pore volumes along a boundary.

Array Discussion New DPSS fracture arrays starting with F.

Init Section
THPD Threshold pressures between equilibration regions.

Recu Section
SERV IMPES volume balance error servo criteria.
WCTL Well settings controlling the THP shut-in behaviour.
WFFC Water filled cell flash criteria.

Small Changes
IMPES formulation Ensure volume error does not increase unboundedly in case of repeated chops.
Fluid In Place Reports Output datum-corrected field, group, and region hydrocarbon pressures.
WFRA event New BRANCH and DELAYW arguments.
PLIM event New PHASE argument to CUTBACK action.
TEST event New option to make well-specific and set maximum number of tests.
Continued on next page

24 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Table 3.3 – continued from previous page


GUGR event New guide rate option.
PERF event Allow completion in matrix cells only in DPER runs.
SURF Allow surface tension properties to change across restart.
PEBI Do not use MGVB option by default.
Operations Support for network and thermal quantities; increase precision of output; output debug to .dbg file
ECLIPSE support Support for MAPAXES, MAPUNIT, GRIDUNIT and FILEUNIT keywords.
RATE CRAT package Output free/solution oil/gas rates for completions.
GENE Add TARG package to output well and group targets.
ETAB and EFIL Stricter adherence to event input format specified under EFOR.
Error handling Improved handling of multiple warnings of same type.

Deprecated Options
SOLV Deprecate multi-gas solvent option.

3.4 Changes in MORE 7.1

This section summarizes changes in the 7.1 release of MORE compared to the previous version.

New keywords and developments

Keyword Description
Solver options
BCON New linear solver
WFSP Flow sharing fraction, globally or set in WFRA
DPOR MFC Matrix-fracture condensation to speed up dual porosity runs

Fluid properties
TSET Tracer sets to track components in compositional modelling
VCVI Critical volumes for viscosity calculations
ZCVI Critical Z-factors for viscosity calculations
KVSP Hysteresis curves may be used with KVSP, KVPX, KVPY and KVPZ
PVTG Full support of ECLIPSE PVTG keyword
KVSP Tables may be set up with respect to initial or specified pressure
PADT Polymer adsorption specified as a table
PAKW Effect of polymer adsorption upon water relative permeability specified as a table

Grid Section
MLRP Set pore volume multipliers by MULN region
MLRT Set transmissibility multipliers by MULN region
AQNN Setup numerical aquifers
AQNC Setup numerical aquifer connections
NUMA Required in INPUt section when numerical aquifers are being used
SORM Set up a trapped oil saturation in an equation of state run
LJOP Use Leverett J-factors to set up water-oil or gas-oil capillary scaling factors only

Initial Section
EQUI Support for accurate geometry multi-level equilibration
PDVD Dew point variation with depth (alternative to RVVD)
GCPG Allow connate oil in gas cap

Recurrent Section
Continued on next page

3.4. Changes in MORE 7.1 25


Tempest MORE Help, Release 8.1

Table 3.4 – continued from previous page


Keyword Description
WSPC Set separator conditions for wells
GSPC Set separator conditions for groups
WMUL Set connection multiplier for a well
WSET Create well set
Use templates with MORE well commands
RATE POT option to report well, group and field potentials
RATE PFLOW option to report free and solution production rates and totals
ESUM PFLOW option to report free and solution production rates and totals
IORD Option to select injection order of recycle and makeup gas
CNAC WELL sub-keyword to complete a well in a numerical aquifer

New Events
GSPC Set separator conditions for groups
WSPC Set separator conditions for wells
WMUL Set connection multiplier for a well
WALQ Event to set well ALQ
CNAC Event to complete a well in a numerical aquifer

Small changes
STRE event to A and B allowed to set injection gas in different cycles
set injection gas
HRGI and HRGI and HRWI: control gas or water injection by historical reservoir volume rate
HRWI
STOR CMPF will output fluid compressibility
HFOR Can enter historical reservoir voidage rates and totals directly
HUNI Can enter historical reservoir voidage rate and total units
BICG Option to run bi-conjugate gradient rather than GMRES in linear solver
BCOP Set options for BCON linear solver
GUGR event to OFF now allowed
set group user
guide rates
WUGR event OFF now allowed
to set well user
guide rates
New functions to obtain well, group and field potentials, and historical values, from
within operations
FLOW argument with STORe, and with GENE after ESOL, to output interblock flow
rates

3.5 Changes in MORE 7.0

This section summarizes changes in the 7.0 release of MORE compared to the previous version.

New keywords and developments

Fluid properties
STDC Set non-default standard conditions for compositional modelling
VICO Choose viscosity correlation for compositional modelling

Rock and grid properties


DPGR Allow specification of only the matrix cells depths in dual grid dual porosity or dual permeability cases
Continued on next page

26 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Table 3.5 – continued from previous page


KVPXYZ Pressure dependent permeabilities in the X-direction
KVPXYZ Pressure dependent permeabilities in the Y-direction
KVPXYZ Pressure dependent permeabilities in the Z-direction
IGT etc Expression operators for GT,GE, LT and LE

Initialisation
PCSC Use capillary pressure scaling (rather shifts) to stabilise initial saturations
EQUI Added option to use multi-level equilibration and EXWR argument for extended water region

Operations
ENDO End of an operation definition
INVO Invoke an operation
OPER Define an operation

Gas pseudo-pressure
GPP Request single-phase gas pseudo-pressure
MPGP Request multi-phase gas pseudo-pressure
RG Request Russell-Goodrich
WGPP Apply single-phase gas pseudo-pressure to given well
WMPG Apply multi-phase gas pseudo-pressure to given well
WRG Apply Russell-Goodrich to given well

Velocity dependent relative permeabilities


VDKR Request velocity-dependent relative permeabilities
WVDK Apply velocity-dependent relative permeabilities to given well

Forchheimer flows
FORC Request Forchheimer flows
WFOR Apply Forchheimer flows to given well

Stimulated reservoir volumes and shales


AGVP Available shale gas variation with pressure
SHAL Shale gas modelling
SRV Set up an SRV (stimulated reservoir volume) by xyz location
SRVW Set up an SRV (stimulated reservoir volume) along a well by measured depth

Unstructured grids
FLXY PEBI fault feature
PEBI Use PEBI modelling for a local grid
TRXY PEBI track feature

Groups
GTOL Group limit tolerance
RPM Regional pressure maintenance
VREP Surface reinjection options SGAS and SAT added
GNEW New and recommended group control method
POTN Periodic Well Potential Calculations

Wells
DRIL Select drilling once or multiple times from drilling queue
DTMX Extra column to set target temperature change over a timestep
WABC Set well skin and D-factor from A- and B-coefficients
WLGO Make well unavailable for group lift gas optimisation
WLTA Set well lift table addition
Continued on next page

3.5. Changes in MORE 7.0 27


Tempest MORE Help, Release 8.1

Table 3.5 – continued from previous page


WLTM Set well lift table multiplier
WTOL Set tolerance on WLIM limits

Completions
COMP Add FRAC, MAT and BOTH arguments for completions in dual porosity and dual permeability runs
RATE Option to compress completion rates for completions with same measured depth to save .rat file space
PERF, SQUE Add FRAC, MAT and BOTH arguments for completions in dual porosity and dual permeability runs

Solver options
AIMT Target fraction or CFL limit for adaptive implicit
FL3P Enable three-phase hydrocarbon flash

Simulator control and data input


EDAT Set end date or time for the simulation
READ Optional HOUR argument available
HADD Add table to existing history table
MAXC Set maximum CPU time for run
MAXE Set maximum elapsed time for run
NOGE Do not generate geometric non-neighbour connections: will be done by pre-processor
RMS Use a root mean square norm (rather that a maximum norm) to control the simulation
STMO Modify saturation tables during run
LSOL Select Gauss-Seidel orthogonalisation option (default highly recommended)

Simulator output
BLOG Request binary log file output
RATE Branch package option added to RATE
RATE CPU and elapsed time added to RATE ITER package
RPTB Request MORE report its own BLOG file
STOR Report number of iterations to converge each cell CNLI or CLIN
STAG (RATE) Report well statistics by group
TSET Report surface production from reservoir regions using tracer sets

Advanced and algorithmic control options


NFLS Force the use of Nested Factorisation linear solver
NOPI Do not pivot fully implicit cells in runs using mass variables
TRLS Tridiagonal research solver
NONN Do not generate any non-neighbour connections

New Events

AFTER Well event not to be triggered until well has been open for a chosen period
TSDT Set target temperature change over a timestep

28 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

3.6 Changes in MORE 6.7

This section summarizes changes in the 6.7 release of MORE compared to the previous version.

New Options and Keywords

FLUX files .FLX files may be written and read


4-phase Todd-Longstaff Todd-Longstaff 4-phase solvent option

Other new keywords and developments

EX- Exact timestepping with respect to a HFIL/HTAB table


ACT
RPIP Set reference pressures to initial pressures
FRIC Run well model with friction but not full multi-segment solution
INTE Interpolation of xy values in GRID and INIT arrays may be range limited
WFRA Asymmetric and bent fractures allowed
CDEN Coal density now available as a grid array
SIZE New CTC argument to add circle completion connections to radial cases with more than one cell in
the azimuthal direction
RATE Well temperature added to RATE WELL package for thermal and steam runs
TFUN Water critical saturations and relative permeability multipliers may be made functions of
temperature or tracer concentrations
COMP Option to compress completion rates for completions with same measured depth to save .rat file
space

New Events

RFREQ Rate reporting frequency


WCOM Add compression to a well pipeline
GCOM Add compression to a group pipeline

3.6. Changes in MORE 6.7 29


Tempest MORE Help, Release 8.1

3.7 Changes in MORE 6.6

This section summarizes changes in the 6.6 release of MORE compared to the previous version.

New Options and Keywords

MPFA L and O methods now supported for multi-point flows


KRWO Capillary pressure hysteresis
PCHC Curvature parameter for capillary pressure hysteresis
RRTA Set radius and roughness vs measured depth for multi-segmented well
AQFE Fetkovitch aquifer model
AQWO Weight options for aquifer connections
TMVD Temperature variation with respect to depth in an equation of state run
KRWG New separate table to enter relative permeability of water in gas for oil-wet case
WWAG Options to do WAG by volume rather than time and to leave well in chosen state when WAG is
turned off
WFRA Define well fracturing operation
CMPR Set up a multi-stage compressor table
GCOM Specify action if group pipeline pressure or rate target not met (e.g. introduce a compressor)
WCOM Specify action if well pipeline pressure or rate target not met
CSEP Request that completion stream be flashed through separators
OVPG Oil viscosity modification with pressure gradient
DPBD Limit on rate of change of bubble point with time in a black oil model
GLIF Optimise gas lift for a group
WSEG Request multi-segmented well
SLIP Request gas-liquid phase slip in multi-segmented well model

30 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Extended keywords and minor developments

SEPA Specify non-default separator stage connection


TMF Enter cell by cell total compositions for equation of state runs
SEQU Set up a WAG sequence to be used by the WWAG event
WAGT Set tolerances for WAG injection by volume
PIPE USELiftgas options available for pipes and with PIPEC and PIPET events
GPAL Set artificial lift quantity for a group pipe
WPAL Set artificial lift quantity for a well pipe
BACK Request back-compatibility options
NEPT Set number of pressure table regions for use when reading ECLIPSE format fluid property keywords
NEST Set number of saturation table regions for use when reading ECLIPSE format relative permeability
keywords
MFVD Specify composition with respect to depth
XMFV Specify oil composition with respect to depth
YMFV Specify gas composition with respect to depth
GOCX Use oil composition to define conditions at the gas-oil contact
GOCY Use gas composition to define conditions at the gas-oil contact
TRIM Trim gas saturations in the oil zone of an equation of state run
GLIM Group rates of zero are now observed
STOR FSHX, FSHY and FSHZ added to STOR for OVPG or PSHEear ON runs
STOR Total mole fractions (zmf) added to STOR for equation of state runs
GENE Total mole fractions available as .out file maps or on ECLIPSE restart files
SIZE Option to use pressure equivalent radii in radial transmissibility calculations
QCVF Use quadratic compressibilities
IPFL Use inverse pressure function in table lookups
ECCF Use squared average for general completions
Rates now calculated for fipn and flip groups on basis of completion flows

New Events

**CIJK** Specify completions by IJK


**OTARG** Set oil target for producer or injector
**GTARG** Set gas target for producer or injector
**WTARG** Set water target for producer or injector
**LTARG** Set liquid target for producer or injector
**VTARG** Set reservoir voidage target for producer or injector
**GSALE** Set group gas target reserved for sales
**GPAL** Set artifical lift quantity for a group pipe
**WPAL** Set artifical lift quantity for a well pipe
**WWAG** Set up water and gas cycling for an injection well
**WFRA** Set up well fracturing operation
**WSEG** Set up segmented well
**TEST** Request periodic well testing

3.7. Changes in MORE 6.6 31


Tempest MORE Help, Release 8.1

3.8 Changes in MORE 6.5

This section summarizes changes in the 6.5 release of MORE compared to the previous version.

New Options and Keywords

Running the multigrid linear solver

MGLS Select multigrid solver

Keywords related to the network model

PIPE | Characterize a pipe


WPIP | Attach a pipe to a well
GPIP | Attach a pipe to a group
WPUM | Attach a pipeline pump to a well
GPUM | Attach a pipeline pump to a group
GPMI | Set minimum node pressure for a group
PTAB | Set up a pipe table
PLPU | Set up a pipeline pump table

New events

XFLO Enable or disable cross-flow on a well by well basis


PUMP Set a pump table
RATE Request output of rate files at event time
WPIP GPIP WPUM GPUM Attach pipe or pump to well or group
GPMI Set minimum node pressure for a group
PIPET PIPEC Characterise a pipe using coefficients or a pipe table
CWAG Select continuous water and gas injection, specify gas per unit water injected
MPFA Multi-point flow option

32 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Other new keywords and developments

RATE ESUM Request output of region to region flows and totals


WWAG Control switch status of well after WAG turned off
WSWI Force switch status of well on WSWITCH rather than toggling
HFOR Allow the specification of historical oil injection data
:DRAW Control injector on draw-in
HFIL Net and gross input of historical rate data
NWHY Request non-wetting phase hysteresis in all phases
STOR STOR can request GCR in CBM runs
RATE Extra information on iteration and run
STRE Extra information for tempest display - Outputs for streamlines
ROFF NOFLIP on ROFF load
WLIM Also available with PLIM event
AQUT Influence functions for Carter-Tracy aquifers
GVVT Gas viscosity variation with temperature
WVVT Water viscosity variation with temperature
NOHY Turn off hysteresis
FIPN and FIP Obtaining fluid in place reports using one index per cell
arrays
PVFL Will make all pore volumes at least PVFL for IMPES runs
SWDA Select saturation weighted density volumes
MIXK Interpolation of oil and gas flows near critical point
MIXK Interpolation of oil and gas relative permeabilities near critical point
CWAG Specify continuous water and gas injection
RATE Output of mobile oil, water and gas in place with RATE FIELD and in the .out file
STOR Output of phase formation volume factors with STORE
P-RE Can also be set using event PREX Option to define external pressure average using just
active completions
DWPW Set default methods for weighting well pressure averages and drawdown control
DRAW External radius specified with P-RE or PREX event now used for well drawdown control
WDOP Specify option used to calculate wellbore density

3.8. Changes in MORE 6.5 33


Tempest MORE Help, Release 8.1

3.9 Changes in MORE 6.4

This section summarizes changes in the 6.4 release of MORE compared to the previous version.

New Options and Keywords

Running MORE in parallel

MORE 6.4 extends the parallel processing capabilities of MORE 6.3 by doing the grid calculations such as trans-
missibility calculations in parallel mode. This greatly increases the size of problem that can be run in parallel as
the grid storage is not duplicated across the processors.

Live steam simulation

It is possible to inject steam into a reservoir with oil, water and gas present. Both gas and steam will generally
exist in the reservoir vapour phase.

Tracer tracking

It is possible to define one or more named tracers using the TRAC keyword. A tracer is transported by a named
component. The concentration of a tracer injected by a well may be defined using WTRC or the TRAC event. The
concentration of a tracer in water injected by an aquifer may be defined using the ATRC keyword.

Fractured completions

New completion directions FX and FY on the CIJK keyword allow a fractured completion to be entered. The
length of the completion may also be specified.

D-factors

It is possible to specify D-factors (rate dependent skin values) by well or completion. This may be done using the
new well sub-keyword DFAC, the new DFAC event, or a new argument on the CIJK keyword.

actn=2

In a thermal run, setting “actn” to 2 will result in a cell which is purely rock. A very small pore volume of a
millionth of the original pore volume is retained, but isolated from the simulation.

New end point scaling options

MORE has traditionally supported three-point end point scaling of saturation tables, in which the lower, critical
and upper saturations of each table may be modified on a cell-by-cell basis. However, a new four-point option
has been introduced, which scales at the lower, critical, other phase residual and upper saturations. This enables
saturation tables to be more precisely rescaled. This is described in more detail in the MORE Technical Reference
Manual. The end point scaling option may be selected with the EPS keyword.
MORE has also traditionally applied the same scaling to the relative permeability and capillary pressure columns
of a saturation table. However, it is now possible to choose a different scaling option for the capillary pressures.
This might be two-, three- or four-point scaling, or no scaling at all. Using no capillary pressure scaling or two-
point capillary pressure scaling enables the critical and residual saturations to be changed without altering the
original fluid in place.

34 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Multiple surface densities

It is possible to define different surface densities in each pressure table region, by specifying the keywords BASI
and SDEN more than once. In addition, WATR will set a water surface density for each pressure table region.
When multiple surface densities are used, MORE will still conserve the mass of each component. However, fluids
will change surface density when they flow from one region to another, so it is best if the regions with different
surface densities are largely non-communicating. Surface volume flow for a given well is reported with respect to
a pressure table for that well, chosen on the basis of the table used by the largest number of completions.

Pressure dependent flows

When a block of non-neighbour connections are specified using the NNC keyword, it is possible to add an ONPD
argument. This means that the NNCs will not flow until the oil phase pressure difference across the connection
exceeds the specified value. Once this value has been exceeded, the connection flows normally.

Wetting phase hysteresis

Previous versions of MORE have effectively treated non-wetting phase hysteresis in all phases. This has been
improved in the current version to allow non-wetting and wetting phase hysteresis. Gas is always non-wetting.
Water is normally wetting, but oil may be made non-wetting with respect to water using the WETT keyword. In
non-wetting hysteresis the imbibition curve has a lower relative permeability than the drainage curve and leads
to a trapped saturation. In wetting phase hysteresis the wetting phase imbibition curve has a higher relative
permeability than the drainage curve, but the end points are the same for both curves.
A new set of data checks has been added on the relative permeability data used with hysteresis.

Multi-level group control and guide rates

MORE has traditionally treated a group as a simple set of wells. Group targets and limits are simply imposed on
wells contained in the group. However, it is now possible to define one group as the parent of another using the
PARE keyword. It is possible to assign a target rate to the child group, and if the child group rate target is reached
the parent group will not control the wells in the child group directly.
It is also possible to assign guide rates to child groups, so that a fixed split of a parent group rate is used. This may
be done using the GUGR keyword.

Improved ECLIPSE keyword support

MORE will now accept some additional ECLIPSE keywords, although this is still a small fraction of the full
ECLIPSE set, and some are only partially supported, where they overlap with MORE capabilities. Support is
summarised in ECLIPSE compatibility table in this manual. This includes long-supported keywords like ZCORN
in order to collect everything into one table. MORE will generally search its own keyword list first, unless EPRI
is set on for a section of the input. ECLIPSE keywords must be entered into the appropriate section of the MORE
input file - i.e. FLUID, RELA, INIT, RECU etc.

3.9. Changes in MORE 6.4 35


Tempest MORE Help, Release 8.1

New events

XFLO Enable or disable cross-flow on a well by well basis


GXFLO Enable or disable cross-flow on a group by group basis
VREP Set up voidage replacement
PBAL Set up production balancing
DFAC Set well D-factor
RATE Request output of rate files
REDE Set up well redefinition
CONV Set up well conversion
GPRED Set up production group redefinition
GIRED Set up injection group redefinition
TRAC Define injector tracer concentration
WUGR Define well user guide rate
GUGR Define group user guide rate

Minor new keywords and developments

ALLX Enable or disable cross-flow for all wells


OPMX Set maximum number of cells for printed maps in the OUT file
Palmer-Mansoori option now allowed with enhanced coal bed methane
PVTW Will accept extra argument, the pressure derivative of water viscosity
WATR Will accept extra argument, the pressure derivative of water viscosity
FAULTS Will accept I-,J- and K- directions. Now acts on pinchouts as well as x- and y-faults
The FUNC grid subkeyword is similar to F(PO and F(DE but allows any argument array
HIST with F(PO, F(DE and FUNC grid sub-keywords sets to lower value in interval rather than
interpolating
SKIP Start skipping input data
ENDS Stop skipping input data

36 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

3.10 Changes in MORE 6.3

This section summarizes changes in the 6.3 release of MORE compared to the previous version.

New Options and Keywords

Running MORE in parallel

MORE 6.3 may be run in parallel mode. MPI is used as the underlying communication protocol. This is typically
supported on multi-processor and multi-core machines.
No user changes to the input dataset are required for parallel running. A parallel MORE run is submitted using
an mpiexec command, which specifies the number of processors to be used. Internally, MORE detects that it has
been submitted in parallel.
When running in parallel, MORE splits the problem into groups of planes in the i- or j-directions. Each group is
then assigned to a processor. This division is done automatically, but it is possible for the user to over-ride the
default division using the PDIV command. The division of the problem between processors may also be displayed
using Tempest by requesting output of the PPCE (Processor Per CEll) array with the PRIN keyword in the GRID
section, so parallel running is possible on any set of processor.

Space saving on output files

Traditionally, MORE has written values for all cells to the GRID and ARRA output files. However, when a large
fraction of the cells are inactive, this wastes a lot of space. The ACTIVE argument of the PRIN keyword in the
grid section requests that only active cells values are written.

Controlling pinchout generation

Pinchouts are connections in the z-direction between cells which are separated by zero-thickness inactive layers.
These are normally generated automatically, under the control of the PINC keyword. Pinch-out switching is only
turned on if PNSW values are provided by the user. The PNSW array is defaulted to 1, but where set to 0 it will
act as a barrier to pinchout generation.

Compositional sales and makeup gas

CSAL Sell a component of the gas stream


CMAK Add a component to the make-up stream

New events

**DRAW** Set drawdown target for a producer


**PREX** Set well external radius and pressure averaging option
SIM Do simulation to event time
**END** End at event time

Changes to ECLIPSE files output by MORE

Upper case mnemonics are now the default, which is the ECLIPSE default, so OPEN ECLIPSE UPCASE need
not be specified with OPEN. A new LOWCASE argument has been provided to request lower case mnemonics if
required.
MORE automatically detects the endian convention on the current processor, automatically byte-swap if required
to produce ECLIPSE standard big-endian (UNIX) type unformatted files. OPEN ECLIPSE UNIX need not be

3.10. Changes in MORE 6.3 37


Tempest MORE Help, Release 8.1

specified. The UNIX and PC arguments of OPEN remain, to force production of big-endian and little-endian files
respectively, but should rarely be required.

38 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

3.11 Changes in MORE 6.2

This section summarizes changes in the 6.2 release of MORE compared to the previous version.

New Options and Keywords

Events

EFIL Introduce a file of events


ETAB Introduce an in-line table of events
ENDE Terminate an event table
EUNI Specify units for events
EFOR Specify format for event file or table
EVEN Request that timesteps observe event times

Dual porosity modelling

DPSS Model a dual porosity system using single grid source-sink method

Tensor Permeabilities

TENS Turn on tensor modelling


KXY,KYZ,KZX Tensor permeability GRID section arrays

Well Model

ALQ Artificial lift specification


WALQ Well artificial lift value
WLIF Optimise lift value
WPRI Set well priority

Solvent injection modelling

SOLV Extended black oil model with two gases


TODD Use Todd-Longstaff viscosity mixing

Dynamic porosity and permeability modifications

KMOD Modify permeability during simulation


PMOD Modify porosity during simulation

3.11. Changes in MORE 6.2 39


Tempest MORE Help, Release 8.1

Miscellaneous

ABSP Use absolute paths in OPEN and INCLUDE


AQCD Specify aquifer connection by depth
DREF Sub-keyword of well to set bhp reference depth
**ELOB** Palmer-Mansoori EL/B array
EEGR Write out an ECLIPSE extensible grid file
**GCRI** Initial gas content of coal
GTAR Options for group control: net targets and potential guide rates
KRDR IRRV option for irreversible directional relative permeabilities
**MFTC** Matrix-fracture time constants
NOXY Reset grid partitioning set up by XDIV/YDIV
PORV_TRANXYZ Set pore volumes and transmissibilities in ECLIPSE form
PRIN PRINT TRACK available in RECU section
PBVD Set initial bubble point vs depth
RSVD Set initial solution GOR vs depth
SOLU Solubility of hydrocarbons in aqueous phase and water in the hydrocarbon phase is
available in MORE 6.2

Changes to Existing Keywords and Options

DELT Takes priority over initial step size


DPOR NET argument: treat user fracture porosities as net
SING argument: use single grid method
DPER NET argument: treat user fracture porosities as net
LSOL Additional arguments to set linear solver iteration targets
PCSH MIN is now the default option
Additional LIM option to specify range of depths to be stabilised
SURF Default miscibility exponent is now 1.0
PINC PINCH and MINDZ give independent control of making cells inactive and generating pinchouts
Treatment differs from that of MORE 5

40 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

3.12 Changes in MORE 6.1

This section summarizes changes in the 6.1 release of MORE compared to the previous version. The arguments
and syntax are only summarized here - please check in the keyword reference section for details.

New Options and Keywords

Compositional coal bed methane simulation

CCOA Specify adsorbed components


CLNn Langmuir specific volumes for component n
PLNn Langmuir pressures for component n
TLNn Langmuir temperatures for component n
PDSn Coal desorption pressures for component n

Directional relative permeability

KRDR Turn on directional relative permeability


KRDX Saturation table numbers for flow in x-direction
KRDY Saturation table numbers for flow in y-direction
KRDZ Saturation table numbers for flow in z-direction

Prioritisation

PRIO Set prioritisation coefficients


GPRI Set up a group prioritisation target

Production balancing and voidage replacement

PBAL Balance production to match injection


VREP Balance injection to replace voidage

Miscellaneous

MINDz Set minimum DZ cell criterion


PCSH Set option for capillary pressure shifts
DRAW Set well drawdown target

3.12. Changes in MORE 6.1 41


Tempest MORE Help, Release 8.1

3.13 Changes in MORE 6.0

This section summarizes changes in the 6.0 release of MORE compared to the previous 5.5 version. The arguments
and syntax are only summarized here - please check in the keyword reference section for details.

New Options and Keywords

Coal bed methane simulation

This is described in section 12 of the MORE 6.0 technical reference. The Palmer-Mansoori method is used to
model coal shrinkage.
CBM [PM] Enable coal bed methane option; Palmer-Mansoori is an option
LANG Global Langmuir coefficients
CDEN Coal density
FASH Grid array specifying coal ash fractions
CLAN Langmuir specific volumes as grid array
PLAN Langmuir pressures as grid array
TLAN Langmuir temperatures as grid array
PDSC Initial coal desorption pressures

STEAM injection

STEAM Well subkeyword to specify injected steam properties

Data values for local grids

REFI and ENDR Enable grid data values to be specified for local grid.

Grid Coarsening

COARSEN Specify uniform coarsening factors in x-, y- and z directions.


CXGR Specify coarsening cell groups in x-direction.
CYGR Specify coarsening cell groups in y-direction.
CZGR Specify coarsening cell groups in z-direction.

Nested included files

Include may be used as an alternative to OPEN and SWITCH. Include files may be nested - an included file may
have further INCLUDE keywords.

Gravity Drainage with Dual Porosity.

GRAV argument with DPORO and DPERM, DZMA grid array.

Input of relative permeability data.

OSF, GSF and WSF form an alternative set of keywords to KRGO and KRWO for entering relative permeability
data. OSF, GSF and WSF enter each phase relative permeability as a function of its own saturation.
OSF Relative permeabilities for oil as a function of So
GSF Relative permeabilities for gas as a function of Sg
WSF Relative permeabilities for water as a function of Sw

42 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

Thermal simulation

THXO,THXW,THXR Oil, water and rock thermal expansion coefficients

Grid Calculations.

The FAUL option on HORI is no longer required. Fault connections will automatically be generated for any grid
which is not of the flat block type.

Equilibration.

RVVD Specify variation of initial oil-gas ratio, Rv, in reservoir gas phase.

Well Historical Rate Files

HFIL Introduces a file of historical well rates.


HTAB In-line form of HFIL.
HFORM Defines format of an HFIL historical rate file.

Well Trajectory Files

TFIL Introduces a file containing well trajectories.


TTAB In-line form of TFIL.

File Handling and I/O

Input line length Increased to 1000 characters on a line.


Name conventions All restrictions on names (2-4 characters etc) dropped.
IRST OPEN argument to load restart from run with different name.
EXACT On RATE - requests that simulator steps match rate times.
STORE Store specified arrays for plotting with Tempest

Simulation Step Controls.

LSOL Simple linear solver tuning - replaces LSOR and PCGP


UNITS FIELD and IMPerial are aliases for POFU.
MONI Turns monitor on to obtain solver performance debug

Production System.

WLIM This may be used to specify additional well targets as well as limits. For example a well can be run
with both thp and bhp controls, specifying one with the WELL keyword and one on a WLIM card.
Similarly, a maximum oil rate could be set with WELL and a maximum gas rate with WLIM.
SALE RECYCLE subkeyword: specify gas sales rate or fraction.
MAKE RECYCLE subkeyword: specify gas makeup rate or fraction.
STOP WELL argument - stops well
SHUT WELL argument - shuts well.
MORE 6 allows a well to be stopped - producing no surface flow but allowing crossflow between layers.

3.13. Changes in MORE 6.0 43


Tempest MORE Help, Release 8.1

Minor Changes, Enhancements and Checks

Input Section

UNITS will take FIELD and IMP as aliases for POFU.


Solver tuning keywords (VTOL, LSOL) need not be placed in the INPUT section: they may be placed in the
RECU section and modified during the run.

Fluid Section

Total compressibility check on saturated oil-gas system added.

Rela Section

Check for incorrect relative permeability data with Stone II added. This traps cases where Stone II may predict
Kro(So)>0 even when So=0.
Trap for zero connate water saturation in run containing water. Probably an error, but will be allowed if the ZERO
keyword is entered.

Grid Section

UTM is no longer required in order to get positive pore volume for grids specified using a left-handed (UTM)
coordinate system.
PINCH now has ON and OFF arguments, and a minimum dz value.
DATUm now defaults to the depth of the top active cell, rather than zero.
The default MINP value is 0.000001 rm3, rather than 0.0001 average pore volume.
Cell centre depths may now be modified after the grid calculations have been performed, as well as transmissibil-
ities and pore volumes.
As an alternative to using TEMP, cells may be assigned to PVT regions directly by using the GRID section array
PVTN. Fractional PVT region numbers are no longer supported.

Init Section

SWAT may be specified after equilibrium initialization. MORE will impose the specified water saturations and
stabilise the initial solution using a capillary pressure shift.
Data may be entered for a number of equilibration regions, even if these are not used.
NONE alias to NEQU in INIT keyword.

Recu Section

HEAD no longer required to set the wellbore fluid density - MORE will obtain these automatically from the
wellbore composition.
The default setting of TEST in the recurrent section is no well testing - i.e. a well which is shut will stay that way.
TEST may be used to specify a testing interval for all closed wells.

44 Chapter 3. Tempest MORE version changes


Tempest MORE Help, Release 8.1

3.14 Deprecated Keywords

The following keywords are read by MORE, but no longer have any effect and need not be used:
Keyword Comments
PAGE
PHAS Fluid phase type selected automatically
CASE Mixed case is always used
MAXI All allocations are now dynamic
TUNE
WDEN Wellbore densities now calculated
HEAD Wellbore densities now calculated
WIDX Pre-1994 well index calculation method no longer supported
JACO
BOUN Replaced by SALE and MAKEup
TARG Replaced by SALE and MAKEup
GFRE Group checks now done at every step
PCGP Replaced with LSOL
ADJU
LSOR LSOR linear solver replaced with nested factorisation and multigrid solvers
TRLS TRLS linear solver replaced by boundary conditioning solver
FRIC
MISC Multi-gas solvent option withdrawn, use Todd-Longstaff option instead
OSPVT Multi-gas solvent option withdrawn, use Todd-Longstaff option instead
MPFA L-method option withdrawn, use MPFA without extra arguments (O-method)

3.14. Deprecated Keywords 45


Tempest MORE Help, Release 8.1

46 Chapter 3. Tempest MORE version changes


CHAPTER

FOUR

TEMPEST MORE GLOBAL KEYWORDS

4.1 DEBU (or DUMP) - Set Debug Output Requests

Location

Any Section

Description

The DEBU (debug) keyword is used to set debug output requests. DEBU consists of 26 optional arguments which
should all be entered in succession on the same line as the DEBU keyword itself when used. Default values do
exist for these arguments, but the 1* notation must be used in place of the argument to indicate that the use of the
default value is desired and to retain the correct order for the entry of arguments. Any remaining arguments which
are not entered will take on their default values automatically and the 1* notation need not be used.

Definitions

All of the following arguments have a default value of 0.

47
Tempest MORE Help, Release 8.1

1 General non-linear iteration debug


2 Fault connection
3 Parser debug
4 Initialisation debug
5 Well model debug
6 Lower ix index for debug
7 Upper ix index for debug
8 Lower iy index for debug
9 Upper iy index for debug
10 Lower iz index for debug
11 Upper iz index for debug
12 Inner direction for linear solver
13 Outer direction for linear solver
14 Not used at present
15 Not used at present
16 Debug for Rex interface
17 Debug for parallel operations
18 Debug for multigrid solver
19 Not used at present
20 Debug for operations
21 Debug for global arrays
22 Debug for linear solver (colsum)
23 Debug for gas pseudo-pressure
24 Debug for linear solver (rowsum)
25 Debug for fast restarts (SAVE/LOAD)
26 Debug for Events

Notes

• DUMP is an alias for DEBU.


• If the solver nesting directions are reset, both arguments 12 and 13 should be set to define the required
ordering.

Example

1. DEBU is used to set debug output requests for lower and upper ix, iy, and iz indexes. All other debug values
are defaulted.

DEBU 5* 81 82 12 13 3 3

48 Chapter 4. Tempest MORE global keywords


Tempest MORE Help, Release 8.1

4.2 ECHO - Control of Input Data Echo Printing

Location

Any section

Description

The ECHO keyword is used to control input data echo printing. When echo printing is turned on, each line read
from the input data file is echoed to the output file. ECHO consists of one optional argument which should be
entered on the same line as the ECHO keyword itself if used.

Definitions

1. Echo mode (optional) - ON or OFF


• ON (default) - turns on echo printing
• OFF - turns off echo printing

Notes

• YES and NO may be used as aliases for ON and OFF to turn echo printing on and off, respectively.
• When output is viewed in the .out file of MORE, which can be seen under the Print tab when results are
loaded in Tempest View, echoed lines start with the characters Echo and include the line number within the
file. For example:
Echo 30:WETT LINE

• When reading from an alternate file (see keywords OPEN and SWIT), the prefix becomes Echo alt. For
example:
Echo alt 8:OPVT

• When reading from an include file (see keyword INCL), the prefix will become Echo inc. When include
files are nested, the nesting index is included. For example:
Echo inc+1

Example

1. ECHO ON and ECHO OFF are used to turn on the echo printing of input data from an include file.
ECHO ON
--* Component properties
PROP / Name MW TC(R) PC(psia) ACF ZC
CO2 44.0000 547.600 1070.60 0.23100 0.27327 /
C1 16.0000 343.000 667.800 0.01200 0.29028 /
C2 30.1000 549.800 707.800 0.09100 0.28791 /
C3 44.1000 665.700 616.300 0.14500 0.28469 /
C4 58.1000 765.300 550.700 0.19300 0.27492 /
C5 72.2000 845.400 488.600 0.25100 0.26389 /
C6 84.0000 914.000 476.000 0.27100 0.27176 /
C7+ 200.000 1318.90 258.955 0.54619 0.03371 /
/
ECHO OFF

4.2. ECHO - Control of Input Data Echo Printing 49


Tempest MORE Help, Release 8.1

When the .out file is viewed under the Print tab of the results in Tempest View, we will see the following
input data echoed:

...
Reading keyword EQUA
Echo inc 22:--* Component properties
Echo inc 23:PROP / Name MW TC(R) PC(psia) ACF ZC
Reading keyword ECHO
Echo inc 24: CO2 44.0000 547.600 1070.60 0.23100 0.27327 /
Echo inc 25: C1 16.0000 343.000 667.800 0.01200 0.29028 /
Echo inc 26: C2 30.1000 549.800 707.800 0.09100 0.28791 /
Echo inc 27: C3 44.1000 665.700 616.300 0.14500 0.28469 /
Echo inc 28: C4 58.1000 765.300 550.700 0.19300 0.27492 /
Echo inc 29: C5 72.2000 845.400 488.600 0.25100 0.26389 /
Echo inc 30: C6 84.0000 914.000 476.000 0.27100 0.27176 /
Echo inc 31: C7+ 200.000 1318.90 258.955 0.54619 0.03371 /
Echo inc 32:/
Echo inc 33:
Echo inc 34:ECHO OFF
Reading keyword PROP
Reading keyword ECHO
Reading keyword TEMP
...

50 Chapter 4. Tempest MORE global keywords


Tempest MORE Help, Release 8.1

4.3 ENDS - Stop Skipping Input Data

Location

Any Section

Description

The ENDS keyword is used to end the skipping of input data which starts under the SKIP keyword. All data after
the SKIP keyword will be ignored until the ENDS keyword is encountered.
There are no arguments needed for ENDS.

Definitions

n/a

Notes

n/a

Example

1. SKIP is used with ENDS to skip over input data.

SKIP
-- Data to be completely ignored in this run
P-1 2010:Jly:1 LTAB TAB1 /
P-1 2010:Jly:2 PROD
P-1 2010:Jly:20 THPT 1200 /
P-1 2010:Jly:20 OPT 5000 /
ENDS

4.3. ENDS - Stop Skipping Input Data 51


Tempest MORE Help, Release 8.1

4.4 EPRI - Request that ECLIPSE Keywords are Recognised before


MORE Keywords

Location

Any Section

Description

The EPRI keyword is used to request that ECLIPSE keywords are recognised before MORE keywords are. Nor-
mally, MORE recognises keywords based on the first four characters. In some cases, this may mean an ECLIPSE
alias keyword like WELLSPEC is interpreted as WELL. If EPRI in turned on, then the ECLIPSE match will be
taken in preference to the MORE one. EPRI must be turned off again to return to the default priority of MORE
keywords taking precedence over ECLIPSE ones.
EPRI consists of one optional argument which should be entered on the same line as the EPRI keyword itself if
used.

Definitions

1. ECLIPSE priority on or off (optional): ON or OFF


• ON (default) - request that ECLIPSE keywords are recognised before MORE keywords
• OFF - request that MORE keywords are recognised before ECLIPSE keywords

Notes

• YES and NO may be used as aliases for ON and OFF to request that ECLIPSE keywords will or will not be
recognised before MORE keywords, respectively.
• EPRI does not lead to any algorithmic changes. Minor algorithmic changes that enable MORE to match
results of other simulators more closely may be turned on using the ETUN keyword.

Example

1. EPRI is used to request that ECLIPSE keywords are recognised before MORE keywords in an input dataset.

EPRI ON

52 Chapter 4. Tempest MORE global keywords


Tempest MORE Help, Release 8.1

4.5 INCL - Specify an Include File

Location

Any Section

Description

The INCL (include) keyword is used to include another input file in a simulation. When an INCL keyword is
encountered, MORE switches to reading from that file when it has been read. INCL consists of one required
argument which should be entered on a separate line below the INCL keyword itself when used.

Definitions

1. Name of include file

Notes

• The file name should be enclosed in quotes if it contains a slash (/) character or else this will be treated as
the start of a comment instead. The file name must also be enclosed in quotes if blanks or special characters
are used.
• Unlike OPEN or SWIT, INCL keywords may be nested. In other words, included files may contains further
included files.

Example

1. INCL is used to include a file named pvt12.mflui in a simulation.

INCL
pvt12.mflui

4.5. INCL - Specify an Include File 53


Tempest MORE Help, Release 8.1

4.6 MONI - Switch on details of simulation iteration

Location

RECU Section

Description

The MONI keyword can be specified at any point in the simulation to turn on monitoring of the process of
converging the flow equations to a solution. Output is written to the log output, which usually appears on the
console. However, log output can be re-directed to a file using the LOGF keyword.
MONI output can be verbose, and is normally used for problem investigation by program developers.

Example

READ 10 YEARS
--Turn on run monitoring
MONI

54 Chapter 4. Tempest MORE global keywords


Tempest MORE Help, Release 8.1

4.7 SKIP - Start Skipping Input Data

Location

Any Section

Description

The SKIP keyword is used to ignore any input data that appears below it. All data after the SKIP keyword will be
ignored until the ENDS keyword is encountered.
There are no arguments needed for SKIP.

Definitions

n/a

Notes

n/a

Example

1. SKIP is used with ENDS to skip over input data.

SKIP
-- Data to be completely ignored in this run
P-1 2010:Jly:1 LTAB TAB1 /
P-1 2010:Jly:2 PROD
P-1 2010:Jly:20 THPT 1200 /
P-1 2010:Jly:20 OPT 5000 /
ENDS

4.7. SKIP - Start Skipping Input Data 55


Tempest MORE Help, Release 8.1

4.8 SWIT - Switch between Standard and Alternate I/O Units

Location

Any Section

Description

The SWIT (switch) keyword is used to switch between standard and alternative I/O units in MORE. If an alter-
native input file has been opened using the OPEN keyword, SWIT tells MORE to switch reading from one file to
the other. MORE remembers its current position in each file so repeated SWIT operations are possible. When the
end of an alternate file is reached, MORE automatically switches back to the base file.
SWIT does not consist of any arguments.

Example

1. OPEN is used in combination with the SWIT keyword to switch input reading to an alternative file. The
combination of OPEN and SWIT causes an alternative input file to be read.

OPEN
'wellhist.rates'
SWITCH

With the input above, MORE opens the wellhist.rates file and starts reading input data from it.
Subsequent SWIT keywords cause input reading to switch between the main and alternative input files.

Note: If the intention is simply to read an entire include file, the INCL keyword may be used as a simpler
alternative to OPEN and SWIT.

56 Chapter 4. Tempest MORE global keywords


CHAPTER

FIVE

TEMPEST MORE INPUT SECTION KEYWORDS

5.1 ABSP - Use Absolute Pathnames for Open and Include Files

Location

INPU Section

Description

The ABSP keyword is used to specify the use of absolute pathnames for open and include files. Since the release
of MORE 6.2, MORE has used relative pathnames when opening files using the INCL and OPEN keywords. This
means that MORE will locate a file by appending any relative path in the INCL or OPEN keyword to the directory
of the file that contains the INCL or OPEN keyword. This is different from versions of MORE up to and including
MORE 6.1, which located files with respect to the top level data file.
The ABSP keyword restores the old option of using the absolute path (i.e. it makes MORE 6.2 and later back-
compatible).
There are no arguments for ABSP.

Definitions

n/a

Notes

• ABSP should be entered in the INPU section before the INCL and OPEN statement it affects.
• ABSP only effects OPEN when it refers to input data files, either included or alternate. It does not effect
other uses of OPEN such as OPEN IRST, which locates the input restart file. In these cases a fully qualified
name should be entered if it is not wished to locate the file in the current working directory in which MORE
is being run.

Example

1. This example demonstrates how ABSP is used to specify the use of absolute pathnames for an include file.
Without ABSP, MORE will use relative pathnames when opening files using the INCL or OPEN keywords.
Suppose the dataset base.dat is located in C:\studies\roxar and it is run. Say base.dat includes the
following include file:

INCL
'S:\props\subdir1\include1.dat'

57
Tempest MORE Help, Release 8.1

This means that the include file include1.dat is located in the directory S:\props\subdir1\.
Then, suppose that the include file include1.dat contains another include file in the
S:\props\subdir1\subdir2\ directory. The path for this include file under the INCL keyword would be as
follows:

INCL
'subdir2\include2.dat'

In MORE 6.2 and later versions, this means that the include2.dat include file is to be found in the
S:\props\subdir1\subdir2\ directory.
Now, if ABSP is used before the INCL keyword, as follows:

ABSP

INCL
'subdir2\include2.dat'

MORE would now expect the include2.dat file to be in the C:\studies\roxar\subdir2\ directory.
The new treatment is generally much easier to use when self-contained sets of files are included from another
directory system.

58 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.2 ADAP - Control Degree of Implicitness

Location

INPU Section

Description

The ADAP keyword is used to control the degree of implicitness in a simulation. ADAP consists of one optional
argument which should be entered on the same line as the ADAP keyword itself if used.

Definitions

Degree of implicitness: FULL or NONE


• FULL - Fully Implicit method
• NONE (default) - IMPES (Implicit Pressures, Explicit Saturations) method

Notes

• Using ADAP on its own selects an adaptive implicit mode when used together with the AIMT keyword to
control the number of implicit cells.
• The keyword IMPL may be used as an alternative to ADAP
• A fully implicit method may be requested in one of three ways in Tempest MORE:
– IMPL FULL
– IMPL FIBO
– ADAP FULL
• The IMPES method may be requested in one of seven ways in Tempest MORE:
– IMPL IMPE
– IMPL DELT
– IMPL NONE
– ADAP NONE
• Using ADAP on its own without the AIMT keyword selects the IMPES method.

Example

ADAP is used with the NONE argument to indicate that the IMPES method be used in a simulation.

ADAP NONE

ADAP is used with the FULL argument to indicate that the fully implicit method will be used in a simulation.

ADAP FULL

ADAP is used with no argument, together with the AIM keyword to indicate that the adaptive implicit method will
be used in a simulation with a 5% target of implicit cells.

ADAP
AIMT FRAC 0.05

5.2. ADAP - Control Degree of Implicitness 59


Tempest MORE Help, Release 8.1

5.3 AIMT - Set target for AIM (adaptive implicit method)

Location

INPU Section

Description

AIMT sets up a target value used to control an AIM run. This can be a target fraction of the cells to be treated
implicitly, or a threshold value for the CFL (Courant-Friedrichs-Lewy) limit, above which a cell will be treated
implicitly. The keyword may also be used to set the default time interval at which the AIM status is reset (i.e. the
frequency at which the split between implicit and explicit cells is reset).

Syntax

AIMT Control_Option value

Definitions

1. Control_Option: FRAC or CFL


• FRAC (default) - Target implicit fraction (recommended option)
• CFL - CFL threshold for fully implicit
2. Value: value of the required fraction or CFL value (defaults: 0.01 for FRAC case, 0.5 for CFL case)
3. Option to reset the AIM status at a specified time interval
• DT - Specify frequency at which AIM status is reset
4. Value: the frequency at which the AIM status is reset (in days). The default is 15 days.

Notes

• Just using IMPL with ADAP will yield IMPES (AIM with a target fraction of 0.0) by default. An AIM target
value must be set with AIMT to get a AIM run containing both fully implicit and IMPES cells.
• Only the first letter of FRAC or CFL is required.
• The FRAC option is strongly recommended in AIM runs. The CFL option is discouraged.
• The AIM status is reset according to the frequency specified. Any changes in well status leading to the
opening or shutting of completions or wells will also trigger a reset of the AIM status.

Example s

An AIM target fraction of 2% is requested.

AIMT FRAC 0.02

An AIM target fraction of 2% is requested with an interval of 20 days between resetting the AIM status of the grid
cells

AIMT FRAC 0.02 DT 20.0

60 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.4 BACK - Request Back-Compatibility with Previous Version 5.0


of MORE

Location

INPU Section

Description

The BACK keyword is used to request back-compatibility with previous version 5.0 of MORE. BACK consists of
one required argument which should be entered on the same line as the BACK keyword itself when used.

Definitions

1. Back compatibility version of MORE: 5


• 5 - request back compatibility with MORE 5.0

Notes

• Currently, only BACK 5 is supported. Using BACK 5 has several effects:


– The HEAD and WDEN keywords are enabled.
• The non-wetting hysteresis option is turned on (the same as specifying NWHY).
• If some compositions are absent in the F(DE keyword, they are filled in from the previous line, rather than
by interpolation of the table.
• The two-level convergence target which may be specified with VTOL is accepted by MORE 6.7 with or
without BACK.

Example

1. BACK 5 is used to request back-compatibility with MORE 5.0.

BACK 5

5.4. BACK - Request Back-Compatibility with Previous Version 5.0 of MORE 61


Tempest MORE Help, Release 8.1

5.5 BLOG - Request Binary Log File is Output by the MORE Run

Location

INPU Section

Description

The BLOG keyword requests that MORE writes out a binary log or BLOG file. The BLOG file has the suffix
.blg and is a ROFF format file.

Syntax

1. BLOG
The BLOG keyword has no arguments.

Notes

• The OPEN keyword OPEN can be used to specify that a BLOG file be a formatted ROFF file.
• See The MORE Binary Log File or BLOG File for details on the contents of the BLOG file.
• Although the BLOG file is mainly intended for use by programs other than MORE to extract simulation
events which happened in a MORE run, RPTB can be used to request that MORE extracts and reports its
own BLOG file. This will be done at the end of the run, and the report will be at the end of the MORE
.out file.

62 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.6 BCON - Use the Boundary Conditioning Linear Solver

Location

INPU section

Description

The BCON keyword is used to select the boundary conditioning linear solver. This is an alternative parallelisation
technique to the default parallel nested factorisation solver, based on domain decomposition rather than black-
white ordering. On each processor, boundary conditioning uses the usual nested factorisation solver for cells on
that processor, and an approximate representation of cells not on that processor to set up boundary values. BCON
will have no effect on a single processor run.

Notes

• For more information regarding the Boundary Conditioning Linear Solver, please see the Linear Solvers
section of the MORE Technical Reference.
• Various options for boundary conditioning linear solver may be set using the BCOP keyword.

Example

BCON is used to select the boundary conditioning solver.

BCON

5.6. BCON - Use the Boundary Conditioning Linear Solver 63


Tempest MORE Help, Release 8.1

5.7 BCOP - Options for the Boundary Conditioning Linear Solver

Location

INPU Section

Description

The BCOP keyword is used to tune the boundary conditioning linear solver, which is selected with the BCON
keyword. This keyword is available for development purposes but should not interest users.

Definitions

Optional Arguments:
NF - takes two arguments (0 or 1):
1. use near field (Default: 1)
2. use far field (Default: 1)
DEBU:
• Output debug information
FRAC - takes one argument
• Target fraction of boundary condition terms (Default: 0.1)
FLIM - takes one argument
• Upper limit fraction of boundary condition terms (Default: 2*FRAC)
FAR - takes three integer arguments:
1. far-field coarsening level in x
2. far-field coarsening level in y
3. far-field coarsening level in z
NEAR - takes four integer arguments
1. near-field coarsening level in x
2. near-field coarsening level in y
3. near-field coarsening level in z
4. near-field geometric series ratio

Example

BCOP is used to select a far-field only run:

BCOP NF 0 1

64 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.8 BICG - Request Bi-conjugate Gradient Stabilised Acceleration


in the Linear Solver

Location

INPU Section

Description

The BICG keyword requests that bi-conjugate gradient stabilised acceleration be used in the linear solver rather
than the normal GMRES method.

Examples

• BICG is used to request bi-conjugate gradient stabilised acceleration

BICG

5.8. BICG - Request Bi-conjugate Gradient Stabilised Acceleration in the Linear Solver 65
Tempest MORE Help, Release 8.1

5.9 CNAM - Component Names in a Simulation

Location

INPU Section

Description

The CNAM keyword is used to specify the component names in a simulation. Arguments for CNAM consist of a
list of component names, which should all be listed in succession on the same line as the CNAM keyword itself.

Definitions

1. List of component names (must have at least one component in a simulation)

Notes

• In black oil mode, possible component names are: oil (OIL), water (WAT), gas (GAS), solvent (SOLV),
Todd-Longstaff solvent (SOLVTL), and steam (STEAM).
• If a SOLV component is present, the Todd-Longstaff solvent option must be enabled by selecting SOLV TL
in the FLUI section.
• If a SOLVTL component is present, the four-phase Todd-Longstaff solvent option is enabled.
• Support for the SOLVMW component for the multi-gas solvent option has been withdrawn.
• If a STEAM component is present, the steam option is enabled.
• If supplied on multiple lines, the names are cumulative and must not exceed 50 different components.
• If water is present in the simulation, it must be the last component, with a name starting with WAT.

Example

1. CNAM is used to provide component names for oil, gas and water in a black oil simulation.

CNAM OIL GAS WAT

2. CNAM is used to provide 9 component names in an equation-of-state simulation.

CNAM CO2 C1 C2 C3 C4 C5 C6 C7P1 C7P2 WATER

66 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.10 COAR - Specify Uniform Coarsening Factors in X, Y, and Z-


Directions

Location

INPU Section

Description

The COAR (coarsen) keyword is used to specify uniform grid coarsening factors in the x, y, and z-directions.
COAR consists of three required arguments and one optional one which should all be entered in succession on the
same line as the COAR keyword itself when used.

Definitions

1. Coarsening factor in the x-direction


2. Coarsening factor in the y-direction
3. Coarsening factor in the z-direction
4. Request that Tempest output displays use the coarse grid (optional): OUTP

Notes

• Coarsened grids may not contain local grid refinements (keyword LGRD).
• To specify non-uniform coarsening in the x, y, or z-direction, please refer to the CXGR, CYGR and CZGR
keywords, respectively.
• Please see the Coarsening section of the MORE Technical Reference for more information regarding coars-
ening.

Example

1. In a 20x10x4 grid, COAR is used to apply a uniform coarsening factor of 2 in each direction.

COAR 2 2 2

As a result, calculations are made on the coarsened 10x5x4 grid, but without the addition of the OUTP
argument to the COAR keyword, the 3D Viewer will only display the uncoarsened grid, as follows. See
COAR_Ex1.dat for complete example:

5.10. COAR - Specify Uniform Coarsening Factors in X, Y, and Z-Directions 67


Tempest MORE Help, Release 8.1

If we then add the OUTP argument to the COAR example above, as follows:

COAR 2 2 2 OUTP

When we view the grid in the 3D Viewer, we will see that the coarsened 10x5x2 grid is now displayed:

2. In a 20x10x4 grid, COAR is used to apply a uniform coarsening factor of 5 in the x-direction only. The y
and z-directions will remain unchanged. See COAR_Ex2.dat for complete example:

COAR 5 1 1 OUTP

As a result, the 20x10x4 grid will become a 4x10x4 grid, as shown below:

68 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.11 CPFL - Use Compressibility Preserving Pressure Function


Lookup

Location

INPU Section

Description

The CPFL keyword is used to request a compressibility (viscosibility) preserving lookup of undersaturated PVTO
data. This lookup gives results which more closely match the ECLIPSE simulator.
CPFL consists on one optional argument which should be entered on the same line as the CPFL keyword itself if
used.

Definitions

1. Compressibility preserving pressure function lookup mode (optional): ON or OFF


• ON - turns on compressibility preserving pressure function lookup
• OFF (default) - turns off compressibility preserving pressure function lookup

Notes

• YES and NO may be used as aliases for ON and OFF when turning the ompressibility preserving pressure
function lookup on and off, respectively.
• CPFL has an effect only if PVTO is used
• CPFL can be combined with IPFL

Example

1. CPFL is used with the ON option to turn the compressibility preserving pressure function lookup on.

CPFL ON

5.11. CPFL - Use Compressibility Preserving Pressure Function Lookup 69


Tempest MORE Help, Release 8.1

5.12 CSEP - Request that Completion Streams be Flashed through


Separators

Location

INPU Section

Description

The CSEP keyword is used to request that completion streams be flashed through separators in a simulation. CSEP
consists of one optional argument which should be entered on the same line as the CSEP keyword if used.

Definitions

1. Completion separator operation mode (optional): ON or OFF


• ON (default) - turns on completion separators
• OFF - turns off completion separators

Notes

• YES and NO may be used as aliases for the ON and OFF arguments when turning the completion separators
on and off, respectively.
• By default, in a MORE equation-of-state run, a separator flash is performed for each completion to deter-
mine completion oil and gas flow rates. This will cause a small speed penalty and the completion oil and
gas flows will precisely match the total oil and gas flows. However, the completion GORs (gas-oil ratios)
will reflect the different compositions at each completion.
• The alternative is to apply the well GOR to all completion flows.
• In either case, the molar completion and well rates will match precisely.
• As the default is to do completion separator flashes (CSEP ON), CSEP is normally only required to turn
completion separator flashes off.
• CSEP has no effect on black oil runs.

Example

1. CSEP is with the OFF option to request that the flashing of completion streams through separators be turned
off.

CSEP OFF

70 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.13 CXGR - Specify Non-Uniform Coarsening in the X-Direction

Location

INPU Section

Description

The CXGR is used to specify non-uniform grid coarsening in the x-direction. Arguments for CXGR consist of
two records. The first record consists of one required argument and one optional one which should both be entered
on the same line as the CXGR keyword itself when used. The second record consists of a list of numbers that
indicate how many original grid cells are used to comprise the new coarsened grid cell. This list should be entered
on a separate line below the CXGR keyword.

Definitions

RECORD 1:
1. Number of coarse grid cells in the x-direction
2. Requests Tempest output displays use the coarse grid (optional): OUTP
RECORD 2:
The following arguments should appear in a list format:
1. Number of the original cells in coarse grid cell 1 in the x-direction
2. Number of the original cells in coarse grid cell 2 in the x-direction

...

3. Number of original cells in the last coarse grid cell in the x-direction
The total number of arguments in this list should be equal to the number of coarse grid cells in the x-direction as
specified by the first argument in Record 1.
Additionally, the total number of original cells in the list must add up to equal the number of original cells in the
x-direction in the original grid.

Notes

• Coarsened grids may not contain local grid refinements (LGRD keyword).
• Non-uniform coarsening can be useful in allowing a reservoir to be selectively coarsened, for example, in
regions away from wells.
• To specify uniform coarsening, please refer to the COAR keyword.

Example

1. In a 40x10x4 grid, CXGR is used to provide non-uniform coarsening for the grid in the x-direction. Here,
we will coarsen the grid into 16 grid cells from the original 40, leaving the central 10 cells uncoarsened.
The OUTP option is also used to ensure that the coarsened grid is displayed in the 3D Viewer of Tempest
View.

5.13. CXGR - Specify Non-Uniform Coarsening in the X-Direction 71


Tempest MORE Help, Release 8.1

CXGR 16 OUTP
10 2 3 10*1 2 3 10

As a result, the 40x10x4 grid will become a 16x10x4 grid with non-uniform coarsened grid cells in the
x-direction, as shown below. See CXGR.dat for complete example:

72 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.14 CYGR - Specify Non-Uniform Coarsening in the Y-Direction

Location

INPU Section

Description

The CYGR is used to specify non-uniform grid coarsening in the y-direction. Arguments for CYGR consist of
two records. The first record consists of one required argument and one optional one which should both be entered
on the same line as the CYGR keyword itself when used. The second record consists of a list of numbers that
indicate how many original grid cells are used to comprise the new coarsened grid cell. This list should be entered
on a separate line below the CYGR keyword.

Definitions

RECORD 1:
1. Number of coarse grid cells in the y-direction
2. Requests Tempest output displays use the coarse grid (optional): OUTP
RECORD 2:
The following arguments should appear in a list format:
1. Number of the original cells in coarse grid cell 1 in the y-direction
2. Number of the original cells in coarse grid cell 2 in the y-direction

...

3. Number of original cells in the last coarse grid cell in the y-direction
The total number of arguments in this list should be equal to the number of coarse grid cells in the y-direction as
specified by the first argument in Record 1.
Additionally, the total number of original cells in the list must add up to equal the number of original cells in the
y-direction in the original grid.

Notes

• Coarsened grids may not contain local grid refinements (LGRD keyword).
• Non-uniform coarsening can be useful in allowing a reservoir to be selectively coarsened, for example, in
regions away from wells.
• To specify uniform coarsening, please refer to the COAR keyword.

Example

1. In a 10x40x4 grid, CYGR is used to provide non-uniform coarsening for the grid in the y-direction. Here,
we will coarsen the grid into 16 grid cells from the original 40, leaving the central 10 cells uncoarsened.
The OUTP option is also used to ensure that the coarsened grid is displayed in the 3D Viewer of Tempest
View.

5.14. CYGR - Specify Non-Uniform Coarsening in the Y-Direction 73


Tempest MORE Help, Release 8.1

CYGR 16 OUTP
10 2 3 10*1 2 3 10

As a result, the 10x40x4 grid will become a 10x16x4 grid with non-uniform coarsened grid cells in the
y-direction, as shown below. See CYGR.dat for complete example:

74 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.15 CZGR - Specify Non-Uniform Coarsening in the Z-Direction

Location

INPU Section

Description

The CZGR keyword is used to specify non-uniform grid coarsening in the z-direction. Arguments for CZGR
consist of two records. The first record consists of one required argument and one optional one which should
both be entered on the same line as the CZGR keyword itself when used. The second record consists of a list of
numbers that indicate how many original grid cells are used to comprise the new coarsened grid cell. This list
should be entered on a separate line below the CZGR keyword.

Definitions

RECORD 1:
1. Number of coarse grid cells in the z-direction
2. Requests Tempest output displays use the coarse grid (optional): OUTP
RECORD 2:
The following arguments should appear in a list format:
1. Number of the original cells in coarse grid cell 1 in the z-direction
2. Number of the original cells in coarse grid cell 2 in the z-direction

...

3. Number of original cells in the last coarse grid cell in the z-direction
The total number of arguments in this list should be equal to the number of coarse grid cells in the z-direction as
specified by the first argument in Record 1.
Additionally, the total number of original cells in the list must add up to equal the number of original cells in the
z-direction in the original grid.

Notes

• Coarsened grids may not contain local grid refinements, as defined using the LGRD keyword.
• Non-uniform coarsening can be useful in allowing a reservoir to be selectively coarsened, for example, in
regions away from wells.
• To specify uniform coarsening, please refer to the COAR keyword.

Example

1. In a 10x10x10 grid, CZGR is used to provide non-uniform coarsening for the grid in the z-direction. Here,
we will coarsen the grid into 5 grid cells from the original 10. The OUTP option is also used to ensure that
the coarsened grid is displayed in the 3D Viewer of Tempest View.

CZGR 5 OUTP
3 1 3 2 1

5.15. CZGR - Specify Non-Uniform Coarsening in the Z-Direction 75


Tempest MORE Help, Release 8.1

As a result, the 10x10x10 grid will become a 10x10x5 grid with non-uniform coarsened grid cells in the
z-direction, as shown below:

76 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.16 DIRE - Control of Data Checking and Program Execution

Location

INPU Section

Description

The DIRE keyword is used to control data checking and program execution in a simulation. DIRE selects an error
checking mode which allows the user to tell the simulator to perform a scan of the data before any time steps are
run to check the validity of the syntax of the keywords. This initial scan would be very useful for error checking
in large datasets.
DIRE consists of one optional argument which should be written on the same line as the DIRE keyword itself if
used.

Definitions

1. Directive (optional): NOGO or GO


• NOGO - specifies that the program reads the data, but does not execute any timesteps
• GO (default) - specifies that the program reads the data and executes the simulation
Notes
• All runs scan the Recurrent (RECU) section before starting the simulation.

Example

1. DIRE is used with the GO option to specify that the program reads the data and then executes the simulation.

DIRE GO

2. DIRE is used with the NOGO option to specify that the program reads the data but does not execute any
timesteps.

DIRE NOGO

5.16. DIRE - Control of Data Checking and Program Execution 77


Tempest MORE Help, Release 8.1

5.17 DRIL - Select Once-only or Multiple Drilling from Drilling


Queue

Location

INPU Section

Description

The DRIL keyword is used to specify if wells from the drilling queue can be drilled only once or muliple times.
DRIL consists of one optional argument which should be entered on the same line as the DRIL keyword itself
when used.

Syntax

DRIL [ONCE|MULT]

Definitions

1. Optional Arguments options:


• ONCE (default) - Allow wells to be drilled only once
• MULT - Allow wells to be drilled muliple times

Notes

• The MULT option makes a difference for wells that are shut a while after they have been drilled on a drill
action. Because with option MULT such a well can be re-opened (or re-drilled) by the next drill action,
while with option ONCE such a well stays untouched by further drill actions.

Examples

1. Allow wells in the drilling queue to be drilled muliple times

DRIL MULT

78 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.18 DWPW - Default Weighting for Pressure Averages of Wells

Location

INPU Section

Description

The DWPW keyword is used to set the default well pressure weighting option which is normally set on a well-by-
well basis by the P-RE keyword or the PREX event. DWPW sets a global default.
DWPW consists of two optional arguments which should be entered on the same line as the DWPW keyword itself
if used. If no values are entered for these optional arguments, they will automatically be assigned default values.

Definitions

1. Pressure calculation (optional): ACT, PV, CCF, KH, MOB, or NONE


• PV (default) - pressure at re is calculated using pore volume weighting
• ACT - pressure at re is calculated using completion connection factor weighting for active completions
only
• CCF - pressure at re is calculated using completion connection factor
• KH - pressure at re is calculated using K.h weighting
• MOB - pressure at re is calculated using reservoir volume mobility weighting
• NONE- pressure at re is calculated using simple unweighted average
2. Drawdown control action (optional): DDRC or NODD
• DDRC (default) - When wells are on drawdown control use cell pressure corrected to the external
radius specified with P-RE or PREX
• NODD - When wells are on drawdown control use cell pressure

Notes

• Previous to version 6.5, the pressure of the completion cell was used to define the reservoir pressure for
wells on drawdown control. The NODD option may be used to restore this previous default.

Example

1. DWPW is used with the PV option to specify the pressure at the re will be calculated using pore volume
weighting. Also, by default, when wells are on drawdown control, cell pressures will be corrected to the
external radius specified with P-RE or PREX .

DWPW PV

5.18. DWPW - Default Weighting for Pressure Averages of Wells 79


Tempest MORE Help, Release 8.1

5.19 ECCF - Add Contributions to Connection Factors using Root


of Sum of Squares

Location

INPU Section

Description

The ECCF keyword is used to request that the total contribution of connection factors are added together using
the square root of the sum of the squares of the contributions. When a connection contribution has components in
more than one direction, these are added linearly by default. ECCF requests that the sum be obtained by taking
the square root of the sum of the squares of the contributions.
There are no required arguments for ECCF.

Definitions

n/a

Notes

n/a

Example

1. ECCF is used to request that when a connection contribution has components in more than one direction,
the total contribution of connection factors is summed by taking the square root of the sum of the squares
of the contributions.

ECCF

80 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.20 EDAT - End Date or Time of the Simulation

Location

INPU Section

Description

The EDAT keyword is used to specify the end date or time of a simulation. EDAT consists of at least one required
argument which should be entered on the same line as the EDAT keyword itself when used.

Definitions

1. The date or time (from the initial date IDAT) when the simulation ends
2. Date or time format: DAYS, MONT, YEAR, or DATE
• DAYS - value is the number of days after the initial date
• MONT - value is the number of months after the initial date
• YEAR - value is the number of years after the initial date
• DATE (default)- value is a date (please see the IDAT keyword for a description of the date format)

Notes

• The default end date is the last event date given in the RECU section.
• When the end date is less than the last even date given in the RECU section, the simulation will end at the
earlier date (i.e. that specified by EDAT).

Example

1. EDAT is used to specify an end time of 1 year after the initial date specified by IDAT.

IDAT 1 JAN 2000


EDAT 1 JAN 2001

This would be equivalent to the following:

IDAT 1 JAN 2000


EDAT 1 YEAR

5.20. EDAT - End Date or Time of the Simulation 81


Tempest MORE Help, Release 8.1

5.21 ERRO - Severity and Output Controls

Location INPU Section

Description

The ERRO keyword is used to specify general simulation and output controls when errors or messages are en-
countered during a simulation run. ERRO consists of up to four optional arguments, all of which should be entered
on the same line as the ERRO keyword itself if used.

Definitions

1. Maximum number of errors allowed before termination


• Default: 0
2. Action to take when errors have been encountered (optional): FATA or NONF
• FATA (default) - do not attempt any time steps when errors have been encountered
• NONF - allow time steps even when errors have been encountered
3. Output of error or warning messages (optional): NONE, ERRO, or ALL
• NONE - no error or warning messages are output
• ERRO - only error messages are output
• ALL (default) - both error and warning messages are output
4. Message output location (optional): NOAL or ALTE
• NOAL - messages will only be sent to the output file
• ALTE (default) - messages will be sent to the output file and standard output (usually the screen)

Notes

• Using the maximum error count or NONF to override termination on an error is NOT recommended.
• See the Errors and Error Handling section for further details on error handling.

Example

1. ERRO is used with the NONF option to allow time steps even when errors have been encountered.

ERRO NONF

82 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.22 ETUN - Set Tuning to Match ECLIPSE Settings

Location

INPU Section

Description

The ETUN keyword is used to turn on a package of minor algorithmic changes to enable MORE to match the
results of other simulators more closely. This keyword consists of one optional argument.

Syntax

ETUN [SWITCH]

Definitions

1. ON/OFF-switch
• Default: ON

Notes

• The effects of ETUN are:


– Use quadratic, rather than linear, compressibilities and viscosibilities (as if QCVF ON is used).
– Use interpolation in 1/Bp and 1/(Bp*viscp) rather than Bp and viscp, where Bp is the formation volume
factor of phase p, and viscp is the viscosity of phase p (as if IPFL ON is used).
– When combining the completion connection factors for a deviated well, add up the contributions in
each direction as the square root of the sum of squares (as if ECCF is used).
– Use pressure equivalent radii for radial CCF calculations (as if PER option of SIZE is used).
– Allow connate oil to exist in the aquifer zone, below the water oil contact (as if AQUW OFF is used).
– Disable the correction to well completion connection factors when a well is in a corner cell (as if
WCOR OFF is used).
– Apply group targets in net terms, taking account for well efficiency factors (as if GTAR NET is used).
– Set 2POINT capillary pressure endpoint scaling option (as if EPSP 2 is used).
– Use mobile saturation weighting is used when calculating the wellbore density (as if WDOP MSAT is
used).
– Set the default minimum pore volume for an active cell to 1.0E-6 (rb or m3 ); see the MINP keyword.
– Set the default minimum gap between cells for a pinch-out to be generated to 1.0E-6 (ft or metres);
see the MIND keyword.

Example

1. ETUN is used to turn on a package of minor algorithmic changes to enable MORE to match the results of
other simulators more closely.

ETUN

5.22. ETUN - Set Tuning to Match ECLIPSE Settings 83


Tempest MORE Help, Release 8.1

5.23 EVEN - Select Time-Stepping Option with Events

Location

INPU or RECU Section

Description

The EVEN keyword is used to specify that timesteps will observe event times when events are present in the
recurrent (RECU) section. The default is to do a normal timestep, then action all events with times less than the
current time. The EVEN keyword has one required argument which must be entered on the same line as the EVEN
keyword.

Definitions

1. Limit time steps to exactly match event times: EXACT

Notes

• EVEN EXACT should be used unless events occur at such a large number of times that observing event
time restricts the timestep unacceptably.
• Please also see the ETAB, EFIL, EFOR, and EUNI keywords for more information regarding the input of
well event data for a simulation.
• For a detailed description of the events that can be used in MORE, please see the Working with Events and
the List of Events sections.

Example

1. EVEN with the EXACT option is used to limit time steps to match event times exactly.

EVEN EXACT

If we then specify events for the WPRD well with the HOUR option, as follows:

EFOR 'DD/MMM/YYYY' MDL MDU DIAM MULT SKIN


ETAB
WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00
01/Jan/2000 OPT 2200.00 HOUR 1.000
01/Jan/2000 OPT 2400.00 HOUR 2.000
01/Jan/2000 OPT 2500.00 HOUR 2.250
01/Jan/2000 OPT 2600.00 HOUR 10.000
01/Jan/2000 OPT 2800.00 HOUR 14.500
02/Jan/2000 OPT 2000.00
ENDE

Additionally, we need to adjust the output frequency to output every time step by specifying the RATE and
FREQ keywords as follows in the RECU section:

RATE 1 DAY
FREQ 0 0 0

84 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

A 2D plot of oil production will show that the exact event times have been honoured by the simulator. See
EVEN.dat for complete example:

5.23. EVEN - Select Time-Stepping Option with Events 85


Tempest MORE Help, Release 8.1

5.24 FAFL - Use Fracture Augmented Flow option

Location

INPU Section

Description

Turns on the fracture augmented flow option, which adds long range fractures to the reservoir model. These long
range fractures may be set up using the FAXY keyword.

Syntax

FAFL [LONG]

Definitions

Option: LONG
• Add long range connections along the whole fracture track

Notes

• There is a restriction in that FAFL is not currently available when MORE is run parallel.

Example

--Use fracture augmented flow with the long range option


FAFL LONG

86 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.25 FL3P - Test for Three Phase Hydrocarbon States

Location

FLUI Section

Description

This option is only relevant for equation of state compositional runs. When a two phase oil-gas hydrocarbon
state is encountered, the three phase flash option tests each of the two-phase states to see if they will further.
In that case a three phase hydrocarbon state is established and its Gibbs energy is minimised to calculate the
vapour-liquid-liquid state.
In the vast majority of cases a three phase hydrocarbon state is never formed. The only cases in which FL3P is
required are those in which CO2 is injected into relatively low-temperature reservoirs (~120 Deg F).

Syntax

FL3P

5.25. FL3P - Test for Three Phase Hydrocarbon States 87


Tempest MORE Help, Release 8.1

5.26 FLXR - Request that Reservoir Fluxes be read from a Flux File

Location

INPU section

Description

The FLXR keyword is used to request that reservoir fluxes or pressure type boundary values be read from a flux
file, for FLXT FLUX resp. FLXT PRES. If FLXR is specified, the flows in the reservoir between cells with
different FLXA values will be read from a .flx file.
FLXR requires one argument and may take several options which must all be entered on the same line as the
FLXR keyword.

Definitions

1. Name of the flux file to be read


2. Options:
• INTE: Linearly interpolate the values read from the flux file for intermediate simulation times.
– Default: Use flux values at latest time less or equal the simulation time.
• GROSSG: Include the rates of wells outside the active flux region in the group rates.
– Default: Only active wells are included in group calculations.
• STAT: Generate flux region to region flow statistics

Notes

• By default, the boundary values are kept constant during the intervals between times recorded in the flux
file. When the last time on record has passed, MORE applies the last boundary values indefinitely for future
times.1
• Using the INTE option can help avoid time step chops, in particular in EOS runs with large recorded flux
time steps.
• For wells with completions defined in both active and inactive regions, only those in the active region are
present in the flux run. Therefore, it is not recommended to have wells cross the boundary of the active flux
region.
• By default, wells without completions inside the active flux region are excluded from group calculations.
However, the option GROSSG may be used to include the stored well rates from the flux file for wells outside
the active flux region. Alternatively, the group rate targets set in the full field run should be adjusted for use
in the flux run in order to omit contributions from inactive wells.
• Use the STAT option together with FLXT PRES to obtain the following statistical information about the
accuracy of the flux run:
– OFRR, OFTR - flux region to region oil flow rate and total in base run
– OFRA, OFTA - flux region to region oil flow rate and total in the actual (flux) run
– OFRE1 - absolute error of oil flow rate between base and flux run, summed over all region to region
connections
– OFRE2 - relative error of oil flow rate between base and flux run, summed over all region to region
connections
1 See the Flux Option section of the MORE Technical Reference for more information about the flux option in MORE.

88 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

– OFRE3 - standard deviation of the error of oil flow rate between base and flux run over all region to
region connections
– GFRR, GFTR - flux region to region gas flow rate and total in base run
– GFRA, GFTA - flux region to region gas flow rate and total in the actual (flux) run
– GFRE1 - absolute error of gas flow rate between base and flux run, summed over all region to region
connections
– GFRE2 - relative error of gas flow rate between base and flux run, summed over all region to region
connections
– GFRE3 - standard deviation of the error of gas flow rate between base and flux run over all region to
region connections
– WFRR, WFTR - flux region to region water flow rate and total in base run
– WFRA, WFTA - flux region to region water flow rate and total in the actual (flux) run
– WFRE1 - absolute error of water flow rate between base and flux run, summed over all region to region
connections
– WFRE2 - relative error of water flow rate between base and flux run, summed over all region to region
connections
– WFRE3 - standard deviation of the error of water flow rate between base and flux run over all region
to region connections
– MFRR, MFTR - flux region to region molar component flow rate and total in base run
– MFRA, MFTA - flux region to region molar component flow rate and total in the actual (flux) run
– MFRE1 - absolute error of molar component flow rate between base and flux run, summed over all
region to region connections
– MFRE2 - relative error of molar component flow rate between base and flux run, summed over all
region to region connections
– MFRE3 - standard deviation of the error of molar component flow rate between base and flux run over
all region to region connections

Example

1. FLXR is used to request that reservoir fluxes be read from a flux file named fluxInputFile.

FLXR fluxInputFile

5.26. FLXR - Request that Reservoir Fluxes be read from a Flux File 89
Tempest MORE Help, Release 8.1

5.27 FLXT - Set Type of Flux Boundary Conditions

Location

INPU Section

Description

The FLXT keyword is used to specify the type of boundary conditions imposed in a run using FLXR or FLXW.
FLXT takes one optional argument on the same line as the FLXT keyword itself.

Definitions

1. Type of boundary conditions: FLUX, PRES or NONE


• FLUX (default) - the component flows from the inactive to active flux regions are imposed on the
boundary of the active region
• PRES - the pressures in the boundary layer surrounding the active flux region are imposed on the
boundary of the active region
• NONE - zero flows from the inactive to active flux regions are imposed on the boundary of the active
region

Notes

• The PRES option currently only works in fully implicit mode and in two-point flow approximation.
• The set of variables stored when using the PRES option is much larger than when using the FLUX option,
so the .flx files are larger as well.
• The NONE option cannot be combined with FLXR because boundary flows are zero.
• All options are supported in restarts: restarts can be performed on smaller sectors (i.e. flux regions) of the
reservoir.
• For the declaration of flux regions see the keywords FLXN and FLXA.

Examples

1. Setting up the base run with pressure boundary conditions (e.g. in sim_base.dat).
FLXW
FLXT PRES

2. Setting up a flux run with pressure boundary conditions.


FLXR sim_base
FLXT PRES

3. Restart from a base run sim_base.dat and run with a restriction to smaller sector(s) of the grid (sec-
tors/flux regions are to be defined in the GRID section, c.f. keywords FLXA and FLXN) where a zero flow
boundary conditions are imposed on sector boundaries.
-- open base run files for initialisation
OPEN IRST
'sim_base'

FLXT NONE

90 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

4. Restart from a base run sim_base.dat and run a with restriction to smaller sector(s) of the grid where
flux boundary conditions are imposed on sector boundaries. The flux boundary data is read from the flux
file.

-- open base run files for initialisation


OPEN IRST
'sim_base'

-- open base run flux file for boundary conditions


FLXR sim_base
FLXT FLUX

5.27. FLXT - Set Type of Flux Boundary Conditions 91


Tempest MORE Help, Release 8.1

5.28 FLXW - Request that Reservoir Fluxes be written to a File

Location

INPU Section

Description

The FLXW keyword is used to request that reservoir fluxes be written to a file. If FLXW is specified, the flows in
the reservoir between cells with different FLXN values will be written to a .flx file. The name of the file will be
name.flx, where name is the root name of the run.
FLXW consists of one required argument and one optional one which should both be entered on the same line as
the FLXW keyword itself when used.

Definitions

1. Minimum time between writing flux file


• Units: days
• Default: no limit - flux data will be written at every time step
2. File format (optional): FORM
• FORM - requests that a formatted (ASCII) flux file be written
• If FORM is not used, the file format will default to a binary ROFF file.

Notes

• Flux files are ROFF files, and may be formatted (ASCII) or binary.
• See the Flux Option section of the MORE Technical Reference for more information about the flux option
in MORE.

Example

1. FLXW is used to request that reservoir fluxes be written to a file.

FLXW

As a result, for a run with a root name of daisy2, flux values will be written to a file named daisy2.flx.

92 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.29 FORC - Model Forchheimer (Non-Darcy) Flow

Location

INPU Section

Description

Turns on the modelling of Forchheimer flow, which introduces a extra pressure drop for a given flow beyond
that expected from Darcy’s law. The effect of this term is generally only significant at high flow velocities. See
Forchheimer Flow in the MORE Technical Reference for details of Forchheimer flow.

Syntax

FORC [CELL][WELL][ALL]

Definitions

1. CELL - Apply Forchheimer effects in interblock flow


2. WELL - Apply Forchheimer effects in well flow by calculating a D-factor
3. ALL - Apply Forchheimer effects in all wells
• if ALL is not used, WFOR keyword or FORCH event must be used to specify which wells.

Notes

• Both CELL and WELL may be specified. A warning will be issued if neither CELL nor WELL is used, as
FORC will then have no effect

Example

1. Forchheimer effects in interblock flow are applied by using CELL argument of FORC keyword. See
FORC_CELL.dat for complete example:

FORC CELL

2. Forchheimer effects in well flows for all wells are applied by using WELL and ALL arguments of FORC
keyword. See FORC_WELL.dat for complete example:

FORC WELL ALL

3. Forchheimer effects in interblock flow and well flows for all wells are applied by using CELL, WELL and
ALL arguments of FORC keyword. See FORC_CELL_WELL.dat for complete example:

FORC CELL WELL ALL

5.29. FORC - Model Forchheimer (Non-Darcy) Flow 93


Tempest MORE Help, Release 8.1

5.30 GPP - Use gas pseudo-pressure for well inflow

Location

INPU Section

Description

Enables the use of gas pseudo-pressure, which allows for the change in gas properties which pressure changes
occurring in the new-well region. See the Gas Pseudo-Pressure section of the Technical Reference where the
calculation and use of gas pseudo-pressure is described.

Syntax

GPP [ALL]

Definitions

1. ALL - Apply Gas Pseudo Pressure in all wells - if ALL is not used, WGPP keyword or GPP event must be
used to specify which wells.

Example

GPP ALL

94 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.31 HYST - Switch On Hysteresis Modelling

Location

INPU Section

Description

The HYST (hysteresis) keyword is used to switch on hysteresis modelling. This is only required for the case in
which the table data does not show hysteresis, and only drainage endpoint data is entered, with the default setting
of IEPD. The unspecified imbibition endpoints taken from the rock tables may then be different from the drainage
endpoints. If HYST is entered, MORE will search for differences between the drainage and imbibition endpoints
and use hysteresis modelling as required.

Notes

1. In most cases HYST is not required as MORE can detect the need for modelling hysteresis from the data.
Example:
1. HYST is used to switch on hysteresis in a simulation.

HYST

5.31. HYST - Switch On Hysteresis Modelling 95


Tempest MORE Help, Release 8.1

5.32 IDAT - Initial or Beginning Date of the Simulation

Location

INPU Section

Description

The IDAT keyword is used to specify the initial date of a simulation, corresponding to a simulation time of zero.
IDAT consists of one required arguments which should be entered on the same line as the IDAT keyword itself
when used.

Definitions

1. Initial date:
• The initial date may have one of two formats:
(a) MMM DD YYYY
(b) DD MMM YYYY

Notes

• For the notation used above:


– DD - Day of the month

* Must be numeric, one or two digits


– MMM - Month of the year

* Must be the first three letters of the month


* i.e. AUG for August
* Both JLY and JUL are accepted for July
– Year

* Two or four digit number to denote the year


* If two digits are supplied, a 20th century date is assumed (i.e. 87 is regarded as 1987)
• If no IDAT date is provided, the default start date is 1st January 2000.

Example

1. IDAT is used to specify an initial date of January 4, 1987 for a simulation.

IDAT 4 JAN 87

96 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.33 IEPD - Imbibition EndPoint Default

Location

INPU Section

Description

The IEPD keyword is used set the way in which imbibition endpoint grid arrays are defaulted when using both
imbibition and end point scaling.
IEPD takes one compulsory argument which should be entered on the same line as the IEPD keyword itself.

Definitions

1. Imbibition EndPoint Default: Drainage or Rock


• Rock (default) - defaulted imbibition endpoint arrays are set to the unscaled rock curve values.
• Drainage - defaulted imbibition endpoint arrays are set to the corresponding drainage array if that
drainage array has been set.

Notes

• Only one character need be set - i.e. R or D may be used.


• If neither the imbibition nor drainage endpoint is set, these options will be the same - both imbibition and
drainage values will be the unscaled values from the rock curve.
• An example would be SWL and IWL. If SWL is set and IWL omitted, then, in the Rock case, IWL will be
taken from the unscaled table, while in the Drainage case, IWL will follow SWL.
• If using the default Rock option, if only drainage endpoint arrays are entered, the HYST keyword may
be used to make MORE generate imbibition endpoints from the rock curves and check them against the
drainage endpoints.

Example

1. IEPD is used with the Drainage option to turn set defaulted imbibition endpoint array values from the
drainage endpoint values.

IEPD D

5.33. IEPD - Imbibition EndPoint Default 97


Tempest MORE Help, Release 8.1

5.34 IMPL - Control Degree of Implicitness

Location

INPU Section

Description

The IMPL keyword is used to control the degree of implicitness in a simulation. IMPL consists of one required
argument which should be entered on the same line as the IMPL keyword itself when used.

Definitions

1. Degree of implicitness: FULL, ADAP, or IMPE


• FULL - Fully Implicit method
• IMPE - IMPES (Implicit Pressures, Explicit Saturations) method
• ADAP - AIM (Adaptive Implicit Method)

Notes

• FIBO may be used as an alias for FULL to request the fully implicit method.
• DELT or NONE may be used as aliases for IMPE to request the IMPES method.
• AIM may be used as an alias for ADAP to specify the IMPES method.
• If IMPL is not specified in a simulation:
– The fully implicit method (FULL) is the default for black oil runs.
– The IMPES (IMPE) method is the default for equation-of-state runs.
• The keyword ADAP may be used as an alternative to IMPL.
• A fully implicit method may be requested in one of three ways in Tempest MORE:
– IMPL FULL
– IMPL FIBO
– ADAP FULL
• The IMPES method may be requested in one of seven ways in Tempest MORE:
– IMPL IMPE
– IMPL DELT
– IMPL NONE
– ADAP NONE
• The AIM method may be requested in one of two ways in Tempest MORE:
– IMPL AIM
– IMPL ADAP
– ADAP
The AIMT keyword should also be used when requesting AIM, otherwise the run switches to IMPES.

98 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

Example

1. IMPL is used with FULL to specify that a fully implicit solution method be used in a simulation.

IMPL FULL

2. IMPL is used with IMPE to specify that the IMPES method be used in a simulation.

IMPL IMPE

3. IMPL is used with ADAP, together with the AIMT keyword to indicate that the adaptive implicit method
will be used in a simulation with a 5% target of implicit cells.

IMPL ADAP
AIMT FRAC 0.05

5.34. IMPL - Control Degree of Implicitness 99


Tempest MORE Help, Release 8.1

5.35 IMPQ - Set Options for IMPES

Location

INPU Section

Description

The IMPQ keyword is used to specify modifications to the IMPES equation used in MORE to be used with the
IMPL or ADAP keywords. IMPQ takes one optional argument on the same line as the IMPQ keyword itself. IMPQ
selects the modified IMPEQ method for explicit cells, as described in Overall non-linear formulation in MORE

Definitions

1. Option to select the IMPEQ method in explicit cells: ON, or OFF


• ON - The explicit cells are treated by the IMPEQ method. This is the default for runs using the
Adaptive Implicit Method (IMPL ADAP or ADAP keywords, used together with AIMT).
• OFF - The explicit cells are treated by the original MORE IMPES method. This is the default for
pure IMPES runs selected using IMPL IMPE (the default for EOS models).

Notes

• For a run using the Adaptive Implicit Method, the IMPQ keyword is not necessary since the IMPEQ method
is selected automatically for explcit cells.
• For IMPES runs, it is possible to select the IMPEQ variant using the argument ON if required.

Examples

1. In an IMPES run, the IMPEQ model is selected.

IMPL IMPE
IMPQ ON

2. Select the Adaptive Implicit Method. The IMPEQ method is automatically chosen for explicit cells and the
IMPQ keyword is not entered.

IMPL ADAP

100 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.36 IPFL - Use Inverse Pressure Function Lookup

Location

INPU Section

Description

The IPFL keyword is used to request a lookup of the inverse function when calculating pressure functions such
as formation volume factors. The use of inverse pressure lookup gives results which more closely match the
ECLIPSE simulator.
IPFL consists on one optional argument which should be entered on the same line as the IPFL keyword itself if
used.

Definitions

1. Inverse pressure function lookup mode (optional): ON or OFF


• ON - turns on inverse pressure function lookup
• OFF (default) - turns off inverse pressure function lookup

Notes

• YES and NO may be used as aliases for ON and OFF when turning the inverse pressure function lookup on
and off, respectively.

Example

1. IPFL is used with the ON option to turn the inverse pressure function lookup on.

IPFL ON

5.36. IPFL - Use Inverse Pressure Function Lookup 101


Tempest MORE Help, Release 8.1

5.37 INPU - Input Section Header Line

Location

INPU Section

Description

The INPU keyword is used as a section header to indicate the beginning of the Input section. The Input section
must begin with the INPU keyword before other INPU section keywords can be used. There are no required
arguments for INPU.
The Input data section is used to supply basic input data to the simulator. For more details on the Input section,
please see the Input Data Section Overview.

Definitions

n/a

Notes

n/a

Example

1. INPU is used to indicate the beginning of the Input section.

INPU

102 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.38 IPR - Request Inflow Performance Tables

Location

INPU Section

Description

The IPR keyword requests that inflow performance tables are calculated for each well.

Definitions

1. GAP - requests output of shifted time vector - “GAP time”

Notes

• IPR output is requested using the GENE keyword in the RECU section.

Examples

1. IPR is used to request inflow performance tables

IPR

5.38. IPR - Request Inflow Performance Tables 103


Tempest MORE Help, Release 8.1

5.39 LOAD - Reads a fast restart file

Location

INPU Section

Description

The LOAD keyword is used to input a fast restart generated using the SAVE keyword.
LOAD should have one record which should be entered on the same line as the LOAD keyword itself.

Definitions

RECORD 1:
1. Root name of the fast restart file generated using the SAVE keyword
• The name should be enclosed in quotes if the name contains spaces or a slash (/)

Notes

• The LOAD keyword is used in place of the INPU, RELA, FLUI and GRID sections for a fast restart run.
The next keyword in the dataset should be INIT to continue processing the initial data.
• The only keywords which may be used before the LOAD keyword are IDAT, SDAT, EDAT, TITL and
OPEN. All others are ignored. When a restart is requested by the SDAT keyword, then OPEN IRST should
be used to specify the name of the restart file.
• Any data entered after the LOAD keyword and before the INIT keyword will be ignored.
• The same number of processors must be used as when generating the fast restart (SAVE). MORE will issue
an error message if the number of processors has changed.
• The file name should be enclosed in quotes if it contains a slash (/) character or else this will be treated as
the start of a comment instead. The file name must also be enclosed in quotes if blanks or special characters
are used.
• If a file name starts with \ or / or the second letter is a : character (e.g. D:base.dat) MORE will look in
the specified directory or location. If not, MORE will look in the current working directory in which MORE
is being run.
• As MORE files are binary, remember to select bin mode when using ftp to move files between computers.
• The fast restart file is typically a binary file (this is the default). If a formatted fast restart file has been
generated from the SAVE keyword, then the OPEN keyword should be used to specify that the input file is
formatted.
• Fast restarts cannot be used with grid coarsening (CXGR, CYGR, CZGR) in the present version or MORE.

Examples

1. LOAD is used to read a fast restart from the dataset ‘test1.dat’. The restart dataset starts with the LOAD
keyword.

LOAD 'test1.sav'
TITL 'Fast restart LOAD example'
INIT
--Begin INIT section processing

104 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

Note: If the input file is formatted, then the OPEN keyword is used to specify a formatted input.

OPEN load form


TITL 'Fast restart LOAD example'
LOAD 'test1.sav'
INIT
--Begin INIT section processing

2. LOAD is used to read a fast restart from the dataset ‘test1.dat’. A flexible restart is alo performed.

LOAD 'test1.sav'
TITL 'Fast and flexible restart LOAD example'
IDAT '01 Jan 2010'
SDAT '01 Jan 2016'
OPEN IRST
'test1' /
INIT
--Begin INIT section processing

5.39. LOAD - Reads a fast restart file 105


Tempest MORE Help, Release 8.1

5.40 LOGF - Select Destination for Standard Output

Location

INPU Section

Description

The LOGF keyword is used to select a destination for standard output. The log information written to standard
output by MORE usually appears on the console when MORE is running. For examples, messages such as:

Reading keyword INIT

and

divi: 1075 25.0 49 0 1 9 121.55 42.869 0.0 200.00 0.0 0.7875 1004.4

This information can also be viewed through Tempest.


LOGF enables this output to be suppressed or, alternatively, written to a file like base.log (if the dataset is
base.dat).
LOGF consists of one optional argument which should be entered on the same line as the LOGF keyword itself if
used. If no value is entered for the argument, it will automatically take on a default value.

Definitions

1. Options for standard output (optional): OFF, DISK, or STD


• OFF - turn off log output
• DISK (or FILE) - send log output to a file
• STD (default) - send log output to standard output

Notes

• NO may be used as an alias for OFF to turn off the log output.
• FILE may be used as an alias for DISK to send the log output to a file.

Example

1. LOGF is used to suppress the MORE standard output data that is written to the console.

LOGF OFF

106 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.41 LUMP - Lumped Component Definitions

Location

INPU Section (after the CNAM keyword)

Description

The LUMP keyword is used to provide lumped component definitions for a simulation. LUMP must only be used
after the CNAM keyword has been specified. LUMP consists of two required arguments which should be entered
in succession on the same line as the LUMP keyword itself when used.

Definitions

1. Name of the group of components


2. Name of the components to be included in the group (may be in any order)

Notes

• The maximum number of lumped components is 10. For example, one can lump 30 components into a
maximum of 10 lumped components.
• LUMP keyword simply outputs additional reports of the lumped component(s) in *.out file, and has no
effect on the simulation results.

Example

1. LUMP is used to lump the components C7P1 and C7P2 into a lumped component named C7+.

CNAM CO2 C1 C2 C3 C4 C5 C7P1 C7P2


LUMP C7+ C7P1 C7P2

5.41. LUMP - Lumped Component Definitions 107


Tempest MORE Help, Release 8.1

5.42 MAXC - Maximum CPU time for the simulation (in minutes)

Location

INPU Section

Description

The MAXC keyword is used to select a maximum CPU time for the simulation

Syntax

MAXC MaxCPUTime

Definitions

1. MaxCPUTime - Maximum CPU time in minutes


• Default: No limit on CPU time

Examples

1. Stop run if CPU time exceeds 1000 minutes

MAXC 1000

108 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.43 MAXE - Maximum elapsed time for the simulation (in minutes)

Location

INPU Section

Description

The MAXE keyword is used to select a maximum elapsed time for the simulation

Syntax

MAXE MaxElapsedTime

Definitions

1. MaxElapsedTime - Maximum elapsed time in minutes


• Default: No limit on elapsed time

Examples

1. Stop run if elapsed time exceeds 12 hours

MAXE 720

5.43. MAXE - Maximum elapsed time for the simulation (in minutes) 109
Tempest MORE Help, Release 8.1

5.44 MAXM - Maximum memory for the simulation

Location

INPU Section

Description

The MAXM keyword is used to select a maximum memory for the simulation. It is usual to need this, as MORE
will detect when an attempt to allocate memory fails and stop the run. However, a few systems will over-allocate
memory, so that the allocation is fine but the memory is not really available. In such cases it may be useful to
allow MORE to limit the total memory used.

Syntax

MAXM MaxMemory

Definitions

1. MaxMemory - Maximum memory allocated per process (in gigabytes)


• Default: No MORE limit on memory

Examples

1. Stop run if MORE attempts to allocate more than 100 gigabytes

MAXM 100

110 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.45 MESL - Set print limits for messages

Location

INPU Section

Description

The MESL keyword is used to control the number of messages reported by the simulation. The keyword is
followed by 6 optional items on the same line.

Definitions

1. Maximum number of information messages to be reported in the run


• Default: Infinite
2. Maximum number of warning messages to be reported in the run
• Default: Infinite
3. Maximum number of error messages to be reported in the run
• Default: Infinite
4. Maximum number of information messages to be reported for a particular information type
• Default: Infinite
5. Maximum number of warning messages to be reported for a particular warning type
• Default: Infinite
6. Maximum number of error messages to be reported for a particular error type
• Default: Infinite

Examples

Limit the number of information and warning messages to 100 for all types, and to 50 for any particular type:

MESL 100 100 1* 50 50 1*

5.45. MESL - Set print limits for messages 111


Tempest MORE Help, Release 8.1

5.46 MFC - Request Matrix Fracture Condensation

Location

INPU Section

Description

The MFC keyword requests that dual porosity (but not dual permeability) runs reduce the number of equations
prior to entering the main linear solver. This option is normally requested using the MFC argument of DPOR.

Examples

1. MFC is used to request matrix fracture condensation.

MFC

112 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.47 MGDE - Debug output requests for Multigrid linear solver

Location

INPU Section

Description

The MGDE keyword is used to set debug output options for the multigrid solver, which is selected with the MGLS
keyword. This keyword is available for development purposes but should not interest users.

Syntax

MGDE {options}

Definitions

Optional Arguments:
MSG - takes one integer argument:
• Output diagnostics from multigrid solver, higher integer is more diagnostics.
RECT:
• Use rectangular matrix representation in matrix multiply
RILU:
• Use rectangular matrix representation for ILU (does not work in parallel)
BARR:
• Insert barriers when doing timings in parallel runs
CYCL:
• Use a cyclic solver instead of a two-stage preconditioner
NAMG - takes one integer argument:
• Number of AMG iterations to use in two-stage preconditioner (Default: 1)
NILU - takes one integer argument:
• Number of ILU iterations to use in two-stage preconditioner. Only works with RILU option. (Default: 1)
NOPP:
• Do not perform additional pivoting operation prior to solving. Needed for back-compatibility with MORE
versions < 7.0.
DIAG:
• Use basic diagonal inverse in second-stage ILU. Needed for back-compatibility with MORE versions < 7.0.

Example

MGDE MSG 1

5.47. MGDE - Debug output requests for Multigrid linear solver 113
Tempest MORE Help, Release 8.1

5.48 MGOP - Options for the Multigrid linear solver

Location

INPU Section

Description

The MGOP keyword is used to set algorithmic options for the multigrid solver, which is selected with the MGLS
keyword. This keyword is available for development purposes but should not interest users.
Definitions
Optional Arguments:
THRE - takes one fractional argument: + Strength threshold parameter (Default: 0.5)
NDS - takes one integer argument:
• Strength threshold parameter (Default: 1)
PMIS/CLJP:
• Use PMIS or CLJP coarsening (Default: PMIS)
EXTR/DIRE:
• Use extended+i reduced or direct interpolation (Default: EXTR)
SABS/SRS:
• Use absolute or Ruge-Stuben values in strength calculation (Default: SRS)
RRES - Relaxation algorithm before restriction. Takes one of four arguments:
• CF: coarse then fine
• FC: fine then coarse (Default)
• FORW: forward relaxation
• BACK: backward relaxation
RRES - Relaxation algorithm after interpolation. Takes one of four arguments:
• CF: coarse then fine
• FC: fine then coarse (Default)
• FORW: forward relaxation
• BACK: backward relaxation

Example

MGOP THRE 0.5 CLJP

114 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.49 MGLS - Use the Algebraic Multigrid Linear Solver

Location

INPU Section

Description

The MGLS keyword is used to select the Algebraic Multigrid Linear Solver as an alternative to the default nested
factorisation solver. The Algebraic Multigrid Linear Solver uses a two-stage preconditioning technique to solve
the linear equations from the Newton iterations. The MGLS keyword does not have any required arguments.

Definitions

n/a

Notes

• The default nested factorisation solver usually gives a good performance. However, if the number of linear
iterations - the column labelled LS in the output - is reaching 40 regularly, then it is worth trying the
multigrid solver.
• If the multigrid solver is still not improving performance, an additional keyword, MGVB can also be tried.
This will increase the cost of an individual linear solver iteration, but, should achieve convergence with less
linear iterations. The MGVB option is strongly encouraged for compositional models.
• For more information regarding the Algebraic Multigrid Linear Solver, please see the Solution of the Linear
System of Equations section of the MORE Technical Reference and the SPE Paper #115017.

Example

1. MGLS is used to select the Algebraic Multigrid Linear Solver as an alternative to the default nested factori-
sation solver in MORE.

MGLS

5.49. MGLS - Use the Algebraic Multigrid Linear Solver 115


Tempest MORE Help, Release 8.1

5.50 MGVB - Use the FIPE Linear Equation Set

Location

INPU Section

Description

The MGVB keyword is used to specify the use of the FIPE linear equation set when the Algebraic Multigrid
Linear Solver is being used (MGLS). The MGVB keyword does not have any required arguments.

Definitions

n/a

Notes

• By using MGVB, an extra equation is added to the usual equation set which has characteristics better suited
to the two-stage Algebraic Multigrid Linear Solver. The extra equation substantially increases the cost of
each linear iteration, but may converge slightly faster.
• For more information regarding the Algebraic Multigrid Linear Solver, please see the Algebraic Multigrid
Linear Solver section of the MORE Technical Reference and the SPE Paper #115017.

Example

1. MGVB is used to Specify the use of the FIPE linear equation set when the Algebraic Multigrid Linear
Solver is being used (MGLS).

MGLS
MGVB

116 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.51 MIXK - Mix Oil and Gas Relative Permeabilities and Potentials
for Miscible Cases

Location

INPU Section

Description

The MIXK keyword is used to specify the mixing of oil and gas relative permeabilities and potentials for miscible
cases. MIXK is only relevant to equation-of-state runs in which miscible processes are being simulated. In a
miscible process, a cell can switch directly from being an oil to a gas due to a change in composition. This
can introduce a discontinuous change in the relative permeability being used (from Kro to Krg) and a resulting
discontinuity in the flow between the two cells which can make the fluid flow equations impossible to solve.
If MIXK is used, both oil and gas phases are given a relative permeability of the form:

Krp = fo × Kro + fg × Krg

where,

fo + fg = 1

fo is equal to:
• 1.0 when a cell composition is firmly ‘oil-like’
• 0.0 when a cell composition is firmly ‘gas-like’
• Varies continuously between 1.0 and 0.0 in the near miscible region
When a phase changes from an oil to a gas, there is also a possible discontinuity in the way in which it flows. If a
cell is an oil, it does not see the oil-gas capillary pressure, and it sees the oil density in other cells when calculating
the effect of gravity on flow rate. If a cell is a gas, it sees the oil-gas capillary pressure, and uses gas density in
other cells when calculating the effect of gravity. fo can be used to interpolate between the two cases where a cell
is an oil and where a cell is a gas.
MIXK has different arguments which can be used to apply different corrections to fix this. When this optional
argument of MIXK is used, it should be entered on the same line as the MIXK keyword itself. If no argument is
used with MIXK, it will automatically be assigned a default value.
The properties ‘oil-like’ and ‘gas-like’ are determined by the Li modification factor for property interpolation
using FCLI keyword.

Definitions

1. Correction method (optional): K, P, or A


• K - selects the relative permeability correction only
• P - selects the flow potential difference only
• A (default) - selects both corrections

Notes

n/a

5.51. MIXK - Mix Oil and Gas Relative Permeabilities and Potentials for Miscible Cases 117
Tempest MORE Help, Release 8.1

Example

1. MIXK is used with the A option to specify interpolation between both relative permeabilities and flow
potentials for oil and gas in the miscible region.

MIXK A

118 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.52 MINS - Minimum time step for the simulation

Location

INPU Section

Description

The MINS keyword is used to select a minimum timestep for the simulation. The run will stop if a timestep length
less than the minimum is required.

Syntax

MINS MinStep

Definitions

1. MinStep - Minimum timestep (in days)


• Default: 0.000001 days

Examples

MINS 1.0E-9

5.52. MINS - Minimum time step for the simulation 119


Tempest MORE Help, Release 8.1

5.53 MPFA - Use Multipoint Flux Method

Location

INPU Section

Description

The MPFA keyword will select the multipoint flux method. This is an implementation of the Aavatsmark O-
method which allows for the effect of grid distortion in simulation grids.

Syntax

1. MPFA
The MPFA keyword has no arguments. The former argument L has been deprecated.

Notes

• As the extra terms in the coupling between cells change basic coupling from a 7-point to a 27-point scheme,
use of MPFA will generally increase the run-time of a run considerably. However, it may be a useful method
in assessing the effects of grid distortion.

Example

1. MPFA is used to select the multipoint flux method in a simulation.

MPFA

The grids below display water saturations to demonstrate the effect of MPFA on grid distortions when it is
included and excluded from a simulation, respectively. See MPFA.dat for complete example.

120 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.54 MPGP - Use Multi-Phase Gas Pseudo-pressure for well inflow

Location

INPU Section

Description

Enables the use of multi-phase gas pseudo-pressure, which allows for the variation in fluid properties and satura-
tions as a function of the pressure in the near-well region. Details of the calculation and use of multi-phase gas
pseudo-pressure are described in the Gas Pseudo-pressure section of the Technical Reference Manual.

Syntax

MPGP [ALL] [DYNA]

Definitions

ALL - Apply Multi-Phase Gas Pseudo-pressure in all wells - if ALL is not used, WMPG keyword or MPGPP
event must be used to specify which wells.
DYNA - calculate multi-phase pseudo pressure dynamically. This is not normally required, but can improve
the pseudo-pressure calculation. The non-dynamical method, in which a table of gas pseudo-pressures is pre-
calculated, is fine most for most situations such as condensate blocking. If more than two phases have significant
flows at the same time, or there are effects such as velocity dependent relative permeabilities, the dynamic method
may be better, although there is some cost in terms of memory and CPU time.

Notes

n/a

Example

MPGP ALL

5.54. MPGP - Use Multi-Phase Gas Pseudo-pressure for well inflow 121
Tempest MORE Help, Release 8.1

5.55 NEPT - Number of Pressure Tables (for use when reading


ECLIPSE format Fluid Properties)

Location

FLUI Section (before effected data)

Description

The NEPT keyword is used to specify the number of pressure tables to use when reading ECLIPSE format fluid
properties. NEPT consists of one required argument which should be entered on the same line as the NEPT
keyword itself when used.

Definitions

1. Number of pressure tables expected when reading ECLIPSE format fluid properties

Notes

• In problems with more than one pressure table region, MORE normally expects to read the same keyword
a number of times. So, in a problem with 2 pressure table regions, the BASI keyword would appear twice.
This method may be used with ECLIPSE-compatible keywords such as GRAVITY and PVTO. However,
the standard approach for an ECLIPSE keyword is to read information for all the pressure table regions after
a single occurrence of the keyword.
• In ECLIPSE, the number of tables to be read is known as it is specified with the RUNSPEC keyword.
However, MORE does not support RUNSPEC, so NEPT is a way of specifying the number of pressure
tables expected.
• If NEPT is not supplied, the number of ECLIPSE tables read at one go will default to one, so the situation
reverts to the standard MORE approach in which the keyword is repeated and the data is assigned to the
pressure table regions in sequence.
• The keywords affected by NEPT are: DENSITY, GRAVITY, PVDG, PVTG, PVCO, PVDO, PVTO, ROCK,
PVTW, and WATERTAB. Native MORE keywords always follow the standard repeated keyword pattern.

Example

1. NEPT is used to specify that 2 pressure tables are expected when reading ECLIPSE format fluid properties
in MORE.

NEPT 2

DENSITY
49.1 64.79 0.06057 /
50.1 62.79 0.07054 /

PVTW
3600 1.00341 3.0D-6 0.96 0 /
3600 1.01341 4.0D-6 0.86 0.0001 /
/

This would be equivalent to the following input without the NEPT keyword:

122 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

DENSITY
49.1 64.79 0.06054 /

DENSITY
50.1 62.79 0.07054 /

PVTW
3600 1.00341 3.0D-6 0.96 0 /

PVTW
3600 1.01341 4.0D-6 0.86 0.0001 /

Both of the examples above will give precisely the same results.

5.55. NEPT - Number of Pressure Tables (for use when reading ECLIPSE format Fluid 123
Properties)
Tempest MORE Help, Release 8.1

5.56 NEST - Number of Saturation Tables (for use when reading


ECLIPSE format Fluid Properties)

Location

RELA Section (before effected data)

Description

The NEST keyword is used to specify the number of saturation tables to use when reading ECLIPSE format
fluid properties. In problems with more than one saturation table region, MORE normally expects to read the
same keyword a number of times. So, in a problem with 2 saturation table regions, the KRWO keyword would
appear twice. This method may be used with ECLIPSE-compatible keywords such as SWOF. However, the
standard approach for an ECLIPSE keyword is to read information for all the saturation table regions after a single
occurrence of the keyword. In ECLIPSE, the number of tables to be read is known as it is specified with the
RUNSPEC keyword. However, MORE does not support RUNSPEC, so NEST is a way of specifying the number
of saturation tables expected.
If NEST is not supplied, the number of ECLIPSE tables read at one go will default to one, so the situation reverts
to the standard MORE approach in which the keyword is repeated and the data is assigned to the saturation table
regions in sequence.
NEST consists of one required argument which should be entered on the same line as the NEST keyword itself
when used.

Definitions

1. Number of saturation tables expected when reading ECLIPSE format fluid properties

Notes

• The ECLIPSE keywords affected by NEST are: SGFN, SGOF, SOF2, SOF3, SWFN, and SWOF. Native
MORE keywords always follow the standard repeated keyword pattern.

Example

1. NEST is used to specify that 2 saturation tables are expected when reading ECLIPSE format fluid properties
in MORE.
NEST 2

SWOF
0.25 0.000 0.92 4.00
0.30 0.020 0.705 2.95
0.40 0.055 0.42 1.65
0.50 0.100 0.24 0.85
0.60 0.145 0.11 0.30
0.70 0.200 0.0 0.00
/
0.00 0.000 1.0 4.000
0.10 0.050 0.770 1.850
0.20 0.110 0.587 0.900
0.25 0.145 0.519 0.725
0.30 0.180 0.45 0.550
0.40 0.260 0.33 0.400
0.50 0.355 0.240 0.290

124 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

0.60 0.475 0.173 0.200


0.70 0.585 0.102 0.160
0.80 0.715 0.057 0.110
0.90 0.850 0.021 0.050
1.00 1.000 0.0 0.000
/

This would be equivalent to the following input without the NEST keyword:

SWOF
0.25 0.000 0.92 4.00
0.30 0.020 0.705 2.95
0.40 0.055 0.42 1.65
0.50 0.100 0.24 0.85
0.60 0.145 0.11 0.30
0.70 0.200 0.0 0.00
/

SWOF
0.00 0.000 1.0 4.000
0.10 0.050 0.770 1.850
0.20 0.110 0.587 0.900
0.25 0.145 0.519 0.725
0.30 0.180 0.45 0.550
0.40 0.260 0.33 0.400
0.50 0.355 0.240 0.290
0.60 0.475 0.173 0.200
0.70 0.585 0.102 0.160
0.80 0.715 0.057 0.110
0.90 0.850 0.021 0.050
1.00 1.000 0.0 0.000
/

Both of the examples above will give precisely the same results.

5.56. NEST - Number of Saturation Tables (for use when reading ECLIPSE format Fluid 125
Properties)
Tempest MORE Help, Release 8.1

5.57 NEZT - Number of Equation of State Regions (for use when


reading ECLIPSE format Fluid Properties)

Location

FLUI Section (before affected data)

Description

The NEZT keyword is used to specify the number of Equation of State regions when reading ECLIPSE format
fluid properties.
NEZT consists of two required arguments which should be entered on the same line as the NEZT keyword itself
when used.
In problems with more than one equation of state region, MORE normally expects to read the same keyword a
number of times. So, in a problem with 2 Equation of State regions specified using EOSN, the PROP keyword
would appear twice. However, the standard approach for an ECLIPSE keyword is to read information for all the
EoS regions after a single occurrence of the keyword. In ECLIPSE, the number of Equations of State to be read is
known as it is specified with the RUNSPEC keyword. However, MORE does not support RUNSPEC, so NEZT is
a way of specifying the number of EoS properties expected.
If NEZT is not supplied, the number of ECLIPSE Equation of State regions read at one go will default to one, so
the situation reverts to the standard MORE approach in which the keyword is repeated and the data is assigned to
the Equation of State regions in sequence.

Definitions

1. Number of equation of state regions expected when reading ECLIPSE format fluid properties
• Default: 1
2. Number of surface equations of state regions expected when reading ECLIPSE format fluid properties
• Default: Value specified in item 1.

Notes

• If NEZT is not supplied, the number of EoS properties read at one go will default to one.
• The ECLIPSE keywords affected by NEZT are: EOS, MW, ZCRIT, VCRIT, TCRIT, PCRIT, ZCRITVIS,
VCRITVIS, BIC, ACF, OMEGAA, OMEGAB, SSHIFT, PARACHOR and RTEMP. Similarly, for Surface
Equations of State, additional ECLIPSE keywords are EOSS, MWS, ZCRITS, VCRITS, TCRITS, PCRITS,
BICS, ACFS, OMEGAAS, OMEGABS and SSHIFTS.
• It is not possible to match the ECLIPSE EoS keywords mentioned in the above paragraph with the equivalent
MORE EoS keywords (TEMP, PROP, INTE, OMGA, OMGB, EQUA, SURF, VOLU, VCVI, ZCVI, ZCOR
and GCOR) in the same dataset. An error will be reported if this is attempted.
• When using ECLIPSE keywords, the equation of state index should be specified for each stage in the SEPA
keyword. A warning will be given if this is not specified, and the separator will flash using the first surface
EoS. However, in the native MORE format, the separator stage temperature is used to index the surface EoS
specified using TEMP if the EoS index for the separator stage is not specified.

126 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

Example

1. NEZT is used to specify that 2 reservoir equations of state regions are expected together with 2 surface
equations of state when reading ECLIPSE format fluid properties in MORE.

NEZT 2 2

5.57. NEZT - Number of Equation of State Regions (for use when reading ECLIPSE format Fluid
127
Properties)
Tempest MORE Help, Release 8.1

5.58 NFLS - Force Use of the Nested Factorisation Solver

Location

INPU Section

Description

If one or more PEBI grids are defined MORE automatically switches to using the algebraic multigrid solver
(internally it effectively enables the MGLS keyword) rather than the default nested factorisation solver. The
NFLS keyword disables this automatic switching and forces use of nested factorisation, even when PEBI grids are
present.

128 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.59 NOHY - Switch Off Hysteresis Modelling

Location

INPU Section

Description

The NOHY (no hysteresis) keyword is used to switch off hysteresis modelling. NOHY may be used to switch off
hysteresis even if the table data justifies using it. There are no required arguments for NOHY.

Definitions

n/a

Notes

n/a

Example

1. NOHY is used to switch off hysteresis in a simulation.

NOHY

5.59. NOHY - Switch Off Hysteresis Modelling 129


Tempest MORE Help, Release 8.1

5.60 NUMA - This run will use numerical aquifers

Location

INPU Section

Description

If numerical aquifers are used, MORE places these in a hidden extra layer of cells. NUMA is required in the
INPUT section to ensure that this extra layer is allocated when the grid is set up.

Definitions

• NUMA takes no arguments.

Notes

• If NUMA is not used in a run with numerical aquifers, a reminder message will be issued.

130 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.61 OPEN - Defines Alternate I/O Files

Location

INPU Section

Description

The OPEN keyword is used for several purposes in MORE:


1. To switch input reading to an alternative file
2. To place all the output files in a non-default location
3. To specify the details of ROFF or ECLIPSE format output files
4. To request a restart from a run with a different name.
Arguments for OPEN consist of two records. The first record consists of up to two optional arguments which
should be entered on the same line as the OPEN keyword itself if used. The second record consists of one
argument which should be entered on a separate line below the OPEN keyword itself.

Definitions

RECORD 1:
1. File type (optional):
• INPU (default) - open alternate input unit
• ALL - open all files using name as the root
• ECLI - root name for grid, summary, init and restart files
• IRST - name of an input restart file
• MSF (or MST) - specify msf file format
• IMSF (or IMST) - specify input msf file format
• BLG - specify blg file format
• LOAD - specify load file format
2. File format (optional):
• FORM - request text-formatted files
For ECLIPSE files only:
• UNFO (default) - request unformatted (binary) files
• UNIX - request unformatted (binary) files which follow the UNIX (big-endian) byte ordering conven-
tion
• PC - request unformatted (binary) files which follow the PC (little-endian) byte ordering convention
• UPCA - request files with upper case mnemonics and units
• LOWC - request files with lower case mnemonics and units
• UPSU - request files with upper case files suffixes (i.e. SMSPEC)
RECORD 2:
1. Root name of the file
• The name should be enclosed in quotes if the name contains spaces or a slash (/)

5.61. OPEN - Defines Alternate I/O Files 131


Tempest MORE Help, Release 8.1

Notes

• Unlike all the other options, which must be used in the INPU section, OPEN INPU may be used at any
point in the dataset.
• The file name should be enclosed in quotes if it contains a slash (/) character or else this will be treated as
the start of a comment instead. The file name must also be enclosed in quotes if blanks or special characters
are used.
• If a file name starts with \ or / or the second letter is a : character (e.g. D:base.dat) MORE will look in
the specified directory or location. If not, MORE will look in the current working directory in which MORE
is being run.
• When OPEN ECLI is used:
– If neither the PC nor UNIX options are requested, the big-endian (UNIX) type of file will be created.
Tempest will read either type of file on any platform. However, many other applications expect big-
endian files, so this is the default.
– UPSU (up-suffix) is required for some applications which read ECLIPSE files. UPCASE is not the
default, as some ECLIPSE file readers expect upper case mnemonics. LOWC (lower case) can be used
if lower case mnemonics are preferred. Tempest will read ECLIPSE files using either case convention.
• As MORE files are binary, remember to select bin mode when using ftp to move files between computers.

Examples

1. OPEN is used in combination with the SWIT keyword to switch input reading to an alternative file. The
combination of OPEN and SWIT will cause an alternative input file to be read.

OPEN
'wellhist.rates'
SWIT

With the input above, MORE will open the wellhist.rates file and start reading input data from it.
Subsequent SWIT keywords will cause input reading to switch between the main and alternate input files.

Note: If the intention is simply to read an entire include file, the INCL keyword may be used as a simpler
alternative to OPEN and SWIT.

Note: When reading alternate or included input files, the ABSP keyword may be used to control whether
directory names are passed down through the sequence of included files.

2. OPEN is used to place all the output files in a non-default location. For a run with the root name “base”, the
input file would be base.dat and the output file would be base.out. The MORE file system (MFS)
comprises a number of files which, by default, would share the same root (i.e. base.mis).
OPEN ALL may be used to choose an alternative file name for the MFS files. This may simply change the
name, as in:

OPEN ALL
'run13'

This will create output files called run13.mis etc.


Alternatively, the files could be placed in an alternative directory, as in:

OPEN ALL
'rst\run12'

132 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

As a result, MORE will place the files in the rst directory with the root name “run12”.
If the specified directory does not exist, MORE will attempt to create it.
3. OPEN is used to specify the details of ECLIPSE format output files. ECLIPSE files will be created if the
EGRI, ESOL, or ESUM keywords are used, and OPEN need only be used to specify a non-default name or
to change the file characteristics. In this example, OPEN is used to change the name of an ECLIPSE outfile
file and make it a text file using the FORM option.

OPEN ECLI FORM


'run23b_Eclipse'

4. OPEN is used to request a restart from a run with a different name. If SDAT is used to perform a restart run,
MORE will extend the current file system. However, in some cases, it is useful to create an alternative study
starting from a base run. To do this, specify the name of the input restart file using OPEN IRST:

OPEN IRST
base12

5. OPEN is used to request a text-formatted blg file:

OPEN BLG FORM

6. OPEN is used to specify a text-formatted LOAD file:

OPEN LOAD FORM

5.61. OPEN - Defines Alternate I/O Files 133


Tempest MORE Help, Release 8.1

5.62 OPER - Select Time-Stepping Option with Operations

Location

INPU Section

Description

The OPER (operation) keyword is used to specify whether timesteps will observe operation times when operations
are present in the recurrent (RECU) section. The default is for this to be the case; alternatively, one may take a
normal (longer) timestep, then action all operations with times less than the current time. The OPER keyword
consists of one required argument which should be entered on the same line as the OPER keyword itself when
used.

Definitions

1. Limit time steps to exactly match operation times: EXACT


2. Do not limit time steps to exactly match operation times: NOEXACT

Notes

• Operations are defined using the OPER keyword in the RECU section
• Please see the Operations section of the MORE Technical Reference for more information regarding Oper-
ations

Example

OPER with the NOEXACT option is used to limit time steps to match event times exactly.

OPER NOEXACT

134 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.63 OPMX - Maximum Number of Cells for a Printed Map in the


.out File

Location

INPU Section

Description

The OPMX keyword is used to specify the maximum number of cells which can be reported as a printed map in
the .out file. OPMX consists of one required argument which should be entered on the same line as the OPMX
keyword itself when used.

Definitions

1. Maximum number of cells which can be reported as a printed map in the .out file
• Default: 10000

Notes

• The default OPMX value prevents huge unreadable maps being written to the .out file. These are normally
not used. However, OPMX can be used to reset the default if such output is really required.

Example

1. OPMX is used to assign a maximum number of 5000 cells which can be reported as a printed map in the
.out file.

OPMX 5000

5.63. OPMX - Maximum Number of Cells for a Printed Map in the .out File 135
Tempest MORE Help, Release 8.1

5.64 PRIN - Define Printing Options for Input Data

Location

INPU Section

Description

The PRIN keyword is used to define printing options for the input section data. PRIN consists of one optional
argument which should be written on the same line as the PRIN keyword itself if used.

Definitions

1. Printing option (optional): NONE or ALL


• NONE - specifies no printing of basic input data
• ALL (default) - specifies printing of all basic input data

Notes

• By default, all basic input data is automatically output to the .out file of MORE if the PRIN keyword is
not used.

Example

1. PRIN is used with the ALL option to specify that all basic input data will be printed to the .out file of
MORE which can be seen under the Print tab when the results are viewed in Tempest View.

PRIN ALL

When the .out file is viewed under the Print tab in Tempest View, we will see the following output under
the INPU section:

INPU======================================================================================
Run summary
==========================================================================================

Run title: Untitled

Root for MORE file system = C:\Documents and Settings\belindat\INPU


,→Section\PRIN

Simulation dates and times:


Initial date ...............................1 Jan 2000
Starting date...............................1 Jan 2000
Starting time............................... 0.00 days
Solution method.............................Fully Implicit

Number of components........................3
Component Names
Oil Gas Water

Production streams: oil gas wat


Injection streams: gas wat

Simulation Units: FIELD units

136 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

FLUI======================================================================================
Fluid property data
==========================================================================================

2. PRIN is used with the NONE option to specify that no basic input data will be printed to the .out file of
MORE which can be seen under the Print tab when the results are viewed in Tempest View.

PRIN NONE

5.64. PRIN - Define Printing Options for Input Data 137


Tempest MORE Help, Release 8.1

5.65 QCVF - Use Quadratic Compressibilities

Location

INPU Section

Description

The QCVF keyword is used to allow the use of a quadratic compressibility term when calculating pore volumes,
formation volume factors, and viscosity. The quadratic term gives results which more closely match the ECLIPSE
simulator.
QCVF consists of one optional argument which should be entered on the same line as the QCVF keyword if used.

Definitions

1. Use of quadratic compressibility term (optional): ON or OFF


• ON - allows the use of the quadratic compressibility term in the calculation of pore volumes, formation
volume factors, and viscosities
• OFF (default) - turns off the use of the quadratic compressibility term in the calculation of pore vol-
umes, formation volume factors, and viscosities

Notes

• YES and NO may be used as aliases for ON and OFF when turning the use of the quadratic compressibility
term on and off, respectively.

Example

1. QCVF is used with the ON option to request that a quadratic compressibility term be used in the calculation
of pore volumes, formation volume factors, and viscosities.

QCVF ON

138 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.66 RPTB - Request a report on the BLOG file contents

Location

INPU Section

Description

If the BLOG keyword has been used to request that MORE writes out a binary log or blog file, RPTB can be used
to request that MORE extracts and reports its own blog file. This will be done at the end of the run, and the report
will be at the end of the MORE .out file.

Syntax

The RPTB keyword has no arguments.


1. RPTB

5.66. RPTB - Request a report on the BLOG file contents 139


Tempest MORE Help, Release 8.1

5.67 RMS - Use root-mean-square error measure

Location

INPU Section

Description

Use the RMS (root-mean-square) measure of error rather than the usual max norm.

Definitions

1. Number of non-linear iterations before switch to using RMS norm (optional)


• Default: 2

Notes

• RMS is a looser convergence criteria than the default max norm, and should be used with care to ensure
no mass balance errors follow. For this reason the default is to use the max norm for two iterations before
switching to the RMS norm.
• The optional argument ALL may be used as an alternative to 0 to enforce the RMS norm on all iterations.
This reproduces the behaviour of MORE v7.0 and earlier versions.

Example

RMS ALL

140 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.68 RG - Use Russell-Goodrich for well inflow

Location

INPU Section

Description

Enables the use of Russell-Goodrich, which allows for the change in gas properties which pressure changes oc-
curring in the new-well region. Russell-Goodrich is a simple form of gas pseudo-pressure in which only gas
expansion is modelled, using a constant Z-factor expression. The resulting inflow performance expression in-
volves the difference of the squares of the well and cell pressures. Full details may be found in the Technical
Reference.

Syntax

RG [ALL]

Definitions

1. ALL - Apply Russell-Goodrich in all wells - if ALL is not used, WRG keyword or RG event must be used
to specify which wells.

Notes

Example

RG ALL

5.68. RG - Use Russell-Goodrich for well inflow 141


Tempest MORE Help, Release 8.1

5.69 SAVE - Generates a fast restart file

Location

INPU Section

Description

The SAVE keyword is used to generate a fast restart file. This may then be used to replace the INPU, RELA, FLUI
and GRID sections in a subsequent run when the LOAD keyword is used. All the calculations for grid setup and
transmissibility calculations are written to the fast restart file.
SAVE has one optional argument which should be entered on the same line as the SAVE keyword itself.

Definitions

RECORD 1:
1. File format (optional):
• FORM - request ASCII-formatted files

Notes

• As MORE files are binary, remember to select bin mode when using ftp to move files between computers.
• The fast restart file is typically a binary file (this is the default). If a formatted fast restart file has been
generated from the SAVE keyword, then the OPEN keyword should be used to specify that the input file is
formatted.
• For the dataset ‘test1.dat’, the SAVE keyword will generate the fast restart file ‘test1.sav’.
• Fast restarts using SAVE and LOAD may not be used with the coarsening option in the present version of
MORE.

Examples

1. SAVE is used to write a fast restart.

INPU
TITL 'Fast restart SAVE example'
-- INPUT section data
SAVE
FLUI
--- Fluid section data

142 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.70 SCMP - Standard Composition Definition

Location

INPU or RECU Sections

Description

The SCMP keyword is used to provide standard composition definitions for a fluid stream. Arguments for SCMP
consist of two records. The first record consists of one required argument which should be entered on the same
line as the SCMP keyword itself when used. The second record consists of a list of mole fractions that should be
entered on a line below the SCMP keyword. Data entry for this record must be terminated by using a slash (/)
after the final entry.

Definitions

RECORD 1:
1. The name to be assigned to the standard composition
RECORD 2:
1. List of mole fractions of component i in the standard composition, where i is equal to 1, 2, 3, ... up to the
number of components defined by CNAM
• Default: 0
• Minimum: 0
• Maximum: must sum up to 1.0

Notes

• When SCMP is used, it is only possible to have a maximum of 50 specified compositions.

Example

1. SCMP is used to define a fluid named “RICH” with mole fractions of 0.6, 0.3, and 0.1 for components C1,
C2, and C3, respectively. The fraction of the other components all default to zero.

CNAM C1 C2 C3 C4 C5 C7P1 C7P2

SCMP RICH
0.60 0.30 0.10 /

5.70. SCMP - Standard Composition Definition 143


Tempest MORE Help, Release 8.1

5.71 SDAT - Starting Date or Time of the Simulation

Location

INPU Section

Description

The SDAT keyword is used to specify the start date or time of a simulation. SDAT consists of at least one required
argument which should be entered on the same line as the SDAT keyword itself when used.

Definitions

1. The date or time (from the initial date IDAT) when the simulation begins
2. Date or time format: DAYS, MONT, YEAR, or DATE
• DAYS - value is the number of days after the initial date
• MONT - value is the number of months after the initial date
• YEAR - value is the number of years after the initial date
• DATE (default)- value is a date (please see the IDAT keyword for a description of the date format)

Notes

• The default start date is the initial date provided by the IDAT keyword.
• When the starting time is greater than zero, or the starting date is later than the initial date, the simulation
will restart using information saved from a previous run.

Example

1. SDAT is used to specify a starting time of 0 days from the initial date specified by IDAT .

IDAT 1 OCT 2011


SDAT 0.0 DAYS

2. SDAT is used to specify a restart run that starts 1 year after the initial date specified by IDAT.

IDAT 1 JAN 2000


SDAT 1 JAN 2001

This would be equivalent to the following:

IDAT 1 JAN 2000


SDAT 1 YEAR

Both of these cases will create a restart run that starts 1 year after the initial start date of 1 JAN 2000.

144 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.72 SLIP - Request use of Gas-Liquid Phase Slippage in Seg-


mented Well Model

Location

INPU Section

Description

The SLIP keyword is used to request the use of gas-liquid phase slippage in a segmented well model. SLIP
consists of up to two optional argument which should be entered on the same line as the SLIP keyword itself if
used.

Definitions

1. Gas-liquid phase slippage mode (optional): ON or OFF


• ON - turns on the use of gas-liquid phase slippage in a segmented well model
• OFF (default) - turns off the use of gas-liquid phase slippage in a segmented well model

Notes

• YES and NO can be used as aliases for ON and OFF when turning the use of gas-liquid phase slippage in a
segmented well model on and off, respectively.
• By default, the multi-segmented well model requested by the use of WSEG uses a no-slip flow model - all
phases move at the same velocity.
• If SLIP ON is used, the drift flux model of Shi, Holmes et al., SPE 84228, will be used to calculate the
amount of phase slip between the gas and liquid phases. This keyword will only have an effect if gas and at
least one of the oil or water phases are present in the problem.
• If SLIP ON is not requested, the effect of fraction can be included using a fast method in which the friction
evaluated by solving the well from toe to heel, assuming no crossflow (i.e. completions only produce for
producers and completions only inject for injectors). This obtains a good approximation to the required
friction at almost no extra cost compared to the standard model without multi-segments.

Example

SLIP is used with the ON option to turn use of gas-liquid phase slippage in a segmented well model.

SLIP ON

SLIP is used with the OFF option to turn off the use of gas-liquid phase slippage in a segmented well model.

SLIP OFF

5.72. SLIP - Request use of Gas-Liquid Phase Slippage in Segmented Well Model 145
Tempest MORE Help, Release 8.1

5.73 SPLI - Splits for Additional Streams

Location

INPU Section

Description

The SPLI (splits) keyword is used to specify splits for additional streams. Arguments for SPLI consist of two
records. The first record consists of one required argument and three optional ones which should all be entered
on the same line as the SPLI keyword itself when used. If values are not entered for the three optional arguments,
they will automatically take on their default values. The second record consists of a list of split factors for the
components in the stream. This list should be entered on a separate line below the SPLI keyword itself.

Definitions

RECORD 1:
1. Name of the new well stream being defined
The following optional arguments may be entered in any order when they are used:
1. Split of an injection or production stream, or both (optional): INJE, PROD, or BOTH
• INJE - specifies split of an injection stream
• PROD - specifies split of a production stream
• BOTH (default) - split both injection and production streams
2. Split stream origin (optional): OIL or GAS
• OIL - stream is split from the oil well stream (PROD only)
• GAS (default) - stream is split from the gas well stream
3. Treatment of new stream (optional): VAPO, LIQU, or SAME
• VAPO - treat new stream as vapour: ideal gas volumes for density
• LIQU - treat new stream as liquid: ideal mixing for density
• SAME (default) - stream density calculation follows oil (LIQU) or gas (VAPO)
RECORD 2:
1. List of split factors for component i: f strmi , where i is equal to 1, 2, 3, ... up to the number of components
defined by CNAM
• Default: 0

Notes

• The molar rate for the split stream is:


X
q= f strmi × qi

where qi is the rate of component i in the stream being split


• It is only possible to have a maximum of 2 stream splits for production streams and a maximum of 3 stream
splits for injection streams.

146 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

Example

All examples below assume the following component definition:

CNAM N2 C1 C2 C3 C4 C5 C7P1 C7P2 WATR

1. SPLI is used to define a stream named S324 as a special stream that contains nitrogen for injection and
production.

SPLI S324
1.0

2. SPLI is used to specify a dry gas stream which is split from the separator gas stream. The dry gas stream
contains 100% of the N2 and C1, 80% of the C2, 40% of the C3, and 10% of the C4 from the separator gas
stream.

SPLI DRYG PROD GAS


1 1 0.80 0.40 0.10

3. SPLI is used to specify the splitting of an NGL liquid stream from the separator gas. The NGL stream
contains 20% of the C3, 50% of the C4, 80% of the C5, and 100% of C7P1 and C7P2 from the separator
gas stream.

SPLI NGL LIQU GAS PROD


0 0 0 0.20 0.50 0.80 1 1

Specific gravities and ideal mixing are used to calculate the stock tank density of the NGL stream.

5.73. SPLI - Splits for Additional Streams 147


Tempest MORE Help, Release 8.1

5.74 STRE - Request Output to Drive Streamline Displays in Tem-


pest View

Location

INPU Section

Description

The STRE (streamlines) keyword is used to request output to drive streamline displays in Tempest View. STRE
consists of one optional argument which, if used, should be entered on the same line as the STRE keyword itself.

Definitions

1. File format (optional): FORM


• FORM - specifies that the file is ASCII text
• If FORM is not used, the file format will default to binary

Notes

• An additional output file (.msf) is created when the STRE keyword is used and additional static arrays are
written to the grid (*.grd) file. This file is written in ROFF format. If FORM is specified, the file is ASCII
text; otherwise, it is binary.
• For more information regarding the output and visualisation of streamlines in Tempest View, see the Stream-
lines help page.

Example

1. STRE is used to request output to drive streamline displays in Tempest View.

STRE

An example of streamlines displayed in 3D in Tempest View is illustrated in the following figure.

148 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.74. STRE - Request Output to Drive Streamline Displays in Tempest View 149
Tempest MORE Help, Release 8.1

5.75 SWDA - Saturation Weighted Density Averages

Location

INPU Section

Description

The SWDA keyword is used to select saturation weighted density averaging in a simulation. There are no required
arguments for SWDA.

Notes

• When fluid flows are calculated between two grid blocks, MORE usually includes a gravity term based on a
simple phase average between two cells. Then the average density (ρpa v ) for phase p (where p is oil, water,
or gas) between cell 1 and cell 2 is:
1
ρpa v = × (ρp1 + ρp2 )
2

• This generally works well in black oil studies, as the density of a phase can be obtained as a function of
the pressure of the cell, even if a given phase is not present in a cell. However, in compositional and steam
injection cases, the density of an absent phase is hard to estimate. The SWDA option avoids this problem
by using a phase saturation (satp ) weighting in the density average:

satp1 × ρp1 + satp2 × ρp2


ρ pa v =
satp1 + satp2

When a phase is not present in a cell, its saturation is zero and so its contribution to the average density is
zero.

Example

1. SWDA is used to request the use of saturation weighted density averaging in a simulation.

SWDA

150 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.76 TENS - Use Tensor Permeabilities

Location

INPU Section

Description

The TENS (tensor) keyword is used to specify the use of tensor permeabilities in a simulation. TENS consists of
one optional argument which should be entered on the same line as the TENS keyword itself if used.

Definitions

1. Tensor component orientation (optional): XYTRUE or ZTRUE


• XYTRUE - tensor components are with respect to true x and y directions
• ZTRUE - tensor components are with respect to true z direction

Notes

• If true xyz or true z input is used, MORE will automatically rotate the permeabilities into the grid coordinate
system.
• If TENS is used, it is possible to specify the permeabilities in two ways:
1. Use K_X, K_Y, K_Z, DEVX, DEVY, and AXES to define permeabilities in the principal axis directions
and the orientation of those axes.
2. Use K_X, K_Y, K_Z, KXY, KYZ and KZX to define six independent permeability components in the
local or true frames. KXY, KYZ and KZX default to zero.
• If DEVX, DEVY, and AXES are used to define tensor permeabilities, XYTRUE and ZTRUE have no effect.
• TENS requires the use of the fully implicit method (IMPL FULL) in a simulation.
• See the Tensor Permeability section of the MORE Technical Reference for more information regarding
tensor permeabilities in Tempest.
• See also to the “Arrays related to tensor permeabilities” section of the Discussion of Selected Arrays page
for more information regarding arrays and tensor permeabilities.

Example

1. TENS is used to specify that tensor permeabilities are to be used in a simulation. See TENS.dat for a
complete example:

TENS

2. TENS is used with XYTRUE to specify that tensor permeabilities with respect to true x and y directions are
to be used in a simulation.

TENS XYTRUE

3. TENS is used with ZTRUE to specify that tensor permeabilities with respect to the true z direction is to be
used in a simulation.

TENS ZTRUE

5.76. TENS - Use Tensor Permeabilities 151


Tempest MORE Help, Release 8.1

5.77 TITL - Run Title

Location

INPU Section

Description

The TITL keyword is used to specify a run title for a simulation. Two title lines may be specified. The title is
printed on page headers in the output file and carried through to Tempest View.
TITL consists of one required argument which should be entered on the same line as the TITL keyword itself.

Definitions

1. Run title of the simulation

Example

1. TITL is used to assign a run title of “History Match Run 458, July 14, 1987” to a simulation.

TITL History Match Run 458, July 14, 1987

152 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.78 UNIT - Simulation Units

Location

INPU Section

Description

The UNIT keyword is used to assign the units to be used in a simulation. UNIT consists of one required argument
which should be entered on the same line as the UNIT keyword itself.

Definitions

1. Unit system: METR or FIELD


• METR - metric units
• FIELD (default) - practical oil field units

Notes

• POFU (Practical Oil Field Units) and IMP (Imperial) may be used as aliases for FIELD to request field
units.
• The Units Table shows which units are used in the different systems.

Example

1. UNIT is used with METR to specify that the simulation will use metric units.

UNIT METR

2. UNIT is used with FIELD to specify that the simulation will use field units.

UNIT FIELD

5.78. UNIT - Simulation Units 153


Tempest MORE Help, Release 8.1

5.79 VDKR - Use Velocity-Dependent Relative Permeabilities for


Well Inflow

Location

INPU Section

Description

Enables the use of velocity-dependent relative permeabilities in the new-well region. Details of the calculation
and use of velocity-dependent relative permeabilities is described in the velocity-dependent relative permeabilities
section of the Technical Reference Manual.

Syntax

VDKR CN0 CNST [ALL]

Definitions

1. CN0 - the reference capillary number, defaulted to 0.0001


2. CNST - the reference surface tension, defaulted to 20 dynes/cm
3. ALL - optional argument. If present, the velocity-dependent relative permeabilities are applied to all wells.

Notes

• An alternative to this keyword is VDKR event.

Example

VDKR 0.0013 32 ALL

154 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.80 VSC3 - Select Scaling Method for Three-Point Vertical Scaling

Location

INPU Section

Description

VSC3 selects one of two methods of implementing three-point vertical relative permeability curve scaling. The
default (from MORE 7.1, and later) is to use a scaling which preserves a straight line segment. The optional
method is to use a linear variation in the scaling factor.

Definitions

1. VSC3 [LSIR|LSIS]
• LSIR (default) : Linear Scaling In Relative permeability - scaling factor changes such that a linear
relative permeability segment is preserved.
• LSIS : Linear Scaling In Saturation - scaling factor changes linearly with saturation.

Notes

• LSIR is generally preferred and it is likely LSIS will only be used for back-compatibility

Example

VSC3 LISIS

5.80. VSC3 - Select Scaling Method for Three-Point Vertical Scaling 155
Tempest MORE Help, Release 8.1

5.81 WDOP - Options for Calculating Wellbore Density

Location

INPU Section

Description

The WDOP keyword is used to set the options used for calculating the wellbore density in a simulation. It
allows the choice of saturation weighting or mobile saturation weighting when calculating the welbore density.
Mobile saturation weighting uses (Sp-Spcr) rather than Sp when averaging densities over phases, where Sp is the
saturation of phase p, and Spcr is the critical saturation of that phase.
WDOP consists of one optional argument which should be entered on the same line as the WDOP keyword itself
if used. If WDOP is not specified in a simulation or if no argument is used with WDOP, a default method for
calculating the wellbore density will automatically be assigned.

Definitions

1. Wellbore density calculation method (optional): SATU or MSAT


• SATU (default) - specifies that saturation weighting be used when calculating the wellbore density
• MSAT - specifies that mobile saturation weighting be used when calculating the wellbore density

Notes

• The default is SATU, but MSAT may allow the density to better reflect the saturations of the mobile phases
in the wellbore.

Example

1. WDOP is used with the MSAT option to specify that mobile saturation weighting be used for calculating
the wellbore density in a simulation.

WDOP MSAT

156 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

5.82 WFPLUS - Settings for improved well fracturing model func-


tionality

Location

INPUT Section

Description

The WFPLUS keyword is used to setup global settings for the Improved well fracture functionality. The keyword
takes three optional arguments which should be entered on the same line as the WFPLUS keyword.

Syntax

WFPLUS [CONVERT [LEGACY]] [INAC] [MODEL 1DIM | STAR]

Definitions

CONVERT [LEGACY] Convert fractures defined using the WFRA keyword or WFRA event to using the im-
proved well fracture model. See notes below. Optional argument:
• LEGACY - Apply the approximate shared path correction of the WFRA model instead of resolving the
flow along the fracture.
INAC Allow fractures to start in inactive cells along well trajectories
MODEL [1DIM | STAR] Select well fracture model. This takes one of two arguments:
• 1DIM (default) - Use a 1-dimensional topology for the fracture grid model.
• STAR - Use a simple star-shaped topology for the fracture grid model, i.e. the flow between each
fractured grid cell and the well is independent from all the others.

Notes

• The improved fracture model is adopted when a HFRA or VFRA event is used. To use the improved model
for fractures defined using the WFRA keyword or event, it is recommended to manually convert the WFRA
input to equivalent HFRA or VFRA events.
Alternatively, the CONVERT option may be used. This will switch on the improved 2D and 3D fracture
output. It will also direct MORE to internally convert WFRA input to equivalent VFRA/HFRA events
unless the LEGACY option is set. In this case, the improved fracture model is not applied to all fractures
defined by a WFRA keyword or event.
• As discussed in the technical reference, two topologies are available for the internal fracture grid, which
may be selected using the MODEL argument:
1. A one-dimensional grid along the fracture trajectory. Reservoir cells feed into the fracture at differ-
ent fracture grid nodes thus modelling the friction along the fracture accurately. This is the default
topology, or it may be explicitly selected using the MODEL 1DIM option.
2. A star-shaped topology (MODEL STAR) in which all reservoir cells connect to a single fracture grid
cell through independent flow paths. This corresponds to the standard WFRA model without shared
path correction (WFSP 0.0).
• The MODEL argument is a global setting which will apply to all fractures using the improved fracture model.
• It is not possible to convert fractures defined by WFRA unless the wells possess a defined track table.

5.82. WFPLUS - Settings for improved well fracturing model functionality 157
Tempest MORE Help, Release 8.1

Fig. 5.1: The simulated fracture network depicting a one-dimensional fracture flow path. The yellow points
denote nodes associated with reservoir cells, which are linked to the well fracture network by the connectivities
derived from rock permeability (green). The connectivities for links along the fracture (blue) are derived from the
fracture connectivity given in the fracture definition.

Fig. 5.2: The simulated fracture network using the star-shaped topology. In this setup, the reservoir cells (yellow
points) are linked to the well through a single internal node via two-point connectivities. No direct crossflow
through the fracture from one cell to another can occur.

158 Chapter 5. Tempest MORE input section keywords


Tempest MORE Help, Release 8.1

• It is not possible to use the improved fracture model with multi-segmented wells.
• It is not possible to use the improved fracture model with coarsening.
• When using HFRA or VFRA events, the INAC option is required to allow fractures to start in inactive cells
along well trajectories.
• It is not possible to use the INAC option when the grid contains local grid refinements (LGRs).
• When converting WFRA events or keywords, fractures are modelled to start at the following active cells
along the well track, depending on the fracture type:
– V type - At all cells within the layers specified.
– H type - At the cells located at the lowest measured depth within the range specified.
When using the INAC option, these specifications are extended to inactive cells. When using the LEGACY
option, they are limited to existing completions.

Examples

1. Convert all existing WFRA fractures to the improved fracture model:

WFPLUS CONVERT

2. For all well fractures defined by HFRA or VFRA, use a star-shaped topology for the fracture grid:

WFPLUS MODEL STAR

3. For all well fractures defined by HFRA or VFRA, use the improved one-dimensional fracture model. But
for all well fractures defined by a WFRA keyword or event apply the standard well fracture model and cast
the results into the improved 2D and 3D output:

WFPLUS CONVERT LEGACY MODEL 1DIM

5.82. WFPLUS - Settings for improved well fracturing model functionality 159
Tempest MORE Help, Release 8.1

5.83 WFSP - Fraction Value for WFRA Shared Path Correction

Location

INPU Section

Description

When the WFRA (well fracture) keyword or equivalent WFRA event is used to set up a well fracturing operation,
by default the resulting transmissibilities are corrected to allow for the shared path taken along the fracture by
flows from different cells. See the model description for details. WFSP allows the user to set a coefficient to
control this correction, with a value between 0 (no shared path correction) and 1 (full shared path correction). This
coefficient can also be set for individual well fractures as an argument to the WFRA event or keyword. Individual
settings override global ones.

Syntax

WFSP <SPC coefficient> [SPLIT]

Definitions

1. Shared path correction coefficient, between 0 and 1


• Default: 1
2. (Optional) switch to split the flows from the cells along the well trajectory into individual parts accounted
for in the respective fracture side
• Default: off

Examples

1. Turn off the WFRA shared path correction.

WFSP 0

2. Take a mixture of 30% no shared path correction and 70% shared path correction. In calculating the shared
path correction, half the contribution from the cells along the well trajectory is accounted for in either
fracture side’s flow path.

WFSP 0.7 SPLIT

160 Chapter 5. Tempest MORE input section keywords


CHAPTER

SIX

TEMPEST MORE FLUID SECTION KEYWORDS

6.1 FLUI - Fluid Section Header Line

Location

FLUI Section

Description

The FLUI keyword is used as a section header to indicate the beginning of the Fluid section. The Fluid section
must begin with the FLUI keyword before any other FLUI section keywords can be used. FLUI consists of one
required argument which should be entered on the same line as the FLUI keyword itself when used.
The Fluid section is used to supply fluid property data. For more details on the Fluid section, please see the Fluid
Data Section Overview.

Definitions

1. Simulation type: BLAC or EOS


• BLAC - specifies the simulation is a black-oil simulation
• EOS - specifies the simulation is an equation-of-state simulation
• EOST - specifies the simulation is an equation-of-state simulation with temperature variation

Notes

n/a

Example

1. FLUI is used to indicate the beginning of the fluid section and to specify that the simulation is a black-oil
simulation using the BLAC option.

FLUI BLAC

2. FLUI is used to indicate the beginning of the fluid section and to specify that the simulation is an equation-
of-state simulation using the EOS option.

FLUI EOS

3. FLUI is used to indicate the beginning of the fluid section and to specify that the simulation is an equation-
of-state simulation with temperature variation using the EOST option.

161
Tempest MORE Help, Release 8.1

FLUI EOST

162 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.2 GLST - Gas-liquid Surface Tension

Location

FLUI Section

Description

The gas liquid surface tension is required to calculate the Reynolds number for velocity dependent relative perme-
ability modelling; see the Velocity Dependent Relative Permeabilities section in the MORE Technical Reference
Manual for more information.

Syntax

GLST Value

Definitions

1. Value - The gas-liquid surface tension in Dynes/cm. Default is 20 dynes/cm

Example

GLST 23.6

6.2. GLST - Gas-liquid Surface Tension 163


Tempest MORE Help, Release 8.1

6.3 KVSP - Pressure Dependent Permeabilities and Pore Volume


Modifiers

Location

FLUI Section

Description

The KVSP keyword is used to provide a table of permeability and pore volume modifiers as a function of pressure.
Arguments for KVSP consist of two records. The first record consists of up to four optional arguments which
should be entered on the same line as the KVSP keyword itself if used. The second record consists of a table with
up to five columns. Following the final row of KVSP data in the table, a solitary slash (/) on a separate line is
required to terminate the data entry for this keyword.

Definitions

The following options can be specified on the KVSP line:


• IRRV (or IRRE) - Property change on pressure change is irreversible or hysteretic
• PREV value - Reversal pressure. Property change on pressure change is irreversible or hysteretic once the
pressure has dropped below this value
• WRTI - Tables are entered with respect to initial pressure
• WRTP [value] - Tables are entered either with respect to specified pressure value or the KRPR array when
WRTP is used without a value
Table data can be specified below the KVSP line in the following format:

KVSP
P1 KM(P1) PVM(P1) KMh(P1) PVMh(P1) /
P2 KM(P2) PVM(P2) KMh(P2) PVMh(P2) /
P3 KM(P3) PVM(P3) KMh(P3) PVMh(P3) /
...
/

where
• P - Pressure
– Units: psi (Field), bar (Metric)
• KM - Permeability multiplier
• PVM - Pore volume multiplier
• KMh - Permeability multiplier for hysteresis
• PVMh - Pore volume multiplier for hysteresis

Notes

• Options:
– IRRV, WRTI, and WRTP are global arguments, i.e. if specified on at least one table then all other
tables will inherit the argument.
– Since WRTP is a global setting, if different KVSP tables with multiple WRTP settings are used, the
WRTP setting specified for the last table is used for all tables, see the example below.

164 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

– PREV is a table specific value.


– If IRRV is switched OFF, all tables are in reversible mode. Thus, hysteresis columns KMh and PMVh
as well as the PREV value are ignored.
• Table data:
– The pressures must increase with each entry in the table.
– All multipliers must be non-decreasing with each entry in the table.
– The pore volume multipliers must be positive.
– The permeability multipliers must be non-negative.
– If the KM or PM column is empty, the column is defaulted to unity (all ones). The effect is no
modification.
– If the KMh or PMh column is empty, the column is defaulted to the KM or PM column. The effect is
no hysteresis.
• Table assignment:
– If only a single KVSP table is given, the table will be applied to all the cells in the reservoir. If multiple
KVSP tables are entered, the tables may be assigned to cells using the KPTA keyword in the GRID
section. If KPTA is not entered, all the cells will use KVSP table 1. Tables are numbered according to
the order of appearance.
• When KVSP is used, MORE automatically generates an array for KM named Permeability Modification for
KVSP (Kvkm). However, PVM grid array is not generated. Users may output the the actual pore volumes
using STOR AVOL and compare this to the reference pore volume array RVOL.

Functionality

• For detailed information on the functionality please see the KVSP section of the MORE Technical Reference.
• Application of Modifiers
– Permeability: the actual permeability modifier KMOD is applied to normal transmissibilities, NNC
(fault) transmissibilities, and well indices. The normal transmissibility Tij between cell i and cell j is
modified to TijP according to the rule:

TijP = KMODij × Tij

KMODi (Pi ) + KMODj (Pj )


KMODij =
2
where KMODi (Pi ) and KMODj (Pj ) are the permeability modification factors for cells i and j.
– Pore Volume: the actual pore-volume modifier PVMOD is applied according to the rule

PV(P ) = PVMOD(P ) × PVref

where PVref is the reference pore volume.


• Determination of the Actual Modifiers
The actual modifiers KMOD and PVMOD are looked up in the appropriate KVSP table following one of
the cases below.
1. Reversible: the global switch IRRV is OFF. The actual modifiers are determined by looking up the
KM and the PVM columns:
KMOD(P ) = KM(P )
PVMOD(P ) = PVM(P )

6.3. KVSP - Pressure Dependent Permeabilities and Pore Volume Modifiers 165
Tempest MORE Help, Release 8.1

2. Irreversible: the global switch IRRV is ON. The KMh and PMh columns are empty.
As long as P < Pmin , where Pmin is the minimum pressure in the cell since the start of the run, the
actual modifiers are determined by looking up the KM and the PVM columns.
In situations where P > Pmin , the actual permeability modifier KMOD stays constant:

KMOD(P ) = KM(Pmin )

while the actual pore-volume modifier PVMOD follows the normal compressibility:

PVMOD(P ) = PVM(Pmin ) × [1 + Cr × (P − Pmin )]

where Cr is the rock compressibility. With the irreversible option the pore volume follows the tabular
values on depletion but the compressibility curve on re-pressurisation:

3. Irreversible with option PREV: the global switch IRRV is ON. The KMh and PMh columns are
empty.
If a specific table has a defined reversal pressure Prev then this table is
– in reversible mode, as long as Pmin > Prev , i.e. the determination of the actual modifiers KMOD
and PVMOD is as described under 1.
– in irreversible mode, once Pmin has dropped below Prev , i.e. the determination of the actual
modifiers KMOD and PVMOD is as described under 2.
4. Hysteretic: the global switch IRRV is ON. KMh/PMh table data has been specified.
As long as P < Pmin , the actual modifiers are determined by looking up the KM and the PVM
columns.
In situations where P > Pmin , the actual modifiers are determined by looking up the KMh and the
PVMh columns and shifting the values for continuity.
5. Hysteretic with option PREV: the global switch IRRV is ON. KMh/PMh table data has been speci-
fied.
If a specific table has a defined reversal pressure Prev then this table is
– in reversible mode, as long as Pmin > Prev , i.e. the determination of the actual modifiers KMOD
and PVMOD is as described under 1.
– in hysteretic mode, once Pmin has dropped below Prev , i.e. the determination of the actual modi-
fiers KMOD and PVMOD is as described under 4.

Tips and Tricks

• We recommend specifying global switches on the first KVSP table.

166 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

• We recommend putting all KVSP tables in the same file. Tables are numbered according to their order of
appearance. When working with several files (containing KVSP tables), the order of appearance is affected
by the order of file inclusion.
• We recommend switching off unused tables (see keyword SKIP), because global switches can be set from
any table even if the table is not used.
• Switching off irreversibility for a specific table: in a deck with several KVSP tables it may be desired that
some are in irreversible mode while others shall be in reversible mode. In order to get irreversibility at all
the global switch IRRV must be ON. Since this sets all tables to irreversible mode, a specific table may set
back to reversible mode by assigning a zero reversal pressure (use PREV 0 on that table).
• For directional versions of the permeability modifiers see KVPXYZ.

Examples

1. Irreversible pressure modifier. Pore volumes are not changed. See KVSPExample1.dat

KVSP IRRV
10 0.5 /
50 1 /
100 3 /
360 10 /
500 30 /
/

2. Reversible pressure modifier. Pore volumes are not changed. Table values are with respect to 250 Bar (so if
cell is at 280 Bar, will lookup at a pressure value of 30). This applies to both tables because WRTP 250 is
global. See KVSPExample2.dat

KVSP WRTP 250


1 0.7 /
500 0.8 /
/

KVSP
1 0.8 /
500 0.9 /
/

3. First table irreversible, second table reversible permeability modifier. Pore volumes are not changed. Switch
on irreversibility for all tables by specifying IRRV on the first table, but switch it off for the second table by
PREV 0. See KVSPExample3.dat

KVSP IRRV
1 0.7 /
500 0.8 /
/

KVSP PREV 0
1 0.8 /
500 0.9 /
/

4. Hysteretic permeability, irreversible pore-volume modifier. See KVSPExample4.dat

KVSP IRRV
10 1 1.01 20 /
500 30 1.02 30 /
/

6.3. KVSP - Pressure Dependent Permeabilities and Pore Volume Modifiers 167
Tempest MORE Help, Release 8.1

5. Reversible permeability (by setting KMh=KM), but hysteretic pore-volume modifier. See KVSPExam-
ple5.dat

KVSP IRRV PREV 300


200 0.7 1.01 0.7 1.01 /
500 0.8 1.03 0.8 1.02 /
/

6. Multiple WRTP settings: since WRTP is a global setting, the last WRTP setting applies. In this example a
reference pressure value of 500 is used.

KVSP WRTP 250


1 0.7 /
500 0.8 /
/

KVSP WRTP 500


1 0.8 /
500 0.9 /
/

168 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.4 KVPX, KVPY and KVPZ - Directional Pressure Dependent Per-


meability Modifiers

Location

FLUI Section

Description

KVPX,KVPY and KVPZ are like directional versions of the KVSP keyword. Pressure dependent permeability
modifiers can be supplied for flow in the X, Y and Z directions.
The data following KVPX, KVPY or KVPZ consists of a table with two or three columns. Following the final row
of KVPX, KVPY or KVPZ data in the table, a solitary slash (/) on a separate line is required to terminate the data
entry for this keyword.

Definitions

On same line as the keyword, optional: the reversibility pressure: PREV followed by required value
Each subsequent record:
The following arguments should be entered in a tabular format:
1. Pressure
• Units: psi (Field), bar (Metric)
2. Permeability multiplier
3. Optional hysteresis permeability multiplier

Notes

• There is no pore volume modifier associated with directional flows


• A KVSP table is still required to handle the pore volumes and flow into wells.
• The reversible/irreversible nature of the KVPX, KVPY and KVPZ table follows that entered with KVSP.
• A hysteresis table will only be treated if there is data in the third column of the table.
• PREV will take its default value from the KVSP table with the same table number.

Examples

1. Pressure vs permeability modifier.

KVPX
10 30 /
50 10 /
100 3 /
160 1 /
200 0.5 /
/

2. Pressure vs permeability modifiers for X-direction, with hysteresis data provided, and a reversal pressure of
200 Bars

6.4. KVPX, KVPY and KVPZ - Directional Pressure Dependent Permeability Modifiers 169
Tempest MORE Help, Release 8.1

KVPX PREV 200


1 0.8 0.8 /
500 0.9 0.84 /
/

• Please see the KVSP section of the MORE Technical Reference for more information regarding KVSP
Examples:

KVSPTest0.dat KVSP,KVPX, KVPY and KVPZ examples without hysteresis data


,→columns

KVSPTest1.dat KVSP,KVPX, KVPY and KVPZ examples with hysteresis data columns

170 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.5 OVPG - Oil Viscosity Modification with Pressure Gradient

Location

FLUI Section

Description

The OVPG keyword is used to specify the modification of oil viscosity with the pressure gradient. OVPG consists
of three required arguments which should all be entered in succession on the same line as the OVPG keyword
itself.

Definitions

1. Oil flow multiplier: Fo


• Fo is applied to oil flows where the pressure gradient is less than GP0.
• It can be zero.
2. Characteristic pressure gradient used to define the flow variation: GP0
• Units: psia/ft (Field), barsa/metre (Metric)
• It can be zero.
3. Characteristic pressure gradient used to define the flow variation: GP1
• Units: psia/ft (Field), barsa/metre (Metric)

Notes

• The variation of oil flow used is:


– If the pressure gradient is less than GP0, then the normal oil flow is multiplied by Fo .
– If the pressure gradient is greater than GP1, then the normal oil flow is used.
• Between GP0 and GP1, the flow multiplier goes smoothly from Fo to 1.0 following a cubic interpolation
curve
• The STOR keyword may be used to output the OVPG oil phase flow multipliers as FSHX, FSHY, FSHZ.
• In the near wellbore region, in which the oil velocity is likely to be much higher than in the remainder of
the field, the flow multiplier is taken as 1.0.
• For more information on OVPG, please refer to the Techref .
• OVPG is similar to WVPG specifying water viscosity variation with pressure gradient.
• OVPG cannot be used together with WVPG in the current version.
• The well inflow for oil is assumed to be at a velocity where the shear effect is not noticeable

Example

1. OVPG is used to reduce oil flow by a factor of 0.01 for pressure gradients up to 0.001, and the factor returns
to 1.0 for pressure gradients greater than 0.005:

OVPG 0.01 0.001 0.005

6.5. OVPG - Oil Viscosity Modification with Pressure Gradient 171


Tempest MORE Help, Release 8.1

See OVPG.dat for complete example.


Note how the FSHX array has a higher value near wellbore regions with high pressure gradients.

This is more visible if the view is filtered to show only those cells with high values of FSHX (> 0.7 in this
case):

172 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

NB: FSHX value of 1 on the right-hand edge is an artificial effect caused by FSHX being defined at cell
boundaries, but displayed on cells, so this side of the grid does not have any physical values. Similar effect
can be seen for front and bottom faces of the grid for FSHY and FSHZ arrays respectively.

6.5. OVPG - Oil Viscosity Modification with Pressure Gradient 173


Tempest MORE Help, Release 8.1

6.6 WVPG - Water Viscosity Modification with Pressure Gradient

Location

FLUI Section

Description

The WVPG keyword is used to specify the modification of water viscosity with the pressure gradient. WVPG
consists of three required arguments which should all be entered in succession on the same line as the WVPG
keyword itself.

Definitions

1. Water flow multiplier: Fo


• Fo is applied to oil flows where the pressure gradient is less than GP0.
• It can be zero.
2. Characteristic pressure gradient used to define the flow variation: GP0
• Units: psia/ft (Field), barsa/metre (Metric)
• It can be zero.
3. Characteristic pressure gradient used to define the flow variation: GP1
• Units: psia/ft (Field), barsa/metre (Metric)

Notes

• The variation of water flow used is:


– If the pressure gradient is less than GP0, then the normal water flow is multiplied by Fo .
– If the pressure gradient is greater than GP1, then the normal water flow is used.
• Between GP0 and GP1, the flow multiplier goes smoothly from Fo to 1.0 following a cubic interpolation
curve
• The STOR keyword may be used to output the WVPG oil phase flow multipliers as FSHX, FSHY, FSHZ.
• WVPG is similar to OVPG specifying oil viscosity variation with pressure gradient. See OVPG for an
example of usage.
• WVPG cannot be used together with OVPG in the current version.
• The well inflow for water is assumed to be at a velocity where the shear effect is not noticeable

Example

1. WVPG is used to reduce water flow by a factor of 0.01 for pressure gradients up to 0.001, and the factor
returns to 1.0 for pressure gradients greater than 0.005:

OVPG 0.01 0.001 0.005

174 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.7 PCVR - Maximum Capillary Pressure Variation Rate.

Location

FLUI Section

Description

PCVR is a means of limiting the maximum rate of change of capillary pressure in IMPES and AIM MORE runs.
In such runs, it is possible for capillary pressure instability to occur, and this can be sampled out using PCVR.

Syntax

PSVR rate

Definitions

• PCVR 2.4 – Units are psi or bar per day.

6.7. PCVR - Maximum Capillary Pressure Variation Rate. 175


Tempest MORE Help, Release 8.1

6.8 APIT - Enable API Tracking

Location

FLUI or INPU Sections

Description

The APIT keyword is used to turn on API tracking in Tempest. There are no required arguments for APIT.

Notes

• See the API Tracking section of the MORE Technical Reference for more information regarding API track-
ing in Tempest.
• Other keywords associated with API tracking in Tempest include:
– OPVT or PVTO - oil PVT data for black oil fluid
– SDEN - oil and gas surface densities for black oil
– SGRA - oil and gas surface specific gravities for black oil
– AGVD - initial variation of API gravity with depth
– OAPI - initial oil API array
– APIG - maximal number of API groups

Examples

1. APIT is used to request API tracking in Tempest. See API_example.dat for complete example.

APIT

176 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.9 APIG - Maximal Number of API Groups

Location

FLUI Section

Description

The APIG keyword is used to specify the maximal number of API groups in the run. APIG consists of one required
argument which should be entered on the same line as the APIG keyword itself when used.

Definitions

1. Maximal number of API groups


• Default: 1

Notes

• For setting up different API groups see section API Groups of the MORE Technical Reference on API
Tracking. Note in particular that a change in monotonicity of the API data indicates the start of a new API
group.
• An error will be given if the number of groups does not match the API data.

Examples

1. APIG is used to specify that at most 3 API groups are to be used.

APIG 3

6.9. APIG - Maximal Number of API Groups 177


Tempest MORE Help, Release 8.1

6.10 TRAC - Defines a Tracer

Location

FLUI Section

Description

The TRAC keyword is used to define a tracer attached to a conserved fluid component. TRAC consists of two
required arguments which should be entered on the same line as the TRAC keyword itself.

Definitions

1. Tracer name
2. Name of component to carry tracer

Notes

• The name of the component to carry the tracer must be in the CNAM in the INPU section.
• The injection concentration for a tracer associated with an injection well may be defined using the WTRC
keyword or the TRAC event in the RECU section.
• The injection concentration for an aquifer may be defined using the ATRC keyword in the RECU section.
• Tracer dependent property multipliers may be defined with the TFUN keyword.
• After the two required arguments, one of the optional arguments AOGC, BOGC, AOWC or BOWC may be
added. These set the initial tracer concentration with respect to the initial fluid contacts; for example, AOGC
will set the tracer concentration to 1 above the oil-gas contact, and zero below it. The contacts depths are
those specified with the EQUI keyword.

Example

1. TRAC is used to define a tracer named TRC1 to be associated with water.

TRAC TRC1 WATR

The TRC1 tracer can now be used with the WTRC keyword in the RECU section to set a tracer concentration
of 1 mole of tracer per mole of water for I-1 injection well.

WTRC I-1 TRC1 1.0

The tracer concentration array is then displayed in the Recurrent tab of the results for display in 3D as
shown below. In the following figure, you can observe the distribution of the TRC1 tracer in the reservoir
after 10 years.

178 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

• See the Tracer section of the MORE Technical Reference for more information regarding tracers in Tempest.

6.10. TRAC - Defines a Tracer 179


Tempest MORE Help, Release 8.1

6.11 TSET - Defines a Tracer Set

Location

FLUI Section

Description

The TSET keyword is used to define a tracer set in an equation of state run. TSET takes one argument which
should be entered on the same line as the TSET keyword itself.

Definitions

1. Tracer set name

Notes

• TSET does not require that a carrier component be named (as in the case of TRAC).
• TSET sets up a set of tracers, one for each hydrocarbon component. The initial distribution of the tracer set
is applied to all these tracers.
• For a production well, the set of components marked with tracers from the tracer set is flashed through the
separators to produce surface oil and gas rates for the tracer set.
• After the required argument, one of the optional arguments AOGC, BOGC, AOWC and BOWC may be
added. These set the initial tracer concentration with respect to the initial fluid contacts - for example,
AOGC sets the tracer concentration to 1 above the oil-gas contact, and to zero below it. The contacts depths
are those specified with the EQUI keyword.

Example

1. TSET is used to set up two tracers, A and B.

TSET A
TSET B

The A and B tracer sets could then be set up in the INIT section as:

A
ZVAR
1 1 1 1 0 0 0 0 /

B
ZVAR
0 0 0 0 1 1 1 1 /

The well, group and field TSET oil and gas production rates can then be obtained using the WELL, GROUP
and FIELD options of RATE. These are displayed in Tempest VIEW as WOPRA (well oil production rate
of tracer set A).
Note that when tracer sets are used, the well tracer rates are not displayed in VIEW. If individual tracer rates
are required, use TRAC rather than TSET.
2. See the Tracer section of the MORE Technical Reference for more information regarding tracers and tracer
sets in Tempest.

180 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.12 WATR - Water Properties

Location

FLUI Section

Description

The WATR keyword is used to define water properties in a simulation. WATR may be entered more than once (up
to 50 times) to define water properties for each pressure table region.
WATR consists of six required arguments which should be entered in succession on a separate line below the
WATR keyword itself when used.

Definitions

1. Water density at standard conditions


• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 62.43 lb/ft3 (Field), 1000 kg/m3 (Metric)
2. Water density at reservoir temperature and pressure Pref
• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 62.43 lb/ft3 (Field), 1000 kg/m3 (Metric)
3. Water compressibility
• Units: 1/psi (Field), 1/bar (Metric)
• Defaults: 3.0E-6/psi (Field), 43.5E-6/bar (Metric)
4. Reference pressure
• Units: psi (Field), bar (Metric)
• Defaults: 0 psi (Field), 0 bar(Metric)
5. Water viscosity at reservoir conditions
• Units: cP (Field), cP (Metric)
• Defaults: 1 cP (Field), 1 cP (Metric)
6. Pressure derivative of water viscosity
• Units: cP/psi (Field), cP/psi (Metric)
• Defaults: 0 cP/psi (Field), 0 cP/psi (Metric)

Notes

• The water density at pressure P is calculated by:


 
ρw = ρw,ref × 1 + cw × (P − Pref )

• The water viscosity at pressure P is calculated by:


 dµw 
µw = µw,ref × 1 + × (P − Pref )
dP
• MORE will permit different water surface densities in each pressure table region.

6.12. WATR - Water Properties 181


Tempest MORE Help, Release 8.1

• Some simulators use a water formation volume factor (Bw ) at the reference pressure. This is related to the
ρw,sc
above by Bw = ρw,ref .
To enter water pressure data in formation volume factor form, use the PVTW keyword.

Example

1. WATR is used to provide water properties in a simulation. In this example, water is assigned a density of
61.2 lb/ft3 at standard conditions, a density of 59.6 lb/ft3 at reservoir conditions, a water compressibility of
2.2E-6/psi, a reference pressure of 4300 psi, a water viscosity of 0.5 cP, and a pressure derivative of water
viscosity of 0.000015 cP/psi.

WATR
61.2 59.6 2.2E-6 4300 0.5 0.000015

2. WATR is used to provide water properties in a simulation. In this case, the standard and reference densities
are defaulted while a water compressibility of 5E-6/psi is assigned along with a reference pressure of 3000
psi and a water viscosity of 0.70 cP. The pressure derivative of water viscosity is also assigned its default
value.

WATR
2* 5E-6 3000 0.7

182 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.13 BASI - Defines Black Oil Basic Fluid Property Data

Location

FLUI Section

Description

The BASI keyword is used to define basic fluid property data for black oil. BASI consists of three required
arguments which should all be entered in succession on a separate line below the BASI keyword itself when used.

Definitions

1. Oil density at stock tank conditions


• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 55 lb/ft3 (Field), 881 kg/m3 (Metric)
2. Oil molecular weight
• Default: 200
3. Gas molecular weight or gas gravity
• Default: 0.8
• If a value less than 2 is supplied, it is assumed to be the gas gravity. Otherwise, it is treated as gas
molecular weight.

Notes

• It is possible to enter the BASI keyword more than once, and in doing so, define a different surface density
for each pressure table. In API-tracking runs the BASI statements (and also the corresponding PVT tables)
must be ordered such that oil density values increase.
• When a gas specific gravity or molecular weight is entered, it defines both a gas surface density and a gas
molecular weight:
MWgas
– Gas surface density = (Air surface density) ∗ MWair
Gas surface density
– MWgas = MWair ∗ Air surface density

• Note that the last molecular weight specified, for oil and gas, is the one used by MORE.

Examples

1. BASI is used to define an oil density at stock tank conditions of 56, an oil molecular weight of 190, and a
gas gravity of 0.792.

BASI
56 190 0.792

The gas gravity is with respect to air at standard conditions. This is 0.0763 lb/ft3 in field units and 1.223
kg/m3 in metric units.
2. BASI is used to define an oil density at standard conditions of 53, an oil molecular weight of 210, and a gas
molecular weight of 22.

6.13. BASI - Defines Black Oil Basic Fluid Property Data 183
Tempest MORE Help, Release 8.1

BASI
53 210 22

184 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.14 BDEN - Brine Surface Density

Location

FLUI Section

Description

The BDEN keyword can be used in a BRINE tracking simulation to augment the salt water properties with brine
surface densities.

Definitions

For each PVTB table BDEN specifies as many surface densities values as there are entries in the salt column of
the corresponding PVTB table.
• Units: lb/ft3 (Field), kg/m3 (Metric)

Notes

• BDEN is optional, if not used a constant water surface density as specified with WATR (or its alternatives)
is assumed.
• The surface density values must increase (or stay level) with the salt concentrations in the corresponding
PVTB table.
• See the Brine Tracking section of the MORE Technical Reference for more information regarding brine
tracking in Tempest.

Examples

1. BDEN is used a brine tracking simulation to augment a PVTB table with brine surface densities.

PVTB
-- P_ref Csalt_ref
3000.0 0.0 /
-- Csalt Bw Cw mu Cmu
0.0 1.000 3.0E-6 1.00 1.00E-6
7.0 0.9 2.0E-6 1.10 1.01E-6
10.0 0.8 1.9E-6 1.11 1.011E-6 /

BDEN
64.0 65.0 67.0 /

6.14. BDEN - Brine Surface Density 185


Tempest MORE Help, Release 8.1

6.15 DENSITY - Defines Black Oil Basic Fluid Property Data

Location

FLUI Section

Description

The DENSITY keyword is used to define basic black oil fluid property data. DENSITY consists of three required
arguments which should be entered in succession on a separate line below the DENSITY keyword itself when
used.

Definitions

1. Oil density at stock tank conditions


• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 55.0 lb/ft3 (Field), 888.1 kg/m3 (Metric)
2. Water density at stock tank conditions
• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 63.43 lb/ft3 (Field), 1000 kg/m3 (Metric)
3. Gas density at stock tank conditions
• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 0.0527 lb/ft3 (Field), 0.8446 kg/m3 (Metric)

Notes

• Unlike most MORE keywords, all seven letters of the DENSITY keyword should be specified.
• The order of arguments in DENSITY follow the ECLIPSE oil-water-gas convention rather than the MORE
oil-gas-water convention.
• It is possible to enter several densities (one for each pressure table) by entering them in successive rows
under a single DENSITY keyword. In API-tracking runs the rows (and also the corresponding PVT tables)
must be ordered such that oil surface density values increase.
• SDEN provides an alternative which follows the MORE input convention.
• The default values for oil and gas densities match that of SDEN.

Examples

1. DENSITY is used to specify oil, water, and gas densities for a black oil system in metric units below.

DENSITY
786.84 999.551 0.968616

186 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.16 DPBD - Maximum Rate of Change of Bubble Point with Time


in a Black Oil Model

Location

FLUI Section

Description

The DPBD keyword is used to set the maximum rate of change of bubble point with time in a black oil model.
The default is for there to be no limit on how fast bubble point changes with time. DPBD consists of one required
argument which should be entered on a separate line below the DPBD keyword itself when used.

Definitions

1. Maximum rate of change of bubble point with time + Units: psi/day (Field), bars/day (Metric)

Notes

• DPBD stands for dPb/dT.


• If a value is entered for DPBD, then this will limit the change in the bubble point of undersaturated oil
allowed in a time step to dPb/dT*(step length).
• If DPBD is set to zero, the bubble point of the undersaturated oil will not increase so that gas and undersat-
urated oil can co-exist in a cell.
• DPBD will have no effect on an equation of state model.

Example

1. DPBD is used to set a maximum rate of change of bubble point with time to be zero, indicating that the
bubble point of the undersaturated oil will not increase so that gas and undersaturated oil can co-exist in a
cell in a black oil system.

DPBD
0.0

6.16. DPBD - Maximum Rate of Change of Bubble Point with Time in a Black Oil Model 187
Tempest MORE Help, Release 8.1

6.17 GPVT - Define Gas PVT Data for Black Oil Fluid

Location

FLUI Section

Description

The GPVT keyword is used to define gas PVT data in a tabular format for black oil fluid. Arguments for GPVT
consist of a table with up to four columns which should start on a separate line below the GPVT keyword itself.
Of the four columns, the first three columns are required with the last column being optional. Following the final
row of GPVT data in the table, a solitary slash (/) on its own line is required to terminate the data entry for this
keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Gas phase pressure
• Units: psi (Field), bar (Metric)
2. Gas phase formation volume factor: Bg
• Units: rb/Mscf (Field), rm3 /ksm3 (Metric)
3. Gas phase viscosity
• Units: cP (Field), cP (Metric)
4. Vapour oil-gas ratio (optional): Rv
• Units: stb/Mscf (Field), m3 /km3 (Metric)

Notes

• The pressures must increase with each entry in the table.


• The gas phase formation volume factor Bg in metric units is in rm3 /ksm3 not rm3 /sm3 as used by
some simulators.
• The use of an Rv column will turn on condensate modelling, and should not be used unless this is required.
Only one table is needed for a wet gas problem - a second dry gas table is not required. The small quantity
of vapourised oil is assumed not to significantly modify the reservoir pressure properties. If the properties of
the gas vary significantly in the undersaturated region, it is recommended to use the PVTG keyword instead.
• The Rv column defines the saturated Rv value as a function of pressure, and this cannot go completely flat. It
is unphysical (the saturated vapour oil-gas ratio would be completely independent of pressure) and prevents
the simulator looking up vapour properties as a function of the vapour oil gas ratio. So if a completely flat
section is entered the simulator will replace it with a small positive gradient (0.1 times the greatest positive
gradient found in the table) - see a) and b) in the picture below.

188 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

If a flat Rv value is required, simply ensure that in the rising part of the curve each value exceeds the
previous one by 1.0E-6.

Examples

1. GPVT is used to provide gas PVT data in a tabular format for a dry gas phase in field units.

GPVT Pg Bg Viscg
14.7 166.7 0.008
514.7 6.274 0.0112
1014.7 3.197 0.014
2014.7 1.614 0.0189
3014.7 1.080 0.0220
4014.7 0.811 0.0268
5014.7 0.649 0.0309
9014.7 0.386 0.0470
/

2. GPVT is used to provide gas PVT data in a tabular format for a wet gas phase in field units. The gas liquid
content is supplied as a function of pressure.

GPVT pg bg viscg Rv
1200 2.932 0.01523 0.01919
2000 1.7399 0.01731 0.02338
2800 1.2628 0.02042 0.03331
3200 1.1239 0.02237 0.03997
4315 0.8980 0.02900 0.06270
5515 0.7908 0.03831 0.09814
6765 0.7580 0.05297 0.15369
/

3. GPVT is used to provide gas PVT data in a tabular format for a dry gas phase in metric units. In this
example, the gas FVF (Bg ) in rm3 / 1000sm3 at 1 bar is greater than 1000 due to the higher temperature of
the reservoir than the stock tank.

6.17. GPVT - Define Gas PVT Data for Black Oil Fluid 189
Tempest MORE Help, Release 8.1

/-------------------------------
/ Gas Gas FVF Gas
/ Pressure Bg Viscosity
/ bar m3/1000m3 cP
/---------- ---------- ---------
GPVT
1.0 1378.48 0.0104
50.0 22.76 0.0130
100.0 10.53 0.0154
150.0 6.73 0.0198
200.0 5.10 0.0270
250.0 4.41 0.0372
300.0 3.94 0.0523
350.0 3.38 0.0675
400.0 2.96 0.0826
450.0 2.63 0.0978
500.0 2.36 0.1129
/

190 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.18 OPVD - Define PVT Data in Table Form for Dead Oil

Location

FLUI Section

Description

The OPVD keyword is used to define PVT data in a tabular format for dead oil. Arguments for OPVD consist of
a table with three columns which should start on a separate line below the OPVD keyword itself. Following the
final row of OPVD data in table, a solitary slash (/) on its own line is required to terminate the data entry for this
keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Oil phase pressure
• Units: psi (Field), bar (Metric)
2. Oil phase formation volume factor: Bo
• Units: rb/stb (Field), m3 /103 m3 (Metric)
3. Oil phase viscosity
• Units: cP (Field), cP (Metric)

Notes

• The pressures must increase with each entry in the table.

Examples

1. OPVD is used to define PVT data in table for for dead oil in metric units.

OPVD
1.0 1.03 0.311
50.0 0.98 0.322
100.0 0.97 0.332
150.0 0.963 0.340
200.0 0.954 0.349
250.0 0.941 0.356
300.0 0.938 0.367
350.0 0.921 0.380
400.0 0.911 0.387
450.0 0.901 0.390
500.0 0.987 0.398
/

6.18. OPVD - Define PVT Data in Table Form for Dead Oil 191
Tempest MORE Help, Release 8.1

6.19 OPVT - Define Oil PVT Data for Black Oil Fluid

Location

FLUI Section

Description

The OPVT keyword is used to define oil PVT data in a tabular format for black oil fluid. Arguments for OPVT
consist of a table with up to seven columns which should start on a separate line below the OPVT keyword itself.
Of the seven columns, the first four columns are required with the last three columns being optional. Following
the final row of OPVT data in the table, a solitary slash (/) on its own line is required to terminate the data entry
for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Oil phase pressure
• Units: psi (Field), bar (Metric)
2. Oil phase formation volume factor: Bo
• Units: rb/stb (Field), m3 /m3 (Metric)
3. Oil phase viscosity: µo
• Units: cP (Field), cP (Metric)
4. Solution gas-oil ratio: Rs
• Units: Mscf/stb (Field), 103 m3 /m3 (Metric)
dBo
5. Oil phase compressibility (optional): − B1o × dp

• Units: 1/psi (Field), 1/bar (Metric)


1 dµo
6. Normalized viscosity slope (optional): µo × dp

• Units: 1/psi (Field), 1/bar (Metric)


7. Surface tension (optional)
• Units: dynes/cm (Field), dynes/cm (Metric)

Notes

• The pressures must increase with each entry in the table.


• The solution gas-oil ratio (Rs ) in metric units is in 1000 sm3 /sm3 , not sm3 /sm3 as used by some simulators.
• It is advisable to enter saturated oil data above the original bubble point, as this region can be easily reached
due to gas injection or re-pressurization effects.
• MORE will check that the oil pressure tables satisfy a total compressibility check - i.e. that the volume of a
mixture of saturated oil and gas decreases when the pressure is increased.
• It is best to have a reasonably large number of pressure points in the OPVT tables, to represent the fluid
accurately and avoid large slope discontinuities at the table values.
• Surface tensions are only required when using the SOLV option with MISC relative permeabilities.
• When using the API Tracking option, the set of tables must be entered in increasing order of surface density
(or decreasing order of API gravity).

192 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Examples

1. OPVT is used to define oil PVT data in a tabular format for black oil fluid in metric units. In this example
oil compressibility and the normalized viscosity slope are supplied for one saturation pressure. The slopes
at this pressure are calculated and used at all other saturation pressures for calculating Bo and µo in the
undersaturated region.

OPVT P Bo visco Rs Co CVisco


1.0 1.062 1.040 0.00017
18.2 1.150 0.975 0.01611
35.4 1.207 0.910 0.03205
69.9 1.295 0.830 0.06607
138.9 1.435 0.695 0.11327
173.3 1.500 0.641 0.13803
207.8 1.565 0.594 0.16564
276.8 1.695 0.510 0.22619 1.98e-04 1.3e-03
345.7 1.827 0.449 0.28817
621.5 2.357 0.203 0.53147
/

2. OPVT is used to provide oil PVT data in a tabular format for black oil fluid in field units. In this case,
the oil compressibility and the normalized viscosity slope are not input directly. As a result, they will be
determined from the last two data points, supplied at a constant Rs value.

OPVT PO BO VISCO RS
50.0 1.059 3.256 0.065
150.0 1.075 2.998 0.100
250.0 1.091 2.740 0.135
500.0 1.117 2.345 0.198
1000.0 1.157 1.930 0.297
1500.0 1.195 1.760 0.388
1700.0 1.211 1.728 0.424
3000.0 1.200 1.929 0.424
/

In other words, the last pressure is interpreted as an undersaturated pressure, providing oil data at Pbub =1700,
and P=3000. For saturated oil above Pbub =1700, an extrapolation of the saturated data at 1500 and 1700 will
be used. Internally, this type of data is converted into compressibility form.
For bubble point pressures above 1700 psi in this example, the saturated data between 1500 and 1700 will
be extrapolated. This is generally not desirable, and users are encouraged to enter the table in 6-column
form with at least one oil compressibility and one viscosity slope value.
3. OPVT is used to define oil PVT data in a tabular format for black oil fluid in metric units. In this case, the
oil compressibility has been set at all saturation pressures and the viscosibility defaulted to zero.

/---------------------------------------------------
/ Oil Oil FVF Oil Solution Oil
/ Sat pres Bo Visc GOR, compressibility
/ bar m3/sm3 cP 1000m3/m3 1/bar
/-------- -------- ------- --------- ------------
OPVT
1.02 1.052 0.729 0.000 1.56E-04
50.00 1.323 0.202 0.069 3.46E-04
100.00 1.651 0.143 0.163 4.71E-04
150.00 2.012 0.111 0.271 5.78E-04
200.00 2.398 0.094 0.394 6.44E-04
250.00 2.846 0.083 0.542 6.78E-04
300.00 3.675 0.071 0.801 7.74E-04
350.00 4.505 0.065 1.060 8.70E-04
400.00 5.334 0.061 1.319 9.65E-04
450.00 6.164 0.057 1.578 1.06E-03

6.19. OPVT - Define Oil PVT Data for Black Oil Fluid 193
Tempest MORE Help, Release 8.1

500.00 6.993 0.054 1.837 1.15E-03


/

194 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.20 PRIN - Black Oil Fluid Property Printing Options

Location

FLUI Section

Description

The PRIN keyword is used to define black oil fluid property printing options. PRIN consists of one optional
argument for which there are three options. This argument, if used, should be entered on the same line as the
PRIN keyword itself.

Definitions

1. Print option (optional) - NONE, BASI, or ALL


• NONE - none of the fluid data is printed
• BASI - basic fluid data is printed
• ALL (default) - all of the fluid data is printed

Notes

• If PRIN is not specified in a simulation, the default will be to print out all of the fluid data into the MORE
.out file.
• MORE 6 does not modify or re-interpolate the entered tables in any way, so some old MORE options such
as FULL are no longer meaningful.

Example

1. PRIN is used to request that only basic fluid data will be printed to the .out file of MORE, which can be
viewed under the Print tab when results are viewed in Tempest View.
PRIN BASI

Looking at the FLUI section in the .out file, we will see the following basic fluid data output:
FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

Oil molecular weight 188.812


Gas molecular weight 26.064
Water molecular weight 18.015

Surface densities for pressure table 1:

Oil density at surface 49.944 lbs/cuft


Gas density at surface 0.069 lbs/cuft
Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb

6.20. PRIN - Black Oil Fluid Property Printing Options 195


Tempest MORE Help, Release 8.1

Water compressibility : 0.003E-3 1/psia


Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

2. PRIN is used with the ALL option to request that all fluid data will be printed to the .out file of MORE,
which can be viewed under the Print tab when results are viewed in Tempest View. The ALL option will
output all of the data output by the BASI option but will also include additional pressure function tables as
well.
PRIN ALL

This is equivalent to entering PRIN without any argument as ALL is the default option on PRIN:
PRIN

Looking at the FLUI section in the .out file, we will see the following fluid data output:
FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

Oil molecular weight 188.812


Gas molecular weight 26.064
Water molecular weight 18.015

Surface densities for pressure table 1:

Oil density at surface 49.944 lbs/cuft


Gas density at surface 0.069 lbs/cuft
Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb


Water compressibility : 0.003E-3 1/psia
Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

Oil bubble point pressure functions, table 1:

Pb Bo(Pb) Vo(Pb) Rs(Pb) Co(Pb)


,→Cv(Pb) surftens
psia rb/stb cp mscf/stb 1/psi 1/
,→psi dynes/cm
------------ ------------ ------------ ------------ ------------ -----
,→------- ------------

Row 0 : 14.700000 1.098440 0.623470 0.001810 0.09000E-3


,→ 0.0
Row 1 : 389.700000 1.145740 0.479230 0.093860 0.09000E-3
,→ 0.0
Row 2 : 764.700000 1.209040 0.394320 0.211450 0.08339E-3
,→ 0.0
Row 3 : 1139.700 1.282400 0.340730 0.341990 0.05595E-3
,→ 0.0
Row 4 : 1514.700 1.363940 0.303320 0.481780 0.04210E-3
,→ 0.0
Row 5 : 1889.700 1.452600 0.275400 0.628910 0.03375E-3
,→ 0.0

196 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Row 6 : 2264.700 1.547620 0.253570 0.782190 0.02816E-3


,→ 0.0
Row 7 : 2307.430 1.558820 0.251380 0.800000 0.02764E-3
,→ 0.0
Row 8 : 2639.700 1.648460 0.235920 0.940770 0.02416E-3
,→ 0.0
Row 9 : 3014.700 1.754690 0.221270 1.104050 0.02115E-3
,→ 0.0
Row 10 : 3389.700 1.865940 0.208870 1.271550 0.01881E-3
,→ 0.0
Row 11 : 3764.700 1.981930 0.198200 1.442900 0.01694E-3
,→ 0.0
Row 12 : 4139.700 2.102390 0.188900 1.617790 0.01540E-3
,→ 0.0
Row 13 : 4514.700 2.227120 0.180710 1.795950 0.01413E-3
,→ 0.0
Row 14 : 4889.700 2.355900 0.173410 1.977180 0.01304E-3
,→ 0.0
Row 15 : 5264.700 2.488590 0.166860 2.161280 0.01211E-3
,→ 0.0
Row 16 : 5639.700 2.618870 0.160950 2.348080 0.01131E-3
,→ 0.0
Row 17 : 6014.700 2.746210 0.155570 2.537450 0.01060E-3
,→ 0.0
Row 18 : 6389.700 2.871100 0.150650 2.729260 0.00998E-3
,→ 0.0
Row 19 : 6764.700 2.993940 0.146140 2.923380 0.00943E-3
,→ 0.0
Row 20 : 7139.700 3.115030 0.141970 3.119720 0.00893E-3
,→ 0.0
Row 21 : 7514.700 3.234630 0.138110 3.318190 0.00849E-3
,→ 0.0
Row 22 : 7889.700 3.352920 0.134520 3.518700 0.00808E-3
,→ 0.0
Row 23 : 8264.700 3.470080 0.131170 3.721160 0.00772E-3
,→ 0.0
Row 24 : 8639.700 3.586250 0.128040 3.925520 0.00738E-3
,→ 0.0
Row 25 : 9014.700 3.701540 0.125100 4.131710 0.00707E-3
,→ 0.0
Row 26 : 9749.500 3.884787 0.125100 4.535732 0.00707E-3
,→ 0.0
Row 27 : 11219.100 4.269575 0.125100 5.343777 0.00707E-3
,→ 0.0
Row 28 : 12688.700 4.616738 0.125100 6.151822 0.00707E-3
,→ 0.0
Row 29 : 14158.300 4.926652 0.125100 6.959867 0.00707E-3
,→ 0.0
Row 30 : 15627.900 5.199691 0.125100 7.767912 0.00707E-3
,→ 0.0
Row 31 : 17097.500 5.436221 0.125100 8.575957 0.00707E-3
,→ 0.0
------------ ------------ ------------ ------------ ------------ -----
,→------- ------------

Gas pressure functions, table 1:

Pressure Bg(P) Vg(P)


psia rb/mscf cp
------------ ------------ ------------
Row 1 : 14.700000 242.667000 0.013090
Row 2 : 19.207400 185.629000 0.013110
Row 3 : 25.096900 141.977000 0.013130

6.20. PRIN - Black Oil Fluid Property Printing Options 197


Tempest MORE Help, Release 8.1

Row 4 : 32.792300 108.569000 0.013160


Row 5 : 42.847300 83.000300 0.013190
Row 6 : 55.985400 63.432200 0.013240
Row 7 : 73.151900 48.456400 0.013310
Row 8 : 95.582200 36.995300 0.013390
Row 9 : 124.890000 28.224200 0.013510
Row 10 : 163.185000 21.511900 0.013660
Row 11 : 213.222000 16.375500 0.013860
Row 12 : 278.601000 12.445500 0.014130
Row 13 : 364.028000 9.439160 0.014490
Row 14 : 475.648000 7.140460 0.014990
Row 15 : 621.494000 5.384350 0.015690
Row 16 : 812.061000 4.045190 0.016690
Row 17 : 1061.060 3.027950 0.018130
Row 18 : 1386.410 2.261700 0.020280
Row 19 : 1811.520 1.694470 0.023510
Row 20 : 2366.980 1.287530 0.028330
Row 21 : 3092.760 1.007370 0.035150
Row 22 : 4041.080 0.820490 0.044070
Row 23 : 5280.180 0.696270 0.054760
Row 24 : 6899.220 0.611460 0.066830
Row 25 : 9014.700 0.550680 0.080040
Row 26 : 9749.500 0.529568 0.084628
Row 27 : 11219.100 0.487345 0.093805
Row 28 : 12688.700 0.445122 0.102982
Row 29 : 14158.300 0.402899 0.112159
Row 30 : 15627.900 0.360676 0.121336
Row 31 : 17097.500 0.318453 0.130513
------------ ------------ ------------

3. PRIN is used to request that no fluid data will be printed to the .out file of MORE.

PRIN NONE

This results in no fluid data being printed and the FLUI section in the .out file will not be present.

198 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.21 PVTG - Condensate Gas Properties in ECLIPSE format

Location

FLUI Section

Description

The PVTG keyword is used to provide an alternative way of entering gas when the reservoir gas can contain stock
tank oil. PVTG consists of a series of sub-tables at various pressures.
Each sub-table consists of the following items

Definitions

1. Pressure
• Units: atm (Field), atm (Metric)
2. Oil-gas ratio for saturated gas at the specified pressure
• Units: stb/mscf (Field), sm3 /sm3 (Metric)
3. Gas formation volume factor
• Units: rb/mscf (Field), rm3 /sm3 (Metric)
4. Gas viscosity
• Units: cP (Field), cP (Metric)
5. Oil-gas ratio for undersaturated gas at the specified pressure
• Units: stb/mscf (Field), sm3 /sm3 (Metric)
6. Gas formation volume factor for undersaturated gas
• Units: rb/mscf (Field), rm3 /sm3 (Metric)
7. Gas viscosity for undersaturated gas
• Units: cP (Field), cP (Metric)

Notes

• The metric units of oil-gas ratio and gas formation volume factor are not the usual MORE ones for these
values
The following options may be used on the PVTG keyword line:
• MORE - Convert the data into MORE GPVT data (back-compatible with MORE 7.0 and previous versions)
• INVLu - Use inverse lookup (i.e. lookup 1/Bg and form Bg)
• NOINv - Do not use inverse lookup (i.e. just lookup Bg)
The default is NOIN - i.e. use the full table, but do not use inverse look-up.
INVL is the most ECLIPSE-compatible option.

6.21. PVTG - Condensate Gas Properties in ECLIPSE format 199


Tempest MORE Help, Release 8.1

Example

1. PVTG is used to provide gas properties in a simulation.

PVTG
30 0.00014 0.0523 0.0234
0.00007 0.0522 0.0236
0 0.0521 0.0238 /
90 0.00012 0.0132 0.0252
0 0.0131 0.0253 /
150 0.00015 0.00877 0.0281
0 0.00861 0.0275 /
210 0.00019 0.00554 0.0318
0 0.00555 0.0302 /
270 0.00029 0.00417 0.0355
0 0.00421 0.0330 /
330 0.00049 0.00357 0.0392
0 0.00361 0.0358 /
530 0.00060 0.00356 0.0393
0.00030 0.00358 0.0379
0 0.00360 0.0359 /
/

200 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.22 PVTO - Oil Properties in ECLIPSE format

Location

FLUI Section

Description

The PVTO keyword is used to provide an alternative way of entering oil properties when the reservoir oil can con-
tain stock tank gas. PVTO consists of a series of sub-tables at various pressures, terminated by a table consisting
of a single ‘/’ character.
Each sub-table consists of the following items

Definitions

1. Gas-oil ratio for saturated oil at the specified pressure


• Units: mscf/stb (Field), sm3/sm3 (Metric)
2. Saturation pressure
• Units: atm (Field), atm (Metric)
3. Oil formation volume factor
• Units: rb/stb (Field), rm3/sm3 (Metric)
4. Oil viscosity
• Units: cP (Field), cP (Metric)
5. Undersaturated pressure value at the specified gas-oil ratio
• Units: stb/mscf (Field), sm3/sm3 (Metric)
6. Oil formation volume factor for undersaturated oil
• Units: rb/stb (Field), rm3/sm3 (Metric)
7. Oil viscosity for undersaturated oil
• Units: cP (Field), cP (Metric)

Notes

• When using the API Tracking option, the set of tables must be entered in increasing order of surface density
(or decreasing order of API gravity).

Example

1. PVTO is used to provide oil properties in a simulation.

-- RS POIL FVFO VISO


PVTO
0.001 14.7 1.062 1.04 /
0.0905 264.7 1.15 0.975 /
0.18 514.7 1.207 0.91 /
0.371 1014.7 1.295 0.83 /
0.636 2014.7 1.435 0.695 /
0.775 2514.7 1.5 0.641 /

6.22. PVTO - Oil Properties in ECLIPSE format 201


Tempest MORE Help, Release 8.1

0.93 3014.7 1.565 0.594 /


1.270 4014.7 1.695 0.51 /
1.618 5014.7 1.827 0.449 /
2.984 9014.7 2.357 0.203
10014.7 2.347 0.203 /
/

202 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.23 PVTW - Water Properties

Location

FLUI Section

Description

The PVTW keyword is used to provide an alternative way of entering water properties to WATR. PVTW consists
of five required arguments which should all be entered in succession on a separate line below the PVTW keyword
itself when used.

Definitions

1. Reference pressure Pref


• Units: psia (Field), atm (Metric)
• Defaults: 14.696 psia (Field), 1 atm (Metric)
2. Water formation volume factor at reference pressure Bw,ref
• Units: rb/stb (Field), rm3 /sm3 (Metric)
• Default: 1.0
dBw
3. Water compressibility Cw,ref = − B1w dP (Pref )

• Units: 1/psi (Field), 1/bar (Metric)


• Defaults: 3.0E-6/psi (Field), 43.5E-6/bar (Metric)
4. Water viscosity at reservoir conditions µw,ref
• Units: cP (Field), cP (Metric)
• Defaults: 1 cP (Field), 1 cP (Metric)
1 dµw
5. Normalized viscosity slope Cµw ,ref = µw dP (Pref )

• Units: 1/psi (Field), 1/bar (Metric)


• Defaults: 0 1/psi (Field), 0 1/bar (Metric)

Notes

• The water formation volume factor at pressure P is calculated by:


Bw,ref
Bw (P ) =
1 + Cw,ref · (P − Pref )

• The water viscosity at pressure P is calculated by:

µw (P ) = µw,ref × (1 + Cµw ,ref · (P − Pref ))

Example

1. PVTW is used to provide water properties in a simulation. In this example, water is given a reference
pressure of 14.7 atm, a water formation volume of 1.0 at the reference pressure, a compressibility of 3.0E-
6/psi, a viscosity of 0.70 cP, and a pressure derivative of water viscosity of 0.00000156 cP/psi.

6.23. PVTW - Water Properties 203


Tempest MORE Help, Release 8.1

PVTW
14.7 1.0 3.0E-6 0.70 0.000000156

204 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.24 PVTB - Brine Properties

Location

FLUI Section

Description

The PVTB keyword is used to provide salt dependent water properties in BRINE tracking runs. This keyword is
used in place of PVTW.

Definitions

PVTB contains NEPT tables and every table consists of two records of data. Every record must be ended with a
slash ‘/’.
Record 1: two numbers
1. Reference pressure Pref
• Units: psia (Field), atm (Metric)
• Defaults: 14.696 psia (Field), 1 atm (Metric)
2. Reference salt concentration cref
• Units: lb/stb (Field), kg/sm3 (Metric)
• Default: 0.0
Record 2: five columns of data
1. Salt concentration cs
• Units: lb/stb (Field), kg/sm3 (Metric)
2. Water formation volume factor at reference pressure Bw,ref (cs )
• Units: rb/stb (Field), rm3 /sm3 (Metric)
dBw
3. Water compressibility Cw,ref (cs ) = − B1w dP (Pref )

• Units: 1/psi (Field), 1/bar (Metric)


• Defaults: 3.0E-6/psi (Field), 43.5E-6/bar (Metric)
4. Water viscosity at reservoir conditions µw,ref (cs )
• Units: cP (Field), cP (Metric)
1 dµw
5. Normalized viscosity slope Cµw ,ref (cs ) = µw dP (Pref )

• Units: 1/psi (Field), 1/bar (Metric)

Notes

• The salt concentrations must be ordered from smallest to largest. The water formation volume factor and
the compressibility must decrease or stay level with the salt concentration. The water vicosity and the
normalized viscosity slope must increase or stay level with the salt concentration.
• The water formation volume factor at pressure P and salt concentration cs is calculated by:

Bw,ref (cs )
Bw (cs , P ) =
1 + Cw,ref (cs ) · (P − Pref )

6.24. PVTB - Brine Properties 205


Tempest MORE Help, Release 8.1

• The water viscosity at pressure P is calculated by:

µw (cs , P ) = µw,ref (cs ) × (1 + Cµw ,ref (cs ) · (P − Pref ))

• PVTB tables may be attributed with brine surface densities using the BDEN keyword.
• See the Brine Tracking section of the MORE Technical Reference for more information regarding brine
tracking in Tempest.

Example

1. PVTB is used to provide water properties in a brine tracking simulation.

PVTB
-- P_ref Csalt_ref
3000.0 0.0 /
-- Csalt Bw Cw mu Cmu
0.0 1.000 3.0E-6 1.00 1.00E-6
7.0 0.9 2.0E-6 1.10 1.01E-6
10.0 0.8 1.9E-6 1.11 1.011E-6 /

206 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.25 SDEN - Oil and Gas Surface Densities for Black Oil

Location

FLUI Section

Description

The SDEN keyword is used to define oil and gas surface densities for a black oil system. SDEN is an alternative
to the BASI keyword as a way of entering the oil and gas surface densities. SDEN is also an alternative to SGRA
which allows for input of the oil and gas specific gravities at surface conditions. SDEN consists of two required
arguments which should both be entered in succession on a separate line below the SDEN keyword itself when
used.

Definitions

1. Oil surface density


• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 55 lb/ft3 (Field), 881 kg/m3 (Metric)
2. Gas surface density
• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 0.0527 lb/ft3 (Field), 0.8446 kg/m3 (Metric)

Notes

• It is possible to enter the SDEN keyword more than once, and in doing so, define a different surface density
for each pressure table. In API-tracking runs the SDEN statements (and also the corresponding PVT tables)
must be ordered such that oil surface density values increase.

Examples

1. In field units, SDEN is used to enter an oil surface density of 45 and a gas surface density of 0.070196.

SDEN
45.0 0.070196

This is equivalent to using the BASI keyword to define an oil surface density of 45, an oil molecular weight
of 200, and a gas gravity of 0.92.

BASI
45.0 200.0 0.92

6.25. SDEN - Oil and Gas Surface Densities for Black Oil 207
Tempest MORE Help, Release 8.1

6.26 SGRA - Oil API Gravity and Gas Specific Gravity for Black Oil

Location

FLUI Section

Description

The SGRA keyword is used to define oil API gravity and gas specific gravity at surface conditions for a black oil
system. An alternative to SGRA is the keyword SDEN which allows for direct input of the oil and gas surface
densities. SGRA consists of two required arguments which should both be entered in succession on a separate line
below the SGRA keyword itself when used.

Definitions

1. Oil API gravity


• Units: dimensionless
• Default: 45.5
2. Gas specific gravity (with respect to air)
• Units: dimensionless
• Default: 0.69

Notes

• Oil API gravity relates to the oil specific gravity (with respect to pure water) by
141.5
γAPI = − 131.5
γoil

• It is possible to enter the SGRA keyword more than once, and in doing so, define a different pair of gravities
for each pressure table. In API-tracking runs the SGRA statements (and also the corresponding PVT tables)
must ordered such that API gravity values decrease.

Examples

1. SGRA is used to enter an oil API gravity of 37.0 and a gas specific gravity 0.75.

SGRA
37.0 0.75

208 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.27 TEMP - Temperature for Black Oil Fluid Description

Location

FLUI Section

Description

The TEMP keyword is used to specify a temperature for black oil fluid descriptions. The use of TEMP in MORE
is simply a way to assign cells to PVT region numbers. Each temperature value is associated with a PVT table
index.
TEMP consists of one required argument which should be entered on the same line as the TEMP keyword itself.

Definitions

1. Temperature for which following oil and/or gas PVT data applies
• Units: o F (Field), o C (Metric)
• Defaults: 212.0o F (Field), 100.0o C (Metric)

Notes

• When reservoir temperature values are entered in the INIT section, these are compared with the list of
temperatures and used to assign PVT table numbers. Suppose 3 TEMP values of 120, 140, and 160o C were
entered. If the CONS keyword in the INIT section specifies a temperature of 140o C, all the cells would be
assigned to PVT table 2.
• This use of TEMP is completely separate from the use of RTEM to specify actual temperatures in the thermal
and steam options.
• As an alternative to using TEMP, cells may be assigned to PVT regions directly by using the GRID
section array PVTN.

Examples

1. TEMP is used to assign a temperature of 240 to a black oil system.

TEMP 240

6.27. TEMP - Temperature for Black Oil Fluid Description 209


Tempest MORE Help, Release 8.1

6.28 WPVT - Defines Water PVT Data in Table Form

Location

FLUI Section

Description

The WPVT keyword is used to define water PVT data in a tabular format. Arguments for WPVT consist of a table
with up to three columns which should start on a separate line below the WPVT keyword itself. Following the
final row of WPVT data in the table, a solitary slash (/) on its own line is required to terminate the data entry for
this keyword.

Definition

The following arguments should be entered in a tabular format.


1. Water phase pressure: Pw
• Units: psi (Field), bar (Metric)
2. Water phase formation volume factor: Bw
• Units: rb/STB (Field), m3 /103 m3 (Metric)
3. Water phase viscosity: µw
• Units: cP (Field), cP (Metric)

Note

• The pressure must increase with each entry in the table.

Example 1

1. Metric units

WPVT
1.0 1.03 0.311 /
50.0 0.98 0.322 /
100.0 0.97 0.332 /
150.0 0.963 0.340 /
200.0 0.954 0.349 /
250.0 0.941 0.356 /
300.0 0.938 0.367 /
350.0 0.921 0.380 /
400.0 0.911 0.387 /
450.0 0.901 0.390 /
500.0 0.987 0.398 /
/end

210 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.29 EQUA - Define the Equation of State (EOS)

Location

FLUI Section

Description

The EQUA keyword is used to define the equation-of-state that should be applied in a compositional simulation.
EQUA consists of one optional argument which should be entered on the same line as the EQUA keyword itself
when used.

Definitions

1. Equation-of-state (optional): RK, SRK, PR, or PR79


• RK - Redlich-Kwong equation of state
• SRK - Soave-Redlich-Kwong equation of state
• PR - original Peng-Robinson equation of state
• PR79 (default) - 1979 version of the Peng-Robinson equation of state

Notes

• PR79 is better for heavier components than the original PR equation.


• When using a single equation of state region, the EQUA keyword is typically placed at the start of the FLUI
section.
• When using multiple Equations of State together with EOSN, the EQUA keyword may be specified for each
reservoir EoS region, and should therefore be placed after the corresponding TEMP RESV keyword. If
EQUA is not defined for a given reservoir EoS region, then the equation of state is taken from the previous
reservoir EoS region.

Examples

1. EQUA is used with the SRK option to specify the use of the Soave-Redlich-Kwong equation of state in a
compositional simulation.

EQUA SRK

6.29. EQUA - Define the Equation of State (EOS) 211


Tempest MORE Help, Release 8.1

6.30 INTE - Binary Interaction Coefficients

Location

FLUI Section (after corresponding TEMP keyword)

Description

The INTE keyword is used to specify binary interaction coefficients for an equation-of-state simulation. Argu-
ments for INTE consist of two records. The first record consists of one optional argument which should be entered
on the same line as the INTE keyword itself if used. The second record consists of a table with up to four columns.
Of these four columns, the last three are required. This table should be entered on a separate line below the INTE
keyword. Following the final row of INTE data in the table, a solitary slash (/) on its own line is required to
terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Parameter duplication (optional): DUPL or NODU
• DUPL - indicates that interaction parameters specified at a previous temperature are to be duplicated
before any modifications are made (NOT allowed for the first INTE keyword)
• NODU (default) - indicates interaction parameters from the previous temperature should not be dupli-
cated (and will default to zero)
RECORD 2:
The following arguments should be entered in a tabular format.
1. Parameter specification format (optional): ROW or ROWR
• ROW - specifies parameters for all components with a lower component number (i.e. to the left of the
diagonal)
• ROWR - specifies parameters for all components with a higher component number (i.e. to the right of
the diagonal)
2. The name or number of the first component: ni
3. The name or number of the second component: nj
4. The value of the interaction parameter for components i and j

Notes

• When values are not supplied, they default to zero for those binary pairs.
• Please see the EOS Parameters section of the MORE Technical Reference for more information regarding
binary interaction parameters in Tempest.

Examples

1. INTE is used to provide binary interaction parameters for an equation-of-state simulation.

CNAM C1 C3 C6 C10 C15 C20 WATR

INTE
C1 C15 0.050

212 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

C1 C20 0.050
C3 C15 0.005
C3 C20 0.005
/

Alternatively, to enter the same table as above using the ROW option, we would input the following:

INTE
ROW C15 0.050 0.005
ROW C20 0.050 0.005
/

And finally, to enter the same table as above using the ROWR option, we would input the following:

INTE
ROWR C1 3*0 2*0.050
ROWR C3 2*0 2*0.005
/

All three examples above give the same results. When values are not supplied, they default to zero for those
binary pairs. For instance, in the above examples, the interaction parameters for the binary pairs C1-C3,
C1-C6, C1-C10 etc. all default to zero.

6.30. INTE - Binary Interaction Coefficients 213


Tempest MORE Help, Release 8.1

6.31 FCLI - Tune the Li Critical Temperature Correlation used to


distinguish between Oil and Gas Phases in Equation of State
Runs

Location

FLUI Section

Description

The FCLI keyword modifies the Li critical temperature correlation, which is used to distinguish between the oil
and gas phases in equation of state runs in which the phase identity is not otherwise known. It may also be used
to interpolate between oil and gas properties in miscible runs to avoid sharp property transitions when the phase
identity of a single phase hydrocarbon changes.
When determining phase identity, the Li correlation is only required when the cubic equation for the fluid Z-factor
yields only one root. Otherwise the root with the minimum Gibbs energy is taken and that identifies the phase -
the lower Z-factor generally being the liquid root. When only one root is obtained, the Li correlation is used to
estimate the mixture critical temperature as:
P
i Tci Vci zi
Tcrit = P
i Vci zi

where the sum is taken over hydrocarbon components, Tci is the component critical temperature, Vci is the compo-
nent critical volume and zi is the component mole fraction. Then if Tcrit is greater than the reservoir temperature,
Tabs , the system is an oil; if Tcrit is less than Tabs the system is a gas.
The FCLI keyword allows a modification factor to be added to the Li correlation:
P
i Tci Vci zi
Tcrit = FCLI × P
i Vci zi

which has the effect of tuning the point at which a cell is deemed to be oil or gas.
The second usage of the Li correlation is only used when the MIXK keyword is used. In that case we form the
factor:
Tcrit
F =
Tabs
so that if F > 1 the system is an oil, and if F < 1 the system is a gas. When the MIXK option is used oil and gas
properties are interpolated over the region F=0.9 to F=1.1, avoiding a discontinuity at F=1.
FCLI consists of two optional arguments both of which should be entered on the same line as the FCLI keyword
itself when used. The arguments are used for setting the Li modification factor for state identification and MIXK
interpolation. If just one is set, that FCLI value will be used in both cases.

Definitions

1. Li correlation modification factor for state identification (optional)


• Default: 1.0
2. Li correlation modification factor property interpolation (optional)
• Default: First argument

Notes

• Typical values of FCLI are between 0.7 and 1.3.

214 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Examples

1. Set Li tuning factor to 1.05 (for both state and property calculations).

FCLI 1.05

2. Set Li tuning factor to 1.12 for state identification and 1.15 for property calculations.

FCLI 1.12 1.15

6.31. FCLI - Tune the Li Critical Temperature Correlation used to distinguish between Oil and
215
Gas Phases in Equation of State Runs
Tempest MORE Help, Release 8.1

6.32 GCON - Gas Condensate

Location

FLUI Section

Description

The GCON (gas condensate) keyword is used to indicate that a study is a gas condensate one and all single phase
hydrocarbon states should be treated as gas. There are no required arguments for GCON.

Definitions

n/a

Notes

• GCON replaces the old PHAS keyword with the GAS argument.

Examples

1. GCON is used to indicate that a simulation is a gas condensate study.

GCON

216 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.33 GCOR - Specific Gravity Correlation

Location

FLUI Section

Description

The GCOR keyword is used to modify the correlation used to obtain specific gravities in an equation-of-state
simulation. The specific gravity correlation is applied to any component with neither a default or supplied value
and any component with a supplied value of zero.
GCOR consists of two optional arguments which should be entered on the same line as the GCOR keyword itself
if used. Default values do exists for these arguments, but the 1* notation must be used in the place of the argument
to indicate that the use of the default value is desired and to retain the correct order for the entry of arguments.
Any remaining arguments which are not entered will take on their default values automatically and the 1* notation
need not be used.

Definitions

1. Parameter “a” in specific gravity correlation equation: asgrav


• Default: 0.815
2. Parameter “b” in specific gravity correlation equation: bsgrav
• Default: 0.0003

Notes

• The specific gravity correlation equation is as follows:

SGravi = asgrav + bsgrav × amolwti

where amolwti is the molecular weight for the component i

Examples

1. GCOR is used to provide the parameters to modify the correlation equation which is used to obtain specific
gravities for any component with neither a default or supplied value in an equation-of-state simulation.

GCOR 0.812 0.0005

6.33. GCOR - Specific Gravity Correlation 217


Tempest MORE Help, Release 8.1

6.34 KCOR - K-Value Correlation for Phase Stability Test

Location

FLUI Section

Description

The KCOR keyword is used to provide correlation factors for the K-value used in the phase stability test in an
equation-of-state simulation.
KCOR consists of three optional arguments which should be entered on the same line below the KCOR keyword
itself if used. Default values do exist for these arguments, but the 1* notation must be used in the place of the
argument to indicate that the use of the default value is desired and to retain the correct order for the entry of
arguments. Any remaining arguments which are not entered will take on their default values automatically and
the 1* notation need not be used.

Definitions

1. Parameter ‘a’ in K-value correlation equation: akest


• Default: 5.42
2. Parameter ‘b’ in K-value correlation equation: bkest
• Default: 1.0
3. Parameter ‘c’ in K-value correlation equation: ckest
• Default: 0.0

Notes

• The K-value for a component is estimated as:


 
exp akest × (1 + ckest × ω) × (bkest − Tr−1 )
K=
Pr
where
– ω = the acentric factor for the component
– Tr = the reduced temperature for the component
– Pr = the reduced pressure for the component

Examples

1. KCOR is used to provide the parameters to modify the K-values for any component with neither a default
or supplied value in an equation-of-state simulation.

KCOR 5.35 1.2 0.01

218 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.35 OMGA - Equation-of-State Ωa Parameters

Location

FLUI Section (after corresponding TEMP keyword)

Description

The OMGA keyword is used to define a parameters for equation of state simulations. OMGA values should be
set for temperatures (or equations of state) for which non-default values are required.
Arguments for OMGA consist of two records. The first record consists of an optional argument that should be
entered on the same line as the OMGA keyword itself if used. The second record consists of a list of parameters,
one for each component present. This list should be entered on a separate line below the OMGA keyword itself.
A slash (/) must be used after the final entry in the list to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Parameter format (optional): CONS, COMB, or MULT
• CONS - indicates the Ω0a constants are supplied
• COMB - indicates the combined values of the Ω0a constant and the temperature function, α, are sup-
plied so that Ωa = Ω0a α(Tr , ω) is given
• MULT (default) - indicates the values supplied are multipliers (λ) for the α parameter, so that Ωa =
λΩ0a α(Tr , ω) where both Ω0a and α(Tr , ω) are described here
RECORD 2:
1. The parameter for component i
• Either:
– The constant (CONS) Ω0a ,
– or the combined (COMB) values of Ω0a and α, or Ωa in other words
– or a multiplier (MULT)

Notes

• For each component, the equation-of-state a parameter used to construct the cubic equation of state is
defined by:

a = Ωa R2 Tc2 /Pc

where,

Ωa = Ω0a α(Tr , ω)

• When the CONS (constant) option is selected, the values of Ω0a should be supplied, while for the COMB
(combined) option, the complete value of Ωa should be entered.
• Equation of State Ω0b parameters may be modified using keyword OMGB
• Please see the EOS Parameters section of the MORE Technical Reference for more information regarding
EOS parameters in Tempest.

6.35. OMGA - Equation-of-State Ωa Parameters 219


Tempest MORE Help, Release 8.1

Examples

1. OMGA is used to supply multipliers for the a parameters for the components C1 and C2 in an equation-
of-state simulation. All other a parameters for the remaining components (C3, C4, and WATR) will be left
unchanged.

CNAM C1 C2 C3 C4 WATR
TEMP 150
OMGA MULT
1.05 0.93 /

220 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.36 OMGB - Equation-of-State Ωb Parameters

Location

FLUI Section (after corresponding TEMP keyword)

Description

The OMGB keyword is used to define b parameters for equation of state simulations. OMGB values should be set
for temperatures (or equations of state) for which non-default values are required.
Arguments for OMGB consist of two records. The first record consists of an optional argument that should be
entered on the same line as the OMGB keyword itself if used. The second record consists of a list of parameters,
one for each component present. This list should be entered on a separate line below the OMGB keyword itself.
A slash (/) must be used after the final entry in the list to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Parameter format (optional): CONS or MULT
• CONS - indicates the Ω0b constants are supplied
• COMB - indicates the combined values of the Ω0b constant and the temperature function β are supplied
so that Ωb = Ω0b β(Tr , ω) is given
• MULT (default) - indicates the values supplied are multipliers for the b parameter
RECORD 2:
1. The parameter for component i
• Either:
(a) The constant (CONS)(Ω0b )
(b) or the combined (COMB) values of Ω0b and β, or Ωb in other words
(c) or a multiplier (MULT)

Notes

• For each component, the equation of state b parameter used to construct the cubic equation of state is defined
by:

b = Ωb R Tc /Pc

where,

Ωb = Ω0b β(Tr , ω)

• When the CONS (constant) option is selected, the values of Ω0b should be supplied, while for the COMB
(combined) option, the complete value of Ωb should be entered.
• Equation of State Ω0a parameters may be modified using keyword OMGA
• Please see the EOS Parameters section of the MORE Technical Reference for more information regarding
EOS parameters in Tempest.

6.36. OMGB - Equation-of-State Ωb Parameters 221


Tempest MORE Help, Release 8.1

Examples

1. OMGB is used to supply the Ω0b constants for the Ωb calculation in the b parameter for the components C1,
C2, and C3 in an equation-of-state simulation. Only the first three components will use modified values for
the Ω0b constant. All other b parameters for the remaining components ( C4, C56, C7P1, and C7P2) will be
left unchanged.

CNAM C1 C2 C3 C4 C56 C7P1 C7P2


TEMP 110
OMGB CONS
0.088 0.085 0.080 /

222 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.37 PRIN - Equation of State Fluid Property Printing Options

Location

FLUI Section

Description

The PRIN keyword is used to define equation of state fluid property printing options. PRIN consists of two
optional arguments. The first optional argument has eight different options, while the second optional argument
has two options. These arguments, if used, should be entered on the same line as the PRIN keyword itself.

Definitions

1. Print option - NONE, BASI, ALL, PROP, OMEG, INTE, ORIG, or FINA
• NONE - none of the fluid data is printed
• BASI (default) - basic fluid data is printed
• ALL - all of the fluid data is printed
• PROP - properties of pure components are printed
• OMEG - omega A & B parameters used in EOS are printed
• INTE - interaction coefficients are printed
• ORIG - original solubility tables are printed
• FINA - final solubility tables are printed
2. Printing of full or partial final solubility table (optional) - FULL or PART (can only be used if FINA is used
in argument #1 above)
• FULL - final solubility tables are printed in full
• PART (default)- final solubility tables are printed in part

Notes

• If PRIN is not specified in a simulation, the default will be to print out the basic fluid data into the MORE
.out file.
• If multiple Equations of State (EoS) are specified, then PRIN will cause output for each EoS.

Example

1. PRIN is used to request that only basic fluid data will be printed to the .out file of MORE, which can be
viewed under the Print tab when results are viewed in Tempest View.

PRIN BASI

This is equivalent to entering PRIN without any argument as BASI is the default option on PRIN for EOS
systems:

PRIN

Looking at the FLUI section in the .out file, we will see the following basic fluid data output for an
equation of state system:

6.37. PRIN - Equation of State Fluid Property Printing Options 223


Tempest MORE Help, Release 8.1

FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

Water molecular weight 18.015

Surface densities for pressure table 1:

Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb


Water compressibility : 0.003E-3 1/psia
Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

EOS======================================================================================

Equation of state data

Using Peng-Robertson (79) equation of state

2. PRIN is used to request that all fluid data will be printed to the .out file of MORE, which can be viewed
under the Print tab when results are viewed in Tempest View.

PRIN ALL

Looking at the FLUI section in the .out file, we will see the following fluid data output:

FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

Water molecular weight 18.015

Surface densities for pressure table 1:

Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb


Water compressibility : 0.003E-3 1/psia
Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

EOS======================================================================================

Equation of state data

Using Peng-Robertson (79) equation of state

Component properties

224 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Component Molecular Critical Critical Acentric Critical


,→Specific Parachor
Name Weight Temp Pressure Factor Z-factor
,→Gravity

---------------- --------- -------- -------- -------- -------- ----


,→---- --------
C1 16.000 343.000 667.800 0.012 0.290
,→0.300 62.517
C2 30.100 549.800 707.800 0.091 0.288
,→0.356 106.630
C3 44.100 665.700 616.300 0.145 0.285
,→0.507 149.564
C4 58.100 765.300 550.700 0.193 0.275
,→0.584 191.637
C5 72.200 845.400 488.600 0.251 0.264
,→0.631 233.138
C6 84.000 914.000 476.000 0.271 0.272
,→0.663 267.197
C7+ 200.000 1318.9 258.955 0.546 0.034
,→0.875 569.400
---------------- --------- -------- -------- -------- -------- ----
,→---- --------

OmegaA and Omega B values for temperature 1, 250.000 deg F

Component Omega A Omega B


---------------- -------------- -------------
C1 0.457236 0.077796
C2 0.457236 0.077796
C3 0.457236 0.077796
C4 0.457236 0.077796
C5 0.457236 0.077796
C6 0.457236 0.077796
C7+ 0.457236 0.077796
---------------- -------------- -------------

OmegaA and Omega B values for temperature 2, 80.000 deg F

Component Omega A Omega B


---------------- -------------- -------------
C1 0.457236 0.077796
C2 0.457236 0.077796
C3 0.457236 0.077796
C4 0.457236 0.077796
C5 0.457236 0.077796
C6 0.457236 0.077796
C7+ 0.457236 0.077796
---------------- -------------- -------------

OmegaA and Omega B values for temperature 3, 60.000 deg F

Component Omega A Omega B


---------------- -------------- -------------
C1 0.457236 0.077796
C2 0.457236 0.077796
C3 0.457236 0.077796
C4 0.457236 0.077796
C5 0.457236 0.077796
C6 0.457236 0.077796

6.37. PRIN - Equation of State Fluid Property Printing Options 225


Tempest MORE Help, Release 8.1

C7+ 0.457236 0.077796


---------------- -------------- -------------

Binary interaction coefficients for temperature 1, 250.000 deg F

Component C1 C2 C3 C4 C5 C6 C7+
--------- -------- -------- -------- -------- -------- -------- --------
C1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C2 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C4 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C6 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C7+ 0.0 0.0 0.0 0.0 0.0 0.0 0.0
--------- -------- -------- -------- -------- -------- -------- --------

Binary interaction coefficients for temperature 2, 80.000 deg F

Component C1 C2 C3 C4 C5 C6 C7+
--------- -------- -------- -------- -------- -------- -------- --------
C1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C2 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C4 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C6 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C7+ 0.0 0.0 0.0 0.0 0.0 0.0 0.0
--------- -------- -------- -------- -------- -------- -------- --------

Binary interaction coefficients for temperature 3, 60.000 deg F

Component C1 C2 C3 C4 C5 C6 C7+
--------- -------- -------- -------- -------- -------- -------- --------
C1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C2 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C4 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C6 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C7+ 0.0 0.0 0.0 0.0 0.0 0.0 0.0
--------- -------- -------- -------- -------- -------- -------- --------

3. PRIN is used to request that no fluid data will be printed to the .out file of MORE.
PRIN NONE

This results in no fluid data being printed and the FLUI section in the .out file will not be present.
4. PRIN is used to request that the properties of pure components be printed to the .out file of MORE.
PRIN PROP

Looking at the FLUI section in the .out file, we will see the following fluid data output:
FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

226 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Water molecular weight 18.015

Surface densities for pressure table 1:

Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb


Water compressibility : 0.003E-3 1/psia
Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

EOS======================================================================================

Equation of state data

Using Peng-Robertson (79) equation of state

Component properties

Component Molecular Critical Critical Acentric Critical


,→Specific Parachor
Name Weight Temp Pressure Factor Z-factor
,→Gravity

---------------- --------- -------- -------- -------- -------- ----


,→---- --------
C1 16.000 343.000 667.800 0.012 0.290
,→0.300 62.517
C2 30.100 549.800 707.800 0.091 0.288
,→0.356 106.630
C3 44.100 665.700 616.300 0.145 0.285
,→0.507 149.564
C4 58.100 765.300 550.700 0.193 0.275
,→0.584 191.637
C5 72.200 845.400 488.600 0.251 0.264
,→0.631 233.138
C6 84.000 914.000 476.000 0.271 0.272
,→0.663 267.197
C7+ 200.000 1318.9 258.955 0.546 0.034
,→0.875 569.400
---------------- --------- -------- -------- -------- -------- ----
,→---- --------

5. PRIN is used to request that the omega A & B parameters used in the EOS are printed to the .out file of
MORE.

PRIN OMEG

Looking at the FLUI section in the .out file, we will see the following fluid data output:

FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

Water molecular weight 18.015

Surface densities for pressure table 1:

6.37. PRIN - Equation of State Fluid Property Printing Options 227


Tempest MORE Help, Release 8.1

Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb


Water compressibility : 0.003E-3 1/psia
Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

EOS======================================================================================

Equation of state data

Using Peng-Robertson (79) equation of state

OmegaA and Omega B values for temperature 1, 250.000 deg F

Component Omega A Omega B


---------------- -------------- -------------
C1 0.457236 0.077796
C2 0.457236 0.077796
C3 0.457236 0.077796
C4 0.457236 0.077796
C5 0.457236 0.077796
C6 0.457236 0.077796
C7+ 0.457236 0.077796
---------------- -------------- -------------

OmegaA and Omega B values for temperature 2, 80.000 deg F

Component Omega A Omega B


---------------- -------------- -------------
C1 0.457236 0.077796
C2 0.457236 0.077796
C3 0.457236 0.077796
C4 0.457236 0.077796
C5 0.457236 0.077796
C6 0.457236 0.077796
C7+ 0.457236 0.077796
---------------- -------------- -------------

OmegaA and Omega B values for temperature 3, 60.000 deg F

Component Omega A Omega B


---------------- -------------- -------------
C1 0.457236 0.077796
C2 0.457236 0.077796
C3 0.457236 0.077796
C4 0.457236 0.077796
C5 0.457236 0.077796
C6 0.457236 0.077796
C7+ 0.457236 0.077796
---------------- -------------- -------------

6. PRIN is used to request that the interaction coefficients are printed to the .out file of MORE.

228 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

PRIN INTE

Looking at the FLUI section in the .out file, we will see the following fluid data output:
FLUI======================================================================================
Fluid property data
==========================================================================================

Molecular weights:

Water molecular weight 18.015

Surface densities for pressure table 1:

Water density at surface 68.673 lbs/cuft

Water properties for pressure table 1:

Water FVF at reference: 1.058 rb/stb


Water compressibility : 0.003E-3 1/psia
Reference pressure : 14.700 psia
Water viscosity : 0.350 cp
Water viscosibility : 0.0 1/psia

EOS======================================================================================

Equation of state data

Using Peng-Robertson (79) equation of state

Binary interaction coefficients for temperature 1, 250.000 deg F

Component C1 C2 C3 C4 C5 C6 C7+
--------- -------- -------- -------- -------- -------- -------- --------
C1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C2 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C4 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C6 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C7+ 0.0 0.0 0.0 0.0 0.0 0.0 0.0
--------- -------- -------- -------- -------- -------- -------- --------

Binary interaction coefficients for temperature 2, 80.000 deg F

Component C1 C2 C3 C4 C5 C6 C7+
--------- -------- -------- -------- -------- -------- -------- --------
C1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C2 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C4 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C6 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C7+ 0.0 0.0 0.0 0.0 0.0 0.0 0.0
--------- -------- -------- -------- -------- -------- -------- --------

Binary interaction coefficients for temperature 3, 60.000 deg F

Component C1 C2 C3 C4 C5 C6 C7+

6.37. PRIN - Equation of State Fluid Property Printing Options 229


Tempest MORE Help, Release 8.1

--------- -------- -------- -------- -------- -------- -------- --------


C1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C2 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C4 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C6 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C7+ 0.0 0.0 0.0 0.0 0.0 0.0 0.0
--------- -------- -------- -------- -------- -------- -------- --------

230 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.38 PROP - Component Properties

Location

FLUI Section

Description

The PROP keyword is used to define component properties in an equation-of-state simulation. This keyword
is only required if non-library component names are used. (Please see Notes section below for list of library
components.)
Arguments for PROP consist of a table of up to eight columns which should start on a separate line below the
PROP keyword itself. Of the eight columns, the first five are required. The final three columns are optional.
Following the final row of PROP data in the table, a solitary slash (/) on its own line is required to terminate the
data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format with each row of data representing the properties
of one component.
1. Name or number of the component (as listed in CNAM)
2. Molecular weight (Mw )
3. Critical temperature
• Units: o R (Field), o K (Metric)
4. Critical pressure (absolute)
• Units: psia (Field), barsa (Metric)
5. Pitzer acentric factor
6. Critical z-factor (used in Lohrenz-Bray-Clark viscosity correlation) (optional)
7. Specific gravity of the liquid at standard conditions (optional)
• Used for separator liquid density calculations when the ZFAC option is not specified on the SEPA
keyword.
8. Component parachor (optional)
• Default: Estimate from a correlation due to Macleod-Sugden, Reid et al:

P = 11.4 + 3.23Mw − 0.0022Mw2

Notes

• Library components are: N2, CO2, H2S, WATR, C1, C2, C3, IC4, C4, IC5, C5, C6 through to C16, C18,
C21, and C25.
• At the very least, the molecular weight, critical temperature, critical pressure, and acentric factor must be
supplied for any other components not listed in the library. Default values are not supplied in this case.
• When using multiple Equations of State together with EOSN, the PROP keyword may be specified for each
reservoir EoS region. If PROP is not defined for a given reservoir EoS region (defined by TEMP RESV),
then the properties are taken from the previous reservoir EoS region.

6.38. PROP - Component Properties 231


Tempest MORE Help, Release 8.1

Examples

1. PROP is used to provide properties for the component C1:

-- In the INPU section


CNAM C1 C2 C3 C4 C5 C6 C18 C21 C25 WATR /

-- In the FLUI section


PROP mw tc pc acf Zcrit sgr
C1 16.043 343.00 666.45 0.0105 1* 0.30
/

As a result, all of the library values for C1 except for the critical z-factor (Zcrit) are over-written by the
values provided by PROP.
2. In this example, PROP is used to specify the minimum amount of properties required (i.e. molecular weight,
critical temperature, critical pressure, and acentric factor) for the 6th and 7th components in the list given
by CNAM.

-- In the INPU section


CNAM C1 C2 C3 C4 C5 C7P1 C7P2 /

-- In the FLUI section


PROP MW TC PC ACF
6 111.0 1031.0 376.0 0.332
7 280.0 1553.0 125.0 0.833
/

As the critical z-factor (Zcrit) and specific gravity were not provided in this case, they will be automatically
be calculated from internal correlations (please see the ZCOR and GCOR keywords for more information.
3. This example shows how to set up properties for multiple equation of state regions when using EOSN.

-- In the INPU section


CNAM C1 C2 C3 C4 C5 C6 C18 C21 C25 WATR /

-- In the FLUI section

--EoS properties for EoS region 1


TEMP 150 RESV
PROP mw tc pc acf Zcrit sgr
C1 16.043 343.00 666.45 0.0105 1* 0.30
--Supply data for other components in the same way
/

--EoS properties for EoS region 2


TEMP 160 RESV
PROP mw tc pc acf Zcrit sgr
C1 16.043 354.00 670.00 0.0200 1* 0.30
--Supply data for other components in the same way
/

232 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.39 SOLU - Solubility Tables

Location

FLUI Section

Description

The SOLU keyword is used to provide solubility tables for different components. Arguments for SOLU consist
of two records. The first argument consists of one required argument which should be entered on the same line as
the SOLU keyword itself. The second argument consists of a table with two required columns which should be
entered starting on a separate line below the SOLU keyword. Following the final row of SOLU data in the table,
a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. The soluble component
RECORD 2:
The following arguments should be entered in a tabular format.
1. Pressure (must be in ascending order)
• Units: psia (Field), barsa (Metric)
2. Solubility
• Units: Mscf/STB (for WATR - STB/Mscf) (Field), 103 m3 /m3 (for WATR - m3 /103 m3 ) (Metric)

Notes

• The SOLU keyword is required to turn on solubility modelling, otherwise hydrocarbons are assumed insol-
uble in water and vice-versa.
• When SOLU is used, a K-value flash is performed to calculate the equilibrium ratios for dissolved com-
ponents at reservoir conditions. After accounting for components dissolved in the aqueous phase, an EOS
flash is used to determine the hydrocarbon properties.
• For saturated cells containing both hydrocarbon and water phases, a K-value flash also determines the initial
ratios for dissolved components at reservor conditions. However, for cells that are not saturated, it is possible
to specify the initial gas-water ratio for hydrocarbons which dissolve in the aqueous phase directly using
the array RHAQ (if there is one soluble component) or RHA1, RHA2 etc. (if there is more than one soluble
component) in the same way the initial water-gas ratio for water in the hydrocarbon phase may be set using
the array RVW in the INIT section.
• Reporting oil and gas surface volume flows for wells and completions are always with respect to separator
conditions specified in the SEPA keyword. The separator flash is performed using hydrocarbon molar rates,
including any components dissolved in the aqueous phase which are included in the EOS flash at separator
conditions. The solubility tables are not accounted for in the separator calculations.
• For more information, see the Technical Reference.

Examples

1. SOLU is used to provide solubility tables for CO2 and water in an equation-of-state simulation.

6.39. SOLU - Solubility Tables 233


Tempest MORE Help, Release 8.1

SOLU CO2
150.00 0.0100
500.00 0.0198
1000.00 0.0297
1500.00 0.0388
3000.00 0.0660
/

SOLU WATR
147 0.000243
514 0.000829
1102 0.001560
1470 0.001673
2940 0.001873
4410 0.001990
7350 0.002217
/

The first solubility table specifies solubility of CO2 in the aqueous phase. The second solubility table
specifies solubility of water in the hydrocarbon phase.

234 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.40 SURF - Reference Surface Tension Data for Equation-of-State


Simulations

Location

FLUI Section

Description

The SURF keyword is used to turn on the use of interpolation between immiscible and miscible relative perme-
ability curves for an equation-of-state simulation.
SURF consists of three optional arguments which should be entered on the same line as the SURF keyword itself
if used. Default values exist for these arguments but the 1* notation must be used in the place of the argument
to indicate that the use of the default value is desired and to retain the correct order for the entry of arguments.
Any remaining optional arguments which are not entered will take on their default values automatically and the
1* notation need not be used.
For more information on surface tension effects, see the Surface Tension Effects section of the MORE Technical
Reference.

Definitions

1. Reference surface tension (optional): σref


• Units: dynes/cm
• Default: If σref is defaulted or set to zero, a reference surface tension will be estimated (see Pfrac
below)
• Typical oil-gas surface tensions at immiscible compositions are in the range of 10 to 50 dynes/cm.
2. K-exponent which appears in the interpolation between immiscible (rock) and miscible (straight) line curves
(optional)
• Default: 0.25
3. Fraction of the initial pressure at which the initial reservoir composition is flashed (optional): Pfrac
• Pfrac should be given if reference surface tension σref is not set, or is set to zero.
• In this case, the initial reservoir composition flashed at a fraction Pfrac of the average initial pressure
and the surface tension is obtained from the resulting oil and gas compositions. This normally yields
a two phase flash but Pfrac can be reduced if not.
• Default: 0.5

Notes

• SURF is used in equation-of-state runs only.


• The first argument, if given, takes priority - the third argument is only used if the first argument is NOT set.
• The case of all arguments of SURF keyword defaulted is not equivalent to the case of SURF keyword not
used at all (relative permeabilities are independent of surface tensions in this case).
• If SURF keyword is not used in the base run but is used in the restart run, default values of 10 and 0.25 are
applied for the reference surface tension and K-exponent respectively regardless of SURF input.

6.40. SURF - Reference Surface Tension Data for Equation-of-State Simulations 235
Tempest MORE Help, Release 8.1

Examples

1. SURF is used to set a reference surface tension of 12.0 dynes/cm in an equation-of-state simulation.

SURF 12.0

2. SURF is used to set a K-exponent of 0.20 in an equation-of-state simulation. Both the reference surface
tension and the third and final argument, Pfrac , are not assigned and so they take on their default values.

SURF 1* 0.20

236 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.41 STDC - Set Standard Conditions

Location

FLUI Section

Description

STDC may be used to reset the standard surface conditions for compositional runs. These are important as pro-
duced surface gas volumes in a compositional run are calculated as ideal gas volumes (Z=1) at standard conditions.
Default standard conditions are:
Field Units Metric Units
Surface temperature 60.0 Deg F 15.0 Deg C
Surface pressure 14.696 Psia 1.01325 Barsa

Definitions

1. Standard temperature (Deg F or Deg C)


2. Standard pressure (psia or Barsa)

Example

STDC 1* 13.6

6.41. STDC - Set Standard Conditions 237


Tempest MORE Help, Release 8.1

6.42 TEMP - Temperature Input for Equation-of-State Systems

Location

FLUI Section (after the EQUA and PROP keywords but before the corresponding parameters (OMGA and OMGB)
and INTE keyword)

Description

The TEMP keyword is used to specify a temperature for use in the calculation of equation-of-state coefficients. If
more than one TEMP keyword is entered, the first TEMP keyword must be used to specify the reservoir temper-
ature. Temperatures must also be supplied for each separator using equation-of-state calculations (EOS option)
and at standard conditions (60o F or 15o C) when the equation-of-state is used to calculate separator liquid densities
(ZFAC option on the SEPA keyword).
TEMP consists of one required argument which should be entered on the same line as the TEMP keyword itself
when used.
When using multiple Equation of State regions, together with EOSN to indicate reservoir regions where each
equation of state will apply, the TEMP keyword is used as a delimiter to indicate properties will be input for a new
equation of state.

Definitions

1. Temperature for which any following Equation of State data (such as OMGA, OMGB and INTE) apply
• Units: o F (Field), o C (Metric)
2. Identifier used for multiple equations of state only. All reservoir equations of state must be specified before
any surface equations of state. Further information is provided in the Technical Reference
• RESV - indicates properties are for a reservoir equation or state.
• SURF - indicates properties are for a surface equation or state

Notes

• The RESV argument is required when using multiple reservoir equations of state with EOSN. The SURF
argument may be omitted for subsequent surface equations of state, but is preferred for clarity when RESV
has been used.

Examples

1. TEMP is used with a single reservoir equation of state (EQUA) to assign a regional temperature of 200o F
for the reservoir, then TEMP is used again to assign a temperature of 60o F to which any following OMGA,
OMGB and INTE data apply.
--* Regional Temperature
TEMP 200

--* Equation of state parameters for the reservoir


PROP ...

--* OMGA, OMGB, and INTE temperature (surface EoS)


TEMP 60

--* Binary interaction parameters for surface EoS


INTE ...

238 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

2. TEMP RESV is used with two equation of state regions to assign regional temperatures of 200o F and 250o F
to regions defined using EOSN. TEMP SURF is then used to assign temperatures of 60o F and 70o F for
surface conditions.
TEMP RESV is used as a delimiter for reservoir equations of state (EoS) to indicate that the following
properties apply to that reservoir EoS region.
TEMP SURF is used as a delimiter to indicate that the following properties apply for the surface EoS
specified at that temperature.

--* Regional Temperature


TEMP 200 RESV

--* Define the equation of state (may be defaulted)


EQUA PR

--* Equation of state parameters for the reservoir (required for the first EoS
,→region)

PROP ...

--* Binary interaction parameters for the reservoir


INTE ...

--* Regional Temperature


TEMP 250 RESV

--* Define the equation of state (may be defaulted)


EQUA RK

--* Equation of state parameters for the reservoir (may be omitted for
,→subsequent EoS regions)

PROP ...

--* Binary interaction parameters for the reservoir (may be omitted for
,→subsequent EoS regions)

INTE ...

--* OMGA, OMGB, and INTE temperature (surface EoS)


TEMP 60 SURF

--* Binary interaction parameters for the surface temperature (optional)


INTE ...

--* Omega parameters for the surface temperature (optional)


OMGA ...
OMGB ...

--* OMGA, OMGB, and INTE temperature (surface EoS)


TEMP 70 SURF

--* Binary interaction parameters for the surface temperature (optional)


INTE ...

--* Omega parameters for the surface temperature (optional)


OMGA ...
OMGB ...

6.42. TEMP - Temperature Input for Equation-of-State Systems 239


Tempest MORE Help, Release 8.1

6.43 TEST - Testing Method for 1-phase Points

Required

No, not recommended

Location

FLUId section

TEST {ALL NEIG}

Definitions:
• ALL: All single-phase points will be tested for phase transitions at every iteration This may be forced if it is
suspected that stability checks need to be done for all cells
• NEIG: only single-phase points which have two-phase neighbours and single-phase well points will be
tested for phase transitions at every step. In any event all cells will be tested every 10 time steps.

Example

TEST ALL

240 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.44 TOLE - Override Default Convergence Tolerances

Location

FLUI Section

Description

The TOLE keyword is used to provide parameters that override the default convergence tolerances. Modification
of these parameters is not recommended unless the user has an advanced knowledge of Tempest MORE.
TOLE consists of 10 optional arguments which, if used, should be entered on a separate line below the TOLE
keyword itself. Default values do exist for these arguments, but the 1* notation must be used in the place of the
argument to indicate that the use of the default value is desired and to retain the correct order for the entry of
arguments. Any remaining arguments which are not entered take on their default values automatically and the 1*
notation need not be used.

Definitions

1. Convergence criterion for reservoir flash calculations


• Default: 0.0005
2. Convergence criterion for constant K flash
• Default: 1.0E-6
3. Convergence criterion for separator flash
• Default: 0.001
4. Convergence criterion for reservoir phase stability test
• Default: 5.0E-5
5. Convergence criterion for separator stability test
• Default: 1.0E-6
6. Convergence criterion for separator Gibbs energy minimum
• Default: 1.0E-4
7. Improvement criterion for separator Gibbs energy minimum
• Default: 1.0E-6
8. The volume constraint is re-linearised if the cells relative volume error exceeds this value
• Default: 0.01
9. Convergence criterion for DPSS dual porosity runs
• Default: 0.000001
10. Convergence criterion for group control calculations
• Default: 0.05

Examples

1. TOLE is used to reduce the tolerance on the residual norm for flash calculations.
TOLE
0.0002

6.44. TOLE - Override Default Convergence Tolerances 241


Tempest MORE Help, Release 8.1

6.45 VCOR - Lohrenz-Bray-Clark Viscosity Correlation

Location

FLUI Section

Description

The VCOR keyword is used to modify the parameters in the Lohrenz-Bray-Clark (LBC) viscosity correlation
equation.
Arguments for VCOR consist of two records. The first record consists of one optional argument which should
be entered on the same line as the VCOR keyword itself if used. The second record consists of a list of five
factors used in the correlation of the LBC viscosity correlation equation. These optional factors, if used, should
be entered on a separate line below the VCOR keyword itself. Default values do exist for this list of factors, but
the 1* notation must be used in the place of the argument to indicate that the use of the default value is desired
and to retain the correct order for the entry of arguments. Any remaining arguments which are not entered take on
their default values automatically and the 1* notation need not be used.

Definitions

RECORD 1:
1. Format of values provided (optional): CONS or MULT
• CONS - the coefficients in the LBC correlation are supplied
• MULT (default) - indicates the values are multipliers to the coefficients of the LBC correlation
RECORD 2:
1. The first constant or multiplier in the LBC correlation: v0 or m0
• Default: v0 =0.10230, m0 =1.0
2. The second constant or multiplier in the LBC correlation: v1 or m1
• Default: v1 =0.023364, m1 =1.0
3. The third constant or multiplier in the LBC correlation: v2 or m2
• Default: v2 =0.058533, m2 =1.0
4. The fourth constant or multiplier in the LBC correlation: v3 or m3
• Default: v3 =-0.040758, m3 =1.0
5. The fifth constant or multiplier in the LBC correlation: v4 or m4
• Default: v4 =0.0099324, m4 =1.0

Notes

• The Lohrenz-Bray-Clark viscosity relation is given by:

[(µ − µ0 )ζ + 10−4 ]1/4 = m0 v0 + m1 v1 ρr + m2 v2 ρ2r + m3 v3 ρ3r + m4 v4 ρ4r

• The supplied values are treated as set (v0 , v1 , v2 , v3 , v4 ) of replacements of the original LBC coefficients if
the CONS option is used, or as set of multipliers (m0 , m1 , m2 , m3 , m4 ) if the default MULT option is used.
• µ0 and ζ are parameters derived from other fluid parameters and thus cannot be modified directly.

242 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Examples

1. VCOR is used to set the first four coefficients of the Lohrenz-Bray-Clark correlation to their original values
while the fifth coefficient is multiplied by 1.005.

VCOR
4* 1.005

6.45. VCOR - Lohrenz-Bray-Clark Viscosity Correlation 243


Tempest MORE Help, Release 8.1

6.46 VICO - Viscosity Correlation for Compositional Runs

Location

FLUI section

Description

The default correlation used in compositional mode is the Lohrenz-Bray-Clark method (JPT, Oct 1964, SPE 915).
It is also possible to select an alternative by Al-Syabi, Danesh, Tohini, Todd and Tehrani (Chem Eng Sci, Vol 56,
2001) which is supported by PVTx. The VICO keyword allows this choice to be made.

Definitions

1. LBC or ADT (default is LBC)

Example

VICO ADT

244 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.47 VCVI - Critical volumes for equation of state viscosity corre-


lations

Location

FLUI Section

Description

The VCVI keyword is used to provide critical volumes to be used in the viscosity calculations. Arguments for
VCVI comprise a list of critical volumes which should be entered on a separate line below the VCVI keyword
itself.

Definitions

1. List of critical volumes

Notes

• If a default or negative value is used the normal critical volume entered with the PROP keyword will be
used.

Examples

1. VCVI is used to provide a list of critical volumes for viscosity calculations in an equation-of-state system.

VCVI
1.504 1.439 1.549 2.375 3.257 4.183 7.774 12.471 29.932 /

6.47. VCVI - Critical volumes for equation of state viscosity correlations 245
Tempest MORE Help, Release 8.1

6.48 VOLU - Volume Translation Parameters

Location

FLUI Section (after corresponding TEMP_eos keyword)

Description

The VOLU keyword is used to provide volume translation parameters. Arguments for VOLU comprise a list of
translation parameters which, when used, should be entered on a separate line below the VOLU keyword itself.

Definitions

1. List of ratios of volume translation parameter ‘c’ to the equation-of-state ‘b’ parameter
• Default: 0
• Maximum: 10

Notes

• See the EOS Parameters section of the MORE Technical Reference for more information regarding volume
translation parameters in Tempest.

Examples

1. VOLU is used to provide a list of volume translation parameters for an equation-of-state system.

VOLU
-0.1595 -0.1134 -0.08630 -0.03900 -0.0080 0.0655

246 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.49 ZCOR - Z-Factor Correlation

Location

FLUI Section

Description

The ZCOR keyword is used to modify the correlation used to obtain critical Z-factors in an equation-of-state
simulation. The critical Z-factor correlation is applied to any component with neither a library nor a supplied
critical Z-factor value.
ZCOR consists of two optional arguments which should be entered on the same line as the ZCOR keyword itself
if used. Default values do exist for these arguments, but the 1* notation must be used in the place of the argument
to indicate that the use of the default value is desired and to retain the correct order for the entry of arguments.
Any remaining arguments which are not entered will take on their default values automatically and the 1* notation
need not be used.

Definitions

1. Parameter ‘a’ in critical Z-factor correlation equation: azcrit


• Default: 0.291
2. Parameter ‘b’ in critical Z-factor correlation equation: bzcrit
• Default: 0.080

Notes

• The critical Z-factor correlation equation is as follows:

Zcriti = azcrit − bzcrit × ACFi

where ACFi is the acentric factor for the component i

Examples

1. ZCOR is used to provide the parameters to modify the correlation equation which is used to obtain critical
Z-factors for any component with neither a default or supplied value in an equation-of-state simulation.

ZCOR 0.324 0.095

6.49. ZCOR - Z-Factor Correlation 247


Tempest MORE Help, Release 8.1

6.50 ZCVI - Critical Z-factors for Equation of State Viscosity Corre-


lations

Location

FLUI Section

Description

The ZCVI keyword is used to provide critical Z-factors to be used in the viscosity calculations. Arguments for
ZCVI consist of a list of critical volumes which should be entered on a separate line below the ZCVI keyword
itself.

Definitions

1. List of critical Z-factors

Notes

• If a default or negative value is used the normal Z-factor entered with the PROP keyword will be used.

Examples

1. ZCVI is used to provide a list of critical Z-factors for viscosity calculations in an equation-of-state system.

ZCVI
0.292 0.274 0.284 0.281 0.274 0.263 0.264 0.263

248 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.51 POLY - Enable Polymer Option

Location

INPU or FLUI Section

Description

The POLY keyword is used to turn on polymer modelling in Tempest. There are no required arguments for POLY.

Definitions

n/a

Notes

• Please see the Polymer section of the MORE Technical Reference for more information regarding polymer
modelling in Tempest.
Other keywords associated with polymer modelling in Tempest include:
• PPRO - water viscosity multiplier vs. polymer concentration
• PADT - polymer adsorption on rock in tabular form
• PAKW - effect of polymer adsorption on water relative permeability in tabular form
• PREG - array of polymer property region numbers
• CPLY - injection polymer concentration (subkeyword of WELL)
• POLY event - injection polymer concentration
• PADS - options for polymer adsorption on rock in functional form (PABS can be used as an alias for PADS)
• PSHE - polymer shearing effects in functional form
• PMIS - miscellaneous values for polymer adsorption in functional form

Examples

1. POLY is used to request polymer modelling in Tempest.

POLY

6.51. POLY - Enable Polymer Option 249


Tempest MORE Help, Release 8.1

6.52 PPRO - Variation of Water Viscosity with Water Polymer Con-


centration

Location

FLUI Section

Description

The PPRO provides a table of water viscosity variation as a function of water polymer concentration. To use
PPRO, the POLY keyword must first be specified in the INPU or FLUI sections to turn on polymer modelling.
A separate table may be specified for each polymer property region region. These can be set up with keyword
PREG.

Definitions

Arguments for PPRO consist of a table with two columns which should start on a separate line below the PPRO
keyword itself. Following the final row of PPRO data in the table, a solitary slash (/) on its own line is required to
terminate the data entry for this keyword.
The following arguments should be entered in a tabular format.
1. Polymer concentration
• Units: lb/stb (Field), kg/sm3 (Metric)
2. Viscosity multiplier
• The viscosity multiplier should be greater than or equal to 1.

Notes

• Constant value extrapolation will be used for values outside the table. As this is unlikely to match the
physical values, it is best to ensure that PPRO covers the range of polymer concentrations encountered in
the study.
• Please see the Polymer section of the MORE Technical Reference for more information regarding polymer
modelling in Tempest.

Examples

1. PPRO is used to provide a table of water polymer concentration vs. water viscosity values for a polymer
model.

PPRO Cply Cmult


0.0 1.0
0.035 2.0
0.1 5.0
0.35 40.0
/

250 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.53 PADS - Control Polymer Adsorption on Rock

Location

FLUI Section

Description

The PADS keyword is used to control the functional model for polymer adsorption on rock. To use PADS, the
POLY keyword must first be specified in the INPU or FLUI sections to turn on polymer modelling.
PABS may be used as an alias for PADS.
PADS consists of one or more optional arguments. These arguments should be entered on the same line as the
PADS keyword itself.

Definitions

Adsorption options: NONE, REVE, IRRE, IRRV or LOSS


• NONE (default) - no polymer adsorption onto rock
• REVE - reversible adsorption.
• IRRE - irreversible adsorption (the adsorbed polymer concentration may increase but not decrease.)
• IRRV - alias for IRRE.
• LOSS - allow for loss of polymer to rock

Notes

• If using the tabular option for polymer adsorption, the reversibility option is specified using the PADT
keyword.
• Please see the Polymer section of the MORE Technical Reference for more information regarding polymer
modelling in Tempest.

Examples

1. PADS is used to request that the functional polymer adsorption onto rock is irreversible and that the polymer
is lost to the rock

PADS IRRV LOSS

6.53. PADS - Control Polymer Adsorption on Rock 251


Tempest MORE Help, Release 8.1

6.54 PADT - Polymer Adsorption Table

Location

FLUI Section

Description

PADT is a table which specifies the saturated polymer adsorption concentration on the rock as a function of the
polymer concentration in the water. To use PADT, the POLY keyword must first be specified in the INPU or FLUI
sections to turn on polymer modelling.
A separate table may be specified for each saturation table region.

Definitions

On the first occurrence of the PADT keyword, there are two optional arguments:
1. The rock density.
• Units: lb/ft3 (Field), kg/m3 (Metric)
2. Adsorption option:
• IRRE - irreversible adsorption (the adsorbed polymer concentration may increase but not decrease.)
• IRRV - alias for IRRE
• REVE - reversible adsorption.
By default the polymer adsorption is REVE. In the irreversible case the polymer per unit mass of rock will
not fall even if the water polymer concentration does fall.
For every occurrence of the PADT keyword, a table consisting of two columns should start on a separate line
below the PADT keyword itself. Following the final row of PADT data in the table, a solitary slash (/) on its own
line is required to terminate the data entry for this keyword.
The following arguments should be entered in a tabular format for every table.
1. Polymer concentration specified in mass per unit water surface volume.
• Units: lb/stb (Field), kg/sm3 (Metric)
2. The adsorbed polymer concentration specified in polymer mass per unit mass of rock.
• Units: lb/lb (Field), kg/kg (Metric)

Notes

• The first entry in this table must have zero in both columns.
• Note that the rock density is specified in units of kg/m3 or lbs/ft3 (not lbs/stb).
• Rock mass density: this is rock at reservoir conditions, including the pore space in the density, but not the
mass of anything filling the pore space.
• If the concentration goes above the highest polymer concentration value in the table, the table is extrapolated
at constant slope.
• If PADT is used, do not use PADS to set up the reversible or irreversible polymer adsorption option.
• The use of PADT models only the effect of the adsorption of the polymer and the resulting loss of polymer
to the water. There may also be a water relative permeability reduction effect due to the polymer adsorption.
This may be specified using PAKW.

252 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

• The absorbed polymer concentration in terms of polymer mass per unit rock mass is available in Tempest
VIEW as Cadm. This is related to the polymer adsorption per unit reservoir volume, Cads, by the condition:
P orosity
Cadm = Cads ×
Cv × RockDensity

where RockDensity is in standard units, (lbs/ft3 or Kgs/m3 ), and Cv is 5.61458 in field units, 1.0 in metric
units.

Example

1. Irreversible adsorption into rock with a density of 130 lbs/cuft

PADT 130 IRRV


0 0
0.1 0.00001 /
/

6.54. PADT - Polymer Adsorption Table 253


Tempest MORE Help, Release 8.1

6.55 PAKW - Effect of Polymer Adsorption upon water relative per-


meability

Location

FLUI Section

Description

The PAKW keyword is a simple method of specifying the effect of any polymer adsorption on rock upon the water
phase relative permeability. It should be used in conjunction with the PADT keyword.To use PAKW, the POLY
keyword must first be specified in the INPU or FLUI sections to turn on polymer modelling.
A PAKW table may be specified for each saturation table region.

Definitions

For each occurrence of the PAKW keyword, a table consisting of two columns should start on a separate line
below the PAKW keyword itself. Following the final row of PAKW data in the table, a solitary slash (/) on its own
line is required to terminate the data entry for this keyword.
The following arguments should be entered in a tabular format for every table.
1. The adsorbed polymer concentration specified in polymer mass per unit mass of rock.
• Units: lb/lb (Field), kg/kg (Metric)
2. The water relative permeability modification factor (no units)

Notes

1. If the concentration goes above the highest polymer concentration value in the table, the table is extrapolated
at constant value.
2. Note that adsorbed polymer concentration in the first column of PAKW is specified in mass of polymer per
mass of rock - the same units as the second column of PADT.

Example

1. Effect of polymer adsorption:

PAKW
0.0 1.0
0.00001 0.5

254 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.56 PSHE - Control Polymer Shearing Effects

Location

FLUI Section

Description

The PSHE (polymer shearing) keyword is used to control polymer shearing effects. PSHE determines the treat-
ment of polymer shearing effects. To use PSHE, the POLY keyword must first be specified in the INPU or FLUI
sections to turn on polymer modelling.
PSHE consists of one optional argument for which there are three options. This argument should be entered on
the same line as the PSHE keyword itself if used.

Definitions

1. Treatment of polymer shearing effect: ON or OFF


• ON - use polymer shearing effects
• OFF (default) - do not use polymer shearing effects

Notes

• NONE may be used as an alias for OFF to turn off polymer shearing effects.
• The polymer shearing effects require a considerable amount of extra calculation in MORE and should be
turned off unless required.
• The STOR keyword may be used to output the PSHE water phase flow multipliers as FSHX, FSHY, and
FSHZ.
• Please see the Polymer section of the MORE Technical Reference for more information regarding polymer
modelling in Tempest.
• Other keywords associated with polymer modelling in Tempest include:
– POLY - enable polymer modelling
– PPRO - water viscosity vs. polymer concentration
– PADS - polymer absorption on rock
– PMIS - polymer viscosity variation
– PREG - array of polymer property region numbers
– CPLY - injection polymer concentration (subkeyword of WELL)
– POLY event - injection polymer concentration

Examples

1. PSHE is used to request that the polymer shearing effects are turned on.

PSHE ON

6.56. PSHE - Control Polymer Shearing Effects 255


Tempest MORE Help, Release 8.1

6.57 PMIS - Parameters for Polymer Modelling Correlations

Location

FLUI Section

Description

The PMIS (polymer miscellaneous) keyword is used to provide parameters for the polymer modelling correla-
tions. To use PMIS, the POLY keyword must first be specified in the INPU or FLUI sections to turn on polymer
modelling.
PMIS consists of six required arguments which should all be entered on the same line as the PMIS keyword itself
when used.

Definitions

1. Polymer mole weight Mw


• Default: 10000
2. Tortuosity factor α
• Default: 4.0
3. Water permeability reduction parameter β
• Default: 1.0
4. Water polymer concentration at which the polymer absorption reaches half its maximum value c1/2
• Default: 0.1
5. Mid-point shear rate ė1/2
• Default: 5.0
6. Shear rate exponent X
• Default: 2.0

Notes

• PMIS may be specified more than once. If so, the sets of polymer parameters are associated with the cells
in the grid according to values of the PREG array in the GRID section.
• If there is no PREG array, all cells will use values in the first PMIS keyword.
• The first four arguments are only relevant if using the PADS keyword to select the Hirasaki and Pope
functional model. They are not required when using PADT and PAKW.
• The fifth and sixth argument are relevant for the viscosity shearing model which may be turned on using the
PSHE keyword.
• Please see the Polymer section of the MORE Technical Reference for more information regarding polymer
modelling in Tempest.
• Other keywords associated with polymer modelling in Tempest include:
– POLY - enable polymer modelling
– PPRO - water viscosity vs. polymer concentration
– PADS - polymer adsorption on rock

256 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

– PSHE - polymer shearing effects


– PREG - array of polymer property region numbers
– CPLY - injection polymer concentration (subkeyword of WELL)
– POLY event - injection polymer concentration

Examples

1. PMIS is used to provide correlation parameters for the polymer model.

-- MP alpha beta chalf ehalf eExp


PMIS 3400000 4.0 1.0 0.2 100.0 2.0

6.57. PMIS - Parameters for Polymer Modelling Correlations 257


Tempest MORE Help, Release 8.1

6.58 THER - Enable the Thermal Option

Location

INPU or FLUI Section

Description

The THER (thermal) keyword is used to turn on thermal modelling in Tempest. There are no required arguments
for THER.

Notes

• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.
• Other keywords associated with thermal modelling in Tempest include:
– GVVT - gas viscosity variation with temperature
– OVVT - oil viscosity variation with temperature
– WVVT - water viscosity variation with temperature
– UOIL - oil specific heat coefficients
– UGAS - gas specific heat coefficients
– UWAT - water specific heat coefficients
– UROC - rock specific heat coefficients
– THCO - oil heat conductivity coefficients
– THCG - gas heat conductivity coefficients
– THCW - water heat conductivity coefficients
– THCR - rock heat conductivity coefficients
– THXO - oil thermal expansion coefficients
– THXW - water thermal expansion coefficients
– THXR - rock thermal expansion coefficients
– HLOS - heat loss model
– RTEM - array of initial temperatures for thermal and steam options in a system under non-equilibrium
initialisation
– TREG - array of thermal property region numbers
– TEMP - injection temperature (subkeyword of WELL)
– TEMP event - injection temperature event

Examples

1. THER is used to request thermal modelling in Tempest.

THER

258 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.59 GVVT - Gas Viscosity Variation with Temperature

Location

FLUI Section

Description

The GVVT keyword is used to provide a table of gas viscosity multiplication factors as a function of reservoir
temperature. To use GVVT, the THER keyword must first be specified in the INPU or FLUI sections to turn on
thermal modelling.
Arguments for GVVT consist of a table with two required columns which should start on a separate line below
the GVVT keyword itself. Following the final row of GVVT data in the table, a solitary slash (/) on its own line is
required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Temperature
• Units: o F (Field), o C (Metric)
2. Gas viscosity multiplication factor

Notes

• Constant value extrapolation is used for temperatures outside the range of the table. As this is unlikely to
match the physical values, it is best to ensure that GVVT covers the range of temperatures encountered in
the study.
• If more than one GVVT table is entered, it may be associated with grid cells using the TREG array in the
GRID section.
• See the Steam and Thermal Options section of the MORE Technical Reference for more information re-
garding thermal modelling in Tempest.
• Other keywords associated with thermal modelling in Tempest include:
– THER - enable thermal modelling
– OVVT - oil viscosity variation with temperature
– WVVT - water viscosity variation with temperature
– UOIL - oil specific heat coefficients
– UGAS - gas specific heat coefficients
– UWAT - water specific heat coefficients
– UROC - rock specific heat coefficients
– THCO - oil heat conductivity coefficients
– THCG - gas heat conductivity coefficients
– THCW - water heat conductivity coefficients
– THCR - rock heat conductivity coefficients
– THXO - oil thermal expansion coefficients
– THXW - water thermal expansion coefficients

6.59. GVVT - Gas Viscosity Variation with Temperature 259


Tempest MORE Help, Release 8.1

– THXR - rock thermal expansion coefficients


– HLOS - heat loss model
– RTEM - array of initial temperatures for thermal and steam options in a system under non-equilibrium
initialisation
– TREG - array of thermal property region numbers
– TEMP - injection temperature (subkeyword of WELL)
– TEMP event - injection temperature event

Examples

1. GVVT is used to provide a table of gas viscosity multiplication factors as a function of temperature for a
thermal model.

GVVT
100.0 1.0
150.0 0.2
200.0 0.034
250.0 0.01
/

260 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.60 HLOS - Heat Loss Model

Location

FLUI Section

Description

The HLOS keyword is used to turn on the Vinsome and Westerveld boundary heat loss model in a simulation. To
use HLOS, the THER keyword must first be specified in the INPU or FLUI sections to turn on thermal modelling.
HLOS consists of one required argument for which there are two options. This argument should be entered on the
same line as the HLOS keyword itself when used.

Definitions

1. Heat loss: ON or OFF


• ON - turn on the Vinsome and Westerveld boundary heat loss model
• OFF - turn off the Vinsome and Westerveld boundary heat loss model

Notes

• The heat loss model attaches a Vinsome and Westerveld model of heat loss to the underlying and overlying
rock to the top and bottom of the reservoir. The model is connected to the top active cell and the bottom
active cell in each column of cells.
• The Vinsome and Westerveld model has a history parameter in the total heat loss from the reservoir to the
aquifer. As a Vinsome and Westerveld model is attached to each of the boundary cells, the heat loss must
be stored over restarts, and is written to the MORE output files as part of the RESTART record. This may
be displayed using Tempest as the mnemonic WVFX.
• See the Steam and Thermal Options section of the MORE Technical Reference for more information re-
garding the Vinsome and Westerveld heat loss model in Tempest.
• Other keywords associated with thermal modelling in Tempest include:
– THER - enable thermal modelling
– GVVT - gas viscosity variation with temperature
– OVVT - oil viscosity variation with temperature
– WVVT - water viscosity variation with temperature
– UOIL - oil specific heat coefficients
– UGAS - gas specific heat coefficients
– UWAT - water specific heat coefficients
– UROC - rock specific heat coefficients
– THCO - oil heat conductivity coefficients
– THCG - gas heat conductivity coefficients
– THCW - water heat conductivity coefficients
– THCR - rock heat conductivity coefficients
– THXO - oil thermal expansion coefficients
– THXW - water thermal expansion coefficients

6.60. HLOS - Heat Loss Model 261


Tempest MORE Help, Release 8.1

– THXR - rock thermal expansion coefficients


– RTEM - array of initial temperatures for thermal and steam options in a system under non-equilibrium
initialisation
– TREG - array of thermal property region numbers
– TEMP - injection temperature (subkeyword of WELL )
– TEMP event - injection temperature event

Examples

1. HLOS is used with the ON option to turn on the Vinsome and Westerveld boundary heat loss model in a
thermal simulation.

HLOS ON

262 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.61 OVVT - Oil Viscosity Variation with Temperature

Location

FLUI Section

Description

The OVVT keyword is used to provide a table of oil viscosity multiplication factors as a function of reservoir
temperature. To use OVVT, the THER keyword must first be specified in the INPU or FLUI sections to turn on
thermal modelling.
Arguments for OVVT consist of a table with two required columns which should start on a separate line below
the OVVT keyword itself. Following the final row of OVVT data in the table, a solitary slash (/) on its own line is
required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Temperature
• Units: o F (Field), o C (Metric)
2. Oil viscosity multiplication factor

Notes

• Constant value extrapolation is used for temperatures outside the range of the table. As this is unlikely to
match the physical values, it is best to ensure that OVVT covers the range of temperatures encountered in
the study.
• If more than one OVVT table is entered, it may be associated with grid cells using the TREG array in the
GRID section.
• Please see the Thermal section of the MORE Technical Reference for more information regarding thermal
modelling in Tempest.
• Other keywords associated with thermal modelling in Tempest include:
– THER - enable thermal modelling
– GVVT - gas viscosity variation with temperature
– WVVT - water viscosity variation with temperature
– UOIL - oil specific heat coefficients
– UGAS - gas specific heat coefficients
– UWAT - water specific heat coefficients
– UROC - rock specific heat coefficients
– THCO - oil heat conductivity coefficients
– THCG - gas heat conductivity coefficients
– THCW - water heat conductivity coefficients
– THCR - rock heat conductivity coefficients
– THXO - oil thermal expansion coefficients
– THXW - water thermal expansion coefficients

6.61. OVVT - Oil Viscosity Variation with Temperature 263


Tempest MORE Help, Release 8.1

– THXR - rock thermal expansion coefficients


– HLOS - heat loss model
– RTEM - array of initial temperatures for thermal and steam options in a system under non-equilibrium
initialisation
– TREG - array of thermal property region numbers
– TEMP - injection temperature (subkeyword of WELL)
– TEMP event - injection temperature event

Examples

1. OVVT is used to provide a table of oil viscosity multiplication factors as a function of temperature for a
thermal model.

OVVT
100.0 1.0
150.0 0.2
200.0 0.034
250.0 0.01
/

264 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.62 THCG - Gas Conductivity Coefficients

Location

FLUI Section

Description

The THCG keyword is used to provide gas heat conductivity coefficients. To use THCG, the THER keyword must
first be specified in the INPU or FLUI sections to turn on thermal modelling.
THCG consists of three required arguments which should be entered on the same line as the THCG keyword itself
when used.

Definitions

1. Gas heat conductivity coefficient: Ag


• Units: BTU/(ft×day×o F) (Field), kJ/(m×day×o C) (Metric)
• Default: 0.0
2. Gas heat conductivity coefficient: Bg
• Units: BTU/(ft×day×o F2 ) (Field), kJ/(m×day×o C2 ) (Metric)
• Default: 0.0
3. Oil heat conductivity coefficient: Cg
• Default: 0.0

Notes

• The gas heat conductivity λg is in the form

λg = (Ag + Bg · T ) · (1 + Cg · (P − Pref ))

where T is in o F or o C, and Pref is the reference pressure specified with REFE in the GRID section (defaulted
to 1 atm).
• Other heat conductivity coefficients that can be set include: oil heat conductivity coefficients (THCO), water
heat conductivity coefficients (THCW) and rock heat conductivity coefficients (THCR).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THCG is used to provide gas heat conductivity coefficients for a simulation to set the gas heat conductivity
to 25 kJ/(m×day×o C).

THCG 25 0 0 /

6.62. THCG - Gas Conductivity Coefficients 265


Tempest MORE Help, Release 8.1

6.63 THCO - Oil Conductivity Coefficients

Location

FLUI Section

Description

The THCO keyword is used to provide oil heat conductivity coefficients. To use THCO, the THER keyword must
first be specified in the INPU or FLUI sections to turn on thermal modelling.
THCO consists of three required arguments which should be entered on the same line as the THCO keyword itself
when used.

Definitions

1. Oil heat conductivity coefficient: Ao


• Units: BTU/(ft×day×o F) (Field), kJ/(m×day×o C) (Metric)
• Defaults: Values are obtained from the oil specific gravity (γo )
– 1.635/γo [Btu/(ft×day×o F)] (Field)
– 10.2/γo [kJ/(m×day×o C)] (Metric)
2. Oil heat conductivity coefficient: Bo
• Units: BTU/(ft×day×o F2 ) (Field), kJ/(m×day×o C2 ) (Metric)
• Defaults: Values are obtained from the oil specific gravity (γo )
– -4.86x10-4 /γo [Btu/(ft×day×o F2 )] (Field)
– -5.45x10-3 /γo [kJ/(m×day×o C2 )] (Metric)
3. Oil heat conductivity coefficient: Co
• Default: 0.0

Notes

• The oil heat conductivity λo is in the form

λo = (Ao + Bo · T ) · (1 + Co · (P − Pref ))

where T is in o F or o C, and Pref is the reference pressure specified with REFE in the GRID section (defaulted
to 1 atm).
• Other heat conductivity coefficients that can be set include: gas heat conductivity coefficients (THCG),
water heat conductivity coefficients (THCW), and rock heat conductivity coefficients (THCR).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THCO is used to provide oil heat conductivity coefficients for a simulation to set the oil heat conductivity
to 25 kJ/(m×day×o C).

266 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

THCO 25 0 0 /

6.63. THCO - Oil Conductivity Coefficients 267


Tempest MORE Help, Release 8.1

6.64 THCR - Rock Conductivity Coefficients

Location

FLUI Section

Description

The THCR keyword is used to provide rock heat conductivity coefficients. To use THCR, the THER keyword
must first be specified in the INPU or FLUI sections to turn on thermal modelling.
THCR consists of three required arguments which should be entered on the same line as the THCR keyword itself.

Definitions

1. Rock heat conductivity coefficient: Ar


• Units: BTU/(ft×day×o F) (Field), kJ/(m×day×o C) (Metric)
• Defaults:
– 20.0 [Btu/(ft×day×o F)] (Field)
– 124.6 [kJ/(m×day×o C)] (Metric)
2. Rock heat conductivity coefficient: Br
• Units: BTU/(ft×day×o F2 ) (Field), kJ/(m×day×o C2 ) (Metric)
• Default: 0.0
3. Rock heat conductivity coefficient: Cr
• Default: 0.0

Notes

• The rock heat conductivity λr is in the form

λr = (Ar + Br · T ) · (1 + Cr · (P − Pref ))

where T is in o F or o C, and Pref is the reference pressure specified with REFE in the GRID section (defaulted
to 1 atm).
• Other heat conductivity coefficients that can be set include gas heat conductivity coefficients (THCG), oil
heat conductivity coefficients (THCO) and water heat conductivity coefficients (THCW).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THCR is used to provide rock heat conductivity coefficients for a simulation to set the rock heat conductivity
to 25 kJ/(m×day×o C).

THCR 25 0 0 /

268 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.65 THCW - Water Conductivity Coefficients

Location

FLUI Section

Description

The THCW keyword is used to provide water heat conductivity coefficients. To use THCW, the THER keyword
must first be specified in the INPU or FLUI sections to turn on thermal modelling.
THCW consists of three required arguments which should be entered on the same line as the THCW keyword
itself.

Definitions

1. Water heat conductivity coefficient: Aw


• Units: BTU/(ft×day×o F) (Field), kJ/(m×day×o C) (Metric)
• Defaults:
– 7.525 [Btu/(ft×day×o F)] (Field)
– 46.89 [kJ/(m×day×o C)] (Metric)
2. Water heat conductivity coefficient: Bw
• Units: BTU/(ft×day×o F2 ) (Field), kJ/(m×day×o C2 ) (Metric)
• Defaults:
– 0.01542 [Btu/(ft×day×o F2 )] (Field)
– 0.17294 [kJ/(m×day×o C2 )] (Metric)
3. Water heat conductivity coefficient: Cw
• Default: 0.0

Notes

• The water heat conductivity λw is in the form

λw = (Aw + Bw · T ) · (1 + Cw · (P − Pref ))

where T is in o F or o C, and Pref is the reference pressure specified with REFE in the GRID section (defaulted
to 1 atm).
• Other heat conductivity coefficients that can be set include: gas heat conductivity coefficients (THCG), oil
heat conductivity coefficients (THCO), and rock heat conductivity coefficients (THCR).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THCW is used to provide water heat conductivity coefficients for a simulation to set the water heat conduc-
tivity to 25 kJ/(m×day×o C).

6.65. THCW - Water Conductivity Coefficients 269


Tempest MORE Help, Release 8.1

THCW 25 0 0 /

270 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.66 THXO - Oil Thermal Expansion Coefficients

Location

FLUI Section

Description

The THXO keyword is used to provide oil thermal expansion coefficients. To use THXO, the THER keyword
must first be specified in the INPU or FLUI sections to turn on thermal modelling.
THXO consists of two required arguments which should be entered on the same line as the THXO keyword itself.

Definitions

1. Oil thermal expansion coefficient 1: Axo


• Units: 1/o F (Field), 1/o C (Metric)
• Default: 0.0
2. Oil thermal expansion coefficient 2: Bxo
• Units: 1/o F 2 (Field), 1/o C 2 (Metric)
• Default: 0.0

Notes

• The oil formation volume as a function of temperature is:

Bo (P, T ) = Bo (P, Tbase ) · [1 + Axo · (T − Tbase ) + Bxo · (T − Tbase )2 ]

where Tbase is 60o F or 15o C


• Other thermal expansion coefficients that can be set include: water thermal expansion coefficients (THXW),
and rock thermal expansion coefficients (THXR).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THXO is used to provide oil thermal expansion coefficients for a simulation to set Axo and Bxo to 3.8E-4
o -1
F and 0 respectively.

THXO 3.8E-4 0 /

6.66. THXO - Oil Thermal Expansion Coefficients 271


Tempest MORE Help, Release 8.1

6.67 THXR - Rock Thermal Expansion Coefficients

Location

FLUI Section

Description

The THXR keyword is used to provide rock thermal expansion coefficients. To use THXR, the THER keyword
must first be specified in the INPU or FLUI sections to turn on thermal modelling.
THXR consists of two required arguments which should be entered on the same line as the THXR keyword itself.

Definitions

1. Rock thermal expansion coefficient 1: Axr


• Units: 1/o F (Field), 1/o C (Metric)
• Default: 0.0
2. Rock thermal expansion coefficient 2: Bxr
• Units: 1/o F 2 (Field), 1/o C 2 (Metric)
• Default: 0.0

Notes

• As the temperature increases, the rock volume increases and the pore volume decreases.
• The cell pore volume as a function of temperature is:

Vp (P, T ) = Vp (P, Tbase ) · [1 − Axr · (T − Tbase ) − Bxr · (T − Tbase )2 ]

where Tbase is 60o F or 15o C


• Other thermal expansion coefficients that can be set include: oil thermal expansion coefficients (THXO) and
water thermal expansion coefficients (THXW).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THXR is used to provide rock thermal expansion coefficients for a simulation to set Axr and Bxr to 4.98E-5
o -1
C and 0 respectively.

THXR 4.98E-5 0 /

272 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.68 THXW - Water Thermal Expansion Coefficients

Location

FLUI Section

Description

The THXW keyword is used to provide water thermal expansion coefficients. To use THXW, the THER keyword
must first be specified in the INPU or FLUI sections to turn on thermal modelling.
THXW consists of two required arguments which should be entered on the same line as the THXW keyword itself.

Definitions

1. Water thermal expansion coefficient 1: Axw


• Units: 1/o F (Field), 1/o C (Metric)
• Default: 0.0
2. Water thermal expansion coefficient 2: Bxw
• Units: 1/o F 2 (Field), 1/o C 2 (Metric)
• Default: 0.0

Notes

• The water formation volume as a function of temperature is:

Bw (P, T ) = Bw (P, Tbase ) · [1 + Axw · (T − Tbase ) + Bxw · (T − Tbase )2 ]

where Tbase is 60o F or 15o C


• Other thermal expansion coefficients that can be set include: oil thermal expansion coefficients (THXO),
and rock thermal expansion coefficients (THXR).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. THXW is used to provide water thermal expansion coefficients for a simulation to set Axw and Bxw to 1.67
o -1
F and 9.26E-7 o F -2 respectively.

THXW 1.67 9.26E-7 /

6.68. THXW - Water Thermal Expansion Coefficients 273


Tempest MORE Help, Release 8.1

6.69 UGAS - Gas Specific Heat Coefficients

Location

FLUI Section

Description

The UGAS keyword is used to provide gas specific heat coefficients. To use UWAT, the THER keyword must first
be specified in the INPU or FLUI sections to turn on thermal modelling.
UGAS consists of two required arguments which should be entered on the same line as the UGAS keyword itself
when used.

Definitions

1. Specific heat coefficient: Ag


• Units: BTU/(lbo F) (Field), kJ/(kg o C) (Metric)
• Defaults: Values are obtained from the gas specific gravity (γg )
– (3.0962+8.455γg )/(Mwair γg ) [Btu/(lb o F)] (Field)
– (12.682+37.73γg )/(Mwair γg ) [kJ/(kg o C)] (Metric)
2. Specific heat coefficient: Bg
• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: Values are obtained from the gas specific gravity (γg )
– (-0.0021+0.0174γg )/(Mwair γg ) [Btu/(lb o F2 )] (Field)
– (-0.0158+0.1311γg )/(Mwair γg ) [kJ/(kg o C2 )] (Metric)

Notes

• Specific heat coefficients for gas are in the form of Cg = Ag + Bg ×T, where T is in o F or o C.
• Other specific heat coefficients which can be set include: oil specific heat coefficients (UOIL), water specific
heat coefficients (UWAT), and rock specific heat coefficients (UROC).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. UGAS is used to provide gas specific heat coefficients for a simulation to set oil specific heat to 0.5 BTU/(lb
o
F).

UGAS 0.5 0 /

274 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.70 UOIL - Oil Specific Heat Coefficients

Location

FLUI Section

Description

The UOIL keyword is used to provide oil specific heat coefficients. To use UOIL, the THER keyword must first
be specified in the INPU or FLUI sections to turn on thermal modelling.
UOIL consists of two required arguments which should be entered on the same line as the UOIL keyword itself.

Definitions

1. Specific heat coefficient: Ao


• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: Values are obtained from the oil specific gravity (γo )

– 0.388/ γo [Btu/(lb o F)] (Field)

– 1.6848/ γo [kJ/(kg o C)] (Metric)
2. Specific heat coefficient: Bo
• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: Values are obtained from the oil specific gravity (γo )

– 4.5x10-4 / γo [Btu/(lb o F2 )] (Field)

– 3.3913x10-3 / γo [kJ/(kg o C2 )] (Metric)

Notes

• Specific heat coefficients for oil are in the form of Co = Ao + Bo ×T, where T is in o F or o C
• Other specific heat coefficients which can be set include: gas specific heat coefficients (UGAS), water
specific heat coefficients (UWAT), and rock specific heat coefficients (UROC).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. UOIL is used to provide oil specific heat coefficients for a simulation to set oil specific heat to 0.5 BTU/(lb
o
F).

UOIL 0.5 0 /

6.70. UOIL - Oil Specific Heat Coefficients 275


Tempest MORE Help, Release 8.1

6.71 UROC - Rock Specific Heat Coefficients

Location

FLUI Section

Description

The UROC keyword is used to provide rock specific heat coefficients. To use UROC, the THER keyword must
first be specified in the INPU or FLUI sections to turn on thermal modelling.
UROC consists of four required arguments which should be entered on the same line as the UROC keyword itself.

Definitions

1. Specific heat coefficient: Ar


• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: 0.192 [Btu/(lb o F)] (Field), 0.820 [kJ/(kg o C)] (Metric)
2. Specific heat coefficient: Br
• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: 1.18x10-4 [Btu/(lb o F2 )] (Field), 8.89x10-4 [kJ/(kg o C2 )] (Metric)
3. Rock mass density measured at reference porosity specified in next argument
• Units: lb/ft3 (Field), kg/m3 (Metric)
• Defaults: 130.0 lb/ft3 (Field), 2082.4 kg/m3 (Metric)
4. Porosity of the rock at which the rock mass density is measured
• Default: 0.0

Notes

• Specific heat coefficients for rock are in the form of Cr = Ar + Br ×T, where T is in o F or o C
• Other specific heat coefficients which can be set include: gas specific heat coefficients (UGAS), oil specific
heat coefficients (UOIL), and water specific heat coefficients (UWAT).
• See the Thermal section of the MORE Technical Reference for more information regarding thermal mod-
elling in Tempest.

Examples

1. UROC is used to provide rock specific heat coefficients for a simulation.

UROC 0.22 0.004 120 0.2

276 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.72 UWAT - Water Specific Heat Coefficients

Location

FLUI Section

Description

The UWAT keyword is used to provide water specific heat coefficients. To use UWAT, the THER keyword must
first be specified in the INPU or FLUI sections to turn on thermal modelling.
UWAT consists of two required arguments which should be entered on the same line as the UWAT keyword itself.

Definitions

1. Specific heat coefficient: Aw


• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: 1.0 [Btu/(lb o F)] (Field), 4.2 [kJ/(kg o C)] (Metric)
2. Specific heat coefficient: Bw
• Units: BTU/(lb o F) (Field), kJ/(kg o C) (Metric)
• Defaults: 0.0001 [Btu/(lb o F2 )] (Field), 0.0007536 [kJ/(kg o C2 )] (Metric)

Notes

• Specific heat coefficients for water are in the form of Cw = Aw + Bw × T, where T is in o F or o C


• Other specific heat coefficients which can be set include: gas specific heat coefficients (UGAS), oil specific
heat coefficients (UOIL), and rock specific heat coefficients (UROC).
• Please see the Thermal section of the MORE Technical Reference for more information regarding thermal
modelling in Tempest.

Examples

1. UWAT is used to provide water specific heat coefficients for a simulation to set oil specific heat to 1.5
BTU/(lb o F).

UWAT 1.5 0 /

6.72. UWAT - Water Specific Heat Coefficients 277


Tempest MORE Help, Release 8.1

6.73 WVVT - Water Viscosity Variation with Temperature

Location

FLUI Section

Description

The WVVT keyword is used to provide a table of water viscosity multiplication factors as a function of reservoir
temperature. To use WVVT, the THER keyword must first be specified in the INPU or FLUI sections to turn on
thermal modelling.
Arguments for WVVT consist of a table with two required columns which should start on a separate line below
the WVVT keyword itself. Following the final row of WVVT data in the table, a solitary slash (/) on its own line
is required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Temperature
• Units: o F (Field), o C (Metric)
2. Water viscosity multiplication factor

Notes

• Constant value extrapolation is used for temperatures outside the range of the table.
• If more than one WVVT table is entered, it may be associated with grid cells using the TREG array in the
GRID section.
• Please see the Thermal section of the MORE Technical Reference for more information regarding thermal
modelling in Tempest.
• Other keywords associated with thermal modelling in Tempest include:
– THER - enable thermal modelling
– GVVT - gas viscosity variation with temperature
– OVVT - oil viscosity variation with temperature
– UOIL - oil specific heat coefficients
– UGAS - gas specific heat coefficients
– UWAT - water specific heat coefficients
– UROC - rock specific heat coefficients
– THCO - oil heat conductivity coefficients
– THCG - gas heat conductivity coefficients
– THCW - water heat conductivity coefficients
– THCR - rock heat conductivity coefficients
– THXO - oil thermal expansion coefficients
– THXW - water thermal expansion coefficients
– THXR - rock thermal expansion coefficients

278 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

– HLOS - heat loss model


– RTEM - array of initial temperatures for thermal and steam options in a system under non-equilibrium
initialisation
– TREG - array of thermal property region numbers
– TEMP - injection temperature (subkeyword of WELL)
– TEMP event - injection temperature event

Examples

1. WVVT is used to provide a table of water viscosity multiplication factors as a function of temperature for a
thermal model.

WVVT
20.0 1.0
50.0 0.5
100.0 0.32
250.0 0.21
/

6.73. WVVT - Water Viscosity Variation with Temperature 279


Tempest MORE Help, Release 8.1

6.74 STEA - Request Steam Modelling

Location

FLUI Section

Description

The STEA (steam) keyword is used to turn on steam modelling in Tempest. It has the exact same effect as
including STEAM as a component in the CNAM keyword. There are no required arguments for STEA.

Definitions

n/a

Notes

• Please see the Steam/Thermal section of the MORE Technical Reference for more information regarding
steam modelling in Tempest.
• Other keywords associated with steam modelling in Tempest include:
– UPSI - upstream steam injection mobilities
– STEA - steam specification (subkeyword of WELL)
– STEAM event - steam injection properties
– SIT event - steam injection target
– SVIT event - steam voidage injection target

Examples

1. STEA is used to request steam modelling in Tempest.

STEA

280 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.75 SOLV - Set Surface Density of Solvent

Location

FLUI Section

Description

The SOLV keyword is used to turn on the Todd-Longstaff solvent option and set the specific gravity or molecular
weight of a solvent. SOLV consists of one required argument and two optional arguments which should be entered
in succession on the same line as the SOLV keyword itself when used.

Note: Only the Todd-Longstaff solvent option, in which the solvent is treated as a separate phase, is now
supported. The multi-gas solvent option, in which the solvent was a second gas component which could dissolve
in the oil, has been withdrawn.

Definitions

1. Solvent molecular weight or gravity


• If a value less than 2 is supplied, it is assumed to be the gravity with respect to air density. Otherwise,
it is treated as solvent molecular weight.
2. TL (optional) - REQUIRED - request the four-phase Todd-Longstaff option
3. MG (optional) - WITHDRAWN - request the multi-gas solvent option
4. NODI (optional) - WITHDRAWN - turns off Todd-Longstaff density interpolation

Notes

• Please see the Solvent section of the MORE Technical Reference for more information regarding the treat-
ment of solvents in Tempest.
• Other keywords associated with solvent modelling in Tempest include:
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV - define injected solvent concentration

6.75. SOLV - Set Surface Density of Solvent 281


Tempest MORE Help, Release 8.1

Examples

1. SOLV is used to set a solvent gravity of 0.787 with respect to air density.

SOLV 0.787

2. SOLV is used to set a solvent molecular weight of 65.2.

SOLV 65.2

3. SOLV is used to set a solvent molecular weight of 38.03 and the TL option is also used to request the
four-phase Todd-Longstaff option.

SOLV 38.03 TL

282 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.76 MFVP - Miscibility Factor vs. Pressure

Location

FLUI Section

Description

The MFVP keyword is used to provide a miscibility factor vs. pressure table for a solvent simulation. The use
of MFVP requires that the four-phase Todd-Longstaff solvent option must be turned on with the SOLV or CNAM
keywords.
Arguments for MFVP consist of a table with two required columns which should start on a separate line below
the MFVP keyword itself. Following the final row of MFVP data in the table, a solitary slash (/) on its own line is
required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Solvent phase pressure
• Units: psi (Field), bar (Metric)
2. Factor which is interpolated between the miscible and immiscible hydrocarbon permeability treatments in
the four-phase Todd-Longstaff solvent option: Fm

Notes

• MFVP is a pressure table, so one is required for each pressure table region.
• Pressure values must increase with each entry in the table.
• Please see the Solvent section of the MORE Technical Reference for more information regarding the treat-
ment of solvents in Tempest.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– OSPVT - define oil-solvent PVT data
– SPVT - define solvent PVT data
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

6.76. MFVP - Miscibility Factor vs. Pressure 283


Tempest MORE Help, Release 8.1

Examples

1. MFVP is used to specify a miscibility factor vs. pressure table for a solvent simulation.

MFVP P Fm
500 0.01
1000 0.05
2000 0.13
3000 0.43
4000 0.82
4300 1.0
10000 1.0
/

From the MFVP table above, full miscibility is developed at 4300 psi when the Fm value first equals 1.0.

284 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.77 MISC - Reference Surface Tension Data for Solvents

Location

FLUI Section

Note: the MISC keyword is no longer required: it was only needed for the now-withdrawn multi-gas solvent
option. Users should now use the SURF keyword to enter surface tension data for equation-of-state simulations.

Description

The MISC keyword is used with the SOLV option to turn on the use of interpolation between immiscible and
miscible relative permeability curves for a solvent system. The use of MISC requires that the multi-gas solvent
option be turned on with the SOLV or CNAM keywords.
MISC consists of two optional arguments which should be entered on the same line as the MISC keyword itself if
used.

Definitions

1. Reference surface tension (optional): STref


• Units: dynes/cm
• Default: 10
2. K-exponent which appears in the interpolation between immiscible (rock) and miscible (straight) line curves
(optional)
• Default: 0.25

Examples

1. MISC is used to set a reference surface tension of 12.0 dynes/cm in an equation-of-state simulation.

MISC 12.0

2. MISC is used to set a default reference surface tension of 10 dynes/cm and K-exponent of 0.20 in an
equation-of-state simulation.

MISC 1* 0.20

6.77. MISC - Reference Surface Tension Data for Solvents 285


Tempest MORE Help, Release 8.1

6.78 OSPVT - Defines Oil-Solvent PVT Data

Location

FLUI Section

Note: the OSPVT oil-solvent table is no longer required: it was only needed for the now-withdrawn multi-gas
solvent option. Users should now use the Todd-Longstaff solvent model and enter solvent PVT data using the
SPTV keyword.

Description

The OSPVT keyword is used with the SOLV option to define oil-solvent PVT data for a solvent simulation. OS-
PVT is analogous to OPVT and is used when the SOLV option is employed. OPVT describes the PVT properties
of the oil in the presence of reservoir gas, while OSPVT describes the PVT properties of oil in the presence of
solvent.
Arguments for OSPVT consist of a table with up to seven columns which should start on a separate line below
the OSPVT keyword itself. Of the seven columns the first four columns are required, with the last three columns
being optional. Following the final row of OSPVT data in the table, a solitary slash (/) on its own line is required
to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Oil phase pressure
• Units: psi (Field), bar (Metric)
2. Oil phase formation volume factor: Bo
• Units: rb/stb (Field), m3 /m3 (Metric)
3. Oil phase viscosity: µo
• Units: cP (Field), cP (Metric)
4. Solution gas-oil ratio: Rs
• Units: Mscf/stb (Field), 103 m3 /m3 (Metric)
dBo
5. Oil phase compressibility (optional): − B1o × dp

• Units: 1/psi (Field), 1/bar (Metric)


1 dµo
6. Normalized viscosity slope (optional): µo × dp

• Units: 1/psi (Field), 1/bar (Metric)


7. Surface tension (optional)
• Units: dynes/cm (Field), dynes/cm (Metric)

Notes

• The pressures must increase with each entry in the table.


• Surface tension values are only required when the MISC relative permeability option is used.
• Please see the Solvent section of the MORE Technical Reference for more information regarding the treat-
ment of solvents in Tempest.

286 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

• Other keywords associated with solvent modelling in Tempest include:


– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

Examples

1. OSPVT is used to define oil-solvent PVT data for a solvent simulation.

OSPVT Pressure Oil FVF Oil Visc RS CompOil CViscOil SurfTen


1.014 1.062 1.040 0.000178 2* 20
18.250 1.150 0.975 0.016119 2*
35.487 1.207 0.910 0.032059 2*
69.961 1.295 0.830 0.066078 2*
138.909 1.435 0.695 0.113277 2*
173.382 1.500 0.641 0.138034 2*
207.856 1.565 0.594 0.165640 2*
276.804 1.695 0.510 0.226197 1.98702e-04 1.30534e-03
345.751 1.827 0.449 0.288179 2*
621.541 2.357 0.203 0.531474 2* 5
/

6.78. OSPVT - Defines Oil-Solvent PVT Data 287


Tempest MORE Help, Release 8.1

6.79 SPVT - Defines Solvent PVT Data

Location

FLUI Section

Description

The SPVT keyword is used to define solvent PVT data for a solvent simulation. SPVT is analogous to GPVT and
is used when the SOLV option is employed. GPVT describes the PVT properties of the reservoir gas, whilst SPVT
describes the PVT properties of the solvent gas.
Arguments for SPVT consist of a table with three required columns which should start on a separate line below
the SPVT keyword itself. Following the final row of SPVT data in the table, a solitary slash (/) on its own line is
required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Solvent phase pressure
• Units: psi (Field), bar (Metric)
2. Solvent phase formation volume factor: Bs
• Units: rb/Mscf (Field), sm3 /skm3 (Metric)
3. Solvent phase viscosity
• Units: cP (Field), cP (Metric)

Notes

• Please see the Solvent section of the MORE Technical Reference for more information regarding the treat-
ment of solvents in Tempest.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– OSPVT - define oil-solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

288 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

Examples

1. SPVT is used to define solvent PVT data for a solvent simulation.

SPVT Pressure Solvent FVF Solvent Visc


1.014 935.9505 0.0080
18.250 67.8971 0.0096
35.487 35.2259 0.0112
69.961 17.9498 0.0140
100.0 13.0 0.0160
138.909 9.0619 0.0189
173.382 7.2653 0.0208
207.856 6.0637 0.0228
276.804 4.5534 0.0268
345.751 3.6439 0.0309
621.541 2.1672 0.0470
/

6.79. SPVT - Defines Solvent PVT Data 289


Tempest MORE Help, Release 8.1

6.80 TLMS - Minimum miscibility saturation factor

Location

FLUI Section

Description

The TLMS keyword is used to set the minimum miscibility saturation factor in a solvent simulation. The use of
TLMS requires that the four-phase Todd-Longstaff solvent option be turned on with the SOLV or CNAM keyword.
TLMS consists of one required argument which should be entered on the same line as the TLMS keyword itself.

Definitions

1. Minimum miscibility saturation factor (MiscSat)


• Default: 0.01

Notes

• MiscSat has a valid range between 0 and 1.


• It is recommended that the value of MiscSat is not changed from its default value.
• Please see the Solvent section of the MORE Technical Reference for more information regarding the Todd-
Longstaff model in Tempest.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– OSPVT - define oil-solvent PVT data
– SPVT - define solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration

Example

1. TLMS keyword is used to change the minimum miscibility saturation factor from default of 0.01 to 0.02.

TLMS 0.02

290 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.81 TODD - Use Todd-Longstaff Viscosity Mixing Rule

Location

FLUI Section

Description

The TODD keyword is used to specify that the Todd-Longstaff viscosity mixing rule should be used. As a function
of the omega parameter, the oil and gas viscosities are a mixture of the separate phase viscosities and a combined
oil/gas mixture viscosity. The use of TODD requires that the four-phase Todd-Longstaff solvent option be turned
on with the SOLV or CNAM keywords.
TODD consists of one required argument which should be entered on the same line as the TODD keyword itself.

Definitions

1. Omega
• Default: 2/3

Notes

• See the Solvent section of the MORE Technical Reference for more information regarding the Todd-
Longstaff model in Tempest.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– OSPVT - define oil-solvent PVT data
– SPVT - define solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

Example

1. In this example, we have a simple one dimensional displacement demonstrating a miscible flood. The
TODD keyword is used to specify that the simulation should use the Todd-Longstaff viscosity mixing rule
with an omega of 1.0, indicating the use of fully mixed viscosities and densities.

TODD 1.0

6.81. TODD - Use Todd-Longstaff Viscosity Mixing Rule 291


Tempest MORE Help, Release 8.1

The resulting solvent phase profile shows a typical miscible profile, with no solvent ahead of the front and
no oil behind it, as shown below where the solvent and oil phase saturations are displayed after 10 years:

At the end of the run, recovery is 100% for both oil and reservoir gas. The gas-oil ratio shows an extremely
sharp rise at breakthrough:

2. In this example, we once again have a simple one dimensional displacement demonstrating a miscible

292 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

flood. However, in this case, the TODD keyword is used to specify that the simulation should use the
Todd-Longstaff viscosity mixing rule with an omega of 0.5, indicating only partial mixing of the miscible
components.

TODD 0.5

As a result, the solvent saturation still goes to 1 and the oil saturation is still 0 behind the front, but there is a
non-zero solvent saturation ahead of the front now. This can be seen below where the solvent and oil phase
saturations are displayed after 10 years:

At the end of the run, the recovery is still 100% but the gas breakthrough is less sharp:

6.81. TODD - Use Todd-Longstaff Viscosity Mixing Rule 293


Tempest MORE Help, Release 8.1

294 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.82 CBM - Coal Bed Methane Modelling

Location

FLUI Section

Description

The CBM (coal bed methane) keyword is used to turn on coal bed methane modelling in Tempest. CBM consists
of one optional argument which should be entered on the same line as the CBM keyword itself if used.

Definitions

1. Turn on the Palmer Mansoori option (optional):


• PM - the optional PM argument turns on the Palmer Mansoori option which models the effects of coal
shrinkage.

Notes

• See Coal Bed Methane Modelling for more information regarding coal bed methane modelling in Tempest.
• Other keywords associated with coal bed methane modelling in Tempest include:
– LANG - global values for coal bed methane modelling
– CDEN - density of coal
– FASH - array of ash fractions
– CLAN - array of Langmuir constants
– PLAN - array of Langmuir pressures
– TLAN - array of Langmuir times
– PDSI - array of initial desorption pressures
– GCRI - array of initial gas content of coal
• For an equation of state coal bed methane model, the following keywords become relevant:
– CCOA - components adsorbed by coal
– CLNn - array of Langmuir constants for absorbed component n
– PLNn - array of Langmuir pressures for absorbed component n
– TLNn - array of Langmuir times for absorbed component n
– PDSn - array of initial desorption pressure for absorbed component n
• For a coal bed methane model that uses the Palmer Mansoori option, the following keywords become
relevant:
– EROC - array of Young’s modulus values
– PROC - array of Poisson’s ratios
– FROC - array of mixing fractions
– FSHR - array of shrinkage factors
– CGRA - array of grain compressibilities
– ELOB - array of Palmer Mansoori EL/B values

6.82. CBM - Coal Bed Methane Modelling 295


Tempest MORE Help, Release 8.1

Examples

1. CBM is used to request coal bed methane modelling in Tempest. See CoalBedMethane.dat for complete
example:

CBM

296 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.83 CCOA - Components Adsorbed by Coal in Compositional


CBM Modelling

Location

FLUI Section

Description

The CCOA keyword is used to define the components adsorbed by coal in compositional coal bed methane mod-
elling. When the CBM option is being used in compositional mode, the CCOA keyword specifies which hydrocar-
bons are allowed to adsorb in the coal. This defines the adsorbed component indices for the component Langmuir
constants such as TLN1 , TLN2 , etc.
Arguments for CCOA consist of a list of components that are allowed to be adsorbed in the coal. This list should
be entered on the same line as the CCOA keyword itself when used.

Definitions

1. List of components that are allowed to be adsorbed in the coal

Notes

• See Coal Bed Methane Modelling for more information regarding coal bed methane modelling in Tempest.
• Other keywords associated with coal bed methane modelling in Tempest include:
– CBM - enable coal bed methane modelling
– LANG - global values for coal bed methane modelling
– CDEN - density of coal
– FASH - array of ash fractions
– CLAN - array of Langmuir constants
– PLAN - array of Langmuir pressures
– TLAN - array of Langmuir times
– PDSI - array of initial desorption pressures
– GCRI - array of initial gas content of coal
• For an equation of state coal bed methane model, the following keywords become relevant:
– CLNn - array of Langmuir constants for absorbed component n
– PLNn - array of Langmuir pressures for absorbed component n
– TLNn - array of Langmuir times for absorbed component n
– PDSn - array of initial desorption pressure for absorbed component n
• For a coal bed methane model that uses the Palmer Mansoori option, the following keywords become
relevant:
– EROC - array of Young’s modulus values
– PROC - array of Poisson’s ratios
– FROC - array of mixing fractions
– FSHR - array of shrinkage factors

6.83. CCOA - Components Adsorbed by Coal in Compositional CBM Modelling 297


Tempest MORE Help, Release 8.1

– CGRA - array of grain compressibilities


– ELOB - array of Palmer Mansoori EL/B values

Examples

1. CCOA is used to provide a list of components adsorbed by coal in compositional coal bed methane mod-
elling. In this example, we allow methane and carbon dioxide to be adsorbed by the coal.

CCOA C1 CO2

Thus, the Langmuir constants for methane will be CLN1, PLN1, and TLN1. For CO2, these will be CLN2,
PLN2, and TLN2.

298 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.84 CDEN - Coal Density

Location

FLUI Section

Description

The CDEN keyword is used to specify coal density in a coal bed methane model. As the Langmuir volume is
specified in terms of mass, the density of the coal needs to be specified. This is entered using the CDEN keyword.
To use CDEN, the CBM keyword must first be specified in the INPU or FLUI sections to turn on coal bed methane
modelling.
Arguments for CDEN consist of one required argument which should be entered on the same line as the CDEN
keyword itself when used.

Definitions

1. Coal density
• Units: tons/acre-ft (Field), kg/m3 (Metric)

Notes

• The default coal density is obtained from a coal specific gravity of 1.3.
• 1 ton/acre-ft is 0.0459136 lbs/ft3 .
• See Coal Bed Methane Modelling for more information regarding coal bed methane modelling in Tempest.
• Other keywords associated with coal bed methane modelling in Tempest include:
– CBM - enable coal bed methane modelling
– LANG - global values for coal bed methane modelling
– FASH - array of ash fractions
– CLAN - array of Langmuir constants
– PLAN - array of Langmuir pressures
– TLAN - array of Langmuir times
– PDSI - array of initial desorption pressures
– GCRI - array of initial gas content of coal
• For an equation of state coal bed methane model, the following keywords become relevant:
– CCOA - components adsorbed by coal in compositional coal bed methane modelling
– CLNn - array of Langmuir constants for absorbed component n
– PLNn - array of Langmuir pressures for absorbed component n
– TLNn - array of Langmuir times for absorbed component n
– PDSn - array of initial desorption pressure for absorbed component n
• For a coal bed methane model that uses the Palmer Mansoori option, the following keywords become
relevant:
– EROC - array of Young’s modulus values
– PROC - array of Poisson’s ratios

6.84. CDEN - Coal Density 299


Tempest MORE Help, Release 8.1

– FROC - array of mixing fractions


– FSHR - array of shrinkage factors
– CGRA - array of grain compressibilities
– ELOB - array of Palmer Mansoori EL/B values

Examples

1. CDEN is used to specify a coal density of 1742 tons/acre-ft for a coal bed methane model.

CDEN 1742

300 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.85 LANG - Global Values for Coal Bed Methane Modelling

Location

FLUI Section

Description

The LANG keyword is used to set up global values of the Langmuir constants for coal bed methane modelling. To
use LANG, the CBM keyword must first be specified in the INPU or FLUI sections to turn on coal bed methane
modelling. Values which vary across the field may be set up using the CLAN, PLAN, and TLAN grid section
array keywords. For compositional coal bed methane models, keywords like CLN1, CLN2 etc. are used instead of
CLAN; PLN1, PLN2 etc. are used instead of PLAN; and TLN1, TLN2 etc. are used instead of TLAN.
Arguments for LANG consist of three required arguments which should all be entered in succession on the same
line as the LANG keyword itself when used.

Definitions

1. Langmuir constant: CL
• The Langmuir constant controls the volume of gas per mass of rock.
• Units: scf/ton (Field), sm3 /tonne (Metric)
• Default: 0
2. Langmuir pressure: PL
• The Langmuir pressure determines the amount of absorbed coal gas as a function of desorption pres-
sure.
• Units: psia (Field), barsa (Metric)
• Default: 1 atm
3. Langmuir time: TL
• The Langmuir time sets the time constant for coal gas desorption or absorption
• Units: days
• Default: 10 days

Notes

• The units employed in coal bed methane modelling are different from the usual MORE ones. For example,
CL is in terms of scf/ton, not Mscf, in field units, and sm3 /tonne, not ksm3 .
• A metric tonne is 1000 kgs. A field unit ton is a short (USA) ton of 2000 lbs.
• Please see the Coal Bed Methane section of the MORE Technical Reference for more information regarding
coal bed methane modelling in Tempest.
• Other keywords associated with coal bed methane modelling in Tempest include:
– CBM - enables coal bed methane modelling
– CDEN - density of coal
– FASH - array of ash fractions
– CLAN - array of Langmuir constants
– PLAN - array of Langmuir pressures

6.85. LANG - Global Values for Coal Bed Methane Modelling 301
Tempest MORE Help, Release 8.1

– TLAN - array of Langmuir times


– PDSI - array of initial desorption pressures
– GCRI - array of initial gas content of coal
• For an equation of state coal bed methane model, the following keywords become relevant:
– CCOA - components adsorbed by coal in compositional coal bed methane modelling
– CLNn - array of Langmuir constants for absorbed component n
– PLNn - array of Langmuir pressures for absorbed component n
– TLNn - array of Langmuir times for absorbed component n
– PDSn- array of initial desorption pressure for absorbed component n
• For a coal bed methane model that uses the Palmer Mansoori option, the following keywords become
relevant:
– EROC - array of Young’s modulus values
– PROC - array of Poisson’s ratios
– FROC - array of mixing fractions
– FSHR - array of shrinkage factors
– CGRA - array of grain compressibilities
– ELOB - array of Palmer Mansoori EL/B values

Examples

1. LANG is used to specify a Langmuir constant of 720 scf/ton, a Langmuir pressure of 571 psia, and a
Langmuir time of 10 days for a coal bed methane model.

LANG 720 571.0 10.0

302 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.86 SHAL - Shale Gas Modelling

Location

INPU or FLUI Section

Description

The SHAL keyword is used to turn on shale gas modelling in Tempest. There are no required arguments for
SHAL.

Definitions

n/a

Notes

• See the shale gas section of the MORE Technical Reference for more information regarding shale gas
modelling in Tempest.
• Other keywords associated with coal bed methane modelling in Tempest include:
– AGVP - Available shale gas variation with pressure
– SRV - Set up a stimulated reservoir volume
– SRVW - Set up a stimulated reservoir volume along a trajectory

Examples

1. SHAL is used to request shale gas modelling in Tempest. See ShaleGas.dat for complete example:

SHAL

6.86. SHAL - Shale Gas Modelling 303


Tempest MORE Help, Release 8.1

6.87 AGVP - Available Shale Gas Variation with Pressure

Location

FLUI Section

Description

The AGVP keyword is used to define the available gas per unit reservoir volume contained in a shale as a function
of pressure. To use AGVP, the SHAL keyword must first be entered in the INPU or FLUI sections to turn on shale
gas modelling. Arguments for AGVP consist of a table with two columns which should start on a separate line
below the AGVP keyword itself. Following the final row of AGVP data in the table, a solitary slash (/) on its own
line is required to terminate the data entry for this keyword.
Definitions:
The following arguments should be entered in a tabular format.
1. Saturation pressure
• Units: psi (Field), bar (Metric)
2. Available gas
• Units: mscf/rb (Field), ksm3 /rm3 (Metric)
The pressures must increase with each entry in the table.

Notes

• For shale gas modelling, the true porosity is assumed to be negligibly small. Hence, although the gas is only
absorbed by the rock volume, the latter is assumed to coincide with the reservoir volume.
Example: Field Units

AGVP
0.0 0.0 /
1000 0.03 /
/

304 Chapter 6. Tempest MORE fluid section keywords


Tempest MORE Help, Release 8.1

6.88 BRINE - Enable Brine Tracking

Location

FLUI or INPU Sections

Description

The BRINE keyword is used to turn on brine tracking in Tempest. There are no required arguments for BRINE.

Notes

• See the Brine Tracking section of the MORE Technical Reference for more information regarding brine
tracking in Tempest.
• Other keywords associated with brine tracking in Tempest include:
– PVTB - brine PVT data
– BDEN - brine surface densities
– SCVD - initial variation of salt concentration with depth
– SALT - initial salt concentration array
– WSALT - salt injection concentration for an injector well

Examples

1. BRINE is used to request brine tracking in Tempest.

BRINE

6.88. BRINE - Enable Brine Tracking 305


Tempest MORE Help, Release 8.1

306 Chapter 6. Tempest MORE fluid section keywords


CHAPTER

SEVEN

TEMPEST MORE RELATIVE PERMEABILITY SECTION


KEYWORDS

7.1 ADJU - Adjustments to Relative Permeability Curves

Location

RELA Section

Description

Note: ADJU is a deprecated keyword which is read by MORE 6.0 and up but no longer has any effect and need
not be used.

The ADJU keyword is used to provide adjustments for the capillary pressures in relative permeability curves.
ADJU may be placed before a set of relative permeability data to influence the way in which these are read. The
values remain in place until another ADJU keyword is read.
ADJU consists of two optional arguments which should be entered on a separate line below the ADJU keyword
itself if used. If no arguments are entered with ADJU, they will automatically take on their default values.

Definitions

1. Scaling factor for the oil-water capillary pressures (optional): Pcowlift


• Default: 1.0
2. Scaling factor for the oil-gas capillary pressures (optional): Pcoglift
• Default: 1.0

Notes

• If a non-default value of the scaling factor for the oil-water capillary pressures (Pcowlift) is read, the oil-
water capillary pressures in the relative permeability curves provided after ADJU will be divided by Pcowlift
so that Pcow = Pcow(table)/Pcowlift.
• If a non-default value of the scaling factor for the oil-gas capillary pressures (Pcoglift) is read, the oil-gas
capillary pressures in the relative permeability curves provided after ADJU will be divided by Pcoglift so
that Pcog = Pcog(table)/Pcoglift.
• To return to default ADJU values, simply enter a default-only value.
• Some other functions of the ADJU keyword, such as the specification of a connate water saturation are no
longer supported. Connate saturations are now specified by the first line of the water saturation table.

307
Tempest MORE Help, Release 8.1

Example

ADJU is used to introduce an oil-water capillary pressure scaling factor of 5 to a simple relative permeability table
with a linear oil-water capillary pressure variation as provided by KRWO.

ADJU
5

KRWO Swat Krw Krow Pcow


0.12 0.0 1.00 0
0.50 0.04 0.20 2
1.00 1.00 0.00 5

With the scaling factor introduced by ADJU, the input above would be equivalent to the following KRWO table
with the adjusted oil-water capillary pressures:

KRWO Swat Krw Krow Pcow


0.12 0.0 1.00 0.0
0.50 0.04 0.20 0.4
1.00 1.00 0.0 1.0

308 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.2 EPS - Endpoint Scaling Option

Location

INPU Section

Description

The EPS keyword is used to turn on the endpoint scaling options. By default, the scaling of capillary pressure
follows the relative permeability option. An alternative option is to use EPSP keyword to set a different option for
capillary pressure endpoint scaling.
EPS consists of one optional argument which should be entered on the same line as the EPS keyword itself if used.

Definitions

1. Endpoint scaling option (optional): 3POINT or 4POINT


• 3POINT (default) - the default 3POINT option will scale a relative permeability curve at the connate,
critical, and upper saturations
• 4POINT - the 4POINT option will scale a relative permeability curve at the connate, critical, other
phase residual, and upper saturations

Notes

• Generally, 4-point scaling is the better option and is recommended, as is preserves the region in which both
phases are mobile.
• 4-point scaling is always used for looking up Krwg, the relative permeability of water in gas, for oil-wet
runs with endpoint scaling.
• Entering only the first letter of the required endpoint scaling option is sufficient. For example, for the
3POINT option, entering the following will suffice:

EPS 3

• See Relative Permeability Calculations in the MORE Technical Reference for more information about 3
and 4-point endpoint scaling in MORE.

Example

1. EPS is used to request 4POINT endpoint scaling.

EPS 4

2. EPS is used to turn on the endpoint scaling option using the default 3POINT option and it is used with EPSP
to request a 2POINT capillary pressure endpoint scaling.

EPS
EPSP 2

7.2. EPS - Endpoint Scaling Option 309


Tempest MORE Help, Release 8.1

7.3 EPSP - Capillary Pressure Endpoint Scaling Option

Location

INPU Section

Description

The EPSP keyword is used to turn on the capillary pressure endpoint scaling option. By default, the scaling of
capillary pressure follows the relative permeability option set with EPS. If EPS is not entered, the default will be
3POINT.
EPSP consists of one required argument which should be entered on the same line as the EPSP keyword itself
when used.

Definitions

1. Capillary pressure endpoint scaling option: 0POINT, 2POINT, 3POINT, or 4POINT


• 0POINT - suppress the scaling of capillary pressures (only relative permeabilities will be scaled)
• 2POINT - scale a capillary pressure curve at the connate and upper saturations
• 3POINT (default) - scale a capillary pressure curve at the connate, critical, and upper saturations
• 4POINT - scale a capillary pressure curve at the connate, critical, other phase residual, and upper
saturations

Notes

• Entering only the first letter of the required capillary pressure scaling option is sufficient. For exam-
ple, for the 2POINT option, entering the following will suffice:

EPSP 2

• NO and OFF may be used as aliases for 0POINT to suppress the scaling of capillary pressures.
• The capillary pressure is used to calculate saturations during equilibration in the transition zones, so the
options on the EPSP keyword will affect the initial solution as well as the dynamic capillary pressures.
• See Relative Permeability Calculations in the MORE Technical Reference for more information about cap-
illary pressure endpoint scaling.

Example

1. EPSP is used to request 4POINT capillary pressure endpoint scaling.

EPSP 4

2. EPS is used to request turn on the endpoint scaling option using the default 3POINT option and it is used
with EPSP to request a 2POINT capillary pressure endpoint scaling.

EPS
EPSP 2

310 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.4 FRPC - Freeze Capillary Pressures

Location

RELA Section

Description

The FRPC keyword is used to freeze capillary pressures for the duration of a run. In some runs, the capillary
pressures required to define the initial solution may be sufficiently large to cause instability in IMPES (Implicit
Pressures, Explicit Saturations) mode. FRPC allows the capillary pressures to be fixed at their initial values for the
duration of the run. This keyword is not required in fully implicit mode but is available when running in IMPES
mode.
There are no required arguments for FRPC.

Definitions

n/a

Notes

n/a

Example

1. FPRC is used to fix capillary pressures at their initial values for the duration of a run.

FRPC

7.4. FRPC - Freeze Capillary Pressures 311


Tempest MORE Help, Release 8.1

7.5 FFVS - Solvent and Gas Fractional Flows vs. Solvent Fraction

Location

RELA Section

Description

The FFVS keyword is used to specify a table of solvent and gas fractional flows as a function of solvent fractions.
FFVS is a saturation table, so one is required for each saturation table region. The use of FFVS requires that the
four-phase Todd-Longstaff solvent option be turned on with the SOLV or CNAM keywords.
Arguments for FFVS consists of a table with three columns. This table should be entered on a separate line below
the FFVS keyword itself. Following the final row of FFVS data in the table, a solitary slash (/) on its own line is
required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Fraction of the combined gas+solvent saturation which is solvent (Fs)
2. Fractional flow of solvent at solvent fraction (FFs)
3. Fractional flow of gas at solvent fraction (FFg)

Notes

• The fraction of the combined gas+solvent saturation which is solvent, Fs, can be calculated as follows:
Ss
Fs =
Sg + Ss
where Fs is the solvent fraction, Ss is the solvent saturation, and Sg is the gas saturation
• Saturation values must increase with each table entry.
• See the The Four Phase Todd-Longstaff Solvent Model of the MORE Technical Reference for more infor-
mation regarding solvents.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– OSPV - define oil-solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

312 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

Example

1. FFVS is used to provide a table of miscibility factors vs. solvent fractions.

FFVS Fs FFs FFg


0.0 0.0 1.0
0.1 0.0 1*
1.0 1.0 0.0
/

From the table above, a critical solvent fraction of 0.1 is imposed. This is used to indicate that solvent will
not flow in the gas+solvent phase until a solvent fraction of 0.1 is reached.

7.5. FFVS - Solvent and Gas Fractional Flows vs. Solvent Fraction 313
Tempest MORE Help, Release 8.1

7.6 GSF - Gas Saturation Functions

Location

RELA Section

Description

The GSF keyword is used to define gas saturation functions. Arguments for GSF consist of a table of relative
permeabilities for gas as a function of gas saturation. This table should start on a separate line below the GSF
keyword and data entry for GSF must be terminated by a solitary slash (/) on a separate line below the last entry
in the table. The GSF table can consist of up to five columns. Of the five columns, the first three columns of data
are required. The last two columns of data are optional.

Definitions

The following arguments should be entered in a tabular format.


1. Gas saturation: Sg
2. Relative permeability of the gas phase at connate water saturation: Krg
3. Gas-oil capillary pressure: Pcog
4. Hysteresis relative permeability of gas for decreasing gas saturation (optional): Krgh
5. Hysteresis gas-oil capillary pressure (optional): Pcogh

Notes

• Saturation values must increase with each entry in the GSF table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in the table.
• If a hysteresis column is entered and is different from the non-hysteresis column, the appropriate hysteresis
modelling option will be enabled.
• The hysteresis column is the relative permeability for decreasing gas saturation. As gas is the non-wetting
phase with respect to liquid, a decreasing gas saturation corresponds to an imbibition process. So, in terms
of usual engineering terminology, Krg is the drainage process curve and Krgh is the imbibition process
curve.
• The drainage and imbibition curves must coincide at their upper limits. The imbibition curve must be
steeper than the drainage curve so that the residual gas on the imbibition curve, the trapped gas saturation,
will normally be larger than the critical gas saturation on the drainage curve.
• In all cases, the hysteresis capillary pressure corresponds to decreasing gas phase saturation.
• See the Relative Permeability Calculations section of the MORE Technical Reference for more information
regarding relative permeabilities, capillary pressures, and hysteresis.

Example

1. GSF is used to enter a gas saturation function table without hysteresis.


GSF Sg Krg Pcog
0.00 0.000 0.00
0.04 0.000 0.20
0.10 0.022 0.50
0.20 0.100 1*

314 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

0.30 0.240 1.50


0.40 0.340 2.00
0.50 0.420 1*
0.60 0.500 3.00
0.70 0.812 3.50
0.78 1.000 3.90
/

Some of the entries for Pcog in the GSF table above have been defaulted using the 1* convention. In this
case, these values will be interpolated.

7.6. GSF - Gas Saturation Functions 315


Tempest MORE Help, Release 8.1

7.7 KRDR - Directional Relative Permeabilities

Location

INPU or RELA Sections

Description

The KRDR keyword is used to turn on directional relative permeabilities. The saturation tables used for flows
in the x-, y-, and z-directions are then specified in the GRID section using the KRDX , KRDY , and KRDZ array
keywords. Flows into wells are still controlled by the ROCK or ROCK saturation table numbers.
KRDR consists of one optional argument which should be entered on the same line as the KRDR keyword itself
if used.

Definitions

1. Request irreversible directional relative permeabilities: IRRV

Notes

• IREV may be used as an alias for IRRV when requesting irreversible directional relative permeabilities in
KRDR.
• The KRDR default is reversible directional relative permeabilities.
• Different saturation tables may be specified for flows in the positive and negative x-, y-, and z-directions.
The saturation tables for positive direction flows are still specified using the KRDX, KRDY, and KRDZ
keywords.
• When the IRRV option is used with KRDR, the saturation tables for negative direction flows are specified
using the KRMX, KRMY, and KRMZ keywords.
• Please refer to the Directional Relative Permeabilities section of the MORE Technical Reference for more
information about directional relative permeabilities.

Example

1. KRDR is used to request directional relative permeabilities. See DIR_KR.dat for complete example:

KRDR

2. KRDR is used with the IRRV option to request irreversible directional relative permeabilities. See
DIR_KR_IRRV.dat for complete example:

KRDR IRRV

316 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.8 KRGO - Gas-Oil Relative Permeability Table

Location

RELA Section

Description

The KRGO keyword is used to define a gas-oil relative permeability table. Arguments for KRGO consist of two
records. The first record consists of one optional argument which should be entered on the same line as the KRGO
keyword itself if used. The second record consists of a table of gas-oil relative permeability data. This table should
start on a separate line below the KRGO keyword and data entry for KRGO must be terminated by a solitary slash
(/) on a separate line below the last entry in the table. The KRGO table can consist of up to seven columns. Of the
seven columns, the first three columns of data are required. The last four columns of data are optional.

Definitions

RECORD 1:
1. Specify that table entries are specified in reverse order (optional): REVE
• REVE - specifies that table entries are specified in reverse order; the first column becomes liquid
saturation and the columns for Krg (relative permeability of the gas phase in the presence of oil and
connate water) and Krog (relative permeability of the oil phase in the presence of oil and connate
water) are reversed.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Gas saturation (or liquid saturation if the REVE option is used)
2. Relative permeability of the gas phase in the presence of oil and connate water: Krg
3. Relative permeability of the oil phase in the presence of gas and connate water: Krog
4. Gas-oil capillary pressure in the presence of oil and connate water (optional): Pcog
5. Hysteresis gas relative permeability in the presence of oil and connate water (optional): Krgh
6. Hysteresis oil relative permeability in the presence of gas and connate water (optional): Krogh
7. Hysteresis gas-oil capillary pressure in the presence of oil and connate water (optional): Pcogh

Notes

• Saturation values must increase with each entry in the KRGO table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in the table.
• If a hysteresis column is the relative permeability for decreasing phase saturation. For capillary pressure,
the hysteresis column is the column for decreasing water saturation.
• As gas is the non-wetting phase with respect to liquid, a decreasing gas saturation corresponds to an imbi-
bition process. So, in terms of usual engineering terminology, Krg is the drainage process curve and Krgh
is the imbibition process curve.
• The Krg drainage and imbibition curves must coincide at their upper limits. The imbibition curve must be
steeper than the drainage curve so that the residual gas on the imbibition curve, the trapped gas saturation,
will normally be larger than the critical gas saturation on the drainage curve.
• As liquid is a wetting phase saturation with respect to gas, Krog is the imbibition process curve and Krogh
is the drainage process curve.

7.8. KRGO - Gas-Oil Relative Permeability Table 317


Tempest MORE Help, Release 8.1

• Wetting (oil) phase hysteresis may be modelled. This will occur if the Krog and Krogh curves are different.
The Krog drainage and imbibition curves have the same critical saturations and maximum values, but the
relative permeability must be greater on the imbibition curve than on the drainage curve.
• Please refer to the Relative Permeability Calculations section of the MORE Technical Reference for more
information regarding relative permeabilities, capillary pressures, and hysteresis.

Example

1. KRGO is used to define a gas-oil relative permeability table.

KRGO Sg Krg Krog


0.000 0.0000 1.0000 /
0.020 0.0006 0.8966 /
0.050 0.0039 0.7554 /
0.100 0.0156 0.5543 /
0.200 0.0625 0.2657 /
0.300 0.1406 0.1001 /
0.400 0.2500 0.0233 /
0.500 0.3906 0.0012 /
0.800 1.0000 0.0000 /
/

As no capillary pressure has been specified in this table, it will be set to 0 by default.

318 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.9 KRWG - Water in Gas Relative Permeability Table

Location

RELA Section

Description

The KRWG keyword is used to define a water in gas relative permeability table. Arguments for KRWG consist
of a table of water in gas relative permeability data. This table should start on a separate line below the KRWG
keyword and data entry for KRWG must be terminated by a solitary slash (/) on a separate line below the last entry
in the table. The KRWG table can consist of up to three columns. Of the three columns, the first two columns of
data are required. The last column of data is optional.

Definitions

The following arguments should be entered in a tabular format.


1. Water saturation
2. Relative permeability of the water phase in the presence of gas: rkwg
3. Hysteresis relative permeability of the water phase in the presence of gas (optional): rkwgh

Notes

• Saturation values must increase with each entry in the KRWO table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in the table.
• The KRWG table is only required for the oil-wet option. If oil is the wetting phase, water becomes the
intermediate phase, and the intermediate phase will generally have a different relative permeability with
respect to oil and with respect to water. The Krwo value is taken from the normal KRWO table, and the
Krwg value may be entered with KRWG.
• If the Krwg values are not entered with KRWG, they will be extracted from the Krog data (for example, as
entered with KRGO) and the supplied Krow values to define Kro as a simple function of oil saturation.
• If the Krwg values are entered with KRWG, it is possible to specify Krow and Krog as normal. However, it
is possible to omit the Krog values and these will then follow Krow as a function of oil saturation.
• If a hysteresis column is entered and is different from the non-hysteresis column, the appropriate hysteresis
modelling option will be enabled. As water is always wetting with respect to gas, the second column is
imbibition and the third one is drainage.
• Please refer to the Relative Permeability Calculations section of the MORE Technical Reference for more
information regarding relative permeabilities, capillary pressures, and hysteresis.

Example

1. KRWG is used to enter a simple water in gas relative permeability table without hysteresis.

KRWG Sw RKwg
0.3 0.0 /
0.5 0.1 /
0.7 0.5 /
/

7.9. KRWG - Water in Gas Relative Permeability Table 319


Tempest MORE Help, Release 8.1

7.10 KRWO - Water-Oil Relative Permeability Table

Location

RELA Section

Description

The KRWO keyword is used to define a water-oil relative permeability table. Arguments for KRWO consist of a
table of water-oil relative permeability data. This table should start on a separate line below the KRWO keyword
and data entry for KRWO must be terminated by a solitary slash (/) on a separate line below the last entry in the
table. The KRWO table can consist of up to seven columns. Of the seven columns, the first three columns of data
are required. The last four columns of data are optional.

Definitions

The following arguments should be entered in a tabular format.


1. Water saturation
2. Relative permeability of the water phase in the presence of oil: Krw
3. Relative permeability of the oil phase in the presence of water: Krow
4. Oil-water capillary pressure (optional): Pcow
5. Hysteresis water relative permeability in the presence of oil (optional): Krwh
6. Hysteresis oil relative permeability in the presence of water (optional): Krowh
7. Hysteresis oil-water capillary pressure (optional): Pcowh

Notes

• Saturation values must increase with each entry in the KRWO table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in the table.
• For a gas-water system (black oil option), the KRWO table is used to supply gas-water relative permeability.
In this case, the Krow column contains the values of Krg (i.e. gas-water is treated as hydrocarbon-water).
• The critical water saturation, Swcr, is the first value with a non-zero relative permeability value.
• If a hysteresis column is entered and is different from the non-hysteresis column, the appropriate hysteresis
modelling option will be enabled.
• The connate water saturation, Swco, is the first saturation value in the table. In versions of MORE prior to
MORE 5.5, the connate saturation was always set equal to the critical.
• The hysteresis column is the relative permeability for decreasing phase saturation. For the capillary pressure,
it is for decreasing water saturation.
• Please refer to the Relative Permeability Calculations section of the MORE Technical Reference for more
information regarding relative permeabilities, capillary pressures, and hysteresis.
Hysteresis in a water-wet system:
• In the default case of a water-wet system, oil is the non-wetting phase with respect to water, so a decreasing
oil saturation corresponds to an imbibition process. In terms of usual engineering terminology, Krow is the
drainage process curve and Krowh is the imbibition process curve.

320 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

• The Krow drainage and imbibition curves must coincide at their upper limits. The imbibition curve must
be steeper than the drainage curve so that the residual oil on the imbibition curve, the trapped oil saturation,
will normally be larger than the critical oil saturation on the drainage curve.
• When water is a wetting phase saturation with respect to oil, Krw is the water imbibition curve and Krwh is
the water drainage curve. Wetting phase hysteresis may be modelled - this requires that the Krw drainage
and imbibition curves have the same critical saturations and maximum values, but the relative permeabilities
must be greater on the imbibition curve than on the drainage curve.
Hysteresis in an oil-wet system
• If an oil-wet system is modelled using WETT, water is the non-wetting phase with respect to oil, so a
decreasing water saturation corresponds to an imbibition process. In terms of usual engineering terminology,
Krw is the drainage process curve and Krwh is the imbibition process curve, so non-wetting phase hysteresis
may be modelled for Krw.
• The Krw drainage and imbibition curves must coincide at their upper limits. The imbibition curve must
be steeper than the drainage curve so that the residual water on the imbibition curve, the trapped water
saturation, will normally be larger than the critical water saturation on the drainage curve.
• When oil is a wetting phase saturation with respect to water, Krow is the oil imbibition curve and Krowh
is the oil drainage curve. Wetting phase hysteresis may be modelled - this requires that the Krow drainage
and imbibition curves have the same critical saturations and maximum values, but the relative permeability
must be greater on the imbibition curve than on the drainage curve.

Example

1. KRWO is used to define a simple relative permeability table with capillary pressure. In this table, both the
connate water saturation and the critical water saturation are set to 0.3.

KRWO Sw Krw Krow Pcow


0.3 0.0 1.0 15.0
0.5 0.1 0.2 5.0
0.7 0.5 0.0 2.0
/

2. KRWO is used to define a relative permeability table with oil-in-water hysteresis. In this table, the connate
water saturation is set to 0.05 while the critical water saturation is set to 0.08.

KRWO Sw Krw Krow Pc Krwh Krowh


0.05 0.00 1.0 0 0.0 1.0
0.08 0.10 1* 0 0.1 1*
0.10 1* 1* 0 1* 1*
0.80 0.90 1* 0 0.9 0.0
0.90 0.95 0.0 0 0.9 0.0
1.00 1.00 0.0 0 1.0 0.0
/

In the KRWO table above, the normal critical oil saturation is 0.10 (at Sw=0.90) but the maximum trapped
oil saturation is 0.2 (at Sw=0.80).
Please note that the use of default values in the above table indicates linear interpolation between values.

7.10. KRWO - Water-Oil Relative Permeability Table 321


Tempest MORE Help, Release 8.1

7.11 MCSW - Miscible Critical Solvent Saturation with respect to


Water Saturation

Location

RELA Section

Description

The MCSW keyword is used to specify a table of miscible critical solvent saturation values with respect to water
saturation. The use of MCSW requires that the four-phase Todd-Longstaff solvent option be turned on with the
SOLV or CNAM keywords.
Arguments for MCSW consists of a table with two columns. This table should be entered on a separate line below
the MCSW keyword itself. Following the final row of MCSW data in the table, a solitary slash (/) on its own line
is required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Water saturation
2. Critical solvent saturation to be used in the fully miscible case

Notes

• Water saturation values must increase with each table entry.


• Please see the Solvent section of the MORE Technical Reference for more information regarding solvents.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– OSPVT - define oil-solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

322 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

Example

1. MCSW is used to provide a table of miscible critical solvent saturation values with respect to water satura-
tion.

MCSW Sw Kcs
0.0 0.1
0.1 0.12
0.4 0.14
1.0 0.16
/

In this case, the rising critical solvent saturation with water saturation reflects the effect of water blocking.

7.11. MCSW - Miscible Critical Solvent Saturation with respect to Water Saturation 323
Tempest MORE Help, Release 8.1

7.12 MROW - Miscible Residual Oil Saturation with respect to Wa-


ter Saturation

Location

RELA Section

Description

The MROW keyword is used to specify a table of miscible residual oil saturation values with respect to water
saturation. The use of MROW requires that the four-phase Todd-Longstaff solvent option be turned on with the
SOLV or CNAM keywords.
Arguments for MROW consists of a table with two columns. This table should be entered on a separate line below
the MROW keyword itself. Following the final row of MROW data in the table, a solitary slash (/) on its own line
is required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Water saturation
2. Residual oil saturation to be used in the fully miscible case

Notes

• Water saturation values must increase with each table entry.


• Please see the Solvent section of the MORE Technical Reference for more information regarding solvents.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– OSPVT - define oil-solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

324 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

Example

1. MROW is used to provide a table of miscible residual oil saturation values with respect to water saturation.

MROW Sw Krow
0.0 0.1
0.1 0.12
0.4 0.14
1.0 0.16
/

In this case, the rising residual oil saturation with water saturation reflects the effect of water blocking in
hiding the oil from the solvent.

7.12. MROW - Miscible Residual Oil Saturation with respect to Water Saturation 325
Tempest MORE Help, Release 8.1

7.13 MFVS - Miscibility Factor vs. Solvent Fraction

Location

RELA Section

Description

The MFVS keyword is used to specify a table of miscibility factors as a function of solvent fractions. MFVS is a
saturation table, so one is required for each saturation table region. The use of MFVS requires that the four-phase
Todd-Longstaff solvent option be turned on with the SOLV or CNAM keywords.
Arguments for MFVS consists of a table with two columns. This table should be entered on a separate line below
the MFVS keyword itself. Following the final row of MFVS data in the table, a solitary slash (/) on its own line is
required to terminate the data entry for this keyword.

Definitions

The following arguments should be entered in a tabular format.


1. Fraction of the combined gas+solvent saturation which is solvent (Fs )
2. Miscibility factor (Fm )
• This is the factor which interpolates between the miscible and immiscible hydrocarbon relative per-
meability treatments in the four-phase Todd-Longstaff solvent option

Notes

• Saturation values must increase with each table entry.


• The fraction of the combined gas+solvent saturation which is solvent, Fs , can be calculated as follows:
Ss
Fs =
Sg + Ss
where Fs =solvent fraction, Ss =solvent saturation, Sg =gas saturation
• Please see the Solvent section of the MORE Technical Reference for more information regarding solvents.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– OSPVT - define oil-solvent PVT data
– MFVP - miscibility factor vs. pressure
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SSF - relative permeabilities for solvent phase as a function of solvent saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

326 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

Example

1. MFVS is used to provide a table of miscibility factors vs. solvent fractions.

MFVS Fs Fm
0.0 0.00
0.1 0.2
0.8 0.99
1.0 1.0
/

From the table above, when the solvent fraction reaches 80%, a miscibility of 99% will be attained.

7.13. MFVS - Miscibility Factor vs. Solvent Fraction 327


Tempest MORE Help, Release 8.1

7.14 NWHY - Select Non-Wetting Phase Hysteresis for all Phase


Combinations

Location

RELA Section

Description

The NWHY keyword is used to restore the hysteresis treatment of version of MORE up to and including MORE
6.3. In this case, all phase combinations use a non-wetting hysteresis treatment, in which the critical saturation of
a phase is allowed to vary.
There are no required arguments for NWHY.

Definitions

n/a

Notes

n/a
NWHY does not effect water-in-gas relative permeability in oil-wet runs - this is always wetting.

Examples

1. NWHY is used to select non-wetting phase hysteresis for all phase combinations.

NWHY

328 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.15 OSF - Oil Saturation Functions

Location

RELA Section

Description

The OSF keyword is used to define oil saturation functions. Arguments for OSF consist of a table of relative
permeabilities for oil as a function of oil saturation. This table should start on a separate line below the OSF
keyword and data entry for OSF must be terminated by a solitary slash (/) on a separate line below the last entry
in the table. The OSF table can consist of up to five columns. Of the five columns, the first three columns of data
are required. The last two columns of data are optional.

Definitions

The following arguments should be entered in a tabular format.


1. Oil saturation
2. Relative permeability of oil in water at zero gas saturation: Krow
3. Relative permeability of oil in gas at connate water saturation: Krog
4. Hysteresis relative permeability of oil in water at zero gas saturation (optional): Krowh
5. Hysteresis relative permeability of oil in gas at connate water saturation (optional): Krogh

Notes

• Saturation values must increase with each entry in the OSF table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in the table.
• The ordering of Krow and then Krog is different from MORE’s usual oil, gas, water rule.
• If a hysteresis column is entered and is different from the non-hysteresis column, the appropriate hysteresis
modelling option will be enabled.
• The hysteresis column in the relative permeability for decreasing phase saturation. As oil is always wetting
with respect to gas, Krog corresponds to an imbibition process and Krogh to a drainage process. Wetting
phase hysteresis may be modelled in Krog.
Oil-water hysteresis in a water-wet system
• In the default case of water-wet system, oil is the non-wetting phase with respect to water, so a decreasing
oil saturation corresponds to an imbibition process. In terms of usual engineering terminology, Krow is the
drainage process curve and Krowh is the imbibition process curve. Non-wetting phase hysteresis can be
modelled in Krow.
Oil-water hysteresis in an oil-wet system
• If an oil-wet system is modelled using WETT, water is the non-wetting phase with respect to oil, so a
decreasing oil saturation corresponds to a drainage process. In terms of usual engineering terminology,
Krow is the imbibition process curve and Krowh is the drainage process curve, so wetting phase hysteresis
may be modelled in Krow.
• Please refer to the Relative Permeability Calculations section of the MORE Technical Reference for more
information regarding relative permeabilities, capillary pressures, and hysteresis.

7.15. OSF - Oil Saturation Functions 329


Tempest MORE Help, Release 8.1

Example

1. OSF is used to enter a oil saturation function table without hysteresis.

OSF So Krow Krog


0.00 0.0 0.0
0.08 1* 0.0
0.10 0.0 1*
0.18 1* 0.00
0.20 0.0 1*
0.28 1* 0.00
0.38 1* 0.00
0.40 0.048 1*
0.48 1* 0.02
0.50 0.0649 1*
0.58 1* 0.10
0.60 0.125 1*
0.68 1* 0.33
0.70 0.4 1*
0.74 1* 0.6
0.78 1.0 1.0
/

Some of the entries in the OSF table above have been defaulted. In these cases, MORE will fill them in by
interpolation in Soil.

330 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.16 PCHC - Set Curvature Parameter for Capillary Pressure Hys-


teresis

Location

RELA Section

Description

The PCHC keyword is used to set a curvature parameter for capillary pressure hysteresis. The curvature parameter
used in the capillary pressure hysteresis treatment (Killough, SPE 5016) is defaulted to 0.1. PCHC allows this
value to be reset.
PCHC consists of one required argument which should be entered on the same line as the PCHC keyword itself
when used.

Definitions

1. Curvature parameter

Notes

• Values for the curvature parameter should be in the range of 0.01 to 0.5

Examples

1. PCHC is used to set a curvature parameter of 0.075.

PCHC 0.075

7.16. PCHC - Set Curvature Parameter for Capillary Pressure Hysteresis 331
Tempest MORE Help, Release 8.1

7.17 PRIN - Printing Options for Relative Permeability

Location

RELA Section

Description

The PRIN keyword is used to define printing options for data output from the relative permeability section. PRIN
consists of one optional argument which should be entered on the same line as the PRIN keyword itself if used.

Definitions

1. Printing of relative permeability data (optional): NONE, ALL, or BASI


• NONE - none of the relative permeability data is printed
• ALL (default) - all of the relative permeability data is printed
• BASI - basic relative permeability data is printed

Notes

n/a

Example

1. PRIN is used to request the output of relative permeability data. As PRIN is used without any arguments,
this will automatically default to the ALL option and all relative permeability data will be printed.

PRIN

In this case, all relative permeability data will be printed to the RELA section of the MORE .out file
(which can be viewed under the Print tab of the results section in Tempest View)

RELA======================================================================================
Relative permeability data
==========================================================================================

Using Stone II 3-phase oil relative permeabilities


Endpoints for saturation table 1:

Oil critical saturation wrt gas : 0.00000


Oil critical saturation wrt water: 0.10000

Gas connate saturation : 0.00000


Gas critical saturation : 0.00000
Gas upper saturation : 0.80000

Water connate saturation : 0.20000


Water critical saturation : 0.20000
Water upper saturation : 1.00000

Gas capillary pressure limits: 0.00000 0.00000 psia


Water capillary pressure limits: 0.00000 0.00000 psia

332 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

Oil saturation functions, table 1:

Soil Krow Krog Krowh Krogh


------------ ------------ ------------ ------------ ------------
Row 1 : 0.0 0.0 0.0 0.0 0.0
Row 2 : 0.100000 0.0 0.001950 0.0 0.001950
Row 3 : 0.150000 0.001460 0.006590 0.001460 0.006590
Row 4 : 0.200000 0.002920 0.015620 0.002920 0.015620
Row 5 : 0.250000 0.009840 0.030520 0.009840 0.030520
Row 6 : 0.300000 0.023320 0.052730 0.023320 0.052730
Row 7 : 0.350000 0.045550 0.083740 0.045550 0.083740
Row 8 : 0.400000 0.078720 0.125000 0.078720 0.125000
Row 9 : 0.450000 0.125000 0.177980 0.125000 0.177980
Row 10 : 0.500000 0.186590 0.244140 0.186590 0.244140
Row 11 : 0.550000 0.265670 0.324950 0.265670 0.324950
Row 12 : 0.600000 0.364430 0.421880 0.364430 0.421880
Row 13 : 0.650000 0.485060 0.536380 0.485060 0.536380
Row 14 : 0.700000 0.629740 0.669920 0.629740 0.669920
Row 15 : 0.800000 1.000000 1.000000 1.000000 1.000000
------------ ------------ ------------ ------------ ------------

Gas saturation functions, table 1:

Sgas Krg Pcog Krgh Pcogh


------------ ------------ ------------ ------------ ------------
Row 1 : 0.0 0.0 0.0 0.0 0.0
Row 2 : 0.100000 0.001950 0.0 0.001950 0.0
Row 3 : 0.150000 0.006590 0.0 0.006590 0.0
Row 4 : 0.200000 0.015620 0.0 0.015620 0.0
Row 5 : 0.250000 0.030520 0.0 0.030520 0.0
Row 6 : 0.300000 0.052730 0.0 0.052730 0.0
Row 7 : 0.350000 0.083740 0.0 0.083740 0.0
Row 8 : 0.400000 0.125000 0.0 0.125000 0.0
Row 9 : 0.450000 0.177980 0.0 0.177980 0.0
Row 10 : 0.500000 0.244140 0.0 0.244140 0.0
Row 11 : 0.550000 0.324950 0.0 0.324950 0.0
Row 12 : 0.600000 0.421870 0.0 0.421870 0.0
Row 13 : 0.650000 0.536380 0.0 0.536380 0.0
Row 14 : 0.700000 0.669920 0.0 0.669920 0.0
Row 15 : 0.800000 1.000000 0.0 1.000000 0.0
------------ ------------ ------------ ------------ ------------

Water saturation functions, table 1:

Swat Krw Pcow Krwh Pcowh


WSF
------------ ------------ ------------ ------------ ------------
Row 1 : 0.200000 0.0 0.0 0.0 0.0
Row 2 : 0.300000 0.41649E-3 0.0 0.41649E-3 0.0
Row 3 : 0.350000 0.002110 0.0 0.002110 0.0
Row 4 : 0.400000 0.006660 0.0 0.006660 0.0
Row 5 : 0.450000 0.016270 0.0 0.016270 0.0
Row 6 : 0.500000 0.033740 0.0 0.033740 0.0
Row 7 : 0.550000 0.062500 0.0 0.062500 0.0
Row 8 : 0.600000 0.106620 0.0 0.106620 0.0
Row 9 : 0.650000 0.170790 0.0 0.170790 0.0
Row 10 : 0.700000 0.260310 0.0 0.260310 0.0
Row 11 : 0.750000 0.381120 0.0 0.381120 0.0
Row 12 : 0.800000 0.539780 0.0 0.539780 0.0
Row 13 : 0.900000 1.000000 0.0 1.000000 0.0
Row 14 : 1.000000 1.000000 0.0 1.000000 0.0
------------ ------------ ------------ ------------ ------------

7.17. PRIN - Printing Options for Relative Permeability 333


Tempest MORE Help, Release 8.1

GRID======================================================================================
Grid Data
==========================================================================================

2. Alternatively, PRIN is used with the ALL option to specify that all of the relative permeability data is
printed.
PRIN ALL

In this case, data output will be similar to that shown in the example above.
3. PRIN is used with the BASI option to specify that basic relative permeability data is printed.
PRIN BASI

In this case, only the basic relative permeability data will be printed to the RELA section of the MORE
.out file (which can be viewed under the Print tab of the results section in Tempest View).
RELA======================================================================================
Relative permeability data
==========================================================================================

Using Stone II 3-phase oil relative permeabilities


Endpoints for saturation table 1:

Oil critical saturation wrt gas : 0.00000


Oil critical saturation wrt water: 0.10000

Gas connate saturation : 0.00000


Gas critical saturation : 0.00000
Gas upper saturation : 0.80000

Water connate saturation : 0.20000


Water critical saturation : 0.20000
Water upper saturation : 1.00000

Gas capillary pressure limits: 0.00000 0.00000 psia


Water capillary pressure limits: 0.00000 0.00000 psia

Water saturation functions, table 1:

Swat Krw Pcow Krwh Pcowh


WSF
------------ ------------ ------------ ------------ ------------
Row 1 : 0.200000 0.0 0.0 0.0 0.0
Row 2 : 0.300000 0.41649E-3 0.0 0.41649E-3 0.0
Row 3 : 0.350000 0.002110 0.0 0.002110 0.0
Row 4 : 0.400000 0.006660 0.0 0.006660 0.0
Row 5 : 0.450000 0.016270 0.0 0.016270 0.0
Row 6 : 0.500000 0.033740 0.0 0.033740 0.0
Row 7 : 0.550000 0.062500 0.0 0.062500 0.0
Row 8 : 0.600000 0.106620 0.0 0.106620 0.0
Row 9 : 0.650000 0.170790 0.0 0.170790 0.0
Row 10 : 0.700000 0.260310 0.0 0.260310 0.0
Row 11 : 0.750000 0.381120 0.0 0.381120 0.0
Row 12 : 0.800000 0.539780 0.0 0.539780 0.0
Row 13 : 0.900000 1.000000 0.0 1.000000 0.0
Row 14 : 1.000000 1.000000 0.0 1.000000 0.0
------------ ------------ ------------ ------------ ------------

GRID======================================================================================

334 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

Grid Data
==========================================================================================

4. PRIN is used with the NONE option to specify that none of the relative permeability data is printed.

PRIN NONE

In this case, when the RELA section of the .out file (which can be viewed under the Print tab of the results
section in Tempest View), we can see that indeed, no relative permeability data is printed.

RELA======================================================================================
Relative permeability data
==========================================================================================

Using Stone II 3-phase oil relative permeabilities

GRID======================================================================================
Grid Data
==========================================================================================

7.17. PRIN - Printing Options for Relative Permeability 335


Tempest MORE Help, Release 8.1

7.18 RELA - Relative Permeability Section Header Line

Location

RELA Section

Description

The RELA keyword is used as a section header to indicate the beginning of the Relative Permeability section. The
Relative Permeability section must begin with the RELA keyword before any other RELA section keywords can
be used. There are no required arguments for RELA.
The Relative Permeability section is used to supply relative permeability and capillary pressure data in a simu-
lation. For more details on the Relative Permeability section, please see the Relative Permeability Data Section
Overview .

Definitions

n/a

Notes

n/a

Example

1. RELA is used to indicate the beginning of the Relative Permeability section.

RELA

336 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.19 SSF - Solvent Saturation Functions

Location

RELA Section

Description

The SSF keyword is used to define solvent saturation functions. The use of SSF requires that the four-phase
Todd-Longstaff solvent option be turned on with the SOLV or CNAM keyword.
Arguments for SSF consist of a table of relative permeabilities for the solvent phase as a function of solvent
saturation. This table should start on a separate line below the SSF keyword and data entry for SSF must be
terminated by a solitary slash (/) on a separate line below the last entry in the table. The SSF table consists of two
required columns.

Definitions

The following arguments should be entered in a tabular format.


1. Solvent saturation: Ss
2. Relative permeability of the solvent phase: Krs

Notes

• Saturation values must increase with each entry in the SSF table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in the table.
• Please see the Solvent section of the MORE Technical Reference for more information regarding solvents.
• Other keywords associated with solvent modelling in Tempest include:
– SOLV - set surface density of solvent
– MISC - use miscible relative permeabilities with solvent
– TODD - use Todd-Longstaff viscosity mixing rule
– SPVT - define solvent PVT data
– OSPVT - define oil-solvent PVT data
– MFVP - miscibility factor vs. pressure
– MFVS - miscibility vs. solvent fraction
– FFVS - solvent and gas fraction flows vs. solvent fraction
– MROW - miscible limit residual oil vs. water saturation
– MCSW - miscible critical solvent saturation vs. water saturation
– SOLV_WELL - define injected solvent concentration
– TLMS - define minimum miscibility saturation factor

7.19. SSF - Solvent Saturation Functions 337


Tempest MORE Help, Release 8.1

Example

1. SSF is used to enter a solvent saturation function table.

SSF Ss Krs
0.22 0.00
0.30 0.07
0.40 0.15
0.50 0.24
0.60 0.33
0.80 0.65
0.90 0.83
1.00 1.00
/

338 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.20 SCAL - Scaled Relative Permeability Curves

Location

RELA Section (after the KRWO and KRGO keywords)

Description

The SCAL keyword allows scaling operations to be performed on relative permeability tables. The curves are
scaled so that the required connate and critical saturations are obtained. The saturation ranges between these
points are simply expanded or compressed to fit.
Arguments for SCAL consist of two records. The first record consists of one required argument which should be
entered on the same line as the SCAL keyword itself. The second record consists of six required arguments which
should all be entered in succession on a separate line below the SCAL keyword when used.

Definitions

RECORD 1:
1. The number of the original relative permeability curve which is to be scaled.
• Note: Curves are numbered as they are read in. The scaled curves are always after the original curves.
RECORD 2:
1. Critical water saturation for the scaled curves
2. Critical residual oil in water saturation for the scaled curves
3. Critical gas saturation for the scaled curves
4. Critical residual oil in gas saturation for the scaled curves
5. Argument no longer used but must be present. A value of 1* should be
used as a placeholder in this case.
6. Connate water saturation for the scaled curves

Notes

• SCAL is different from grid-based end point scaling which scales tables on a cell-by-cell basis, which is
performed using GRID section keywords such as SOGC , SOWC, SGL, SGCR, SGU, SWL, SWCR, and
SWU.
• Please refer to the Relative Permeability Calculations section of the MORE Technical Reference for more
information regarding relative permeabilities.

Example

1. SCAL is used to scale a set of saturation tables defined using KRWO and KRGO . The KRWO table has
a critical water saturation of 0.20, a critical residual oil in water saturation of 0.1, and a connate water
saturation of 0.12. The KRGO table has a critical gas saturation of 0.12 and a critical residual oil in gas
saturation of 0.03.

KRWO1 Swat Krw Krow


0.12 0.0 1.0 /
0.20 0.0 1.0 /
0.90 1.0 0.0 /

7.20. SCAL - Scaled Relative Permeability Curves 339


Tempest MORE Help, Release 8.1

1.00 1.0 0.0 /

/
KRGO1 Sgas Krg Krog
0.00 0.0 1.0 /
0.12 0.0 1.0 /
0.85 1.0 0.0 /
0.88 1.0 0.0 /
/

SCAL is then used to set a new critical water saturation of 0.15, a new critical residual oil in water saturation
of 0.20, a new critical gas saturation of 0.2, a new critical residual oil in gas saturation of 0.20, and a new
connate water saturation of 0.10.

SCAL 1
0.15 0.20 0.20 0.20 1* 0.1 /

The effect of SCAL will be exactly the same as entering a second set of tables using KRWO and KRGO with
new critical and connate end points, as shown below.

KRWO2 Swat Krw Krow


0.10 0.0 1.0 /
0.15 0.0 1.0 /
0.80 1.0 0.0 /
1.00 1.0 0.0 /

/
KRGO2 Sgas Krg Krog
0.00 0.0 1.0 /
0.20 0.0 1.0 /
0.70 1.0 0.0 /
0.90 1.0 0.0 /
/

340 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.21 TFUN - Tracer or Temperature Dependent Property Multipliers

Location

FLUI or RELA Section

Description

The TFUN keyword is used to enter a property multipliers with respect to either a tracer concentration or tem-
perature. Arguments for TFUN consist of two records. The first record consists of two required arguments, the
property name and the tracer name (or TEMP) which should be entered in succession on the same line as the
TFUN keyword. The second record consists of a table with two columns which should start on a separate line
below the TFUN keyword. Following the final row of TFUN data in the table, a solitary slash (/) on its own line
is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Property to be modified: the following properties are supported at present
• SOWC - critical oil saturation in water
• SOGC - critical oil saturation in gas
• SWCR - critical water saturation
• XKRO - oil relative permeability
• XKRG - gas relative permeability
• XKRW - water relative permeability
• VISW - water viscosity
2. Tracer name or TEMP
• Tracer name
• TEMP (temperature)
RECORD 2:
The following arguments should be entered in a tabular format.
1. Tracer concentrations or temperatures
2. Multipliers to be applied to properties (only VISW is supported at present)

Notes

• If a tracer name is used in record 1, that tracer must be set up using the TRAC keyword before the TFUN
keyword is used.
• TEMP can be used in record 1 only in thermal simulations.
• The table data must be non-negative, because the properties are non-negative quantities.
• Constant value extrapolation is used outside the range of the table to avoid negative values. It is thus
recommended that the tracer concentration or temperature range of record 2 cover the full range of values
likely to be encountered.

7.21. TFUN - Tracer or Temperature Dependent Property Multipliers 341


Tempest MORE Help, Release 8.1

• If two or more TFUN keywords are found that modfy the same property, then all of these tables are honored
and the effective multiplier is the product of all individual multipliers. This allows for the modification of a
property to depend on several tracers.

Examples

1. TFUN is used to enter a table of critical water saturation multipliers as a function of temperature for a
thermal system.

TFUN SWCR TEMP


10 1
20 2
50 3
100 4
/

Note how the scatterplot between reservoir temperature and critical water saturation is consistent with the
input TFUN table (Critical Water Saturation is set to 0.2 for this case):

2. Two TFUNs (both modifying property VISW) are used to set up a combined water viscosity multiplier.
The first table applies to tracer TRC1 while the second table applies to tracer TRC2. The combined water
viscosity multiplier is the product of both: Mult = Mult1 (TRC1) · Mult2 (TRC2)

TFUN VISW TRC1


0.5 1.0
1.0 10.0
/

TFUN VISW TRC2


3.5 1.0
16.0 10.0
5.0 3.89
/

342 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.22 WETT - Wettability Options for Three-Phase Calculations

Location

RELA Section

Description

The WETT keyword is used to provide wettability options for three-phase calculations. Arguments for WETT
comprise two optional arguments which, if used, should be entered in succession on the same line as the WETT
keyword itself.

Definitions

1. Wettability (optional): OIL or WATE


• OIL - specifies oil-wet three-phase relative permeability calculations (that is, in order of decreasing
wettability, the phases are oil, water, and gas)
• WATE (default) - specifies water-wet three-phase permeability calculations (that is, in order of de-
creasing wettability, the phases are water, oil, and gas)
2. Calculation method (optional): STN1, STN2, LINE, or ECLI
• STN1 - three-phase relative permeabilities calculated using Stone’s first method
• STN2 (default) - three-phase relative permeabilities calculated using a generalised version of Stone’s
second method
• LINE - three-phase relative permeability data obtained as straight line interpolation between the two
phase relative permeability tables, but looked up as a function of the oil saturation:

Kro (Sw , Sg ) = f × Krow (So ) + (1 − f ) × Krog (So )

where,
Sw − Swco
f=
Sw + Sg − Swco

Substitute f into Kro (Sw , Sg ), and the relative permeability of oil is expressed as:

Sw − Swco Sg
Kro (Sw , Sg ) = Krow + Krog (So )
Sw + Sg − Swco Sw + Sg − Swco

• ECLI - ECLI is an alias for LINE

Notes

• For more information about three-phase relative permeability options, see the Relative Permeabilities sec-
tion of the MORE Technical Reference.

Example

1. WETT is used to specify that a default water-wet system that uses Stone’s second method to calculate
three-phase relative permeabilities.

7.22. WETT - Wettability Options for Three-Phase Calculations 343


Tempest MORE Help, Release 8.1

WETT

2. WETT is used with the WATE and STN1 options to specify a water-wet system that uses Stone’s first
method to calculate three-phase relative permeabilities.

WETT WATE STN1

3. WETT is used with the OIL and LINE options to specify an oil-wet system that uses the straight line
interpolation method to calculate three-phase relative permeabilities.

WETT OIL LINE

344 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.23 WSF - Water Saturation Functions

Location

RELA Section

Description

The WSF keyword is used to define water saturation functions. Arguments for WSF consist of a table of relative
permeabilities for water as a function of water saturation. This table should start on a separate line below the WSF
keyword and data entry for WSF must be terminated by a solitary slash (/) on a separate line below the last entry
in the table. The WSF table can consist of up to five columns. Of the five columns, the first three columns of data
are required; the last two columns of data are optional.

Definitions

The following arguments should be entered in a tabular format.


1. Water saturation: Sw
2. Relative permeability of the water phase at zero gas saturation: Krw
3. Water-oil capillary pressure: Pcow
4. Hysteresis relative permeability of water at zero gas saturation (optional): Krgh
5. Hysteresis oil-water capillary pressure (optional): Pcowh

Notes

• Saturation values must increase with each entry in the WSF table.
• Each table must be terminated by a solitary slash (/) on a separate line below the final entry in each WSF
table.
• If a hysteresis column is entered and is different from the non-hysteresis column, the appropriate hysteresis
modelling option will be enabled.
Water hysteresis in a water-wet system:
• In the default case of a water-wet system, water is the wetting phase, so a decreasing water saturation
corresponds to a drainage process. In terms of usual engineering terminology, Krw is the imbibition process
curve and Krwh is the drainage process curve. Wetting phase hysteresis can be modelled in Krw.
Water hysteresis in an oil-wet system:
• If an oil-wet system is modelled using WETT, water is the non-wetting phase with respect to oil, so a
decreasing water saturation corresponds to an imbibition process. In terms of usual engineering terminology,
Krw is the drainage process curve and Krwh is the imbibition process curve, so non-wetting phase hysteresis
may be modelled in Krw.
• In all cases, the hysteresis capillary pressure corresponds to decreasing water phase saturation.
• Please refer to the Relative Permeability Calculations section of the MORE Technical Reference for more
information regarding relative permeabilities, capillary pressures, and hysteresis.

7.23. WSF - Water Saturation Functions 345


Tempest MORE Help, Release 8.1

Example

1. WSF is used to enter a water saturation function table without hysteresis.

WSF Sw Krw Pcow


0.22 0.00 7.0
0.30 0.07 4.0
0.40 0.15 3.0
0.50 0.24 2.5
0.60 0.33 2.0
0.80 0.65 1.0
0.90 0.83 0.5
1.00 1.00 0.0
/

346 Chapter 7. Tempest MORE relative permeability section keywords


Tempest MORE Help, Release 8.1

7.24 ZERO - Permit Zero Connate Water Saturation

Location

RELA Section

Description

This keyword is no longer used.

7.24. ZERO - Permit Zero Connate Water Saturation 347


Tempest MORE Help, Release 8.1

348 Chapter 7. Tempest MORE relative permeability section keywords


CHAPTER

EIGHT

TEMPEST MORE GRID SECTION KEYWORDS

8.1 Summary of Grid Arrays

Keywords in the GRID section define the geometry of the simulation grid and the properties of the simulation
cells. This may be done using keywords or expressions. When no user values are supplied, a default will be used.
Some grid arrays, such as KYKX, are used to define other grid arrays. It is also possible to define user grid arrays.
Arrays can be set up using expressions linking them to other arrays. However, one way or another the following
arrays need to be in place for all runs before the grid calculations are performed.

Grid Cell Position Arrays

Name Description Default Aliases


XGRI x-grid locations No
YGRI y-grid locations No
DEPT Depths No ZGRI
THIC Cell THICknesses No DZ

Basic Arrays Used by the Transmissibility, Depth and Pore Volume Calculations

Name Description Default Aliases


ACTN Active cell array 1
K_X x-permeability 0 KX, K-X, PERMX
K_Y y-permeability 0 KY, K-Y, PERMY
K_Z z-permeability 0 KZ, K-Z, PERMZ
MULX x-transmissibility multiplier in the x-direction 1 MX, M-X, M_X, MULTX
MULY y-transmissibility multiplier in the y-direction 1 MY, M-Y, M_Y, MULTY
MULZ z-transmissibility multiplier in the z-direction 1 MZ, M-Z, M_Z, MULTZ
MXM x-transmissibility multiplier in the negative x-direction 1 MULTX-
MYM y-transmissibility multiplier in the negative y-direction 1 MULTY-
MZM z-transmissibility multiplier in the negative z-direction 1 MULTZ-
PORO Porosity 0
NTOG Net to gross ratio 1 NTG
CROC Rock compressibility 0
REFE Rock reference pressure 1 atm
MORE has lots of different ways to set up this data, which will be discussed below. For example, DEPTh might
be defined by the thickness’s of each layer and the depth of just the top layer. Only the grid position arrays have
no defaults - the grid positions must be defined by the user in some way.

349
Tempest MORE Help, Release 8.1

Optional Arrays Defined in the Grid Section

As well as the basic arrays used in all runs, and listed in the table above, a number of other arrays are needed for
the grid calculations when special options are turned on:

If more than one set of saturation tables

Name Description Default Aliases


ROCK Saturation table numbers 1 SATN

If More Than One Set of Pressure Tables

Name Description Default Aliases


PVTN Pressure table numbers 1

If More Than One Equilibration Region

Name Description Default Aliases


EQUI Equilibration table numbers 1 EQLN

For End Point Scaling

Name Description
SOGC Critical saturation of oil in gas
SOWC Critical saturation of oil in water
SGL Connate gas saturation
SGCR Critical gas saturation
SGU Maximum gas saturation
SWL Connate water saturation
SWCR Critical water saturation
SWU Maximum water saturation

IOGC Critical saturation of oil in gas for imbibition


IOWC Critical saturation of oil in water for imbibition
IGL Connate gas saturation for imbibition
IGCR Critical gas saturation for imbibition
IGU Maximum gas saturation for imbibition
IWL Connate water saturation for imbibition
IWCR Critical water saturation for imbibition
IWU Maximum water saturation for imbibition
Defaults for endpoint scaling arrays are taken from tables in RELA section.
Imbibition is defined with respect to a water wet system - e.g. the IWL endpoint applies to the case in which
the water saturation is increasing, and the SWL endpoint applies to the case in which the water saturation is
decreasing. This still applies in an oil-wet run.

350 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Vertical Table Scaling

Name Description Default


XKRO Oil relative permeability multiplier 1
XKRG Gas relative permeability multiplier 1
XKRW Water relative permeability multiplier 1
XPCG Gas capillary pressure multiplier 1
XPCW Water capillary pressure multiplier 1
YKOG Oil in gas 3-point relative permeability multiplier 1
YKOW Oil in water 3-point relative permeability multiplier 1
YKRG Gas 3-point relative permeability multiplier 1
YKRW Water 3-point relative permeability multiplier 1

Pressure Dependent Porosity and Permeability

Name Description Default


KPTA KVSP table numbers 1

Polymer

Name Description Default


PREG Polymer property region numbers 1

Thermal

Name Description Default


TREG Thermal property region numbers 1

Directional Relative Permeabilities

Name Description Default


KRDX Saturation table numbers for flow in the x-direction
KRDY Saturation table numbers for flow in the y-direction
KRDZ Saturation table numbers for flow in the z-direction
KRMX Saturation table numbers for flow in the negative x-direction
KRMY Saturation table numbers for flow in the negative y-direction
KRMZ Saturation table numbers for flow in the negative z-direction

Coal bed Methane

Name Description Default


FASH Ash fraction 0.0
CDEN Coal density Follows CDEN in FLUI section or defaults to specific gravity (wrt water)
of 1.3
CLAN Langmuir constant
PLAN Langmuir pressure
TLAN Langmuir time
PDSI Initial desorption
pressure
GCRI Initial gas content of
coal

8.1. Summary of Grid Arrays 351


Tempest MORE Help, Release 8.1

Coal Bed Methane with Equation of State

Palmer-Mansoori Option with Coal Bed Methane

Name Description Default Comments


EROC Young’s modulus 0.0
PROC Poisson’s ratio 0.0
FROC Mixing fraction 0.5
FSHR Shrinkage factor 0.0
CGRA Grain compressibility 0.0
ELOB Palmer Mansoori EL/B 0.0 If entered, FSHR=ELOB/PLAN

Dual Porosity

Name Description Default


SIGM Matrix-fracture coupling factor 0.0
MFTC Matrix-fracture time constant Calculated from SIGM

Gravity Drainage

Name Description Default


DZMA Matrix material unit height 0.0

Intermediate Arrays Used in the Grid Section

The following arrays are not used directly by MORE, but can play an intermediate role in setting up the basic and
optional arrays defined above.
Name Description Units Default
KYKX K_Y / K_X md/md 1.0
KZKX K_Z / K_X md/md 1.0
NET Net Pay Thickness ft or m
LEVJ Leverett J-Factor md1/2
K_XH Permeability net thickness product
PHIH Porosity net thickness product
PNSW Pinchout switch array

Grid Calculation Result Arrays

Name Description Aliases


DX Cell x-extents
DY Cell y-extents
RVOL Pore volumes at reference pressure PVR, PORVR
T_X x-transmissibilities TX,T-X,TRANX
T_Y y-transmissibilities TY,T-Y,TRANY
T_Z z-transmissibilities TZ,T-Z,TRANZ
The depth, pore volume and transmissibilities may be modified after the grid calculations have been performed.

Using Intermediate Arrays

When an intermediate array is entered, it does not get used directly by the program, but instead it defines other
arrays via a built-in expression.

352 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Built-in intermediate arrays and their relevant expressions are listed below:
Array Default Used in the expression
KYKX 1 K_Y=KYKX * K_X
KZKX 1 K_Z=KZKX * K_X
K_XH No default K_X+K_XH/(THIC * NTOG)
PHIH No default PORO=PHIH/(THIC * NTOG)
NET No default NTOG=NET/THIC
LEVJ No default XPC=LEVJ * SQRT(PORO/K_X)
KYKX and KZKX are always set up and defaulted to 1.
K_XH, PHIH, NET and LEVJ are predefined, so a DEFINE keyword is not required, but they will only be used if
set up by the user.
The built in expressions are treated by layer - for example, you could define K_Z for some layers, and KZKX for
others. The KZKX expression would only be used in layers for which no K_Z values were defined.
The relationships above are built into the simulator, but you are not restricted to only these relationships. You can
DEFIne your own arrays and specify relationships between arrays using grid processing expressions discussed
later in this section.
The use of the PNSW pinchout switch array is detailed in the PINCH keyword description.

8.1. Summary of Grid Arrays 353


Tempest MORE Help, Release 8.1

8.2 Array Data Entry

Entering an Array Using a MORE Keyword

First we introduce the array and specify its vertical variation:


array(l1:l2) {BLOC CONT DISC} {TOPS BOTT} {UNIF VARI GEOL TOTA}

Definitions

array Name of an array or property to be specified or modified.


l1:l2 An optional layer range specification. If no layer range is specified,all layers are selected.
BLOC Vertically the array varies as a block function (Nz layers).
CONT Vertically the array is continuous (Nz +1 layers).
DISC Vertically the array is discontinuous (2Nz layers).
TOPS Only values at the tops of layers are specified (TOP is equivalent).
BOTT Only values at the bottom of each layer are specified.
VARI Values are variable by layer.
UNIF Array is uniform by layer: only one layer of values will be provided.
GEOL Number of layers as specified by the LAYE keyword.
TOTA The values supplied are totals and should be divided by the number of layers specified.
If the input is in VERT BLOC mode, BLOC is the default. If the input is in VERT POINT mode, CONT is the
default. The vertical mode may be set or reset using the VERT keyword.
After the keyword introducing the array and setting up its vertical variation we define the layer values. One
straightforward approach is simply to enter the data. For the 10 x 4 x 3 grid used above in BLOC mode an
example would be:

PORO
120*0.3

Alternatively the keyword defining the array can be followed by an array sub-keyword which defines the layer
format. These are discussed in the next section (Array Subkeywords). As a first example, CONS implies that a
single constant value exists for a layer. So an alternative to the porosity input method above we could enter:

PORO UNIF
CONS
0.3

The porosity is uniform by layer, and constant within the layer specified, so only one value is needed.
Layer ranges are discussed in the expressions section. These may be set using two formats:
Using a bracketed range, e.g. PORO(1:2) Using arguments, e.g. PORO 1:2 The use of layer ranges is discussed
further in the section Layer Ranges and Vertical Modes immediately after the section on expressions.
After the array name comes the data or one or more grid array sub-keywords.

354 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.3 Using Grid Processing Expressions

When an equals sign is encountered on a line which begins with an array name, MORE will process the line as an
array expression. This allows data in a layer to be set using a simple formula. This method is invoked by a line of
the following form:
array(l1:l2) = expression
An example would be:
K_Z=0.2*K_X
This would simply set the Kz value to 20% of the Kx value in all layers.
This operation could be restricted to a layer range, for example:

Kz(1:2)=0.4*Kx
Kz(3:4)=0.2*Kx

Note that the array names in these expressions are case-insensitive, and alias names are accepted.
When indices are not specified on the right hand side, as in this example, the left hand values apply throughout
the expression, so this is the same as:

Kz(1:2)=0.4*Kx(1:2)
Kz(3:4)=0.2*Kx(3:4)

However, it is possible to have a different range on the right hand side. The same Kz values could be obtained
using:

Kz(1:2)=0.4*Kx
Kz(3:4)=0.5*Kz(1:2)

Note that the number of layers in the operation is the same on both sides of the expression. It is also possible to
use values for a single layer in an expression, for example:

Kz(1:2)=0.4*Kx
Kz(3:4)=0.5*Kz(1)

The value in Kz layer 1 will be used to define Kz in both layers 3 and 4. Note unless one layer is used the number
of layers in the operation must match.
The right hand side can include any number of arrays which are defined. Besides array names the expression may
include:
• Constants of the form such as 4, 8.3, 5.6e+4.
• Operators +, -, /, * and ** for addition, subtraction, division, multiplication and exponentiation.
• Brackets to define sub-expressions - (, [ and { are all accepted.
• Functions:

8.3. Using Grid Processing Expressions 355


Tempest MORE Help, Release 8.1

SQRT(exp) takes the square root of the expression


LOG(exp) takes the natural logarithm of an expression
LOG10(exp) takes the log base 10 of an expression
EXP(exp) take e to the power of the expression
MAX(exp1, exp2) gives the maximum value of two expressions
MIN(exp1, exp2) gives the minimum value of two expressions
COS(exp) takes the cosine of the expression (using radians)
SIN(exp) takes the sine of the expression (using radians)
IEQ(exp1,exp2) returns 1 if exp1 and exp2 are equal
IGT(exp1,exp2) returns 1 if exp1 greater than exp2
IGE(exp1,exp2) returns 1 if exp1 greater than or equal to exp2
ILT(exp1,exp2) returns 1 if exp1 less than exp2
ILE(exp1,exp2) returns 1 if exp1 less than or equal to exp2
SUMZ(l1:l2){exp} sums over a range of layers
IEQ is a function which returns 1 when its two arguments are equal, and 0 otherwise, It is very useful when a
property is to follow the values of another array, for example:

PORO=0.19*IEQ(FIP,1)+0.21*IEQ(FIP,2)+0.37*IEQ(FIP,3)

This will set porosity to 0.19 where the array FIP is 1, 0.21 where FIP is 2 and 0.37 where FIP is 3.
Since the forward slash (/) denotes division in array expressions, a comment is indicated by a forward slash
followed by an asterisk (/*). Processing of the expression is terminated when these two characters are encountered.

Array Layer Ranges and Vertical Modes

The layer ranges are defined with respect to the current vertical input mode. If you are using VERT BLOC, the
layer indices are simply cell layers in the range 1 to Nz . This is fine for specifying cell properties such as porosity,
net to gross ratio and permeabilities.
In VERT POIN mode the layer indices refer to node layers. These are in the range 1 to Nz +1. It is possible to
select one or other side of a node layer using + or - following the index.
When properties are obtained in point mode, these will ultimately be sampled back onto the grid cells when used
in the simulator’s pore volume and transmissibility calculations.

356 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Four keywords which specify cell locations are an exception to this default behaviour and have the following
built-in modes when used in expressions:
Keyword Horizontal Mode Vertical Mode
XGRI CONT DISC
YGRI CONT DISC
DEPT DISC DISC
THIC DISC BLOC

8.3. Using Grid Processing Expressions 357


Tempest MORE Help, Release 8.1

8.4 Array Processing

MORE’s Treatment of Layers

MORE holds grid arrays by layer. Layer indices are used in setting values both when using keywords and when
using expressions. Expressions are discussed in the next section. MORE has a flexible and powerful language for
entering grid data. Grid data is used for two purposes:

To define the position of grid cells


To define the properties of grid cells

To define fault and dip geometry in reservoirs, it is helpful to define the positions of cells via the locations of their
corner points. Properties are usually associated with the cell volume. MORE allows values to be set at both blocks
and corners in a general way.
The treatment of layers and of cells within a layer are defined by the vertical and horizontal input modes. The
vertical case will be considered first.
Suppose we have a 10 x 4 x 3 grid simulation cells as shown below. This grid has 3 layers of blocks in the vertical
direction , as shown.

This corresponds to MORE’s VERT BLOC layering system.


However, there are 4 layers of points as long as the grid is continuous in the z-direction:

This corresponds to MORE’s VERT CONT layering system.


Finally there is the possibility that the layers are not continuous - they may be separated by impermeable layers or
shales, as shown. In this case we split the separated layers and have 6 layers of points:

358 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

This corresponds to MORE’s VERT DISC layering system.


The default vertical mode is set using the VERT keyword, but this can be over-ridden for an individual keyword.
If VERT BLOC is used, data will be expected in vertical block mode. This is the recommended mode. MORE
datasets produced using the Tempest New Simulation wizard will always be VERT BLOC.
VERT POIN is the MORE default, to obtain back-compatibility with previous releases of MORE. In VERT POIN
mode data is expected in CONTinuous form vertically - i.e. Nz +1 layers.

Data Within Each Layer

HORI BLOC numbering


A POIN/BLOC choice also exists for data within a layer. Looking at one layer of the 10 x 4 x 3 grid considered
above we can define data for each cell, a total of 40 values:

This corresponds to MORE’s HORI BLOC numbering system.


This is the simplest method, and is recommended. Other horizontal modes are only normally required for back-
compatibility with old MORE datasets which used HORI POINT, and when entering depth values for dipped or
faulted reservoirs.
Nx .|Ny| values will be expected for each layer in this mode. HORI BLOC is natural for assigning property values,
such as porosities, to simulation cells. When values are assigned, the ordering has the I-index changing fastest.
HORI CONT numbering
There are cases when a single value cannot be used for a cell. For example, if a dipping reservoir is being entered,
the depth of each corner of a cell may be different. Suppose the reservoir is continuous and unfaulted. In this case
there are 11 values in the x-direction for a 10 x 4 x 3 grid:

8.4. Array Processing 359


Tempest MORE Help, Release 8.1

This corresponds to MORE’s HORI CONT layering system.


(Nx +1).(Ny +1) values will be expected for each layer in this mode.
HORI DISC numbering
When a reservoir is faulted, the depth values of the corner points of cells may not be continuous across the layer. In
this case cell top depths may be specified separately for each corner, and there will be 20 values in the x-direction
for a 10 x 4 x 3 grid:

This corresponds to MORE’s HORI DISC layering system.


4.Nx .Ny values will be expected for each layer in this mode.

Comment on entering cell depth data.

In practice, dipping or faulted geometries are normally defined by using the ZCORN and COORD keywords, or
reading a ROFF file, so there is no need to use anything other than BLOC mode. However, MORE’s more sophis-
ticated methods for entering layer data do permit quite complex grids to be entered using keywords, particularly
when combined with the INTE and LINEar interpolation methods. So if you wish to enter a dipped reservoir
rather than a staircase of flat blocks, select CONT or DISC on the grid subkeyword when entering DEPTh data.

360 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.5 Discussion of Selected Arrays

NTOG

Net-to-gross ratio. This is included in pore volume and horizontal transmissibility calculations. NET is related
to NTOG by the expression NTOG = NET/THIC. Changing net thickness is not the same as changing gross
thickness, as the gross thickness effects the layer separation and thus the vertical transmissibility.

FLIP

FLIP region arrays are defined in the GRID section (see DEFI).
Fluid-in-place arrays contain pore volume multipliers which are used to calculate fluids-in-place.
If you define a well group with the same name as a FLIP array, the two will become associated for material
balance calculations.

FIPN

If a grid array is called FIPx where x is one of more other characters (for example, FIPN or FIP) it may be used
to assign a fluid in place region to each cell. Fluid in place reports will then be generated on a region-by-region
where the regions are the numbers set.
For example, the following will set up three fluid in place regions for a 10 layer reservoir:

FIPN
ZVAR
4*1 4*2 2*3 /

The regions will appear in Tempest as fluid in place regions like fipn1, fipn2 and fipn3.

CROC and REFE

These set the rock compressibility and reference pressure. Porosity is treated as a linear function of pressure:

Φ = Φo · [1 + Cr (P − Po )]

where:
Φo is the porosity supplied to the simulator,
Φ is the porosity at pressure P,
Cr is the rock compressibility, CROC, and
Po is the REFErence pressure array.

The KPTA Array

If multiple KVSP tables are entered, the tables may be assigned to cells using the KPTA grid array e.g.

KPTA
ZVAR
1 2 3 2 /

All the values for KPTA should lie in the range 1..|NKVSP|, where NKVSP is the number of tables entered using
the KVSP keyword.
If KPTA is not entered, all the cells will use KVSP table 1.

8.5. Discussion of Selected Arrays 361


Tempest MORE Help, Release 8.1

The SIGMA Array

If the dual porosity or dual permeability options are being used, the SIGMA grid array should be set up to define
the amount of coupling between matrix and fracture cells. Although the SIGMA array is defined for the entire
grid, only the values for the first Nz/2 layers are used.
The matrix fracture transmissibility is constructed as:

Tmf = CDarcy × KM m × Vporv × σ

Where
CDarcy is Darcy’s constant,
KM is the matrix cell permeability,
Vporv is the matrix cell pore volume, and
σ is the value supplied with the SIGMA keyword.
It is possible to relate SIGMA to typical dimensions of the matrix material in the reservoir:

σ = 4 × (1/L2x + 1/L2y + 1/L2z )

However, note that Lx , Ly and Lz are not related to the size of the simulation cells used in the model, but rather
the size of the elements of matrix material in the reservoir.

The MFTC (Matrix-Fracture Time Constant) Array

As an alternative to specifying the matrix-fracture coupling in dual porosity runs using shape factors, a matrix
fracture time constant may be entered in days. If MFTC is entered, SIGMA values are obtained as:
SIGM=F/MFTC
where
µwater p
F =C × × φ/k
(IF T × λ)
and,
C is a constant which depends on the unit convention, equal to 34.22 (Field) and 368.4 (Metric),
µwater is the water viscosity,
IFT is the interfacial tension, taken as 40 dynes/cm,
λ is a dimensionless experimental constant, equal to 0.011, and
φ and k are the matrix porosity and permeability in mD.
Conversely, if SIGM is entered, MFTC will be obtained as MFTC=F/SIGM
If multiple shape fractions are being used, MFTC will be replaced by MFT1, MFT2 etc.

The ELOB (Palmer-Mansoori EL/B) Array

If the Palmer Mansoori option is being used with coal bed methane, ELOB may be used to define the shrinkage
factor FSHR. If ELOB is set, then FSHR will be obtained as ELOB/PLAN.

The PREG Array

Regions for polymer data.


If the polymer option is being used, the PREG array may be used to assign sets of PPRO and PMIS data to cells.
Values should be between 1 and NPREG where NPREG is the number of sets of PPRO and PMIS data provided.

362 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The TREG Array

Regions for thermal data.


This is analogous to the PREG array for the thermal option. If the thermal option is being used, the TREG array
may be used to assign sets of OVVT data to cells.

Porosity-Thickness and Permeability-Thickness

The values of permeability-net thickness and porosity-net thickness can be read into KX_H and PHIH using any
of the conventional grid processing sub-keywords. If these arrays are provided, but not K_Y and K_Z, MORE
will define permeability and porosity using:

PORO = PHIH /(THIC*NTOG)


K_X = K_XH / (THIC*NTOG)
K_Y = KYKX*K_X
K_Z = KZKX*K_X

Arrays Related to Tensor Permeabilities

When the TENS option is being used permeability is a general symmetric 3x3 tensor. Such a tensor has six
independent values per cell, and MORE supports two ways of defining these:
The usual permeability values K_X, K_Y, K_Z define the principal tensor values, and DEVX, DEVY and AXES
define the orientation of the principal frame with respect to the usual xyz coordinate system.
Specify the six independent components of the permeability tensor as K_X, K_Y, K_Z, KXY, KYZ and KZX. By
default these are specified with respect to the local grid coordinates, but the XYTRUE and ZTRUE arguments of
TENS enable them to be specified with respect to true xy and z coordinates respectively.
For either input option, MORE generates tensor permeability components with respect to grid and true xyz frames.
If PRINT MAP is used in the GRID section, these may be viewed with Tempest.

Arrays related to dual porosity modelling

When using the single grid method for dual porosity modelling, DPSS or DPORO SING, fracture properties are
entered using separate keywords starting with F:

Mnemonic Contents Default?

FPOR Fracture porosity Required

FKX Fracture x-permeability Required


FKY Fracture y-permeability FKX*KYKX
FKZ fracture z-permeability FKX*KZKX

FMLX Fracture transmissibility x-multiplier 1.0


FMLY Fracture transmissibility y-multiplier 1.0
FMLZ Fracture transmissibility z-multiplier 1.0

FMXM Negative direction fracture transmissibility x-multiplier 1.0


FMYM Negative direction fracture transmissibility y-multiplier 1.0
FMZM Negative direction fracture transmissibility z-multiplier 1.0

FCRO Fracture compressibility CROC


FREF Fracture reference pressure REFE
Continued on next page

8.5. Discussion of Selected Arrays 363


Tempest MORE Help, Release 8.1

Table 8.1 – continued from previous page


Mnemonic Contents Default?

FSAT Fracture saturation table regions SATN


FPVT Fracture pressure function table regions PVTN
FEQL Fracture equilibration table regions EQLN
FPRG Fracture polymer table regions PREG
FTRG Fracture thermal table regions TREG
FKPT Fracture KVSP table regions KPTA

FKRX Fracture saturation table values for x-direction KRDX


FKRY Fracture saturation table values for y-direction KRDY
FKRZ Fracture saturation table values for z-direction KRDZ

FOGC Fracture critical oil-in-gas saturation SOGC


FOWC Fracture critical oil-in-water saturation SOWC
FSGL Fracture connate gas saturation SGL
FSGC Fracture critical gas saturation SGCR
FSGU Fracture maximum gas saturation SGU
FSWL Fracture connate water saturation SWL
FSWC Fracture critical water saturation SWCR
FSWU Fracture maximum water saturation SWU
FWGC Fracture critical water-in-gas saturation (for oil-wet) SWGC

FXKO Fracture Kro scaling factor XKRO


FXKG Fracture Krg scaling factor XKRG
FXKW Fracture Krw scaling factor XKRW
FXPG Fracture Pcg scaling factor XPCG
FXPW Fracture Pcw scaling factor XPCW
FLEV Fracture Leverett J-factor LEVJ

FYOG Fracture Krog scaling factor at critical gas YKOG


FYOW Fracture Krow scaling factor at critical water YKOW
FYKG Fracture Krg scaling factor at critical oil YKRG
FYKW Fracture Krw scaling factor at critical oil YKRW

FKRO Fracture maximum Kro to define FXKO scaling factor KRO


FKRG Fracture maximum Krg to define FXKW scaling factor KRG
FKRW Fracture maximum Krw to define FXKW scaling factor KRW

FOGR Fracture Krog at critical gas to define FYOG scaling factor KOGR
FOWR Fracture Krow at critical water to define FYOW scaling factor KOWR
FKGR Fracture Krg at critical oil to define FYKG scaling factor KRGR
FKWR Fracture Krg at critical oil to define FYKW scaling factor KRWR

For hysteresis, it is possible to specify separate hysteresis endpoint arrays. These are imbibition values, with
respect to a water wet-convention.

364 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Mnemonic Contents Default?


FIOG Fracture imbibition critical oil-in-gas saturation IOGC
FIOW Fracture imbibition critical oil-in-water saturation IOWC
FIGL Fracture imbibition connate gas saturation IGL
FIGC Fracture imbibition critical gas saturation IGCR
FIGU Fracture imbibition maximum gas saturation IGU
FIWL Fracture imbibition connate water saturation IWL
FIWC Fracture imbibition critical water saturation IWCR
FIWU Fracture imbibition maximum water saturation IWU
FIWG Fracture imbibition critical water-in-gas saturation (for oil-wet) IWGC
If directional relative permeabilities (KRDR) are being used, directional versions of the endpoint arrays are avail-
able. The use of 1,2 and 3 to indicate direction is to avoid a name clash with the fracture scaling factor arrays such
as FYOG above:
Mnemonic Contents Default?
F1OG Fracture x-direction critical oil-in-gas saturation XOGC
F1OW Fracture x-direction critical oil-in-water saturation XOWC
F1GL Fracture x-direction connate gas saturation XGL
F1GC Fracture x-direction critical gas saturation XGCR
F1GU Fracture x-direction maximum gas saturation XGU
F1WL Fracture x-direction connate water saturation XWL
F1WC Fracture x-direction critical water saturation XWCR
F1WU Fracture x-direction maximum water saturation XWU
F1WG Fracture x-direction critical water-in-gas saturation (for oil-wet) XWGC

F2OG Fracture y-direction critical oil-in-gas saturation YOGC


F2OW Fracture y-direction critical oil-in-water saturation YOWC
F2GL Fracture y-direction connate gas saturation YGL
F2GC Fracture y-direction critical gas saturation YGCR
F2GU Fracture y-direction maximum gas saturation YGU
F2WL Fracture y-direction connate water saturation YWL
F2WC Fracture y-direction critical water saturation YWCR
F2WU Fracture y-direction maximum water saturation YWU
F2WG Fracture y-direction critical water-in-gas saturation (for oil-wet) YWGC

F3OG Fracture z-direction critical oil-in-gas saturation ZOGC


F3OW Fracture z-direction critical oil-in-water saturation ZOWC
F3GL Fracture z-direction connate gas saturation ZGL
F3GC Fracture z-direction critical gas saturation ZGCR
F3GU Fracture z-direction maximum gas saturation ZGU
F3WL Fracture z-direction connate water saturation ZWL
F3WC Fracture z-direction critical water saturation ZWCR
F3WU Fracture z-direction maximum water saturation ZWU
F3WG Fracture z-direction critical water-in-gas saturation (for oil-wet) ZWGC
If directional relative permeabilities (KRDR) and hysteresis are being used, directional versions of the imbibition
endpoint arrays are available.

8.5. Discussion of Selected Arrays 365


Tempest MORE Help, Release 8.1

Mnemonic Contents Default?


FAOG Fracture imbibition x-direction critical oil-in-gas saturation AOGC
FAOW Fracture imbibition x-direction critical oil-in-water saturation AOWC
FAGL Fracture imbibition x-direction connate gas saturation AGL
FAGC Fracture imbibition x-direction critical gas saturation AGCR
FAGU Fracture imbibition x-direction maximum gas saturation AGU
FAWL Fracture imbibition x-direction connate water saturation AWL
FAWC Fracture imbibition x-direction critical water saturation AWCR
FAWU Fracture imbibition x-direction maximum water saturation AWU
FAWG Fracture imbibition x-direction critical water-in-gas saturation (for oil-wet) AWGC

FBOG Fracture imbibition y-direction critical oil-in-gas saturation BOGC


FBOW Fracture imbibition y-direction critical oil-in-water saturation BOWC
FBGL Fracture imbibition y-direction connate gas saturation BGL
FBGC Fracture imbibition y-direction critical gas saturation BGCR
FBGU Fracture imbibition y-direction maximum gas saturation BGU
FBWL Fracture imbibition y-direction connate water saturation BWL
FBWC Fracture imbibition y-direction critical water saturation BWCR
FBWU Fracture imbibition y-direction maximum water saturation BWU
FBWG Fracture imbibition y-direction critical water-in-gas saturation (for oil-wet) BWGC

FCOG Fracture imbibition z-direction critical oil-in-gas saturation COGC


FCOW Fracture imbibition z-direction critical oil-in-water saturation COWC
FCGL Fracture imbibition z-direction connate gas saturation CGL
FCGC Fracture imbibition z-direction critical gas saturation CGCR
FCGU Fracture imbibition z-direction maximum gas saturation CGU
FCWL Fracture imbibition z-direction connate water saturation CWL
FCWC Fracture imbibition z-direction critical water saturation CWCR
FCWU Fracture imbibition z-direction maximum water saturation CWU
FCWG Fracture imbibition z-direction critical water-in-gas saturation (for oil-wet) CWGC

366 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.6 Grid Array Sub-keywords

These are:
VARI A full set of values will be provided for each layer
CONS A single constant value will be provided for the layer
ZVAR A single value will be provided for each z-layer
LINE Use bilinear interpolation to define values
INTE Use general interpolation to define values
F(DE Define values as a function of depth
F(PO Define values as a function of porosity
FUNC Define values as a specified property
MODI Modify entered values
REPL Replace entered values
VARI processing is the default. For example, if you supply an array name and then supply numerical values
without a grid processing sub-keyword, the simulator will use the VARIable option. If the simulator encounters
no grid processing sub-keyword after reading a layer of values, the VARI option is used again. This process is
repeated until all layers are specified.
FUNC is a generalisation of the F(DE and F(PO which allows the input values to be constructed as a function of
any other chosen property. If the processing method depends on another array in this way, the the required array
must have been specified. For example, you cannot specify an array as a function of porosity, F(PO, if porosity
has not been specified.
When sub-keywords are used to specify values for a number of layers, a different method could be used in each
layer. The ZVAR keyword is somewhat different from the others, because it is used to specify the values for all
layers at once.
A non-default horizontal format may be specified as an argument on the array sub-keyword. As discussed above,
there are three options:
• BLOC - Nx · Ny values
• DISC - 4 · Nx · Ny values
• CONT - (Nx + 1)(Ny + 1) values
Normally, there is no need to modify the default mode. One case in which a non-default mode is useful is when
entering non-uniform cell depths or thickness’.

8.6. Grid Array Sub-keywords 367


Tempest MORE Help, Release 8.1

8.7 CONS - Constant Value for Layer

Location

GRID or INIT Section (after a defined array name.)

Description

The CONS array sub-keyword is used to assign a single constant value to a layer or layers. It consists of one
required argument which should appear on a separate line following the CONS keyword itself.

Definitions

1. The value to be assigned to the layer or layers.

Examples

1. In a 10x10x5 grid, CONS is used with the porosity array (PORO) to assign different values to each layer.
See CONS_array.dat for complete example:

PORO
CONS
0.10
CONS
0.12
CONS
0.14
CONS
0.16
CONS
0.18

2. In a 10x10x5 grid, CONS and UNIF are used with the porosity array (PORO) to assign a poros-
ity of 0.1 throughout the grid. The porosity is uniform vertically and constant horizontally. See
CONS_array_PORO2.dat for complete example:

368 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

PORO UNIF
CONS
0.1

8.7. CONS - Constant Value for Layer 369


Tempest MORE Help, Release 8.1

8.8 F(DE - Function of Depth

Location

GRID or INIT section (after a defined array name, and after depth has been completely specified).

Description

The F(DE keyword is used to specify an array as a function of depth. A depth array must be specified prior to
the use of the F(DE keyword. Arguments for the F(DE keyword consist of a table with two columns containing
a depth value and a corresponding array value. Following the final entry, a solitary slash (/) on a separate line is
required to terminate the data entry for this keyword.

Definitions

1. Depth value
2. Value of the array corresponding to the depth value

Examples

1. Using F(DE to specify porosity values as a function of depth:

PORO UNIF
F(DE
5000 0.16
5200 0.18
5400 0.22
5800 0.25
/

See F(DE.dat for complete example.

370 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.8. F(DE - Function of Depth 371


Tempest MORE Help, Release 8.1

8.9 F(PO - Function of Porosity

Location

GRID or INIT section (after a defined array name, and after porosity data has been specified).

Description

The F(PO keyword is used to specify an array as a function of porosity. A porosity array must be specified prior to
the use of the F(PO keyword. The required arguments for F(PO consist of two records. The first record is optional
and used to describe the method of interpolation to be used. This record should follow directly after the F(PO
keyword on the same line. The second record starts on a separate line below the F(PO keyword and consists of
a table with two columns containing porosity and corresponding array values, respectively. Following the final
entry, a solitary slash (/) on a separate line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Method of interpolation (optional) - LOGA or LINE
• LOGA - logarithmic interpolation
• LINE (default) - linear interpolation
RECORD 2:
1. Porosity value
2. Value of the array corresponding to the porosity value

Examples

1. F(PO is used to specify x-permeability values with linear interpolation as a function of porosity. See
F(PO.dat for complete example:

K_X UNIF
F(PO
--POROSITY K_X (mD)
0.20 50
0.25 200
0.28 400
0.30 600
/

(Please note that the line directly following the F(PO keyword is a comment line used to aid readability. )

372 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. F(PO is used to specify x-permeability values with logarithmic interpolation as a function of porosity. See
FPO_2.dat for complete example:

K_X UNIF
F(PO LOGA
0.25 50
0.28 200
0.30 500
/

8.9. F(PO - Function of Porosity 373


Tempest MORE Help, Release 8.1

8.10 FUNC - Function of Specified Property

Location

GRID or INIT section (after a defined array name, and after the specified property have been completely specified).

Description

The FUNC keyword is a generalisation of the F(DE and F(PO keywords which allows the input values to be
constructed as a function of any other chosen property. As the processing method depends on another array, the
required array must have been specified first. For example, you cannot specify an array as a function of porosity,
F(PO, if porosity has not been specified.
Arguments for FUNC keyword consists of two records. The first record consists of one required argument which
should be entered on the same line as the FUNC keyword itself if used. The second record consists of a table with
two columns containing a specified property value and a corresponding array value. Following the final entry, a
solitary slash (/) on a separate line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Specified property name
RECORD 2:
The following arguments should be entered in a tabular format.
1. Value of the specified property
2. Value of the array corresponding to the specified property

Notes

• Constand interpolation is used for values outside the specified property’s pre-defined range.

Examples

1. Using FUNC to specify X-Permeability values as a function of a pre-defined array XXXX:

DEFI XXXX
'User-Defined Array'

XXXX
ZVAR
0.15
0.20
0.25
0.30
0.35
/

K_X UNIF
FUNC XXXX
-- XXXX K_X (mD)
0.20 50
0.25 200

374 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

0.30 600
/

See FUNC.dat for complete example.

Note that if XXXX was replaced by PORO or DEPT keywords, the above example would be equivalent to
that of F(PO or F(DE keywords respectively.

8.10. FUNC - Function of Specified Property 375


Tempest MORE Help, Release 8.1

8.11 INTE - Distance Weighted Interpolation

Location

GRID or INIT section (after a data item keyword).

Description

The INTE keyword is used to specify distance weighted interpolation for an array. The required arguments for
the INTE keyword consists of two records. The first record follows directly after the INTE keyword on the same
line and consists of up to five optional arguments. The second record appears on a separate line below INTE and
consists of a table of values used to describe the location and value of the interpolation points. The size and format
of the table for Record 2 depends on the options chosen in Record 1.

Definitions

RECORD 1:
1. Exponent on the inverse distance (optional)
• Default: 1.0
• Minimum: 0.1; Maximum: 10
2. Number of nearest neighbours to include in the interpolation (optional)
• Default: 4
• Minimum: 2; Maximum: No limit
The record continues with the following descriptors in any order:
• RANGE followed by range of interpolation (values beyond this distance will be ignored) (optional)
– Default: Unlimited
– Minimum: 1.0E-6; Maximum: No limit
• NOXY or ALLX or TRIP or QUAD(optional)
– NOXY - no x and y-coordinates; use coordinates from previous usage
– ALLX - all of the x values are followed by all of the y-values and all values of the function values
(v-values)
– TRIP (default) - values are supplied as x,y,v triplets
– QUAD - values are supplied as x,y,v,r triplets where r is the radius of influence of the point
• SWIT (optional) - switch to the alternate input file to read the data
• NORO (optional) - do not do ROTA rotation-translation on input; ignored if ROTA is not used
RECORD 2:
1. Location of the ith interpolation point in the x-direction (xi )
2. Location of the ith interpolation point in the y-direction (yi )
3. Value of the array at point (xi , yi ) (vi )

376 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Notes

• The INTE option uses a simple inverse distance weighting method. The values of exp and neighbours are
not critical when there are many values or when the locations are well distributed. However, in other cases
they may make some difference. You should use Tempest to view the values produced and check that they
are reasonable.
• The interpolation at a location (x, y) uses the n nearest interpolation points to (x, y). n is the minimum of
the number of neighbours specified in Item 2 of Record 1, or the number of lines in Record 2, whichever is
the least. For example, when using the QUAD option, at a given point (x, y), the interpolant is given by
Pn vj
j=1 ((x−x )2 +(y−y )2 ) p
2
j j
v = Pn 1
j=1 ((x−x )2 +(y−y )2 ) p
2
j j

where p is the exponent specified in Record 1, and the sums are over the n nearest neighbours (xj , yj ), j =
1, . . . , n. For the TRIP option, p = 12 . If RANGE (= r) is specified in Record 1, then only neighbours
p
within the range are included in the sums, such that (x − xj )2 + (y − yj )2 < r.
• Data entry formats for Record 2 of the TRIP, ALLX, and NOXY options:
Record 2: (for TRIP option (default))
x1 y1 v1
x2 y2 v2
: : :
/
Record 2: (for QUAD option)
x1 y1 v1 r1
x2 y2 v2 r2
: : : :
/
Record 2: (for ALLX option)
x1 x2 ...
y1 y2 ...
v1 v2 ...

Record 2: (for NOXY)


v1 v2 ... /

Examples:

1. INTE is used to specify variable permeability using distance weighted interpolation. By default, data values
will be read and supplied as x,y,x triplets (TRIP option). See INTE.dat for complete example:

K-X UNIF
INTE
0 0 8
3734 0 11
0 1867 9
3734 1867 12
1867 933.5 14 /

This example produces the following results:


X - Permeability (md)

8.11. INTE - Distance Weighted Interpolation 377


Tempest MORE Help, Release 8.1

I = 1 2 3 4 5 6 7 8 9
J=1 8.000 9.404 10.287 10.950 11.336 11.797 11.630 11.388 11.000
J=2 9.271 9.781 10.584 11.481 12.111 12.215 11.842 11.567 11.405
J=3 9.812 10.195 10.919 12.033 14.000 12.669 12.126 11.858 11.734
J=4 9.736 10.140 10.835 11.672 12.280 12.405 12.092 11.927 11.870
J=5 9.000 9.945 10.643 11.232 11.611 12.080 11.986 11.930 12.000

2. INTE is used with the ALLX option to specify variable porosity using distance weighted interpolation. See
INTE_PORO.dat for complete example:

PORO UNIF / Is uniform by layer


INTE 1* 1* ALLX / distance-weighted interpolation
0 1867 3734 933.5 2800 0 1867 3734 / x-values
0 0 0 933.5 933 1867 1867 1867 / y-values
0.09 0.112 0.10 0.115 0.102 0.12 0.105 0.09 / data values

This example produces the following results:


Porosity (fraction)

I = 1 2 3 4 5 6 7 8 9
J=1 0.0900 0.1027 0.1051 0.1077 0.1120 0.108 0.1063 0.1017 0.1010
J=2 0.1031 0.1066 0.1098 0.1080 0.1095 0.107 0.1042 0.1013 0.1007
J=3 0.1088 0.1105 0.1150 0.1104 0.1085 0.106 0.1020 0.0997 0.0986
J=4 0.1121 0.1113 0.1107 0.1103 0.1074 0.106 0.1014 0.0981 0.0962
J=5 0.1200 0.1128 0.1118 0.1092 0.1050 0.103 0.1010 0.0964 0.0900

378 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. This sets the porosity in a number of circles in the xy space using the QUAD input option. Note that where
a cell is not within range of any of the specified points the previous cell value remains in place.
Porosity (fraction)

POROSITY UNIF
CONSTANT
0.1

POROSITY UNIF
INTE 2* QUAD
100 100 0.2 500
1000 1000 0.3 1000
2000 2000 0.4 1000
/

8.11. INTE - Distance Weighted Interpolation 379


Tempest MORE Help, Release 8.1

4. This example sets the user array KKM to a value of 3 within 300 metres of the point x=50,y=50:

KKM=1

KKM UNIF
INTE 2 10 RANGE 300 TRIP
50 50 3
/

380 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.12 LINE - Linear or Bi-linear Interpolation

Location

GRID or INIT section (after a defined array name).

Description

The LINE keyword is used to specify linear (in the x or y-directions) or bi-linear (in the x and y-directions) inter-
polation for an array. Using the LINE keyword after a specified array name will allow for the linear interpolation
of the values of that array in the x and/or y directions between specified values.
LINE is to be used after a defined array name and its arguments consist of up to four records. The first record
follows directly after the LINE keyword and consists of up to three optional arguments. The second, third, and
fourth records each appear on separate lines below the LINE keyword and consist different arrays of values.

Definitions

RECORD 1:
1. NOXY or IN_X or IN_Y or X&Y (optional)
• NOXY - no x and y values are supplied; use same values as last time
• IN_X - linear interpolation in the x-direction; this is the only option for a 1-D problem or a 2-D cross
section (X-DI may also be used)
• IN_Y - linear interpolation in the y-direction (Y-DI may also be used)
• X&Y (default) - bi-linear interpolation in the x and y-directions
2. NORO (optional) - do not do ROTA rotation-translation on input; ignored if ROTA not used
3. SWIT (optional) - switch to the alternative input file to read the data
RECORD 2:
1. Locations of the ith interpolation points in x (list must be terminated with a slash)
• Omitted for the IN_Y or NOXY options
RECORD 3:
1. Locations of the jth interpolation points in y (list must be terminated with a slash)
• Omitted for the IN_X or NOXY options
RECORD 4:
1. Value of the array at each (x,y) point
• These values must be supplied for all x-values at y1 and then for all x-values at y2 and so forth until
all values have been supplied.
• No slashes are allowed until after the last point.

Examples

1. In a 10x10x5 grid, LINE is used with IN_X to perform linear interpolations in the x-direction for the x-
permeability array. The UNIF sub-keyword is also used with K_X to indicate that the arrays are uniform by
layer and only one layer of interpolation values will be provided.

8.12. LINE - Linear or Bi-linear Interpolation 381


Tempest MORE Help, Release 8.1

K_X UNIF
LINE IN-X
500 9500 /
100 150 /

Tempest MORE will linearly interpolate the missing data between the given user data as shown below. See
LINE_KX_Ex1.dat for complete example:

The input above will produce the following x-permeability array:

2. Similar to the example above, in a 10x10x5 grid, LINE is used with IN_Y to perform linear interpolations
in the y-direction for the x-permeability array. See LINE_KX_Ex2.dat for complete example:

382 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

K_X UNIF
LINE IN-Y
500 9500 /
100 150 /

3. In a 10x10x5 grid, LINE is used with IN_X to perform linear interpolations in the x-direction for the
x-permeability array. This example is similar to Examples 1 and 2 above except that it shows that
users can input more than two points for Tempest MORE to interpolate between, as shown below. See
LINE_KX_Ex3.dat for complete example:

K_X UNIF
LINE IN-X
500.0 3690.0 7380.0 9500.0 /
100.0 107.2 123.9 150.0 /

Tempest MORE will then linearly interpolate the missing data between the given user data as shown below:

8.12. LINE - Linear or Bi-linear Interpolation 383


Tempest MORE Help, Release 8.1

The input above will produce the following x-permeability array:

4. In a 4x4x3 grid, LINE is used to perform linear interpolations in the x-direction for the depth array at the
top of the first layer. See LINE_DEPT.dat for complete example:

DEPT 1 ST LAYER TOP


LINE IN_X
0 1750 3500 /
5000 5100 5150 /

384 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

5. In a 2x2x1 grid, LINE is used to perform bi-linear interpolations in the x and y-directions for the porosity
array. For the 6 interpolation points we are have specified, 9 interpolation values for porosity will be
required, one for each corner of every cell at the x and y-locations specified. See LINE_PORO.dat for
complete example:

PORO UNIF
LINE
0 5000 10000 /
0 5000 10000 /
0.10 0.12 0.14 0.20 0.22 0.24 0.30 0.32 0.34 /

A linear interpolation will then be performed at each face of the cells using the porosity values we have
specified above for each cell corner, resulting in 4 different porosity values. An average is then taken of
those 4 values and that is the value that is displayed in the 3D Viewer for that cell, as shown below:

6. In a 2x2x1 grid, LINE is used to perform bi-linear interpolations in the x and y-directions for the porosity
array. Then, LINE is used again, but this time with the NOXY option, to perform bi-linear interpolations
in the same x and y-directions for the x-permeability array. See LINE_PORO_KX_NOXY_Ex6.dat for

8.12. LINE - Linear or Bi-linear Interpolation 385


Tempest MORE Help, Release 8.1

complete example:

PORO
LINE
0 5000 10000 /
0 5000 10000 /
0.10 0.12 0.14 0.20 0.22 0.24 0.30 0.32 0.34 /

K_X
LINE NOXY
100 110 120 130 140 150 160 170 180 /

386 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.13 MODI - Modify Values

Location

GRID or INIT section.

Description

The MODI keyword is used to modify the array values of specific cells. This keyword is usually placed on a
separate line under a defined array name. Exceptions to this rule occur when MODI is used to modify the trans-
missibility arrays (T_X, T_Y, T_Z ), pore volume arrays (PVOL), or depth arrays (DEPT). For more information
regarding the treatment of MODI with these keywords, see the Notes section.
Arguments for MODI consist of two records. The first record requires six arguments, placed on the same line
as the MODI keyword, to indicate the location of the cells whose values are to be modified. The two optional
arguments, ZERO and NINT, should also appear on this line. The second record consists of one or more (up to
four) modifier arguments which are entered on a separate line below the MODI keyword.

Definitions

RECORD 1:
1. First point to modify in the x (i) direction
• Default: 1
2. Last point to modify in the x (i) direction
• Default: maximum x (i) coordinate
3. First point to modify in the y (j) direction
• Default: 1
4. Last point to modify in the y (j) direction
• Default: maximum y (j) coordinate
5. First point to modify in the z (k) direction
• Default: 1
6. Last point to modify in the z (k) direction
• Default: maximum z (k) coordinate
7. ZERO (optional) - indicates that values less than xmin should be set to zero
8. NINT (optional) - round off the values to the nearest integer
RECORD 2:
1. Constant to be added (xadd)
• Default: 0
2. Multiplier (xmult)
• Default: 1
3. Minimum value (xmin)
• Default: 0
4. Maximum value (xmax)
• Default: 1020

8.13. MODI - Modify Values 387


Tempest MORE Help, Release 8.1

Notes

• The modification is applied as: value(modified) = MINIMUM(xmax, xadd + xmult*value(original))


• When MODI is used to add a constant value to an existing array, the constant is unitless. The constant value
that is added will take on the units in which the array is displayed in on the 3D Viewer.
• When MODI is used to assign a minimum or maximum value to an existing array, the minimum or maximum
value will take on the units that the array is entered in in Tempest MORE.
• When ZERO option is used, a value less than xmin is set equal to zero rather than xmin; see Example 5 for
more information.
• When using MODI with the transmissibility arrays (T_X, T_Y, T_Z), pore volume arrays (PVOL), or depth
arrays (DEPT), a different format than that described above must be used. In these cases, the array name
should be followed directly by Record 1 and then the MODI keyword; on a separate line below that is
Record 2. See Examples 7 to 10 for more information.
• When MODI is used to add a constant to the values in an existing PVOL array, the constant will take on the
units in which PVOL is displayed in the 3D viewer with, which are rb instead of ft3 ; see Example 7 for more
information.
• When MODI is used to assign a minimum or maximum value to an existing PVOL array, the values entered
should represent units in which the PVOL array is defined, which are in ft3 . However, when PVOL is
displayed in the 3D Viewer, these values are converted to and displayed in rb instead of ft3 ; see Example 9
for more information.
• When MODI is used to add a constant to the values in an existing T_X, T_Y, or T_Z array, the constant will
take on the units in which transmissibility arrays are displayed in the 3D viewer with, which are cP.rb/day/psi
instead of md-ft.
• When MODI is used to assign a minimum or maximum value to an existing T_X, T_Y, or T_Z array, the
values entered should represent units in which the transmissibility arrays are defined, which are in md-ft.
However, when T_X, T_Y, or T_Z are displayed in the 3D Viewer, these values will be converted to and
appear in cP.rb/day/psi instead of md-ft.
• When replacing transmissibility values, note that the transmissibility is associated with the lower index of
the connected cells. For example, the x-transmissibility between cell (1,1,1) and (2,1,1) is associated with
cell (1,1,1).
• Depth modifications can be only be performed after the DOGR or EDIT keywords have been used to perform
the grid calculations. Otherwise, DEPT is a normal grid keyword, which is an alias for ZGRI. See Example
10 for more information.
• After the grid calculations have been performed, modifying depths will not effect the cell locations or
transmissibilities.

Examples

1. Given an array with a porosity of 0.10 throughout, MODI is used to add 0.05 to porosity values in cells 4,7,1
to 6,10,5. See MODI_PORO_ADD.dat for complete example:

PORO
MODI 4 6 7 10 2*
0.05

388 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. Given an array with a porosity of 0.10 throughout, MODI is used to multiply all porosity values in layer 2
by 0.4. See MODI_PORO_MULT.dat for complete example:

PORO
MODI 4* 2 2
0 0.4

3. Given the initial porosity distribution seen in the “ORIGINAL” figure below, MODI is used to assign a
minimum porosity of 0.15 to all cells with a porosity that is less than 0.15. See MODI_PORO_MIN.dat for
complete example:

PORO
MODI 6*
2* 0.15

8.13. MODI - Modify Values 389


Tempest MORE Help, Release 8.1

4. Given the initial porosity distribution seen in the “ORIGINAL” figure below, MODI is used to assign a
maximum porosity of 0.15 to all cells with a porosity that exceeds 0.15. See MODI_PORO_MAX.dat for
complete example:

PORO
MODI 6*
3* 0.15

5. Given the initial porosity distribution seen in the “ORIGINAL” figure below, MODI and ZERO are used to
assign a porosity of 0 to all cells with a porosity value that is less than 0.15. See MODI_PORO_ZERO.dat
for complete example:

PORO
MODI 6* ZERO
2* 0.15

390 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

6. Given the initial x-permeability distribution seen in the “ORIGINAL” figure below, MODI and NINT are
used to round off the values to the nearest integer. See MODI_KX_NINT.dat for complete example:

K_X
MODI 6* NINT
4*

7. In a field unit system, given an array with a pore volume of 3.56x106 rb throughout, MODI is used to add
a constant of 2x106 to the pore volume array in rows i=6 to 10. See MODI_PVOL_ADD.dat for complete
example:

PVOL 6 10 1 10 1 5 MODI
20000000

8.13. MODI - Modify Values 391


Tempest MORE Help, Release 8.1

8. In a field unit system, given an array with a pore volume of 3.56x106 rb throughout, MODI is used to multiply
the pore volume array in rows i=4 to 6 by 2.0. See MODI_PVOL_MULT.dat for complete example:

PVOL 4 6 1 10 1 5 MODI
0 2.0

9. In a field unit system, given an array with a pore volume of 3.56x106 rb throughout, MODI is used to assign a
minimum pore volume of 4x107 ft3 to the cells in rows i=1 to 5 which have a pore volume less than 4x107 ft3
(or 7.12x106 rb). See MODI_PVOL_MIN.dat for complete example:

PVOL 1 5 1 10 1 5 MODI
2* 40000000

(Note that when field units are used, pore volumes will be displayed in rb in the 3D viewer, as shown in the
figure below, despite being input in ft:sup:‘3‘.)

392 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

10. Given the initial cell centre depths seen in the “ORIGINAL” figure below, MODI is used to lower the centre
depths of all cells by 500. The DOGR keyword must be used in this case to force grid calculations before
depths can be modified using MODI. See MODI_DEPT_ADD.dat for complete example:

DOGR
DEPT 6* MODI
500

8.13. MODI - Modify Values 393


Tempest MORE Help, Release 8.1

8.14 REPL - Replace Values

Location

GRID or INIT Section

Description

The REPL keyword is used to replace the array values in specific cells. This keyword is usually placed on a
separate line under a defined array name. Exceptions to this rule occur when REPL is used to modify the trans-
missibility arrays (T_X, T_Y, T_Z), pore volume arrays (PVOL), or depth arrays (DEPT). For more information
regarding the treatment of REPL with these keywords, please refer to the Notes section below.
Arguments for REPL consist of two records. The first record requires six arguments which follow directly after
the REPL keyword to indicate the location of the cells whose values are to be replaced. The second record, entered
on a separate line below REPL, consists of an array of the values used to replace the original values in the specified
cells.

Definitions

RECORD 1:
1. First point to replace in the x (i) direction
• Default: 1
2. Last point to replace in the x (i) direction
• Default: Maximum x (i) coordinate
3. First point to replace in the y (j) direction
• Default: 1
4. Last point to replace in the y (j) direction
• Default: Maximum y (j) coordinate
5. First point to replace in the z (k) direction
• Default: 1
6. Last point to replace in the z (k) direction
• Default: Maximum z (k) coordinate
RECORD 2:
1. Values used to replace the original values in the cells specified in Record 1

Notes

• When REPL is used to replace values in an existing array, the values entered will take on the units that the
array is defined in in Tempest MORE.
• When using REPL with the transmissibility arrays (T_X, T_Y, T_Z), pore volume arrays (PVOL), or depth
arrays (DEPT), a different format from that described above must be used. In these cases, the array name
should be followed directly by Record 1 and then the REPL keyword. On a separate line below that should
be Record 2. Please see Examples 2 and 3 below for more information.
• When REPL is used with PVOL to replace pore volumes in specified cells, the values entered will be in ft3
(Field) or m3 (Metric). However, please note that when field units are used, PVOL will be converted to and
displayed on the 3D viewer in rb instead of ft3 . Please see Example 2 below for more information.

394 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

• When REPL is used with any of the transmissibility arrays (T_X, T_Y, or T_Z)to replace the transmissibility
in specified cells, the values entered will be in md-ft (Field) or md-m (Metric). However, please note that
when field units are used, these transmissibilities will be displayed on the 3D viewer in cP.rb/day/psi instead
of md-ft.
• When replacing transmissibility values, note that the transmissibility is associated with the lower index of
the connected cells. For example, the x-transmissibility between cell (1,1,1) and (2,1,1) is associated with
cell (1,1,1).
• Depth modifications can be only be performed in this way after DOGR or EDIT has been used to perform
the grid calculations. Otherwise, DEPT is a normal grid keyword, which is an alias for ZGRI.
• When using DEPT with REPL, the entry must be terminated with a slash appearing on a separate line after
the last entry in Record 2. Please see Example 2 for more information.
• After the grid calculations have been performed, modifying depths will not effect the cell locations or
transmissibilities.

Examples

1. Given a 10x10x5 grid with a porosity of 0.10 throughout, REPL is used to replace the first three porosity
values in rows 4 and 5 of the first and second layers. See REPL.dat for complete example:

PORO
REPL 1 3 4 5 1 2
0.12 0.23 0.20
0.15 0.18 0.19
0.22 0.16 0.17
0.21 0.14 0.11

2. In a field unit system, given a 10x10x5 grid with a pore volume of 2x107 ft3 (or 3.56x106 rb) throughout,
REPL is used to replace the pore volume in rows i=1 to 5 with 4x107 ft3 . See REPL_PVOL.dat for complete
example:

PVOL 1 5 4* REPL
250*40000000

(Please note that when field units are used, pore volumes will be displayed in rb in the 3D viewer, as shown
in the figure below, despite being input in |ft3|.)

8.14. REPL - Replace Values 395


Tempest MORE Help, Release 8.1

3. Given a 4x4x4 grid, REPL is used to set new cell centre depth values for the reservoir. The DOGR key-
word must be used in this case to force grid calculations before depths can be replaced using REPL. See
REPL_DEPT.dat for complete example:

DOGR
DEPTH 6* REPL
5200 5600 5300 5700
5200 5600 5300 5700
5200 5600 5300 5700
5200 5600 5300 5700

5800 5350 5500 5850


5800 5350 5500 5850
5800 5350 5500 5850
5800 5350 5500 5850

5600 5250 5900 5750


5600 5250 5900 5750
5600 5250 5900 5750
5600 5250 5900 5750

5500 5850 5700 5950


5500 5850 5700 5950
5500 5850 5700 5950
5500 5850 5700 5950
/

396 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.14. REPL - Replace Values 397


Tempest MORE Help, Release 8.1

8.15 VARI - Variable Values for Layers

Location

GRID or INIT Section (after a defined array name)

Description

The VARI keyword is used to specify that the input for an array is entered with values that are variable by layer.
VARI is the default processing method. Essentially, it simply specifies that the data will follow the grid array
sub-keyword. VARI’s arguments consist of two records. The first record is an optional argument used to describe
the format of the values supplied in the second record. This optional argument should follow directly after the
VARI keyword on the same line if used. The second record starts on a separate line below the VARI keyword and
consists of the values to be assigned to the array. The number of values required in the second record depends on
the option chosen in the first record.

Definitions

RECORD 1:
1. DISC or CONT or BLOC (optional)
• DISC - values are supplied in DISC format: 4 · Nx · Ny values
• CONT - values are supplied in CONT format: (Nx + 1)(Ny + 1) values
• BLOC (default) - values are supplied for BLOC format: Nx · Ny values
(where Nx = number of cells in the x-direction and Ny = number of cells in the y-direction)
RECORD 2:
1. The values to be assigned to the array

Notes

• When entering the values to be assigned to the array, no slashes are allowed, except on the last line. Inline
comments can be supplied using a slash followed by an asterisk (/*).
• One disadvantage of the VARI method is that the data format depends on the grid size - ZVAR, LINE, and
INTE options are independent of the Nx and Ny so may be preferable to the VARI option when changes to
the grid are anticipated.

Examples

1. In a 10x10x5 grid, VARI is used with a porosity array to specify variable porosities by layer. See
VARI_PORO.dat for complete example:

PORO
VARI
100*0.10
100*0.12
100*0.14
100*0.16
100*0.18

398 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.15. VARI - Variable Values for Layers 399


Tempest MORE Help, Release 8.1

8.16 ZVAR - Variable in the Z-direction, constant in X and Y

Location

GRID or INIT Section (after a defined array name).

Description

The ZVAR keyword is used to specify values of a data item for each layer. ZVAR must be used with a defined
array name. The arguments required for ZVAR consist of a list of values of the data item for each layer of the
model. These arguments should be supplied on separate lines below the ZVAR keyword.

Definitions

1. Value of the data item for each layer in the model. The number of values required depends on the vertical
variation selected on the line with the array name.
• Default: 0

Notes

• Since ZVAR defines all layers, it should not be used with other grid processing method keywords to define
an item.

Example

1. In a 10x10x5 grid, ZVAR is used to specify porosity values for each layer. See ZVAR.dat for complete
example:

PORO
ZVAR
0.10 0.12 0.14 0.16 0.18

400 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.17 ACTN - Active Cell Array

Location

GRID Section

Description

The ACTN keyword is used to indicate whether the cells in a grid are active or inactive. Its arguments consist of
an array of active cell integer values. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (i.e. 150*1 can be used to assign a value of 1 to 150 cells).

Definitions

1. Active cell integer values


• Default: 1 (cell is active)
• Minimum: 0 (cell is inactive)

Notes

• This keyword is the only way of activating cells that have been made inactive, e.g. by using the PVOL
keyword.
• In a thermal run, setting ACTN to 2 will result in a cell which is purely rock. A very small pore volume of a
millionth of the original pore volume is retained, but isolated from the simulation.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format;
see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI and ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. ACTN is used to populate a 10x10x5 grid with 500 active cell integer values. See ACTN.dat for complete
example:
ACTN
0 1 1 1 1 1 0 1 0 1
1 0 1 0 0 1 0 0 1 1
1 1 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 1
1 0 0 1 1 1 0 0 0 0
1 1 1 1 1 0 0 0 1 1
0 0 0 1 0 0 0 0 0 1
0 0 1 0 0 1 1 1 1 0
1 0 0 0 0 0 1 1 1 1
1 1 1 0 1 0 0 1 1 0

8.17. ACTN - Active Cell Array 401


Tempest MORE Help, Release 8.1

200*1
100*0
100*1

Toggling the Show data and cell outlines from inactive cells button on and off will allow for the user

to display or hide the inactive cells. When this button is toggled off , the grid above will appear as
follows:

402 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.18 AQCD - Connect an Aquifer at a Given Depth

Location

GRID Section

Description

The AQCD keyword is used to connect an aquifer at a given depth. This keyword consists of two required
arguments and one optional one, all of which directly follow AQCD on the same line.

Definitions

1. Name of the aquifer (set using AQCD)


2. Depth at which the aquifer is to be connected
3. Equilibration region for these connections (optional)
• Default: All regions

Notes

• The depth connected aquifer is set up as follows:


– Any cell completely below the specified depth is made inactive.
– Any cell which overlaps the specified depth is connected to the aquifer.
• The bottom face is normally connected, and the sides if the cell has no active neighbours in those directions.
The top face is never connected.
• The influx from the aquifer will be shared between the connected cells.

Examples

1. AQCD is used to connect the AQ1 aquifer at a depth of 5400 in all equilibration regions. See AQCD.dat for
complete example:

AQCD AQ1 5400

As a result, all cells below 5400 are made inactive and the water saturation in the grid appears as follows:

8.18. AQCD - Connect an Aquifer at a Given Depth 403


Tempest MORE Help, Release 8.1

Additionally, the following data will appear in the Summary tab of the results for 2D plotting:

The addition of GENE with the AQUI option in the RECU section will also output the aquifer data shown
below into the Print file:

AQIF====================================================================
Aquifer Report at 2 Jan 2000, 1.0 days
========================================================================

Aquifer Aquifer Number Total Inflow Pinitial


index name of inflow to rate
connections reservoir
to reservoir mstb stb/day psia
-------- ---------- ------------ ----------- -------- --------
1 AQ1 140 0.002 2.139 3363.4
-------- ---------- ------------ ----------- -------- --------

404 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.19 AQNN - Set Up Numerical Aquifer Cell

Location

GRID Section

Description

The AQNN keyword sets up a numerical aquifer.


AQNN consists of ten required arguments and four optional arguments which should be entered on the same line
as the AQNN keyword itself when used.

Definitions

1. Numerical aquifer name (or number)


2. Number of cells in numerical aquifer model
3. Cross sectional area
• Units: square feet (Field) or square metres (Metric)
4. Length
• Units: feet (Field) or metres (Metric)
5. Thickness
• Units: feet (Field) or metres (Metric)
6. Porosity
7. Permeability
• Units: mD (Field) or mD (Metric)
8. Rock compressibility
• Units: 1/psia (Field) or 1/bar (Metric)
9. Rock compressibility reference pressure
• Units: psia (Field) or bar (Metric)
10. Depth
• Units: feet (Field) or metres (Metric)
11. Initial pressure
• Units: psia (Field) or bar (Metric)
12. Pressure table number (optional)
• Default: 1
13. Saturation table number (optional)
• Default: 1
14. Equilibration table number (optional)
• Default: 1

8.19. AQNN - Set Up Numerical Aquifer Cell 405


Tempest MORE Help, Release 8.1

Notes

• NUMA keyword should be entered in the INPU section for numerical aquifers.
• Numerical aquifer’s depth (argument 10) should be below the oil-water contact.
• Initial pressure (argument 11) should be defaulted for equilibrated solution, and is required for non-
equilibrated solution (see example 5).
• Numerical aquifer connections can be set up using the keyword AQNC.
• Event CNAC can be used to complete a well in the numerical aquifer (see example 2).
• Use the argument AQUI under the GENE keyword to request output of aquifer status reports.
• Connections will be made between the first cell in a numerical aquifer and the grid.

• The user can cycle between grid, numerical aquifer or both using the toggle button in the 3D viewer.

– will show only the aquifers and hide the grid.

– will show only the grid and hide the aquifers.

– (default option) will show both the grid and the aquifers.

Examples

1. AQNN is used to set up a 5-cell numerical aquifer, named A1, with a cross-sectional area of 10,000 m2 ,
length of 6000 m, thickness of 25 m, porosity of 0.5, permeability of 100 mD, rock compressibility of
4*10-5 bar-1 , rock compressibility reference pressure of 2600 bars and depth of 5650 m.
AQNN is also used to set up another aquifer named A2. A2 is the same as A1 except that it has a length
of 2000 m and a thickness of 50 m. Equilibrated solution is setup so initial pressure (11th argument) is
defaulted. See aqn0.dat for complete example:

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

There is one producer well P-1 in the reservoir:

ETAB
P-1
0 PROD
0 CIJK 12 12 1 4 0.5 1 0 1* 1* COPEN DIR Z
0 LPT 100
0 BHPT 100
ENDE

Groups NA_A1, NA_A2 and Reservoir are added under the Group Tab:

406 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The aquifer flux rates and totals are reported under Summary tab:

Numerical Aquifer A1 and the Reservoir will appear in the 3D viewer as follows. Note that the both the
aquifer and the reservoir are shown to scale:

The following report, on Numerical Aquifer cells and connection blocks, is generated in the Print file:

AQUN======================================================================================

Cells used to represent numerical aquifers

Index Name Number Cell Cross Length Thickness Porosity Pore Perm
,→ Depth Initial Reference Reference PVT Sat Equil

8.19. AQNN - Set Up Numerical Aquifer Cell 407


Tempest MORE Help, Release 8.1

of section volume
,→ pressure compress. pressure table table table
cells sq metre metre metre rm3 mD
,→ metre barsa 1/bars barsa
----- ------ ------- ----- -------- -------- --------- -------- -------- ------
,→-- -------- -------- --------- --------- ----- ----- -----

1 A1 5 1 10000 1200.0 25.000 0.5000 6.00E6 100.


,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 2 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 3 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 4 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 5 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 1 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 2 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 3 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 4 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 5 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
----- ------ ------- ----- -------- -------- --------- -------- -------- -----
,→--- -------- -------- --------- --------- ----- ----- -----

Connection blocks for numerical aquifers

Index Name Block I-range J-range K-range Face Multiplier


----- ------ ----- ------------ ----------- ---------- ---- ----------
1 A1 1 1 to 20 1 to 20 4 to 4 K+ 1.0000
2 A2 1 1 to 20 1 to 20 4 to 4 K+ 1.0000
----- ------ ----- ------------ ----------- ---------- ---- ----------

2. This example is the same as the first one except that the producer well P-1 is completed in the 4th cell of the
aquifer A1. Another producer well P-2 is completed in the 3rd cell of aquifer A2. See aqne.dat for complete
example:

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

ETAB
P-1
0 PROD
0 CNAC A1 4
0 LPT 100
0 BHPT 100
P-2
0 PROD
0 CNAC A2 3
0 LPT 100
0 BHPT 100
ENDE

This will be shown in the 3D viewer as follows:

408 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. This example is the same as the first one except that this example has an injector well I-1 with a polymer
concentration of 0.15 kg/m3 . See aqnp.dat for complete example:

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

ETAB
I-1
0 INJE
0 CIJK 1 1 1 4 0.5 1 0 1* 1* COPEN DIR Z
0 WIT 4000
0 POLY 0.15
0 BHPT 4000
ENDE

Polymer influx rates and totals in the numerical aquifer can be seen in the Print Tab:

AQIN======================================================================================
Numerical Aquifer Report at 1 Jan 2010, 3653.0 days
==========================================================================================
Aquifer Aquifer Inflow Inflow Cell Pressure Oil Gas Water
,→ Heat Heat Polymer Polymer
index name rate total satn satn satn
,→ inflow inflow inflow inflow
(into reservoir)
,→ rate total rate total
sm3/day ksm3 barsa
,→ MJ GJ Kg/day kKg
-------- ------- --------- ---------- ---- -------- ------ ------- --------
,→ ------- ------- -------- --------

1 A1 -430.41 -2304 1537.9


,→ 0.0 0.0 -53.36 -271.67
1 A1 1 1570.4 0.0 0.0 1.000
1 A1 2 1543.4 0.0 0.0 1.000
1 A1 3 1531.3 0.0 0.0 1.000
1 A1 4 1524.1 0.0 0.0 1.000
1 A1 5 1520.4 0.0 0.0 1.000
2 A2 -141.65 -789.27 1563.4
,→ 0.0 0.0 -32.72 -354.98
2 A2 1 1570.4 0.0 0.0 1.000
2 A2 2 1563.6 0.0 0.0 1.000
2 A2 3 1561.7 0.0 0.0 1.000
2 A2 4 1560.9 0.0 0.0 1.000
2 A2 5 1560.5 0.0 0.0 1.000

8.19. AQNN - Set Up Numerical Aquifer Cell 409


Tempest MORE Help, Release 8.1

Total -572.06 -3093


,→ 0.0 0.0 -86.08 -626.65
-------- ------- --------- ---------- ---- -------- ------ ------- --------
,→ ------- ------- -------- --------

4. This example is the same as the first one except that this example has an injector well I-1 with an injection
temperature of 278o C. See aqnt.dat for complete example:
AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /
AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

ETAB
I-1
0 INJE
0 CIJK 1 1 1 4 0.5 1 0 1* 1* COPEN DIR Z
0 TEMP 278
0 WIT 100
0 BHPT 6000
ENDE

Heat inflow rates and totals in the numerical aquifer can be seen in the Print Tab:
AQIN======================================================================================
Numerical Aquifer Report at 1 Jan 2001, 366.0 days
==========================================================================================

Aquifer Aquifer Inflow Inflow Cell Pressure Oil Gas


,→Water Heat Heat Polymer Polymer
index name rate total satn satn
,→satn inflow inflow inflow inflow
(into reservoir)
,→ rate total rate total
sm3/day ksm3 barsa
,→ MJ GJ Kg/day kKg
------- ---------- --------- ---------- ---- -------- -------- -------- ----
,→---- -------- -------- -------- --------

1 A1 -0.00 -0.01 606.807


,→ -1071 -215.94 0.0 0.0
1 A1 1 606.807 0.0 0.0 1.
,→000

1 A1 2 606.807 0.0 0.0 1.


,→000

1 A1 3 606.807 0.0 0.0 1.


,→000

1 A1 4 606.807 0.0 0.0 1.


,→000

1 A1 5 606.807 0.0 0.0 1.


,→000

2 A2 0.801E-3 -0.00 606.807


,→ -3137 -628.01 0.0 0.0
2 A2 1 606.807 0.0 0.0 1.
,→000

2 A2 2 606.807 0.0 0.0 1.


,→000

2 A2 3 606.807 0.0 0.0 1.


,→000

2 A2 4 606.807 0.0 0.0 1.


,→000

2 A2 5 606.807 0.0 0.0 1.


,→000

410 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Total -0.00 -0.01


,→ -4208 -843.96 0.0 0.0
------- ---------- --------- ---------- ---- -------- -------- -------- ----
,→---- -------- -------- -------- --------

5. This example is the same as the first one except that non-equilibrated solution is setup. Hence, an initial
pressure (11th argument) value of 300 bars is entered. AQNN is also used to set up another aquifer named
A2. A2 is the same as A1 except that it has a length of 2000 m and a thickness of 50 m. Equilibrated
solution is setup so initial pressure (11th argument) is defaulted. See aqn0_nequ.dat for complete example:

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 300 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 300 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

/ ======================================================================
INIT NEQU
/ ======================================================================

F(DEPTH) T P Pb SG SW
2320 1* 500 100 0.0 0.20 /
/

Initial pressure in the reservoir and numerical aquifers A1 and A2 is shown in the 3D viewer:

8.19. AQNN - Set Up Numerical Aquifer Cell 411


Tempest MORE Help, Release 8.1

8.20 AQNC - Set Up numerical aquifer connection

Location

GRID Section

Description

The AQNC keyword sets up a numerical aquifer connection

Definitions

1. Numerical aquifer name (or number)


2. Lower I-index of connection
3. Upper I-index of connection
4. Lower J-index of connection
5. Upper J-index of connection
6. Lower K-index of connection
7. Upper K-index of connection
8. Face to be connected:
• I- or X- :lower I-direction face
• I+ or X+ :upper I-direction face
• J- or Y- :lower J-direction face
• J+ or Y+ :upper J-direction face
• K- or Z- :lower K-direction face
• K+ or Z+ :upper K-direction face
Any combination of faces I-, I+, J-, J+, K-, or K+, X-, X+, Y-, Y+, Z-, or Z+ may be specified together, such
as X-Y-Z- or X+Y+. The combination must be entered as a single string without spaces.
Additional options for the face argument are:
ALL : equivalent to I+I-J+J-K+K- or X+X-Y+Y-Z+Z-
• Default: If defaulted, boundary cells will be assumed on all available faces (option ALL).
9. Transmissibility multiplier for the connection
10. Transmissibility cross-section option:
• 0: Use the aquifer cell cross-sectional area as defined by the third argument of AQNN in the transmis-
sibility calculation
• 1: Use the cross-sectional area of the connected reservoir cell instead of the aquifer cell
11. Allow inner aquifer connection, i.e. connections to cells which have an active neighbour at their connecting
face:
• Y/N (default: N)
12. Allow aquifer connections into internal cells which were made inactive due to a MINPV or MINDZ limit
(optional)
• Y/N (default: Y)

412 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

13. Region name for connection to the aquifer (optional)


• If this is not specified, the aquifer will be connected acording to the connection box. If this refers to
the name of a region array, then the aquifer connections are considered only for cells where the region
array is nonzero and which lie within the connection box.

Notes

• The aquifer will be connected to any available face in the specified direction in the box. This includes both
external faces on the edge of the reservoir and internal faces with no active neighbour. For the purposes of
AQNC, Z is regarded as increasing downwards.
An aquifer connection is made if is no active neighbour in the specified direction within the box. However,
this may not be the desired behaviour when the neighbour is inactive due to a MINP limit. Setting the 12th
argument to N ensures no connection is made in this case. Then aquifer connections will only be made
when the neighbour is inactive because ACTN =0.
• This information may also be read as the ECLIPSE format AQUCON keyword.
• The K+ direction corresponds to the bottom face of a cell.
• Keyword AQNN is used to set up a numerical aquifer.
• The transmissibility between the first aquifer cell and a reservoir cell is calculated as Ta,r = [la /(2ka aa ) +
lr /(2kr ar )]−1 , where ka,r , aa,r , la,r denote the permeability, cross-section and length of the aquifer and
reservoir cell, respectively. Setting the 10-th argument to 1 sets aa := ar .
• Setting the 11-th argument to Y can lead to unexpected results, such as connecting the aquifer to the middle
of the reservoir, and is thus discouraged.
• When an optional region is supplied as the 13th argument, it may be convenient to define this region by
using the DEFI keyword.
If the DEFI keyword is defined in the GRID section, it is essential to use the SAVE argument to ensure the
array does not get deleted after processing of the GRID section.

Examples

1. AQNN is used to set up aquifers A1 and A2. AQNC is used to connect aquifers A1 and A2 to lower face of
reservoir. See aqn0.dat for complete example:

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

There is one producer well P-1 in the reservoir:

ETAB
P-1
0 PROD
0 CIJK 12 12 1 4 0.5 1 0 1* 1* COPEN DIR Z
0 LPT 100
0 BHPT 100
ENDE

Groups NA_A1, NA_A2 and Reservoir are added under the Group Tab:

8.20. AQNC - Set Up numerical aquifer connection 413


Tempest MORE Help, Release 8.1

The aquifer flux rates and totals are reported under Summary Tab:

Numerical Aquifer A1 and the Reservoir will appear in the 3D viewer as follows. Note that the both the
aquifer and the reservoir are shown to scale:

The following report, on Numerical Aquifer cells and connection blocks, is generated in the Print file:

AQUN======================================================================================

Cells used to represent numerical aquifers

Index Name Number Cell Cross Length Thickness Porosity Pore Perm
,→ Depth Initial Reference Reference PVT Sat Equil

414 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

of section volume
,→ pressure compress. pressure table table table
cells sq metre metre metre rm3 mD
,→ metre barsa 1/bars barsa
----- ------ ------- ----- -------- -------- --------- -------- -------- ------
,→-- -------- -------- --------- --------- ----- ----- -----

1 A1 5 1 10000 1200.0 25.000 0.5000 6.00E6 100.


,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 2 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 3 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 4 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
1 A1 5 5 10000 1200.0 25.000 0.5000 6.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 1 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 2 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 3 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 4 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
2 A2 5 5 10000 400.00 50.000 0.5000 2.00E6 100.
,→00 5650.0 606.80 0.4E-4 305.00 1 1 1
----- ------ ------- ----- -------- -------- --------- -------- -------- -----
,→--- -------- -------- --------- --------- ----- ----- -----

Connection blocks for numerical aquifers

Index Name Block I-range J-range K-range Face Multiplier


----- ------ ----- ------------ ----------- ---------- ---- ----------
1 A1 1 1 to 20 1 to 20 4 to 4 K+ 1.0000
2 A2 1 1 to 20 1 to 20 4 to 4 K+ 1.0000
----- ------ ----- ------------ ----------- ---------- ---- ----------

2. AQNC is used to connect the AQ1 aquifer in the X, Y and Z+ direction to layers 12-18 in a model. The areal
extent of the connection is described by a user-defined region array ASEC.
In the GRID section (typically an include file is used to import the definition of ASEC from another pro-
gram):

DEFI ASEC
'Aquifer connection region'

-- Define ASEC region array here

AQNC AQ1 1* 1* 1* 1* 12 18 X+X-Y+Y-Z+ 1 2* ASEC

8.20. AQNC - Set Up numerical aquifer connection 415


Tempest MORE Help, Release 8.1

8.21 BETA - Forchheimer Coefficient for Non-Darcy Flow

Location

GRID section

Description:

The BETA keyword is used to populate the cells in a grid with beta values. Beta values are used when evaluating
the effect of Forchheimer non-Darcy flow. In Forchheimer flow, the usual linear relationship between the fluid
flow and the pressure gradient breaks down. This can be represented by an extra contribution to the pressure drop
which goes like the square of the fluid velocity.
In all unit sets, BETA values are entered in units of the Forchheimer, with
1atm g
1F = ∗
sec2 m−1
See the Forchheimer Flow section of the MORE Technical Reference for details of Forchheimer flow.
The BETA keyword may be followed by an array of values. Cells will be populated in the x-direction first,
followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a
value to a specified number of cells.

Definitions

1. BETA values
• Default: 0
• Minimum: 0; No maximum

Notes

All the usual methods available for entering grid data are available for use with BETA - see for example, the
PORO keyword. These include CONS, ZVAR and the use of expressions. Expressions are particularly useful with
BETA, and the Forchheimer coefficient is often regarded as a function of permeability or porosity.
Users may find that available values of BETA are in units other than the Forchheimer. The Forchheimer has units
of inverse length, so the following conversion factors may be useful:
• 1F = 1.01325*106 cm-1
• 1F = 1.01325*108 m-1
• 1F = 1.01325*30.48*106 = 3.0884*107 ft-1
Beta values specified in inverse length units are typically rather large numbers and the Forchheimer, as proposed
by Holditch and Morse, SPE 5586, typically yields beta values of order 10F. So if a value has been supplied in
units of 1/cm, divide by 1.01325*1.06 to convert to Forchheimer units.

Examples

1. The Forchheimer coefficient is set for the whole reservoir.

BETA=5.6

416 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.22 CLAN - Langmuir Constant

Location

GRID Section

Description

The CLAN keyword is used to populate the cells in a grid with a Langmuir constant in a coal bed methane system.
The Langmuir constant controls the volume of coal gas per mass of rock. When CLAN is used, the coal bed
methane option must be turned on using the CBM keyword in the INPU or FLUI sections. Arguments for the
CLAN keyword consist of an array of Langmuir constants.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Langmuir constants
• Units: scf/ton (Field), sm3 /tonne (Metric)
• Default: 0

Notes

• To set up global values of the Langmuir constants, the LANG keyword should be used. Values which vary
across the field may be set up using the CLAN, PLAN, and TLAN keywords.
• For compositional coal bed methane models, keywords like CLN1, CLN2 etc. are used instead of CLAN;
see CLNn keyword for more information.
• The units employed in CBM modelling are different from the usual MORE ones. The Langmuir constant is
in terms of scf/ton, not Mscf, in field units and sm3 /tonne, not ksm3 , in metric units.
• A metric tonne is 1000kg. A field unit ton is a short (USA) ton of 2000lb.
• See Coal Bed Methane Modelling for more information regarding coal bed methane modelling in Tempest.
please
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. CLAN is used to populate a 10x10x3 grid with 300 Langmuir constants.

8.22. CLAN - Langmuir Constant 417


Tempest MORE Help, Release 8.1

CLAN
720 720 720 721 720 720 720 720 722 720
720 725 720 720 720 720 720 720 720 720
720 720 720 720 720 720 720 720 720 720
720 720 720 720 722 720 723 720 720 722
720 723 720 720 720 720 720 720 720 724
720 720 720 724 720 720 721 720 720 720
720 725 720 720 720 720 724 720 720 720
721 720 720 720 724 720 720 720 720 720
720 721 720 720 720 720 720 720 720 720
723 720 720 720 720 720 720 720 725 722
200*720

The Langmuir constant array will then appear in the Initial tab of the results for display in 3D, as shown
below.

418 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.23 CLNn - Compositional Langmuir Constant

Location

GRID Section

Description

The CLNn keyword is used to populate the cells in a grid with a Langmuir constant for each component in a
compositional coal bed methane system. The Langmuir constant controls the volume of coal gas per mass of rock.
When CLNn is used, the coal bed methane option must be turned on using the CBM keyword in the INPU or FLUI
sections. Arguments for the CLNn keyword consist of an array of Langmuir constants for each component. The
array for each component is identified by replacing the ‘n’ in the CLNn keyword with an integer number which
corresponds to the component as defined in the INPU section by the CNAM keyword.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Langmuir constants for absorbed component ‘n’ + Units: scf/ton (Field), sm3 /tonne (Metric)
• Default: 0

Notes

• To set up global values of the Langmuir constants, the LANG keyword should be used. Values which vary
across the field in each component may be set up using the CLNn, PLNn, and TLNn keywords.
• For black oil coal bed methane models, the CLAN is used instead of CLNn. Please see the CLAN keyword
for more information.
• The units employed in CBM modelling are different from the usual MORE ones. The Langmuir constant is
in terms of scf/ton, not Mscf, in field units and sm3 /tonne, not ksm3 , in metric units.
• A metric tonne is 1000kgs. A field unit ton is a short (USA) ton of 2000lbs.
• See Coal Bed Methane Modelling for more information regarding coal bed methane modelling in Tempest.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In the example below, CLNn is used to populate a 9x9x4 grid with 324 Langmuir constants for two com-
ponents (CO:sub:2 and C1). The integer number associated with each component which is used to replaced

8.23. CLNn - Compositional Langmuir Constant 419


Tempest MORE Help, Release 8.1

the ‘n’ in the CLNn keyword corresponds to the order in which these components are listed after the CNAM
keyword in the INPU section. See CoalBedMethane_EOS.dat for complete example:

CNAM CO2 C1 WATR

Thus, component 1 will correspond to CO2 while component 2 will correspond to C1. The CLNn keyword
can then be used accordingly, as follows.

CLN1
720 720 720 721 720 720 720 720 722
720 725 720 720 720 720 720 720 720
720 720 720 720 720 720 720 720 720
720 720 720 720 722 720 723 720 720
720 723 720 720 720 720 720 720 720
720 720 720 724 720 720 721 720 720
720 725 720 720 720 720 724 720 720
721 720 720 720 724 720 720 720 720
720 721 720 720 720 720 720 720 720
723 720 720 720 720 720 720 720 725
243*720

CLN2
722 723 722 722 722 722 722 722 720
722 722 720 722 722 722 722 722 722
722 722 722 722 722 721 722 722 722
722 722 724 722 722 722 722 722 725
721 723 722 722 722 723 721 722 722
722 722 720 722 722 722 722 723 722
722 722 725 722 722 722 722 722 722
722 722 721 722 722 722 722 722 722
722 722 722 722 724 722 722 722 720
243*722

The Langmuir constant arrays for CO2 and C1 will then appear in the Initial tab of the results for display in
3D, as shown below.

420 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.23. CLNn - Compositional Langmuir Constant 421


Tempest MORE Help, Release 8.1

8.24 CONS - Constant Grid Spacing in the X, Y, or Theta Directions

Location

GRID Section (after the X-DI, Y-DI or THET keywords).

Description

The CONS keyword is used to specify constant grid spacing in the x, y, or theta directions. This keyword must
appear after either the X-DI, Y-DI, or THET keywords. CONS consists of one required argument listed on a
separate line from the keyword itself.

Definitions

1. Total length of system in x or y direction (or total angle for the theta (θ) direction)
• Units: feet (Field), metres (Metric)

Notes

• CONS is treated rather differently for the radial R-DI case. Please see CONS (R-direction). for more
information.

Examples

1. In a 10x10x5 grid, X-DI is used with CONS to specify a uniform grid spacing and a total grid length of
10000.

X-DI
CONS
10000

422 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. In a 10x5x5 radial grid, THET is used with CONS to specify a uniform grid spacing and a total angle of
360o .

THET
CONS
360

8.24. CONS - Constant Grid Spacing in the X, Y, or Theta Directions 423


Tempest MORE Help, Release 8.1

8.25 CONS - Constant Grid Spacing in the R-direction

Location

GRID Section (after the R-DI keyword)

Description

The CONS keyword is used to specify constant grid spacing in the r-direction. This keyword must appear after the
R-DI keyword and consists of two required arguments which should appear on the separate line after the CONS
keyword is specified.

Definitions

1. Inner radius of the radial grid


• Units: feet (Field), metres (Metric)
2. Outer radius of the radial grid
• Units: feet (Field), metres (Metric)

Notes

• CONS is treated rather differently for the X-DI, Y-DI, or THET keywords. Please see CONS (X, Y, or THET
direction) for more information.

Examples

1. R-DI is used with CONS to specify a uniform grid spacing between the inner and outer radii of 0.5 and
2500, respectively. See CONS_R.dat for complete example:

R-DI
CONS
0.5 2500

424 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.25. CONS - Constant Grid Spacing in the R-direction 425


Tempest MORE Help, Release 8.1

8.26 COOR - Grid Coordinates

Location

GRID Section

Description

The COOR keyword is used to establish coordinate lines on which the grid geometry may be constructed. COOR’s
arguments consist of two records. The first record contains an optional argument that should be written directly
after the COOR keyword on the same line if used. The second record consists of an array of the coordinate values.
The number of values needed depends on the coordinate option chosen in the first record. These values should
appear on separate lines below the COOR keyword. Following the final entry, a solitary slash (/) on a separate line
is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. ZXY or X&Y (optional)
• ZXY (default) - (N:sub:x+1)*(Ny +1) straight coordinate lines are specified (where Nx = number of
cells in the x-direction and Ny = number of cells in the y-direction). Each is defined by two points
at different depths. This default option is compatible with the ECLIPSE COORD keyword. - X&Y -
only x and y coordinate values are supplied. The z-direction coordinate lines are assumed straight and
parallel.
2. VERT (optional)
• Force coordinate lines to be vertical by setting the (X,Y) location for all points down each line to the
average of the supplied (X,Y) values.
RECORD 2:
1. Coordinate values (terminated by a slash (/) after the last entry)

Notes

• COOR does not completely define the grid - cell depth values must also be supplied by setting depths DEPT
or corner depth points for cells (ZCOR) and cell thicknesses THIC
• Few users will have occasion to generate COOR data by hand - this is almost universally generated by
pre-processors such as RMS, and commonly exported to MORE in GRDECL files.

Examples

1. COOR is used to specify the coordinates of a 3x3x10 grid. See COOR.dat for complete example:

COOR
-- x1 y1 z1 x2 y2 z2
0.00 0.00 5000.00 0.00 0.00 6000.00
1000.00 0.00 5000.00 1000.00 0.00 6000.00
2000.00 0.00 5000.00 2000.00 0.00 6000.00
3000.00 0.00 5000.00 3000.00 0.00 6000.00
0.00 1000.00 5000.00 0.00 1000.00 6000.00
1000.00 1000.00 5000.00 1000.00 1000.00 6000.00
2000.00 1000.00 5000.00 2000.00 1000.00 6000.00
3000.00 1000.00 5000.00 3000.00 1000.00 6000.00

426 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

0.00 2000.00 5000.00 0.00 2000.00 6000.00


1000.00 2000.00 5000.00 1000.00 2000.00 6000.00
2000.00 2000.00 5000.00 2000.00 2000.00 6000.00
3000.00 2000.00 5000.00 3000.00 2000.00 6000.00
0.00 3000.00 5000.00 0.00 3000.00 6000.00
1000.00 3000.00 5000.00 1000.00 3000.00 6000.00
2000.00 3000.00 5000.00 2000.00 3000.00 6000.00
3000.00 3000.00 5000.00 3000.00 3000.00 6000.00
/

8.26. COOR - Grid Coordinates 427


Tempest MORE Help, Release 8.1

8.27 CROC - Rock Compressibility

Location

GRID Section

Description

The CROC keyword is used to populate the cells in a grid with rock compressibility values. Its arguments consist
of an array of rock compressibility values. Cells will be populated in the x-direction first, followed by the y-
direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified
number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Rock compressibility values


• Units: psi-1 (Field), bar-1 (Metric)
• Default: 0

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. CROC is used to populate a 10x10x5 grid with 500 rock compressibility values. See CROC.dat for complete
example:

CROC
100*3.15e-06
100*2.78e-06
100*3.41e-06
100*3.21e-06
100*2.86e-06

428 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.27. CROC - Rock Compressibility 429


Tempest MORE Help, Release 8.1

8.28 DATU - Datum Depth

Location

GRID Section

Description

The DATU keyword is used to specify the datum depth of the grid. It consists of one required argument and one
optional argument, both of which should follow directly after the DATU keyword on the same line. The datum
depth is mainly used in (i) calculating global and regional pressure averages, and (ii) setting bottom hole pressures
for all wells consistently.

Definitions

1. Datum depth
• Units: feet (Field), metres (Metric)
• Default: the top active cell in the reservoir
2. TOPC or TOPL (optional) - Assign an individual bottom hole reference depth to each well when it is first
opened.
• Default: none

Notes

• It is recommended that a datum depth should normally be specified since the default value is usually not
appropriate.
• The datum depth is used when reporting cell potentials and datum-corrected pressures. See the technical
appendix. It also provides a default reference depth for tubing head pressure tables (TUBI).
• When the DATU keyword is not specified, MORE calculates individual bottom hole reference depths for
each well as though the TOPC argument had been supplied.
• When TOPC or TOPL is set, the well reference depth is only calculated once at well opening time, no matter
if completions are opened or shut later. To dynamically modify the reference depth use event DREF.
• One of the following rules applies for calculating the well reference depths:
– TOPC: The reference depth equals the depth of the top open completion.
– TOPL: The reference depth equals the depth of the top reservoir cell connected to the well. This option
is only relevant to the improved well fracturing model, where reservoir layers outside the completion
range connect to the well.

Examples

1. DATU is used to assign a datum depth of 5000. See DATU_ex1.dat for complete example:

DATU 5000

2. DATU is used to assign a datum depth of 5000 and TOPC is also used to indicate that bottom hole pressures
will be calculated with reference to the top completion. See DATU_ex2.dat for complete example:

DATU 5000 TOPC

430 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.29 DEFI - Define an Array (including user-defined fluid-in-place


arrays)

Location

GRID or INIT Sections

Description

The DEFI keyword is used to define an array. Its arguments consists of two records The first record consists of one
required argument as well as optional arguments. These arguments should follow directly after the DEFI keyword
on the same line. The second record consists of one required argument enclosed in single quotes on a line below
the DEFI keyword.

Definitions

RECORD 1:
1. The name to be assigned to the array
This record may be followed by several optional arguments in any order:
• FLIP (optional) - designates the array as a fluid-in-place array; these arrays are saved for use through-
out the run and for post processing
• INTE or REGI (optional) - the array consists of INTEger values used to define a REGIon.
• SAVE (optional) - the array should be saved for use throughout the run and for post processing. This
is not required when using FLIP.
RECORD 2:
1. Title of the array enclosed in single quotes

Notes

• DEFI arrays in the GRID section are automatically added to the grid file and may be viewed using Tempest
VIEW. However DEFI arrays in the INIT section cannot be visualised using VIEW.
• Like all arrays, only the first four characters are used to identify a DEFI array, so these must be unique for
all DEFI arrays.
• FLIP arrays are treated as pore volume multipliers for fluid in place calculations. Defining an array as a
FLIP array will also create a new reporting group which will appear in the Groups tab of the results. This
new reporting group uses the pore volume multipliers specified when populating the FLIP array to calculate
fluids-in-place. When populating the FLIP array, if a fractional value such as 0.5 is used, 50% of the fluid
in the cell will contribute to the fluid in place total associated with the FLIP array. Please see Example #3
below for more information.
• The line following the DEFI keyword is always read as a title: it may be blank, but should not contain the
next significant keyword, as this would be mis-interpreted as a title.
• Once an array has been defined, it may be used just like any of the arrays which are predefined within the
simulator. The input of arrays is further discussed in the Array Data Entry section.
• By default, arrays specified using DEFI in the GRID section without either FLIP or SAVE will not persist
beyond the end of the GRID section. If DEFI is used in the GRID section to specify an aquifer connection
region for AQCO, it should be qualified with the INTE and SAVE flags.
• The SAVE flag is not required when using DEFI to indicate an aquifer connection region in the INIT section.

8.29. DEFI - Define an Array (including user-defined fluid-in-place arrays) 431


Tempest MORE Help, Release 8.1

Examples

1. In this example, we need to define the layer permeabilities using the following Porosity-Permeability rela-
tionship:

Using MORE’s expression syntax, this equation reads:

K_X = (1/(72*TOR))*DP**2*PORO**3/(1-PORO)**2

We will need to define the particle size (DP) and tortuosity (TOR) arrays using the DEFI keyword before
the new K_X expression can be used, as follows. See DEFI_DP_TOR.dat for complete example:

DEFI DP
'Particle Size'

DEFI TOR
'Tortuosity'

These arrays are populated using the methods common to any of the other predefined arrays within the
simulator.

DP UNIF
CONS
100

TOR
ZVAR
0.005 0.004 0.003 0.002 0.001

Once the DP and TOR arrays have been defined, they can also be used just like any of the other predefined
arrays within the simulator. These arrays will appear in the Initial tab of the results, ready to be displayed
in 3D, as follows:

432 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The resulting x-permeability array is shown below:

2. In this example, we show how grid processing expressions can be used to populate an array defined using
DEFI. We change the values in the x-permeability array by creating two new arrays, MPA and MPB, using
the DEFI keyword, as follows:

DEFI MPA
'PermMult_3'

DEFI MPB
'PermMult_Other'

These arrays and a new K_X array are then populated using grid processing expressions.

MPA = K_X*3*IEQ(FIPN,5)

MPB = K_X

K_X = MPA+MPB

The MPA array will be populated using the IEQ grid processing expression. IEQ is a function which returns

8.29. DEFI - Define an Array (including user-defined fluid-in-place arrays) 433


Tempest MORE Help, Release 8.1

1 when its two arguments are equal, and 0 otherwise. Thus, in the expression for MPA above, x-permeability
will be multiplied by 3 only when the fluid-in-place region (FIPN) is equal to 5. The MPB array will retain
the x-permeability values which have been previously specified. Finally, the x-permeability array (K_X) is
changed to equal the value that results when the MPA and MPB arrays are added together.
Once the MPA and MPB arrays have been defined, they can also be used just like any of the other predefined
arrays within the simulator. These arrays will appear in the Initial tab of the results, ready to be displayed
in 3D, as follows. See DEFI_IEQ.dat for complete example:

Finally, the resulting x-permeability array is shown below:

434 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. In this example, DEFI is used to define an array called GCAP as a fluid-in-place array by using the FLIP
option.

DEFI GCAP FLIP


'GAS CAP REGION'

GCAP UNIF
CONS
0.1

Once GCAP has been defined, it will appear in the Initial tab of the results, ready to be displayed in 3D, as
follows. See DEFI_GCAP_FLIP.dat for complete example:

Additionally, as GCAP has been defined as a FLIP array, a reporting group named GCAP will also be
created, which can be found in the Groups tab of the results for 2D plotting.

8.29. DEFI - Define an Array (including user-defined fluid-in-place arrays) 435


Tempest MORE Help, Release 8.1

When the gas-in-place is plotted for both the entire field and the GCAP group, we can see that the gas-in-
place for GCAP is exactly 10% of the gas-in-place for the entire field, as shown in the figure below. These
values are expected since the GCAP array was populated with a pore volume multiplier of 0.1 when it was
defined above.

4. In this example, DEFI is used in the GRID section to define a region array called SECT which will then be
used to define a region for numerical aquifer connections using AQNC and AQCO:
In the GRID section:

DEFI SECT INTE SAVE


'SECTOR ARRAY'

The array SECT is then populated as an array of integers using grid processing expressions and may be used
to control connections to numerical aquifers.

AQNN
/-- Specify numerical aquifer
...
AQNC
/-- Specify numerical aquifer connections using the region SECT
...

(See keyword AQNC for further information.)


In the INIT section:

AQCT
/-- Specify Carter-Tracy aquifer
...
AQCO
/-- Specify connections to the Carter-Tracy aquifer using the region SECT
...

(See keyword AQCO for further information.)

436 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.30 DEPT (or ZGRI) - Grid Cell Centre Depths

Location

GRID Section

Description

The DEPT keyword is used to populate the cells in a grid with cell centre depth locations. Its arguments consist of
an array of cell centre depth locations. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).
Definitions
1. Cell Centre Depths
• Units: feet (Field), metres (Metric)

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO , FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for
further information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. DEPT is used to populate a 10x10x5 grid with 500 cell centre depth locations. See DEPT.dat for complete
example:

DEPT
100*5100
100*5300
100*5500
100*5700
100*5900

8.30. DEPT (or ZGRI) - Grid Cell Centre Depths 437


Tempest MORE Help, Release 8.1

438 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.31 DOGR (or EDIT) - Force Grid Calculations to Occur

Location

GRID Section (after the rock properties have been read)

Description

The DOGR keyword is used to force grid calculations to occur and request that pore volume and transmissibility
calculations are performed. This keyword must appear after the rock properties have been specified. DOGR does
not have any required arguments.
EDIT may be used as an alias to DOGR.

Notes

• Once DOGR is read, altering quantities which define the pore volumes and transmissibilities will have no
effect; however, PVOL, T_X , T_Y , T_Z and DEPT may be changed. Please see the PVOL, T_X , T_Y ,
and T_Z keywords for more information as they have special forms for entering a grid array. DEPT follows
the usual pattern for entering a grid array but now applies to the calculated cell centre depths used in the
simulation.
• After the grid calculations, the DEPT array is the cell centre depth and is a BLOC array.
• If DOGR is not specified, the grid calculations will automatically be performed when a transmissibility
value is encountered.

Examples

1. DOGR is used to force grid calculations to occur before lowering the centre depths of all cells by 500 using
the DEPT and MODI keywords.

DOGR
DEPT 6* MODI
500

8.31. DOGR (or EDIT) - Force Grid Calculations to Occur 439


Tempest MORE Help, Release 8.1

8.32 DPCF - Dykstra-Parsons Coefficient and Controls

Location

GRID Section

Description

The DPCF (Dykstra-Parsons Coefficient) keyword is used to enable the generation of a heterogeneous Dykstra-
Parsons relative permeability distribution. This generates a permeability distribution with a given standard de-
viation in log(K). The Gaussian random distribution may be started from a given seed to obtain repeatability if
required.
The DPCF keyword consists of two required arguments which should follow directly after the DPCF keyword on
the same line.

Definitions

1. The Dykstra-Parsons coefficient


• Default: 0.5
2. Argument defining seed for the random sequence used to generate Dykstra-Parsons values
• Default: 0

Notes

• The Dykstra-Parsons method of generating a simple distribution of permeability values is described in the
Dykstra-Parsons chapter of the MORE Technical Reference.
• Essentially, the user-input values are treated as mean values, and a distribution is constructed. This is a
normal (or Gaussian) distribution in log(K) with a standard deviation obtained from the Dykstra-Parsons
coefficient.
• The Dykstra-Parsons coefficient is defined as:
EK =(K50 -K84.1 )/K50
where
– K50 is the permeability such that 50.0% of the sample has a higher permeability.
– K84.1 is the permeability such that 84.1% of the sample has a higher permeability.
• The sequence of pseudo-random numbers used to construct the Gaussian sequence is defined by a seed
value. This may be any integer in the range 1 to 231 -1, so there is plenty of choice. However, each seed will
generate a different uncorrelated sequence, so 1,2,3... may be used.
• If the seed argument is set to a number greater than 0, then this sets the seed value so that runs using this
seed number will be repeatable - i.e. they will always generate the same sequence of permeabilities. A
series of different seed values will generate a set of different distributions.
• If a seed argument of zero is specified, MORE will generate and report a unique new seed. Thus, successive
runs with a seed argument of zero will generate different sets of permeabilities. To re-generate one of these
runs, use the seed value reported in the output file and re-enter it as the seed argument.

440 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Examples

1. DPCF is used to specify a Dykstra-Parsons coefficient of 0.5 and a seed value of 1.

DPCF 0.5 1

The figures below show the x-permeability and gas saturations arrays that result from the use of Dykstra-
Parsons coefficient. See DPCF.dat for complete example:

8.32. DPCF - Dykstra-Parsons Coefficient and Controls 441


Tempest MORE Help, Release 8.1

8.33 DPOR - Dual Porosity Modelling

Location

INPU or GRID Section

Description

The DPOR keyword is used to request dual porosity modelling. DPOR will specify a double grid with gross
fracture permeabilities and no gravity drainage. This keyword consists of up to four optional arguments which
should follow directly after the DPOR keyword on the same line if used.

Definitions

1. MFC (optional) - use matrix-fracture condensation. This speeds the solver up by a factor of 2 to 3 times by
eliminating the matrix cells before entering the linear solver iteration. If this option is used DPOR must be
in the INPU section
2. GRAV (optional) - use gravity drainage
3. NET (optional) - treat fracture permeabilities as net (do not multiply by fracture porosity)

Notes

• The number of layers in the model must be even, and the first Nz /2 layers will be regarded as matrix cells,
the second Nz /2 as fracture cells.
• The corner point depth input may be simplified by using the DPGR keyword in the GRID section. This
allows the user to only enter the data for the matrix cells, which is then also used for the fracture cells.
• The position in space of the fracture cells will match the matrix cells - you need only enter cell location data
(for example, with COOR and ZCOR ) for the matrix cells.
• Each fracture cell will be connected to its matrix cell using a non-neighbour connection. The matrix-fracture
transmissibilities generated will be controlled by the sigma grid array.
• There are no transmissibilities directly between matrix cells in the dual porosity option - flow can only occur
between matrix cells via the fracture system.
• The GRAV option turns on gravity drainage modelling. If this option is used, the array DZMA should be set
to define the vertical height of the elements of the material which comprises the matrix volume.
• Permeabilities in the fracture system may be specified in net or gross terms. The use of the NET option
allows for the treatment of fracture permeabilities as net. In the absence of the NET option, the fracture
permeability will be read as a gross fracture permeability and the effective net permeability will be given
by:

Kfnet = Φf × Kfgross

Please see Example 2 below for more information.


• For further details on the use of the dual porosity option in MORE, please see the MORE Technical Refer-
ence.

Examples

1. DPOR is used to request dual porosity modelling with gravity drainage. See DPOR_GRAV.dat for complete
example:

442 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

DPOR GRAV

2. In this example, DPOR is used to request dual porosity modelling and by default, the permeability assigned
to the fracture using K_X will be a gross value.

DPOR

--* Matrix permeability is 1mD, fracture permeability is 10000 mD


--* Note: the net fracture permeability is (K.poro)
K_X
ZVAR
1 10000

--* Matrix porosity is 19%, fracture porosity is 1%


POROSITY
ZVAR
0.19 0.01

The resulting fracture permeability will then be displayed with its net value (100mD), instead of the entered
gross fracture permeability value (10000mD), in the 3D Viewer, as follows. See DPOR.dat for complete
example:

If we then introduce the NET option to the DPOR keyword, this will request that the fracture permeability
entered be treated as net values.

DPOR NET

--* Matrix permeability is 1mD, fracture permeability is 10000 mD


--* Note: the net fracture permeability is (K.poro)
K_X
ZVAR
1 10000

--* Matrix porosity is 19%, fracture porosity is 1%


POROSITY
ZVAR
0.19 0.01

The resulting fracture permeability, with a net value of 10000mD, is shown below. See DPOR_NET.dat for
complete example:

8.33. DPOR - Dual Porosity Modelling 443


Tempest MORE Help, Release 8.1

444 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.34 DPER - Dual Permeability Modelling

Location

INPU or GRID Section

Description

The DPER keyword is used to request dual permeability modelling. DPER will specify a double grid with matrix-
matrix flow, gross fracture permeabilities and no gravity drainage. This keyword is similar to the dual porosity
option requested by DPOR, but in this case, transmissibilities are generated directly between matrix cells. DPER
consists of two optional arguments which follow directly after the DPER keyword on the same line.

Definitions

1. GRAV (optional) - use gravity drainage


2. NET (optional) - treat fracture permeabilities as net (do not multiply by fracture porosity)

Notes

• The number of layers in the model must be even, and the first Nz /2 layers will be regarded as matrix cells,
the second Nz /2 as fracture cells.
• The corner point depth input may be simplified by using the DPGR keyword in the GRID section. This
allows the user to only enter the data for the matrix cells, which is then also used for the fracture cells.
• For further details of the use of the dual permeability option in MORE, please refer to the MORE Technical
Reference.
Examples
1. DPER is used to request dual permeability modelling with gravity drainage and treating fracture permeabil-
ities as net. See DPER_GRAV_NET.dat for complete example:

DPER GRAV NET

8.34. DPER - Dual Permeability Modelling 445


Tempest MORE Help, Release 8.1

8.35 DPSS - Dual Porosity Source/Sink Modelling

Location

INPU or GRID Section

Description

The DPSS keyword is used to implement dual porosity source/sink modelling. This keyword consists of three
optional arguments which should all follow directly after the DPSS keyword on the same line.

Definitions

1. FRAC <value> - number of matrix volume fractions (optional)


2. GRAV (optional) - use gravity drainage
3. NET (optional) - treat fracture permeabilities as net (do not multiply by fracture porosity)

Notes

• DPSS uses a single input grid, so fracture properties must be specified using appropriate fracture grid key-
words, as listed in the “Arrays related to dual porosity modelling” section of the Discussion of Selected
Arrays article.
• When a DPSS run is initialized using non-equilibrium initialization (INIT NONE), the saturations may be
different in matrix and fracture, so separate keywords exist for the fracture saturations:
Keyword Default Description
fsoi Fracture oil saturation Description
fsga No Fracture gas saturation
fswa No Fracture water saturation
• The DPSS model strictly requires the use of fully implicit solver.
• For a full explanation of the DPSS option, see Dual Porosity Source/Sink (DPSS) Option in the MORE
Technical Reference.

Examples

1. DPSS is used to specify a dual porosity system with a single grid input and net fracture permeabilities.

DPSS NET

446 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.36 DPGR - Dual Porosity GRid

Location

GRID Section

Description

In dual porosity and dual permeability runs in which a double grid is being used, DPGR allows the cells depths
for just the first Nz/2 layers to be entered; these depths will be used for the second Nz/2 layers.

Syntax

DPGR
• This keyword takes no arguments

Examples

1. The following dual porosity example is based on a simple dataset using a grid of 1 x 1 x 4 cells (the first
two are matrix and latter two are fracture) with full grid geometry defined. See DPOR_without_DPGR.dat
for complete example:

SIZE 1 1 4
DPOR

COOR
0 0 4000 0 0 4020 --1st co-ordinate line
600 0 4000 600 0 4020 --2nd co-ordinate line
0 600 4000 0 600 4020 --3rd co-ordinate line
600 600 4000 600 600 4020 --4th co-ordinate line
/

ZCOR
4*4000 4*4010 --top and bottom corner point depth for 1st cell (matrix)
4*4010 4*4020 --top and bottom corner point depth for 2nd cell (matrix)
4*4000 4*4010 --top and bottom corner point depth for 3rd cell (fracture)
4*4010 4*4020 --top and bottom corner point depth for 4th cell (fracture)
/

This may be simplified using the DPGR keyword, so that only the matrix depths are sufficient. See
DPOR_with_DPGR.dat for complete example:

DPGR

ZCOR
4*4000 4*4010 --top and bottom corner point depth for 1st cell (matrix and
,→fracture)

4*4010 4*4020 --top and bottom corner point depth for 2nd cell (matrix and
,→fracture)

This can be very handy in large models with Gigabytes of ZCOR data.

8.36. DPGR - Dual Porosity GRid 447


Tempest MORE Help, Release 8.1

8.37 DZMA - Matrix Material Unit Height

Location

GRID Section

Description

The DZMA keyword is used to populate the cells in a grid with matrix material unit heights in dual porosity or
dual permeability systems with the gravity drainage option activated. When DZMA is used, the dual porosity or
dual permeability options must be turned on using the DPOR or DPER keywords, respectively, with the GRAV
option turned on in the INPU or GRID sections. Arguments for the DZMA keyword consist of an array of matrix
material unit heights.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Matrix material unit heights


• Default: 0

Notes

• For more information regarding dual porosity/permeability systems, please refer to the MORE Technical
Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. DZMA is used to populate an 8x8x2 grid with 128 matrix material unit heights.

DZMA
128*2.0

The DZMA array will then appear in the Initial tab of the results for display in 3D, as shown below:

448 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The display can be switched between matrix and fracture grids by clicking on the Swap between matrix and

fracture (dual porosity models) button located on the toolbar on the left-hand side of the 3D Viewer.

8.37. DZMA - Matrix Material Unit Height 449


Tempest MORE Help, Release 8.1

8.38 EEGR - Output ECLIPSE Extensible Gridfile

Location

GRID section

Description

The EEGR keyword is used to output an ECLIPSE extensible gridfile. EEGR will write an ECLIPSE extensible
gridfile (often known as an EGRI file). The file suffix will be .egrid or .fegrid for the unformatted and
formatted cases, respectively. The EEGR keyword consists of one optional argument which, if used, also requires
its own argument. These entries should directly follow the EEGR keyword on the same line if used.

Definitions

1. FLIP (optional) - allows the y-axis to be inverted if required (the default value of y is 0)
2. y-transformation value (val) - must be used with FLIP
• If FLIP is used, y-values will be transformed by: y(output) = val - y

Examples

1. EEGR is used to output an ECLIPSE extensible gridfile with a y-axis inverted by 10. See EEGR.dat for
complete example:

EEGR FLIP 10

An .egrid file should then be created in the dataset’s directory, as follows:

450 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.39 EGRI - Output ECLIPSE Format Gridfile

Location

GRID Section

Description

The EGRI keyword is used to output an ECLIPSE format grid file. It consists of one optional argument which, if
used, also requires its own argument. These entries should directly follow the EGRI keyword on the same line if
used.

Definitions

1. FLIP (optional) - allows the y-axis to be inverted if required (the default value of y is 0)
2. y-transformation value (val) (optional) - must be used with FLIP
• If FLIP is used, y-values will be transformed by: y(output) = val - y

Notes

• The ECLIPSE initial file (.init) will also be written.


• Please also see ESOL for writing recurrent data and ESUM for summary rate data. The file will have the
same root as the input file unless the ECLI option on the OPEN keyword has been set.

Examples

1. EGRI is used to output a gridfile in ECLIPSE format with a y-axis inverted by 10. See EGRI.dat for
complete example:

EGRI FLIP 10

An .init and .grid file should then be created in the dataset’s directory, as follows:

8.39. EGRI - Output ECLIPSE Format Gridfile 451


Tempest MORE Help, Release 8.1

8.40 ELOB - Palmer-Mansoori EL/B Array

Location

GRID Section

Description

The ELOB keyword is used to populate the cells in a grid with Palmer Mansoori EL/B values in a coal bed
methane system with the Palmer-Mansoori option activated. When ELOB is used, the coal bed methane option
must be turned on using the CBM keyword with the PM (Palmer-Mansoori) option in the INPU or FLUI sections.
Arguments for the ELOB keyword consist of an array of EL/B values.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. EL/B values
• Default: 0

Notes

• ELOB may be used to define the shrinkage factor, FSHR. If ELOB is set, then FSHR will be obtained as
ELOB/ PLAN.
• See Coal Bed Methane Modelling in the MORE Technical Reference for more information regarding coal
bed methane modelling.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. ELOB is used to populate a 10x10x3 grid with 300 EL/B values. See CoalBedMethane_PM.dat for complete
example:

ELOB
5.700 6.281 6.852 5.710 5.740 5.710 5.710 5.710 5.710 6.292
6.852 5.720 5.710 5.710 5.710 5.710 5.710 5.710 5.710 5.710
5.750 5.710 5.710 6.840 5.710 5.710 5.710 6.876 6.852 5.710
5.710 5.710 5.710 5.710 5.710 5.710 5.710 6.888 5.710 5.710
5.710 6.852 5.710 5.710 5.710 5.710 6.292 6.281 5.710 5.710
5.710 6.852 5.700 6.852 5.720 5.710 5.710 5.700 6.281 5.710
5.710 5.710 5.710 6.852 5.710 5.710 6.325 5.710 5.710 5.710

452 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

6.303 6.281 6.281 6.281 5.740 6.852 5.710 5.720 6.281 5.710
6.292 5.710 5.740 5.710 5.730 5.710 5.710 5.710 5.710 5.710
5.710 5.710 5.710 6.900 5.720 5.710 5.710 6.281 5.710 6.864
200*5.710

8.40. ELOB - Palmer-Mansoori EL/B Array 453


Tempest MORE Help, Release 8.1

8.41 ENDR - Return to Applying Grid Data to Global Grid

Location

GRID Section

Description

The ENDR keyword is used to terminate the application of data to the local grid and indicates a return to the global
grid when placed after the REFI keyword. ENDR must always be paired with REFI. There are no arguments for
ENDR.

Examples

1. The REFI and ENDR keywords are used to assign an array of porosity values to the 30 cells in the local
grid, MyLGR.

LGRD 5 3 2 9 10 8 10 1 1 MyLGR

REFI MyLGR
PORO
0.14 0.01 0.03 0.04 0.05
0.06 0.07 0.12 0.09 0.10
0.02 0.08 0.13 0.01 0.15

0.01 0.15 0.09 0.04 0.07


0.06 0.12 0.08 0.03 0.13
0.11 0.05 0.10 0.14 0.02
ENDR

454 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.42 EOSN - Equation of State Region Numbers

Location

GRID Section

Description

The EOSN keyword is used to populate the cells in a grid with Equation of State region numbers. If multiple
equations of state are entered for the reservoir, each Equation of State may be assigned to cells using the EOSN
keyword. Arguments for EOSN consist of an array of Equation of State indices. Cells will be populated in the
x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150
cells).

Definitions

1. Equation of State region numbers


• Default: 1

Notes

• The number of reservoir Equations of State provided in the FLUI section (see Multiple Equations of State)
must be equal to the number of Equation of State regions used by EOSN in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. EOSN is used to populate a 10x10x11 grid with 3 EoS regions. See EOSN.dat for complete example:

EOSN
ZVAR
1 1 1 1
2 2 2
3 3 3 3

EoS region numbers can then be displayed in 3D from the Initial tab of the results, similarly to PVTN:

8.42. EOSN - Equation of State Region Numbers 455


Tempest MORE Help, Release 8.1

Fig. 8.1: Grid array showing Equation of State region numbers.

456 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.43 EQUI (EQLN) - Equilibration Table Numbers

Location

GRID Section

Description

The EQUI keyword is used to populate the cells in a grid with equilibration table numbers. If multiple equilibration
tables are entered, the tables may be assigned to cells using the EQUI keyword. Arguments for EQUI consist of an
array of equilibration table numbers. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Equilibration table numbers


• Default: 1

Notes

• The number of equilibration tables provided by the EQUI KEYWORD in the INIT section must be equal to
the number of equilibration table numbers used by the EQUI keyword in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. EQUI is used to populate a 10x10x5 grid with 500 equilibration table numbers. See EQUI.dat for complete
example:

EQUI
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3

8.43. EQUI (EQLN) - Equilibration Table Numbers 457


Tempest MORE Help, Release 8.1

458 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.44 EROC - Young’s Modulus

Location

GRID Section

Description

The EROC keyword is used to populate the cells in a grid with Young’s modulus values in a coal bed methane
system with the Palmer-Mansoori option activated. When EROC is used, the coal bed methane option must
be turned on using the CBM keyword with the PM (Palmer-Mansoori) option in the INPU or FLUI sections.
Arguments for the EROC keyword consist of an array of Young’s modulus values.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Young’s modulus values


• Default: 0

Notes

• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. EROC is used to populate a 10x10x3 grid with 300 Young’s modulus values. See CoalBedMethane_PM.dat
for complete example:

EROC
445000 445300 445300 445000 445100 445500 445000 445100 445300 445000
445300 445000 445000 445000 445000 445000 445000 445000 445000 445000
445000 445100 445200 445200 445000 445000 445500 445500 445000 445000
445000 445000 445000 445000 445200 445000 445000 445000 445000 445000
445300 445200 445000 445000 445000 445000 445300 445100 445400 445200
445100 445000 445400 445000 445100 445000 445300 445400 445000 445400
445000 445000 445000 445000 445000 445400 445000 445000 445000 445000
445000 445000 445000 445200 445500 445500 445000 445000 445000 445000
445000 445000 445100 445000 445000 445000 445000 445100 445000 445000

8.44. EROC - Young’s Modulus 459


Tempest MORE Help, Release 8.1

445000 445000 445200 445000 445000 445500 445000 445000 445300 445000
200*445000

The EROC array will then appear in the Initial tab of the results for display in 3D, as shown below.

460 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.45 FASH - Ash Fraction

Location

GRID Section

Description

The FASH keyword is used to populate the cells in a grid with ash fractions in a coal bed methane system. When
FASH is used, the coal bed methane option must be turned on using the CBM keyword in the INPU or FLUI
sections. Arguments for the FASH keyword consist of an array of ash fractions.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Ash fractions
• Default: 0

Notes

• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. FASH is used to populate a 10x10x3 grid with 300 ash fractions.

FASH
1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
100*1.0
1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0

8.45. FASH - Ash Fraction 461


Tempest MORE Help, Release 8.1

0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0

The FASH array will then appear in the Initial tab of the results for display in 3D, as shown below.

462 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.46 FAUL - Fault Definition

Location

GRID Section

Description

The FAUL keyword is used to define faults. It provides a means to label a group of connections so they can easily
be modified by the FMUL keyword. The connections designated do not have to correspond to an actual fault.
They could only include a portion of an actual fault or even multiple faults. These keywords are provided strictly
for convenience in modifying fault connections. Fault connections can also be modified using the NNC and TCON
keywords.
The FAUL keyword consists of two records. The first record follows directly after the FAUL keyword on the same
line and consists of one required argument and three optional ones. The second record appears on the line below
the FAUL keyword and describes the path of the fault. This record requires at least four arguments.

Definitions

RECORD 1:
1. Name given to the fault
2. Starting layer number (optional)
• Default: 1
3. Ending layer number (optional)
• Default: maximum k-coordinate
4. MAX or MIN (optional)
• MAX - layer range based on maximum value for non-neighbour connections
• MIN (default) - layer range based on minimum value for non-neighbour connections
RECORD 2:
1. i-index of the block corner where the fault starts
2. j-index of the block corner where the fault starts
3. TO-I or TO-J
• TO-I - for a fault in the i-direction
• TO-J - for a fault in the j-direction
4. The i or j-index of the kth point designated along the fault

Notes

• The i and j indices are the indices of block corners or block interfaces, not block numbers. Please see
Example 1 below for more information.
• If multiple lines are used to specify a fault, all lines after the first must start with TO-I or TO-J.

8.46. FAUL - Fault Definition 463


Tempest MORE Help, Release 8.1

Examples

1. For a 6x4x5 grid, FAUL is used with FMUL to produce the fault shown in the figure below, as follows. See
FAUL_FMUL_ex1.dat for complete example:

FAUL F_18
2 2 TO-I 4 TO-J 3 TO-I 6

FMUL F_18 0.10

The fault created in this example is shown below in red:

The following images show the X and Y transmissibilities created by the faults:

464 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.46. FAUL - Fault Definition 465


Tempest MORE Help, Release 8.1

8.47 FAULTS - Defining Fault Segments

Location

GRID Section

Description

The FAULTS keyword is used to define fault segments; unlike most MORE keywords, the keyword name FAULTS
must be supplied in full so as not to be confused with the alternative FAUL keyword. A fault is made up of several
segments, each starting with the same fault name. The fault names defined by the set of segments defined using
FAULTS can have their transmissibilities modified using the MULTFLT keyword.
The FAULTS keyword consists of eight arguments for each fault segment required. Each line of fault segment
information is listed on separate lines and must be terminated with a slash (/). Finally, the set of fault segments
must be terminated by a solitary slash (/) on a separate line to complete the data entry for FAULTS.

Definitions

1. Fault name
2. Lower cell number in the x-direction (XL)
• Default: 1
• Minimum: 1; Maximum: Nx
3. Upper cell number in the x-direction (XU)
• Default: Nx
• Minimum: 1; Maximum: Nx
4. Lower cell number in the y-direction (YL)
• Default: 1
• Minimum: 1; Maximum: Ny
5. Upper cell number in the y-direction (YU)
• Default: Ny
• Minimum: 1; Maximum: Ny
6. Lower cell number in the z-direction (ZL)
• Default: 1
• Minimum: 1; Maximum: Nz
7. Upper cell number in the z-direction (ZU)
• Default: Nz
• Minimum: 1; Maximum: Nz
8. Direction: X, X-, Y, Y-, Z, or Z-
• Alternatively, I, I-, J, J-, K, or K- can also be used

466 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Notes

• If the direction is specified as X,X-,I or I-, then XL must equal XU. If the direction is set to Y,Y-,J or J- then
YL must equal YU and if direction = Z,Z-,K or K- then ZL must equal ZU.
• If the direction is X (or X+) then the fault contains any transmissibilities from a cell to its neighbour in the
positive X-direction. If the direction is X- then the fault contains any transmissibilities from a cell to its
neighbour in the negative X-direction.
• Each line of fault segment information is terminated with a slash (/) and the set of fault segments is termi-
nated with a solitary slash (/) on its own line.
• The FAULTS keyword is optionally exported from RMS where selecting GRDECL output.

Examples

1. In a 10x10x5 grid, FAULTS is used with MULTFLT to define two faults called MyFLT1 and MyFLT2.
MyFLT1 will have 3 fault segments while MyFLT2 will have 4 fault segments, as follows. See
FAULTS_2.dat for complete example:

FAULTS
--Name XL XU YL YU ZL ZU Direction
MyFLT1 2 2 1 5 1* 1* X /
MyFLT1 2 6 5 5 1* 1* Y /
MyFLT1 6 6 5 10 1* 1* X /

MyFLT2 5 5 1 3 1* 1* X /
MyFLT2 5 8 3 3 1* 1* Y /
MyFLT2 8 8 3 7 1* 1* X /
MyFLT2 8 10 7 7 1* 1* Y /
/

MULTFLT
--Name Multiplier
MyFLT1 0.10
MyFLT2 0.05
/

Note that the lines directly following both FAULTS and MULTFLT are comment lines used to aid readabil-
ity. Additionally, replacing the X and Y direction with I and J, respectively, will yield the same results).
The faults created in the example above are shown below with MyFLT1 in red and MyFLT2 in green:

8.47. FAULTS - Defining Fault Segments 467


Tempest MORE Help, Release 8.1

The following images show the resulting X and Y transmissibilities created by the faults:

468 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. This example creates the same faults we have created in Example 1 above, except that the directions are set
to X- and Y-, as follows. See FAULTS_2_MINUS.dat for complete example:

FAULTS
--Name XL XU YL YU ZL ZU Direction
MyFLT1b 2 2 1 5 1* 1* X- /
MyFLT1b 2 6 5 5 1* 1* Y- /
MyFLT1b 6 6 5 10 1* 1* X- /

MyFLT2b 5 5 1 3 1* 1* X- /
MyFLT2b 5 8 3 3 1* 1* Y- /
MyFLT2b 8 8 3 7 1* 1* X- /
MyFLT2b 8 10 7 7 1* 1* Y- /
/

MULTFLT
--Name Multiplier
MyFLT1b 0.10
MyFLT2b 0.05
/

Note that the lines directly following both FAULTS and MULTFLT are comment lines used to aid readabil-
ity. Additionally, replacing the X and Y direction with I and J, respectively, will yield the same results).
The faults created in the example above are shown below with MyFLT1 in red and MyFLT2 in green:

8.47. FAULTS - Defining Fault Segments 469


Tempest MORE Help, Release 8.1

The following images show the resulting X and Y transmissibilities created by the faults:

470 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.47. FAULTS - Defining Fault Segments 471


Tempest MORE Help, Release 8.1

8.48 FAXY - Specify Fracture Paths for Fracture Augmented Flows

Location

GRID Section

Description

If the fracture augmented flow option has been requested with the FAFL keyword, FAXY may be used to enter the
fracture locations.

Syntax

FAXY x1 y1 x2 y2 C izl izu

Definitions

• x1 - Location of one fracture end


• y1 - Location of one fracture end
• x2 - Location of other fracture end
• y2 - Location of other fracture end
• C - Fracture conductance (mD*f or mD*m)
• izl - Lower layer k-index for fracture (default 1)
• izu - Upper layer k-index for fracture (default Nz)

Notes

• Any number of fracture paths may be entered


Example

FAXY 500 500 9500 9500 50000 /

472 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.49 FLXA - Specify Which Flux Regions are Active in a FLXR Run

Location

GRID Section

Syntax

FLXA
Iact1 Iact2 Iact3 Iact4 Iact5 Iact6 /

Definitions

Iact1 Index of first FLXN region to be active in this run


. .
. .
Iactn Index of nth FLXN region to be active in this run
If FLXA is specified, it should be followed with a list of flux regions to be regarded as active in the run. Flows
into the active regions from inactive regions will be read from the FLXR file.
Example:

FLXA
1 2 5 8 /

8.49. FLXA - Specify Which Flux Regions are Active in a FLXR Run 473
Tempest MORE Help, Release 8.1

8.50 FLXN - Flux Region numbers

Location

GRID Section

Description

The FLXN keyword is used to populate the cells in a grid with flux region numbers. When used with the flux
boundary option, these regions can then be run as separate models (using the keyword FLXA) with boundary
fluxes defined in a previous full field run (using the keyword FLXW). Arguments for FLXN consist of an array
of flux region numbers. Cells will be populated in the x-direction first, followed by the y-direction, and then the
z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e.
150*3 can be used to assign a value of 3 to 150 cells).

Definitions

1. Region numbers
• Default: 0

Notes

• All region numbers specified in the keyword FLXA must be defined using the keyword FLXN in the GRID
section.
• If used in combination with a dual porosity/permeability grid, flux region numbers can only be assigned to
the matrix part of the grid. The fracture part is automatically set accordingly.

Examples

1. FLXN is used to populate a 10x10x5 grid with 500 region numbers numbers.

FLXN
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3

474 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.50. FLXN - Flux Region numbers 475


Tempest MORE Help, Release 8.1

8.51 FLXY - Specify a Fault-type PEBI Refinement Feature

Location

GRID Section

Description

The FLXY keyword is used to define a linear, fault-type feature of interest for refinement within a PEBI grid.
Multiple features can be defined by invoking FLXY multiple times.
The arguments for FLXY consists of a table with two columns that contain the (X,Y) locations of points along
the feature of interest. Each time the PEBI keyword is invoked MORE loops through the refinement features that
have been defined using FLXY and adds refinement cells along any part of a feature that is covered by the extent
of the PEBI grid. For fault-type features refinement cells are added with their centres lying symmetrically across
the feature and are given a spacing defined by the background resolution argument of the PEBI keyword.
Note that in order preserve the symmetrical placing of the fault-type PEBI cells across the feature it is necessary
to prevent other cells from being added close to the feature. Therefore the PEBI keyword constructs an exclusion
polygon around each fault-type feature to prohibit the movement or addition of any cells in that region. One
consequence of this is that if a trajectory-type feature is defined close to a fault-type feature then the fault-type
feature will have priority. This is demonstrated in the example below where the trajectory refinement is not
performed within the fault-type feature region.
Note that the PEBI grids used here cannot model vertical offsets other than by generating steeply sloping cells.
The FLXY option is offered simply to allow cell faces to line up with vertical, linear features.

Definitions

1. X-coordinate of the refinement feature


• Units: feet (Field), metres (Metric)
2. Y-coordinate of the refinement feature
• Units: feet (Field), metres (Metric)

Examples

1. Using FLXY and PEBI to create a refined region around a trajectory-type region of interest:

FLXY
152.4 2895.6
2895.6 152.4
/

/ BACKG REFIN NZ IL IU JL JU KL KU NAME


PEBI 1* 152.4 6 1 10 1 10 1 3 PEBI_I1

476 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. Demonstration of FLXY taking priority over TRXY. The trajectory refinement should extend to the centre
of the grid but that is covered by the fault-type feature region.

TRXY
152.4 152.4
1219.2 1219.2
/

FLXY
152.4 2895.6
2895.6 152.4
/

PEBI 1* 152.4 6 1 10 1 10 1 3 PEBI_I1

8.51. FLXY - Specify a Fault-type PEBI Refinement Feature 477


Tempest MORE Help, Release 8.1

8.52 FMUL - Fault Multiplier

Location

GRID Section

Description

The FMUL keyword is used to assign transmissibility multipliers to faults defined using the FAUL keyword. The
FAUL and FMUL keywords provide a convenient way to label a fault so that the fault connections can be easily
modified.
The FMUL keyword consists of one required and one optional argument which should follow directly after FMUL
on the same line.

Definitions

1. The name assigned to the fault


2. Multiplier for the transmissibilities which cross the fault (optional)
• Default: 0

Example

1. For a 6x4x5 grid, FAUL


is used with FMUL to produce the fault shown in the following figure. See FAUL_FMUL_ex1.dat for
complete example:

FAUL F_18
2 2 TO-I 4 TO-J 3 TO-I 6

FMUL F_18 0.10

The fault created in this example is shown below in red:

478 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The following images show the X and Y transmissibilities created by the faults:

8.52. FMUL - Fault Multiplier 479


Tempest MORE Help, Release 8.1

8.53 FROC - Palmer-Mansoori Mixing Fraction

Location

GRID Section

Description

The FROC keyword is used to populate the cells in a grid with mixing fractions in a coal bed methane system
with the Palmer-Mansoori option activated. When FROC is used, the coal bed methane option must be turned on
using the CBM keyword with the PM (Palmer-Mansoori) option in the INPU or FLUI sections. Arguments for
the FROC keyword consist of an array of mixing fractions.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).
Definitions
1. Mixing fractions
• Default: 0

Notes

• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. FROC is used to populate a 10x10x3 grid with 300 mixing fractions. See CoalBedMethane_PM.dat for
complete example:

FROC
0.1 0.1 0.1 0.2 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.2 0.4 0.1 0.1 0.3 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.2 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.2 0.1 0.1 0.4 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.2
200*0.1

480 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.54 FSHR - Palmer-Mansoori Shrinkage Factor

Location

GRID Section

Description

The FSHR keyword is used to populate the cells in a grid with shrinkage factors in a coal bed methane system
with the Palmer-Mansoori option activated. When FSHR is used, the coal bed methane option must be turned on
using the CBM keyword with the PM (Palmer-Mansoori) option in the INPU or FLUI sections. Arguments for
the FSHR keyword consist of an array of shrinkage factors.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Shrinkage factors
• Default: 0

Notes

• Alternatively, ELOB may be used to define the shrinkage factor, FSHR. If ELOB is set, then FSHR will be
obtained as ELOB /PLAN.
• See Coal Bed Methane Modelling in the MORE Technical Reference for more information regarding coal
bed methane modelling.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. FSHR is used to populate a 10x10x3 grid with 300 shrinkage factors. See CoalBedMethane_PM.dat for
complete example:

FSHR
0.010 0.011 0.012 0.010 0.010 0.010 0.010 0.010 0.010 0.011
0.012 0.010 0.010 0.010 0.010 0.010 0.010 0.010 0.010 0.010
0.010 0.010 0.010 0.012 0.010 0.010 0.010 0.012 0.012 0.010
0.010 0.010 0.010 0.010 0.010 0.010 0.010 0.012 0.010 0.010
0.010 0.012 0.010 0.010 0.010 0.010 0.011 0.011 0.010 0.010
0.010 0.012 0.010 0.012 0.010 0.010 0.010 0.010 0.011 0.010
0.010 0.010 0.010 0.012 0.010 0.010 0.011 0.010 0.010 0.010

8.54. FSHR - Palmer-Mansoori Shrinkage Factor 481


Tempest MORE Help, Release 8.1

0.011 0.011 0.011 0.011 0.010 0.012 0.010 0.010 0.011 0.010
0.011 0.010 0.010 0.010 0.010 0.010 0.010 0.010 0.010 0.010
0.010 0.010 0.010 0.012 0.010 0.010 0.010 0.011 0.010 0.012
200*0.010

482 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.55 GRDE - Request Output of Grid Data in ECLIPSE Keyword


Form

Location

GRID Section

Description

The GRDE keyword is used to request output of a grdecl file containing SPECGRID, ZCORN, COORD and
ACTNUM data. This enables grids created with MORE to be stored and read back into programs which support
these four keywords. GRDE consists of two optional arguments. If the optional argument FLIP is used, it also
requires its own argument as further described in the definitions below. All arguments for GRDE should directly
follow after GRDE on the same line.

Definitions

1. File name (optional) - root of file name to contain output


• Default: output
2. FLIP (optional) - request flip of y-values to y-upwards convention
3. Flip value (optional) - must be used with FLIP
4. If FLIP is used, the flip value provides the y-value around which the grid is to be flipped

Examples

1. GRDE is used to output grid data to the file output.grdecl.

GRDE

2. GRDE is used to output grid data to the file mygrid.grdecl and transform as y(new) = 1000 - y(old).

GRDE mygrid FLIP 1000

8.55. GRDE - Request Output of Grid Data in ECLIPSE Keyword Form 483
Tempest MORE Help, Release 8.1

8.56 GRID - GRID Section Header Line

Location

GRID Section

Description

The GRID keyword is used as a section header line to indicate beginning of the GRID section. It does not require
any arguments.
The first part of the GRID section defines information required to evaluate the pore volumes, cell depths and trans-
missibilities. This calculation will normally be carried out once the entire grid section has been read. However,
using the DOGR or EDIT keywords will force the calculations to be performed. After this, the resulting pore
volumes, cell depths, and transmissibilities may be modified.
For more details on the grid section, please see the GRID - Data Overview section.

484 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.57 HORI - Horizontal Input Mode

Location

GRID Section

Description

The HORI keyword is used to specify a horizontal data input mode where grid array layers are input in a horizontal
order. HORI consists of one optional argument for which there are two options. This argument should directly
follow the HORI keyword on the same line if used.

Definitions

1. Horizontal input mode - BLOC or POIN


• BLOC - grid array layers are entered in block-centred grid mode in the x-y direction
• POIN (default) - grid array layers are entered in point-centred grid mode in the x-y direction

Notes

• The old FAUL option is no longer required. Fault connections will automatically be generated for any grid
which is not of the flat block type.
• The default is HORI POIN, for historical reasons, as this is the traditional MORE default. However, most
studies use HORI BLOC.
• MORE 6 always runs the study in block mode, so HORI and MODE only concern the interpretation of input
grid data.
• The input mode can be reset during the processing of the grid section.
• For more information regarding the block and point modes of entry, please refer to the GRID - Data
Overview and Array Processing sections.

Examples

1. HORI is used to specify that grid array layers are entered in a horizontal block mode.

HORI BLOC

8.57. HORI - Horizontal Input Mode 485


Tempest MORE Help, Release 8.1

8.58 IGCR - Critical Gas Saturation for Imbibition

Location

GRID Section

Description

The IGCR keyword is used to scale the critical gas saturation in each cell for end point scaling when hysteresis
modelling is required. The critical gas saturation is the highest gas saturation for which the gas phase in immobile
in an oil-gas system. Arguments for the IGCR keyword consist of an array of critical gas saturation values. Cells
will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated
values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*0.23 can be used to assign
a value of 0.23 to 150 cells).

Definitions

1. Critical gas saturation values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SGCR drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process. As gas is always non-wetting with respect to oil and water, imbibition
occurs when the wetting phase saturation is increasing and the gas phase saturation is decreasing. Thus the
IGCR endpoints will be used for decreasing gas saturation.
• If the drainage and imbibition end point values (SGCR and IGCR) differ for one or more cells, hysteresis
modelling in gas relative permeability will be turned on.
• If directional relative permeabilities are being used (KRDR), the keywords AGCR, BGCR and CGRD may
be used to set the critical gas saturation endpoints for imbibition in the I, J and K directions on the grid.

486 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.59 IGL - Connate Gas Saturation for Imbibition Processes

Location

GRID Section

Description

The IGL keyword is used to scale the connate gas saturation in each cell for end point scaling when hysteresis
modelling is required. The connate gas saturation is the lowest gas saturation found in the oil-gas relative per-
meability table defined by KRGO. Arguments for the IGL keyword consist of an array of connate gas saturation
values. Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last.
For repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*0.01 can be
used to assign a value of 0.01 to 150 cells).

Definitions

1. Connate gas saturation values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SGL drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process. As gas is always non-wetting with respect to oil and water, imbibition
occurs when the wetting phase saturation is increasing and the gas phase saturation is decreasing. Thus the
IGL endpoints will be used for decreasing gas saturation.
• If the drainage and imbibition end point values (SGL and IGL) differ for one or more cells, hysteresis
modelling in gas relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AGL, BGL and CGL may be used to set
the connate gas saturation endpoints for imbibition in the I, J and K directions on the grid.

8.59. IGL - Connate Gas Saturation for Imbibition Processes 487


Tempest MORE Help, Release 8.1

8.60 IGU - Maximum Gas Saturation for Imbibition

Location

GRID Section

Description

The IGU keyword is used to scale the maximum gas saturation in each cell for end point scaling when hysteresis
modelling is required. The maximum gas saturation is the highest gas saturation found in the oil-gas relative per-
meability table defined by KRGO. Arguments for the IGU keyword consist of an array of maximum gas saturation
values. Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last.
For repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*0.8 can be
used to assign a value of 0.8 to 150 cells).

Definitions

1. Maximum gas saturations values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SGU drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process. As gas is always non-wetting with respect to oil and water, imbibition
occurs when the wetting phase saturation is increasing and the gas phase saturation is decreasing. Thus the
IGU endpoints will be used for decreasing gas saturation.
• If the drainage and imbibition end point values (SGU and IGU) differ for one or more cells, hysteresis
modelling in gas relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AGU, BGU and CGU may be used to set
the maximum gas saturation endpoints for imbibition in the I, J and K directions on the grid.

488 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.61 IOGC - Critical Saturation of Oil in Gas for Imbibition

Location

GRID Section

Description

The IOGC keyword is used to scale the critical oil-in-gas saturation for end point scaling. This is the highest oil
saturation for which the oil is immobile in an oil-gas system. Arguments for the IOGC keyword consist of an
array of critical oil-in-gas saturations. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (i.e. 150*0.23 can be used to assign a value of 0.23 to 150 cells).

Definitions

1. Critical oil-in-gas saturations for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SOGC drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process. As gas is always non-wetting with respect to oil and water, imbibition
occurs when the wetting phase saturation is increasing. Thus the IGCR endpoints will be used for increasing
oil saturation.
• If the drainage and imbibition end point values (SOGC and IOGC) differ for one or more cells, hysteresis
modelling in oil-in-gas relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AOGC, BOGC and COGC may be used
to set the critical saturation of oil in gas endpoints for imbibition in the I, J and K directions on the grid.

8.61. IOGC - Critical Saturation of Oil in Gas for Imbibition 489


Tempest MORE Help, Release 8.1

8.62 IOWC - Critical Saturation of Oil in Water for Imbibition

Location

GRID Section

Description

The IOWC keyword is used to scale the critical oil-in-water saturation in each cell for end point scaling. The
critical oil-in-water saturation is the highest oil saturation for which the oil is immobile in an oil-water system.
Arguments for the IOWC keyword consist of an array of critical oil-in-water saturation values. Cells will be
populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values,
an asterisk can be used to assign a value to a specified number of cells (i.e. 150*0.09 can be used to assign a value
of 0.09 to 150 cells).

Definitions

1. Critical oil-in-water saturation values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SOWC drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process, which is taken with respect to a water-wet system. As oil is then
non-wetting with respect to water, imbibition occurs when the wetting phase saturation is increasing. Thus
the IOWC endpoints will be used for increasing water saturation. This will also be true in the oil-wet case.
• If the drainage and imbibition end point values (SOWC and IOWC) differ for one or more cells, hysteresis
modelling in oil-in-water relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AOWC, BOWC and COWC may be used
to set the critical saturation of oil in water endpoints for imbibition in the I, J and K directions on the grid.

490 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.63 IWCR - Critical Water Saturation for Imbibition

Location

GRID Section

Description

The IWCR keyword is used to scale the critical water saturation in each cell for end point scaling for imbibition
processes when modelling hysteresis. The critical water saturation is the highest water saturation for which the
water is immobile in an oil-water system. Arguments for the IWCR keyword consist of an array of critical water
saturation values.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*0.13 can be used
to assign a value of 0.13 to 150 cells).

Definitions

1. Critical water saturation values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SWCR drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process, which is taken with respect to a water-wet system. As oil is then
non-wetting with respect to water, imbibition occurs when the wetting phase saturation is increasing. Thus
the IWCR endpoints will be used for increasing water saturation. This will also be true in the oil-wet case.
• If the drainage and imbibition end point values (SWCR and IWCR) differ for one or more cells, hysteresis
modelling in water relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AWCR, BWCR and CWCR may be used
to set the critical water endpoints for imbibition in the I, J and K directions on the grid.

8.63. IWCR - Critical Water Saturation for Imbibition 491


Tempest MORE Help, Release 8.1

8.64 IWGC - Critical Saturation of Water in Gas for Imbibition in


Oil-Wet Case

Location

GRID Section

Description

The IWGC keyword is used to scale the critical imbibition water-in-gas saturation for end point scaling in the
oil-wet case. This is the highest water saturation for which the oil is immobile in a water-gas system. Arguments
for the IWGC keyword consist of an array of critical water-in-gas saturations. Cells will be populated in the x-
direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (i.e. 150*0.23 can be used to assign a value of 0.23 to 150
cells).

Definitions

1. Critical water-in-gas saturations for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SWGC drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process. As gas is always non-wetting with respect to oil and water, imbibition
occurs when the wetting phase saturation is increasing. Thus the IWGC endpoints will be used for increasing
oil saturation.
• If the drainage and imbibition end point values (SOGC and IOGC) differ for one or more cells, hysteresis
modelling in oil-in-gas relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AWGC, BWGC and CWGC may be used
to set the critical saturation of oil in gas endpoints for imbibition in the I, J and K directions on the grid.

492 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.65 IWL - Connate Water Saturation for Imbibition

Location

GRID Section

Description

The IWL keyword is used to scale the connate water saturation in each cell for end point scaling for imbibition
when modelling hysteresis. The connate water saturation is the smallest water saturation found in the oil-water
relative permeability table defined by KRWO. Arguments for the IWL keyword consist of an array of connate
water saturation values.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*0.11 can be used
to assign a value of 0.11 to 150 cells).

Definitions

1. Connate water saturation values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SWL drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process, which is taken with respect to a water-wet system. As oil is then
non-wetting with respect to water, imbibition occurs when the wetting phase saturation is increasing. Thus
the IWL endpoints will be used for increasing water saturation. This will also be true in the oil-wet case.
• If the drainage and imbibition end point values (SWL and IWL) differ for one or more cells, hysteresis
modelling in water relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AWL, BWL and CWL may be used to set
the connate water endpoints for imbibition in the I, J and K directions on the grid.

8.65. IWL - Connate Water Saturation for Imbibition 493


Tempest MORE Help, Release 8.1

8.66 IWU - Maximum Water Saturation for imbibition

Location

GRID Section

Description

The IWU keyword is used to scale the maximum water saturation in each cell for end point scaling. The maximum
water saturation is the highest water saturation found in the oil-water relative permeability table defined by KRWO
. Arguments for the IWU keyword consist of an array of maximum water saturation values. Cells will be populated
in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk
can be used to assign a value to a specified number of cells (i.e. 150*1.0 can be used to assign a value of 1.0 to
150 cells).

Definitions

1. Maximum water saturation values for imbibition:


• Default: taken from the rock curves - i.e. the unscaled saturation table values - unless IEPD is used to
request that defaults are taken from SWU drainage end point array.

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• Imbibition here refers to the process, which is taken with respect to a water-wet system. As oil is then
non-wetting with respect to water, imbibition occurs when the wetting phase saturation is increasing. Thus
the IWU endpoints will be used for increasing water saturation. This will also be true in the oil-wet case.
• If the drainage and imbibition end point values (SWU and IWU) differ for one or more cells, hysteresis
modelling in water relative permeability will be turned on.
• If directional relative permeabilities are being used, the keywords AWU, BWU and CWU may be used to
set the connate water endpoints for imbibition in the I, J and K directions on the grid.

494 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.67 KRPR - KVSP Reference Pressure

Location

GRID Section

Description

The KRPR keyword is used to populate the cells in a grid with KVSP reference pressures Pref . The WRTP option
of KVSP tables is there to indicate that KVSP tables are to be evaluated with respect to the reference pressure, that
is the tables are evaluated at the effective pressure Peff = P − Pref .

Notes

• KRPR is a normal grid array which will be automatically created when at least one KVSP table with the
WRTP option (a global option of KVSP) is found in the dataset.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. Use KRPR to set up a reference pressure array by layer. See KVSP_KRPR_Ex1.dat


KRPR
ZVAR
1929.88716071 1887.82654122 2134.85510374 2273.01301623 2255.49859991 /

2. This example has two different KVSP tables. The KPTA keyword is used to assign tables to grid cells. While
KRPR is set up based on KPTA such that effectively the two tables are applied with individual reference
pressures. See KVSP_KRPR_Ex2.dat
-- in FLUID section
KVSP WRTP -- use the KRPR array
1 0.7 /
500 0.8 /
/

KVSP
1 0.8 /
500 0.9 /
/

-- in GRID section
SPEC -- a grid with 5 layers
10 10 5 /

KPTA -- first two layers use KVSP table 1, the other three use KVSP table 2

8.67. KRPR - KVSP Reference Pressure 495


Tempest MORE Help, Release 8.1

ZVAR
1 1 2 2 2 /

-- assigned KRPR (based on KPTA) such that


-- KVSP table 1 is applied with a reference pressure of 1000 and
-- KVSP table 2 is applied with a reference pressure of 2000
KRPR = 1000 * IEQ(KPTA,1) + 2000 * IEQ(KPTA,2)

The KRPR array can inspected with the 3D View in VIEW. For this example it shows a KRPR array where
the upper two layers have reference pressure of 1000 while the lower three layers have reference pressure
of 2000.

496 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.68 KPTA - KVSP Table Numbers

Location

GRID Section

Description

The KPTA keyword is used to populate the cells in a grid with KVSP (pressure dependent permeabilities and pore
volume multipliers) table numbers. If multiple KVSP tables are entered, the tables may be assigned to cells using
the KPTA keyword. Arguments for KPTA consist of an array of KVSP table numbers. Cells will be populated in
the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can
be used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to
150 cells).

Definitions

KVSP Table Numbers


• Default: 1

Notes

• KPTA is a normal grid array which will be automatically created when KVSP tables are found in the dataset.
If KPTA is not entered, all the cells will use KVSP table 1.
• The number of KVSP tables provided in the FLUI section must equal the number of KVSP tables numbers
used by KPTA in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. Using KPTA to populate a 10x10x5 grid with 500 KVSP table numbers. See KVSP.dat for complete exam-
ple:

KPTA
100*1
100*2
100*1
100*2
100*1

8.68. KPTA - KVSP Table Numbers 497


Tempest MORE Help, Release 8.1

498 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.69 KRDX - Saturation Table Numbers for Flow in the X-Direction

Location

GRID Section

Description

The KRDX keyword is used to populate the cells in a grid with saturation table numbers for flow in the x-direction.
When KRDX is used, the directional relative permeabilities option must be turned on using the KRDR keyword in
the INPU or RELA sections. Arguments for the KRDX keyword consist of an array of saturation table numbers
for flow in the x-direction.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation table numbers for flow in the x-direction


• Default: 1

Notes

• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by KRDX in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. KRDX is used to populate a 10x10x5 grid with 500 saturation table numbers for flow in the x-direction. See
DIR_KR.dat for complete example:

KRDX
1 1 1 1 1 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
2 2 2 1 1 1 3 3 1 1
1 1 4 1 1 1 1 2 2 1
1 2 2 2 2 2 1 1 1 1
1 1 1 2 2 1 5 1 2 1
1 4 4 2 2 5 2 2 2 2
1 2 2 2 1 3 2 1 1 1
1 1 2 2 1 2 1 2 1 1
1 1 1 1 4 1 1 3 1 1

8.69. KRDX - Saturation Table Numbers for Flow in the X-Direction 499
Tempest MORE Help, Release 8.1

100*1
100*2
100*3
50*4 50*5

The array for saturation table numbers for flow in the x-direction will then appear in the Initial tab of the
results for display in 3D, as shown below.

500 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.70 KRDY - Saturation Table Numbers for Flow in the Y-Direction

Location

GRID Section

Description

The KRDY keyword is used to populate the cells in a grid with saturation table numbers for flow in the y-direction.
When KRDY is used, the directional relative permeabilities option must be turned on using the KRDR keyword
in the INPU or RELA sections. Arguments for the KRDY keyword consist of an array of saturation table numbers
for flow in the y-direction.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation table numbers for flow in the y-direction


• Default: 1

Notes

• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by KRDY in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. KRDY is used to populate a 10x10x5 grid with 500 saturation table numbers for flow in the y-direction. See
DIR_KR.dat for complete example:

KRDY
4 1 3 1 1 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
2 2 2 1 1 1 3 3 1 3
1 1 4 1 1 5 1 2 2 1
1 2 2 2 2 2 1 1 1 1
4 1 1 2 2 1 5 1 2 1
1 5 4 2 2 5 2 1 2 2
1 2 2 2 1 3 2 1 1 3
1 1 2 2 1 2 1 2 1 1
5 1 1 1 4 1 1 3 1 1

8.70. KRDY - Saturation Table Numbers for Flow in the Y-Direction 501
Tempest MORE Help, Release 8.1

100*5
100*1
100*4
50*2 50*3

The array for saturation table numbers for flow in the y-direction will then appear in the Initial tab of the
results for display in 3D, as shown below.

502 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.71 KRDZ - Saturation Table Numbers for Flow in the Z-Direction

Location

GRID Section

Description

The KRDZ keyword is used to populate the cells in a grid with saturation table numbers for flow in the z-direction.
When KRDZ is used, the directional relative permeabilities option must be turned on using the KRDR keyword in
the INPU or RELA sections. Arguments for the KRDZ keyword consist of an array of saturation table numbers
for flow in the z-direction.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation table numbers for flow in the z-direction


• Default: 1

Notes

• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by KRDZ in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. KRDZ is used to populate a 10x10x5 grid with 500 saturation table numbers for flow in the z-direction. See
DIR_KR.dat for complete example:

KRDZ
5 1 2 1 3 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
4 4 2 1 1 1 3 3 1 2
1 1 4 1 1 5 1 2 1 2
1 2 2 2 2 2 1 1 1 2
4 1 1 2 2 1 5 1 2 1
1 5 5 2 3 3 2 1 2 2
1 2 5 2 1 3 2 1 1 3
1 1 5 2 1 2 1 5 5 1
5 1 1 1 4 1 1 3 1 1

8.71. KRDZ - Saturation Table Numbers for Flow in the Z-Direction 503
Tempest MORE Help, Release 8.1

100*4
100*2
100*3
50*5 50*1

The array for saturation table numbers for flow in the z-direction will then appear in the Initial tab of the
results for display in 3D, as shown below.

504 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.72 KRMX - Saturation Table Numbers for Flow in the Negative


X-Direction

Location

GRID Section

Description

The KRMX keyword is used to populate the cells in a grid with saturation table numbers for flow in the negative
y-direction. When KRMX is used, the directional relative permeabilities option must be turned on using KRDR
keyword with the IRRV argument to request irreversible directional relative permeabilities in the INPU or RELA
sections. Arguments for the KRMY keyword consist of an array of saturation table numbers for flow in the
negative x-direction.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation table numbers for flow in the negative x-direction


• Default: 1

Notes

• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by KRMX in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. KRMX is used to populate a 10x10x5 grid with 500 saturation table numbers for flow in the negative x-
direction. See DIR_KR_IRRV.dat for complete example:

KRMX
3 1 3 1 1 2 2 1 1 3
1 1 2 1 4 1 1 2 1 1
2 2 2 1 1 1 3 3 1 3
1 1 4 1 1 5 1 2 2 1
1 2 2 2 2 2 1 1 1 1
4 1 3 2 2 1 5 1 2 1
1 5 4 2 2 5 2 1 1 2

8.72. KRMX - Saturation Table Numbers for Flow in the Negative X-Direction 505
Tempest MORE Help, Release 8.1

1 2 2 2 1 3 2 1 1 3
1 1 2 2 1 2 1 2 3 2
5 4 1 1 4 1 1 3 1 1
100*3
100*2
100*1
50*4 50*5

The array for saturation table numbers for flow in the negative x-direction will then appear in the Initial tab
of the results for display in 3D, as shown below.

506 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.73 KRMY - Saturation Table Numbers for Flow in the Negative


Y-Direction

Location

GRID Section

Description

The KRMY keyword is used to populate the cells in a grid with saturation table numbers for flow in the negative
y-direction. When KRMY is used, the directional relative permeabilities option must be turned on using the
KRDR keyword with the IRRV argument to request irreversible directional relative permeabilities in the INPU or
RELA sections. Arguments for the KRMY keyword consist of an array of saturation table numbers for flow in the
negative y-direction.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation table numbers for flow in the negative y-direction


• Default: 1

Notes

• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by KRMY in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. KRMY is used to populate a 10x10x5 grid with 500 saturation table numbers for flow in the negative y-
direction. See DIR_KR_IRRV.dat for complete example:

KRMY
1 1 1 1 1 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
2 2 2 1 1 1 3 3 1 1
1 1 4 1 1 1 1 2 2 1
1 2 2 2 2 2 1 1 1 1
1 1 1 2 2 1 5 1 2 1
1 4 4 2 2 5 2 2 2 2

8.73. KRMY - Saturation Table Numbers for Flow in the Negative Y-Direction 507
Tempest MORE Help, Release 8.1

1 2 2 2 1 3 2 1 1 1
1 1 2 2 1 2 1 2 1 1
1 1 1 1 4 1 1 3 1 1
100*2
100*3
100*5
50*1 50*4

The array for the saturation table numbers for flow in the negative y-direction will then appear in the Initial
tab of the results for display in 3D, as shown below.

508 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.74 KRMZ - Saturation Table Numbers for Flow in the Negative


Z-Direction

Location

GRID Section

Description

The KRMZ keyword is used to populate the cells in a grid with saturation table numbers for flow in the negative
z-direction. When KRMZ is used, the directional relative permeabilities option must be turned on using KRDR
keyword with the IRRV argument to request irreversible directional relative permeabilities in the INPU or RELA
sections. Arguments for the KRMZ keyword consist of an array of saturation table numbers for flow in the negative
z-direction.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation table numbers for flow in the negative z-direction


• Default: 1

Notes

• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by KRMZ in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. KRMZ is used to populate a 10x10x5 grid with 500 saturation table numbers for flow in the negative z-
direction. See DIR_KR_IRRV.dat for complete example:

KRMZ
4 4 2 1 3 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
4 4 2 1 1 1 3 3 1 2
1 1 4 1 1 5 1 2 1 2
1 2 2 2 3 2 1 1 1 2
4 1 1 2 2 1 5 1 2 1
1 5 5 2 3 3 2 1 2 2

8.74. KRMZ - Saturation Table Numbers for Flow in the Negative Z-Direction 509
Tempest MORE Help, Release 8.1

1 2 5 2 1 3 2 1 1 3
1 1 5 2 1 2 1 5 5 1
5 1 1 1 4 1 1 3 1 1
100*1
100*2
100*4
50*5 50*3

The array for saturation table numbers for flow in the negative z-direction will then appear in the Initial tab
of the results for display in 3D, as shown below.

510 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.75 K_X (or KX, K-X, PERMX) - X-Permeability

Location

GRID Section

Description

The K_X keyword is used to populate the cells in a grid with x-permeability values. Its arguments consist of an
array of x-permeability values. The K_X array should be specified in all datasets, unless transmissibilities are
explicitly entered using T_X. Cells will be populated in the x-direction first, followed by the y-direction, and then
the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number of cells
(i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. X-Permeability values
• Units: mD (Field and Metric)
• Default: 0

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If no permeability data is entered, then the default of zero is taken, so there will be no flow in the given
direction. However, if a transmissibility is subsequently entered, e.g.

T_X 6* REPL
500*20000

MORE will use this. It will not back-calculate the corresponding permeability.

Examples

1. K_X is used to populate a 10x10x5 grid with 500 x-permeability values. See K_X.dat for complete example:

K_X
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
115.9 112.5 98.5 146.8 137.1 84.2 65.4 132.9 114.6 74.2
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1

8.75. K_X (or KX, K-X, PERMX) - X-Permeability 511


Tempest MORE Help, Release 8.1

115.9 112.5 98.5 146.8 137.1 84.2 65.4 132.9 114.6 74.2
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
40*152.1 60*85.6
70*100.2 30*128.9
20*75.5 80*162.0
100*50.6

512 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.76 K_Y (or KY, K-Y, PERMY) - Y-Permeability

Location

GRID Section

Description

The K_Y keyword is used to populate the cells in a grid with y-permeability values. Its arguments consist of
an array of y-permeability values. If K_Y is not specified, the y-permeability array will be populated with the
x-permeability array values. Cells will be populated in the x-direction first, followed by the y-direction, and then
the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number of cells
(i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Y-Permeability values
• Units: mD (Field and Metric)
• Default: K_X corresponding array values

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If no permeability data is entered for K_Y, then the corresponding K_X data is used. If no permeability
data is entered for K_X either, then the default K_X of zero is taken, so there will be no flow in the given
direction(s). However, if a transmissibility is subsequently entered, e.g.

T_Y 6* REPL
500*20000

MORE will use this. It will not back-calculate the corresponding permeability.

Examples

1. K_Y is used to populate a 10x10x5 grid with 500 y-permeability values. See K_Y.dat for complete example:

K_Y
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
115.9 112.5 98.5 146.8 137.1 84.2 65.4 132.9 114.6 74.2
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9

8.76. K_Y (or KY, K-Y, PERMY) - Y-Permeability 513


Tempest MORE Help, Release 8.1

132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
115.9 112.5 98.5 146.8 137.1 84.2 65.4 132.9 114.6 74.2
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
40*152.1 60*85.6
70*100.2 30*128.9
20*75.5 80*162.0
100*50.6

514 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.77 K_Z (or KZ, K-Z, PERMZ) - Z-Permeability

Location

GRID Section

Description

The K_Z keyword is used to populate the cells in a grid with z-permeability values. Its arguments consist of
an array of z-permeability values. If K_Z is not specified, the z-permeability array will be populated with the
x-permeability array values. Cells will be populated in the x-direction first, followed by the y-direction, and then
the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number of cells
(i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Z-Permeability values
• Units: mD (Field and Metric)
• Default: K_X corresponding array values

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If no permeability data is entered for K_Z, then the corresponding K_X data is used. If no permeability
data is entered for K_X either, then the default K_X of zero is taken, so there will be no flow in the given
direction(s). However, if a transmissibility is subsequently entered, e.g.

T_Z 6* REPL
500*20000

MORE will use this. It will not back-calculate the corresponding permeability.

Examples

1. K_Z is used to populate a 10x10x5 grid with 500 z-permeability values. See K_Z.dat for complete example:

K_Z
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
115.9 112.5 98.5 146.8 137.1 84.2 65.4 132.9 114.6 74.2
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9

8.77. K_Z (or KZ, K-Z, PERMZ) - Z-Permeability 515


Tempest MORE Help, Release 8.1

132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
115.9 112.5 98.5 146.8 137.1 84.2 65.4 132.9 114.6 74.2
132.2 65.9 147.5 154.2 58.9 111.3 125.7 78.6 120.7 60.1
150.2 165.4 74.2 54.2 135.2 101.5 55.7 118.4 138.4 80.9
40*152.1 60*85.6
70*100.2 30*128.9
20*75.5 80*162.0
100*50.6

516 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.78 LAYE - Define Layering

Location

GRID Section (after y-direction ( Y-DI) or theta-direction (THET) keywords, but before pore volume and trans-
missibility modifiers)

Description

The LAYE keyword is used to define the layering in a grid. Its arguments consist of an array listing the number
of model layers in each geological layer. The values in this array must sum up to the number of model layers (i.e.
the total number of layers specified by SIZE or SPEC). The number of geological layers then equals the number
of values supplied in the array. The list must be terminated by a slash (/).

Definitions

1. An array of the number of model layers in each geologic layer.

Notes

• Initially, there is one model layer in each geological layer (i.e. the array processing options geologic (GEOL)
and variable (VARI) will behave in the same fashion.)
• The geologic layering option is recommended if changes to the vertical grid are anticipated. If this feature
is used, the vertical grid can be changed by specifying only new size (SIZE) and layering (LAYE) data. All
other grid data will be independent of the vertical grid.

Examples

1. In a 25x43x8 grid, LAYE is used to specify that the 8 model layers are divided into 5 different geological
layers. Five sets of layer values must then be supplied for subsequent grid data processed with the geologic
(GEOL) option. An example of this using porosity is shown below. See LAYE.dat for complete example:

LAYE
2 3 3* 1 /

PORO GEOL
1075*0.1
1075*0.2
1075*0.3
1075*0.4
1075*0.5

8.78. LAYE - Define Layering 517


Tempest MORE Help, Release 8.1

518 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.79 LEVJ - Leverett J-Factor

Location

GRID Section

Description

The LEVJ keyword is used to populate the cells in a grid with Leverett J-factors to correlate variations in capillary
pressure with rock properties. The arguments for LEVJ consist of an array of Leverett J-factors. The LEVJ array
is an intermediate array that is not used directly by MORE but can play an intermediate role in setting up the basic
and optional arrays in MORE. LEVJ is a predefined array so the DEFI keyword will not be required to define it,
but it will only be used if set up by the user.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).
For more information about the Leverett J-factor, please refer to the Capillary Pressure and the Leverett J-Function
section of the MORE Technical Reference.

Definitions

1. Leverett J-factors
• Units: md1/2 (Field and Metric)

Notes

• In MORE, the reference capillary pressures will be entered using KRWO or WSF (for an oil-water case) or
KRGO or GSF (for an oil-gas case). The LEVJ array will then be used to set up a capillary pressure scaling
array (XPCW for oil-water capillary pressure in terms of water saturation or XPCG for oil-gas capillary
pressure in terms of gas saturation).
• LEVJ sets up capillary pressure scaling factors (XPCW and XPCG) using the following expression:

XPCW (or XPCG) = LEVJ * SQRT(PORO/K_X)

• By default, LEVJ sets up both the water-oil (XPCW) and gas-oil (XPCG) capillary scaling factors. It is
possible to set up only one of these using the optional LJOP keyword.
• It is also possible to enter XPCW or XPCG directly. In both cases, MORE will multiply the reference
capillary pressure data entered using KRWO /WSF and KRGO /WSF by XPCW and XPCG, respectively,
when calculating phase pressures to determine the phase flows in the simulation.
• If the dimensionless Leverett J-factor itself is known, it may be entered directly in the KRWO/KRGO or
WSF/GSF tables in place of the usual capillary pressure data. LEVJ should then be chosen to convert this
to the required capillary pressure values in the reservoir.
• The treatment of the Leverett J-factor in MORE is rather different than how it is treated in ECLIPSE where
users enter a surface tension rather than the product of the surface tension and a unit conversion factor.
To match the ECLIPSE form, MORE users must enter a LEVJ value which is the product of the required
surface tension and a unit conversion factor.
• When using the DPSS option, the Leverett J-factor will define scaling for the matrix cells only.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.

8.79. LEVJ - Leverett J-Factor 519


Tempest MORE Help, Release 8.1

• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In a 1x1x70 grid, we have set the oil-water capillary pressure using the KRWO table as follows:

--* Water-Oil Rel Perms


--*Sw(frac) Krw(dimless) Krow(dimless) Pcow
KRWO
0.00 0.0 1.0 10 /
1.00 1.0 0.0 0 /
/

Displaying the oil-water capillary pressure in the 3D Viewer, we see the following:

LEVJ is then used to populate the grid with 70 Leverett J-factors equal to 5 to correlate variations in capillary
pressure with rock properties. See Rel_LEVJ.dat for complete example:

LEVJ
70*5

With the porosity (PORO) equal to 0.10 and the permeability (K_X) equal to 10mD throughout, we can
expect a capillary pressure scaling factor (XPCW) of:

XPCW = LEVJ*SQRT(PORO/K_X) = 5*SQRT(0.10/10) = 5/10 = 0.50

The effect of the Leverett J-factor is thus to reduce the capillary pressures by a factor of 2. The resulting
oil-water capillary pressure and the effect it has on the oil-water transition zone can be seen in the figures
below:

520 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.79. LEVJ - Leverett J-Factor 521


Tempest MORE Help, Release 8.1

8.80 LJOP - Options for Leverett J-Factor

Location

GRID Section

Description

The LJOP keyword is used to select that Leverett J-factors entered using the LEVJ keyword are used to set up only
the water-oil (XPCW) or gas-oil (XPCG) capillary scaling factors. This is done using the arguments WATER and
GAS respectively.

Notes

• By default, LEVJ sets up both the water-oil and gas-oil capillary scaling factors. LJOP should only be used
to restrict this behaviour.
• LJOP applies also to FLEV when used to set the Leverett J-function for fractures in DPSS models.

Example

LJOP is used to select that Leverett J-factors are used to set up only the water-oil capillary scaling factors.

LJOP WATER

522 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.81 LGRD - Local Grid Refinement

Location

GRID Section

Description

The LGRD keyword is used to create a local grid refinement in specific cells of the global grid. This keyword is
directly followed by ten required arguments which describe the dimensions, location, and name of the local grid
refinement.

Definitions

1. x-dimension of the refinement


2. y-dimension of the refinement
3. z-dimension of the refinement
4. Lower x-limit of the refinement in the global grid
5. Upper x-limit of the refinement in the global grid
6. Lower y-limit of the refinement in the global grid
7. Upper y-limit of the refinement in the global grid
8. Lower z-limit of the refinement in the global grid
9. Upper z-limit of the refinement in the global grid
10. The name of the local grid

Notes

• Wells will automatically be completed in local grids when they are part of a well’s trajectory.
• Alternatively, when the WELL keyword is used, the argument LGR of the LOCA sub-keyword of WELL
should be used to complete a well in the local grid.
• By default, refined cells acquire the properties of the global cells. However, these values may be modified
for the local grid using the REFI and ENDR keywords.
• The local grid name is used in the REFI keyword and when completing wells in the local grid.
• Local grid refinement may not be specified in runs where grid coarsening is specified (see COAR and CXGR
keywords).

Examples

1. Using LGRD to create 3 different local grid refinements:


• one symmetrical 3x3x3 local grid located in cell 1,1,1 named MyLGR1
• a 2x3x4 local grid created in cell 10,10,1 named MyLGR2
• a 8x5x2 local grid spanning 18 global grid cells which range from 1,8,1 to 3,10,2 named MyLGR3
See LGRD.dat for complete example:

8.81. LGRD - Local Grid Refinement 523


Tempest MORE Help, Release 8.1

LGRD 3 3 3 1 1 1 1 1 1 MyLGR1
LGRD 2 3 4 10 10 10 10 1 1 MyLGR2
LGRD 8 5 2 1 3 8 10 1 2 MyLGR3

524 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.82 LOG1 - Logarithmic Spacing Excluding the 1st Interval in the


R-direction

Location

GRID Section (after the R-DI keyword)

Description

The LOG1 keyword is used to specify logarithmic spacing for a radial grid in the R-direction in all but the first
interval. This keyword must appear after the R-DI keyword is used. LOG1 consists of three required arguments
which should be included on a separate line below the keyword itself.

Definitions

1. Inner radius of the radial grid


• Units: feet (Field), metres (Metric)
2. Radius at the beginning of the second grid interval
• Units: feet (Field), metres (Metric)
3. Outer radius of the radial grid
• Units: feet (Field), metres (Metric)

Example

1. R-DI is used with LOG1 to specify a logarithmic grid spacing in all but the first grid interval in the r-
direction. See LOG1.dat for complete example:

R-DI
LOG1
0.5 100 2500

8.82. LOG1 - Logarithmic Spacing Excluding the 1st Interval in the R-direction 525
Tempest MORE Help, Release 8.1

526 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.83 LOGA - Logarithmic Spacing in the X, Y or Theta Direction

Location

GRID Section (after the X-DI, Y-DI or THET keywords)

Description

The LOGA keyword is used after the X-DI, Y-DI or THET keywords to specify logarithmic grid spacing in the X,
Y or Theta directions. This keyword must appear on a separate line after either the X-DI, Y-DI or THET keywords.
LOGA consists of two required arguments which should be listed on a separate line below the LOGA keyword
itself.

Definitions

1. Total length of system in x or y direction (or total angle for the θ-direction)
• Units: feet (Field), metres (Metric)
2. Ratio of adjacent grid spacings

Notes

• Please note that LOGA is treated differently when used with a radial grid and the R-DI keyword. For
the treatment of LOGA when used with the R-DI keyword, please see LOGA (R-direction).

Examples

1. X-DI is used with LOGA to specify logarithmic grid spacing in a 10x10x5 grid that has a total length of
10000 in the x-direction. See LOGA.dat for complete example:

X-DI
LOGA
10000 0.8

8.83. LOGA - Logarithmic Spacing in the X, Y or Theta Direction 527


Tempest MORE Help, Release 8.1

2. THET is used with LOGA to specify logarithmic grid spacing in the theta-direction in a 10x5x5 radial grid.

Y-DI
LOGA
360 0.5

528 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.83. LOGA - Logarithmic Spacing in the X, Y or Theta Direction 529


Tempest MORE Help, Release 8.1

8.84 LOGA - Logarithmic Spacing in the R-direction

Location

GRID Section (after the R-DI keyword)

Description

The LOGA keyword is used after the R-DI keyword to specify logarithmic grid spacing in the R-direction of a
radial grid. This keyword must appear on a separate line after the R-DI keyword is used. LOGA consists of two
required arguments which should be included on a separate line below the LOGA keyword itself.

Definitions

1. Inner radius of the radial grid


• Units: feet (Field), metres (Metric)
2. Outer radius of the radial grid
• Units: feet (Field), metres (Metric)

Notes

• Please note that LOGA is treated differently when used with the X-DI, Y-DI or THET keywords. For
the treatment of LOGA when used with the X-DI, Y-DI or THET keywords, please see LOGA (X,Y or
Theta direction).

Examples

1. R-DI is used with LOGA to specify logarithmic grid spacing between the inner and outer radii of 0.5 and
2500, respectively. See LOGA_R.dat for complete example:

R-DI
LOGA
0.5 2500

530 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.84. LOGA - Logarithmic Spacing in the R-direction 531


Tempest MORE Help, Release 8.1

8.85 MFTC - Matrix-Fracture Time Constant

Location

GRID Section

Description

The MFTC keyword is used to populate the cells in a grid with matrix-fracture time constants in a dual porosity
or dual permeability system. As an alternative to specifying the matrix-fracture coupling factors (SIGM) in dual
porosity runs using shape factors, matrix-fracture time constants may be entered in days using MFTC. For more
information about the relationship between MFTC and SIGM, please refer to the Discussion of Selected Arrays
section.
When MFTC is used, the dual porosity or dual permeability options must be turned on using the DPOR or DPER
keywords, respectively, in the INPU or GRID sections. Arguments for the MFTC keyword consist of an array of
matrix-fracture time constants.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Matrix-fracture time constants


• Default: Calculated from SIGM
• Units: days

Notes

• For more information regarding dual porosity/permeability systems, please refer to the MORE Technical
Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MFTC is used to populate an 8x8x2 grid with 128 matrix-fracture time constants. See DualPoros-
ity_MFTC.dat for complete example:
MFTC
201.788 199.414 201.788 204.219 201.788 201.788 201.788 209.261
201.788 201.788 209.261 201.788 201.788 201.788 201.788 206.709
204.219 201.788 201.788 211.877 211.877 201.788 204.219 201.788
204.219 201.788 201.788 201.788 201.788 199.414 204.219 199.414

532 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

201.788 201.788 206.709 201.788 211.877 201.788 201.788 201.788


201.788 201.788 206.709 201.788 204.219 201.788 201.788 211.877
201.788 201.788 201.788 204.219 199.414 204.219 201.788 201.788
201.788 199.414 201.788 199.414 201.788 201.788 206.709 201.788
64*0

The MFTC array will then appear in the Initial tab of the results for display in 3D, as shown below:

The display can be switched between matrix and fracture grids by clicking on the Swap between matrix and

fracture (dual porosity models) button located on the toolbar on the left-hand side of the 3D Viewer.

A matrix-fracture coupling factor (SIGM) array will also be automatically calculated from MFTC, and this
array will also appear in the Initial tab of the results for display in 3D, as follows:

8.85. MFTC - Matrix-Fracture Time Constant 533


Tempest MORE Help, Release 8.1

534 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.86 MIND - Minimum Cell Thickness

Location

GRID Section

Description

The MIND keyword is used to specify a minimum cell thickness tolerance. All cells with thicknesses less than
the minimum cell thickness tolerance specified by MIND will become inactive. MIND consists of one required
argument written on a separate line below the keyword itself.

Definitions

1. The minimum cell thickness tolerance


• Units: feet (Field), metres (Metric)
• Default: 0.32808 feet (Field), 0.1 metres (Metric)

Notes

• If the MIND keyword is not entered at all, the minimum cell thickness is 0.1 metres (or 0.32808 feet).
• When a cell is made inactive on a minimum thickness basis and separates two active cells in the z-direction,
a pinchout will be generated if the cell separation is less than the pinch criterion set by PINC and also
defaulted to 0.1 metres (or 0.32808 feet).
• If a pinchout connection is not generated, an inactive cell between two active cells will be a barrier to flow.
• The following figure and notes describe the interaction between PINC and MIND:

Examples

1. MIND is used to make cells with thickness less than 100 inactive. See MIND.dat for complete example:

MIND
100

The display of cell thickness arrays before and after the addition of the MIND keyword can be seen in the
figure below. As expected, those cells with thicknesses less than or equal to 100 have been made inactive
and do not appear in the AFTER MIND figure.

8.86. MIND - Minimum Cell Thickness 535


Tempest MORE Help, Release 8.1

536 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.87 MINP - Minimum Pore Volume Tolerance

Location

GRID Section

Description

The MINP keyword is used to specify a minimum pore volume tolerance. Any cells which have a pore volume less
than that specified by MINP will be made inactive. The MINP keyword consists of two records. The first record
consists of two optional arguments which are used to specify the treatment of the tolerance value and volume
units. This record should follow directly after the MINP keyword on the same line. The second record appears on
a separate line below MINP and consists of the value of the minimum pore volume tolerance.

Definitions

RECORD 1:
1. VALU (optional) - apply tolerance as absolute value for the pore volume
• Default: apply tolerance as a ratio to the average pore volume
2. Volume units (optional) - MORE or ECLI
• MORE - use MORE volume units
– Units: ft3 (Field), m3 (Metric)
• ECLI (default) - use ECLIPSE volume units
– Units: rb (Field), m3 (Metric)
RECORD 2:
1. The minimum pore volume tolerance

Notes

• If the MINP keyword is not entered at all, the minimum pore volume is 10-6 m3 .
• If neither MORE nor ECLI is specified, the ECLI unit system is used.
• Pore volume units in Tempest MORE are in ft3 (Field) or m3 (Metric). However, please note that when field
units are used, pore volumes will be converted to and displayed on the 3D viewer in rb instead of ft3 .
• MINP acts on active cells only. Cells which have been made inactive via ACTN will remain inactive even if
their pore volumes exceed the pore volume specified by MINP.

Examples

1. Given the pore volume distribution in the “ORIGINAL” figure below, MINP is used to make cells with pore
volumes less than 90% of the average pore volume inactive. See MINP_1.dat for complete example:

MINP
0.90

8.87. MINP - Minimum Pore Volume Tolerance 537


Tempest MORE Help, Release 8.1

2. Given the pore volume distribution in the “ORIGINAL” figure below, displayed in rb units, MINP is used
to make cells with pore volumes less than 30x106 ft3 (Field units (MORE)) inactive. See MINP_2.dat for
complete example:

MINP VALU MORE


30000000

(Please note that when the MORE option is used with MINP to specify a minimum pore volume in f t3 , pore
volumes will still be displayed in rb in the 3D Viewer, and not in f t3 .)

3. Given the pore volume distribution in the “ORIGINAL” figure below, MINP is used to make cells with pore
volumes less than 4x106 rb (Field Units (ECLIPSE)) inactive. See MINP_3.dat for complete example:

MINP VALU ECLI


4000000

538 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.87. MINP - Minimum Pore Volume Tolerance 539


Tempest MORE Help, Release 8.1

8.88 MLRP - Multiply Cell Pore Volumes on Basis of MULN Region

Location

GRID Section

Description

The MLRP keyword allows a pore volume multiplier to be applied to the cells with a given MULN region number

Definitions

1. MULN region to which multiplier applies


2. Pore volume multiplier

Notes

• This information may also be read using the ECLIPSE format MULTREGP keyword. In that case the
FLUXNUM and OPERNUM region arrays may also be selected to mark the operation.
• The values of MULN may also be entered using the alias keyword MULTREG.

Examples

1. Multiply the pore volumes of cells with a MULN region of 1 by 10, and those with a MULN region of 2 by
2:

MLRP 1 10.0 /
MLRP 2 2.0 /

540 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.89 MLRT - Transmissibility Multipliers Between Regions on Ba-


sis of MULN Region

Location

GRID Section

Description

The MLRT keyword sets up transmissibility multipliers between regions on the basis of MULN region

Definitions

1. First MULN region index. Default is -1, which will match any region value
2. Second MULN region index. Default is -1, which will match any region value
3. Multiplier. Must be non-negative
4. Direction values: X,Y,Z,XY,YX,XZ,ZX,XZ,ZX or XYZ (XYZ is default)
5. Special options: NNC, NON, NOA or ALL (ALL is default)

Notes

• If the first two arguments are set to equal positive values, the multiplier will apply to all cells with that region
number, and also to all connections between cells with that region number and any other region number.
• This information may also be read as the ECLIPSE format MULTREGT keyword. In that case the
FLUXNUM and OPERNUM region arrays may also be selected to mark the operation.
• NNC implies multiplier acts on fault connections only, NONnc implies on all connections except fault
connections, NOAQui implies on all connections except those between reservoir and numerical aquifers.

Examples

1. Apply a multiplier of 10 between MULN regions 1 and 2, and a multiplier of 2 between MULN regions 1
and 3:

MLRT 1 2 10.0 XYZ /


MLRT 1 3 2.0 XYZ /

8.89. MLRT - Transmissibility Multipliers Between Regions on Basis of MULN Region 541
Tempest MORE Help, Release 8.1

8.90 MODE - Input Processing Mode

Location

GRID Section

Description

The MODE keyword is used to provide a simple means of switching between HORI BLOC and HORI POIN
mode whilst reading the grid section. MODE consists of one required argument for which there are two options.
This argument should accompany the MODE keyword on the same line.

Definitions

1. Input processing mode - BLOC or POIN


• BLOC - grid array layers are entered in block-centred grid mode in the x-y direction
• POIN - grid array layers are entered in point-centred grid mode in the x-y direction

Notes

• MORE 6 and above always runs the study in block mode, so MODE only concerns the interpretation of
input grid data.
• The input mode can be reset during the processing of the grid section.
• For more information regarding the block and point modes of entry, please refer to the GRID - Data
Overview and Array Processing sections.

Examples

1. MODE is used to switch to horizontal block mode.

MODE BLOC

542 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.91 MULN - Region Numbers for Applying Inter-Region Transmis-


sibility Multipliers

Location

GRID Section

Description

The MULN keyword is used to populate the cells in a grid with region numbers. These region numbers are
then used to work with inter-region transmissibility multipliers or cell pore volume multipliers using the keywords
MLRT or MLRP respectively. Arguments for MULN consist of an array of region numbers. Cells will be populated
in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk
can be used to assign a value to a specified number of cells (i.e. 150*3 can be used to assign a value of 3 to 150
cells).

Definitions

1. Region numbers
• Default: 0

Notes

• All region numbers used in the keywords MLRT or MLRP must be defined using the keyword MULN in the
GRID section.

Examples

1. MULN is used to populate a 10x10x5 grid with 500 region numbers numbers.

MULN
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3
30*1 30*2 40*3

8.91. MULN - Region Numbers for Applying Inter-Region Transmissibility Multipliers 543
Tempest MORE Help, Release 8.1

544 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.92 MULTFLT - Set Transmissibility Multipliers for Faults

Location

GRID section (after the FAULTS keyword)

Description

The MULTFLT keyword is used to set transmissibility multipliers for faults. Unlike most MORE keywords,
the keyword name MULTFLT must be supplied in full so as not to be confused wth the alternative FMUL
keyword. The fault names defined by the set of segments defined using the FAULTS keyword can have their
transmissibilities modified using the MULTFLT keyword.
Arguments for MULTFLT consist of a table with two columns containing a fault name and corresponding trans-
missibility multiplier. Following the final entry, a solitary slash (/) on a separate line is required to terminate the
data entry for this keyword.

Definitions

1. Fault name
2. Transmissibility multiplier

Notes

• The fault names should have been already defined before the MULTFLT keyword is specified via the
FAULTS keyword.

Examples

1. In a 10x10x5 grid, FAULTS is used with MULTFLT to define two faults called MyFLT1 and MyFLT2.
MyFLT1 will have 3 fault segments while MyFLT2 will have 4 fault segments, as follows. See
FAULTS_2.dat for complete example:

FAULTS
--Name XL XU YL YU ZL ZU Direction
MyFLT1 2 2 1 5 1* 1* X /
MyFLT1 2 6 5 5 1* 1* Y /
MyFLT1 6 6 5 10 1* 1* X /

MyFLT2 5 5 1 3 1* 1* X /
MyFLT2 5 8 3 3 1* 1* Y /
MyFLT2 8 8 3 7 1* 1* X /
MyFLT2 8 10 7 7 1* 1* Y /
/

MULTFLT
--Name Multiplier
MyFLT1 0.10
MyFLT2 0.05
/

(Please note that the lines directly following both FAULTS and MULTFLT are comment lines used to aid
readability. Additionally, replacing the X and Y direction with I and J, respectively, will yield the same
results.)
The faults created in the example above are shown below with MyFLT1 in red and MyFLT2 in green:

8.92. MULTFLT - Set Transmissibility Multipliers for Faults 545


Tempest MORE Help, Release 8.1

The following images show the resulting X and Y transmissibilities created by the faults:

546 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.92. MULTFLT - Set Transmissibility Multipliers for Faults 547


Tempest MORE Help, Release 8.1

8.93 MULX (or MX, M-X, M_X, MULTX) - X-Transmissibility Multi-


plier

Location

GRID Section

Description

The MULX keyword is used to populate the cells in a grid with x-transmissibility multipliers. Its arguments
consist of an array of x-transmissibility multiplier values. Cells will be populated in the x-direction first, followed
by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a
specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. X-Transmissibility multiplier values


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MULX is used to populate a 10x10x5 grid with 500 x-transmissibility multiplier values. See MULX.dat for
complete example:

MULX
1 0 1 2 1 1 1 1 0 1
2 1 1 1 1 2 2 1 1 1
0 1 0 0 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 1 0 0 2 1 1 0 0
1 0 1 0 1 0 1 1 1 1
0 0 1 2 1 0 0 1 0 0
1 1 1 0 0 0 0 2 1 1
1 2 1 1 0 2 1 0 1 1
1 1 0 1 1 1 0 0 0 0
100*2
100*3
100*1
100*2

548 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.93. MULX (or MX, M-X, M_X, MULTX) - X-Transmissibility Multiplier 549
Tempest MORE Help, Release 8.1

8.94 MULY (or MY, M-Y, M_Y, MULTY) - Y-Transmissibility Multiplier

Location

GRID Section

Description

The MULY keyword is used to populate the cells in a grid with y-transmissibility multipliers. Its arguments
consist of an array of y-transmissibility multiplier values. Cells will be populated in the x-direction first, followed
by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a
specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Y-Transmissibility multiplier values


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MULY is used to populate a 10x10x5 grid with 500 y-transmissibility multiplier values. See MULY.dat for
complete example:

MULY
1 0 1 2 1 1 1 1 0 1
2 1 1 1 1 2 2 1 1 1
0 1 0 0 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 1 0 0 2 1 1 0 0
1 0 1 0 1 0 1 1 1 1
0 0 1 2 1 0 0 1 0 0
1 1 1 0 0 0 0 2 1 1
1 2 1 1 0 2 1 0 1 1
1 1 0 1 1 1 0 0 0 0
100*2
100*3
100*1
100*2

550 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.94. MULY (or MY, M-Y, M_Y, MULTY) - Y-Transmissibility Multiplier 551
Tempest MORE Help, Release 8.1

8.95 MULZ (or MZ, M-Z, M_Z, MULTZ) - Z-Transmissibility Multiplier

Location

GRID Section

Description

The MULZ keyword is used to populate the cells in a grid with z-transmissibility multipliers. Its arguments
consist of an array of z-transmissibility multiplier values. Cells will be populated in the x-direction first, followed
by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a
specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Z-Transmissibility multiplier values


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MULZ is used to populate a 10x10x5 grid with 500 z-transmissibility multiplier values. See MULZ.dat for
complete example:

MULZ
1 0 1 2 1 1 1 1 0 1
2 1 1 1 1 2 2 1 1 1
0 1 0 0 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 1 0 0 2 1 1 0 0
1 0 1 0 1 0 1 1 1 1
0 0 1 2 1 0 0 1 0 0
1 1 1 0 0 0 0 2 1 1
1 2 1 1 0 2 1 0 1 1
1 1 0 1 1 1 0 0 0 0
100*2
100*3
100*1
100*2

552 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.95. MULZ (or MZ, M-Z, M_Z, MULTZ) - Z-Transmissibility Multiplier 553
Tempest MORE Help, Release 8.1

8.96 MXM (or MULTX-) - X-Transmissibility Multiplier in the Nega-


tive X-Direction

Location

GRID Section

Description

The MXM keyword is used to populate the cells in a grid with x-transmissibility multipliers in the negative x-
direction. Its arguments consist of an array of x-transmissibility multiplier values. Cells will be populated in the
x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150
cells).

Definitions

1. X-Transmissibility multiplier values in the negative x-direction


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MXM is used to populate a 10x10x5 grid with 500 x-transmissibility multiplier values in the negative x-
direction. See MXM.dat for complete example:

MXM
1 0 1 2 1 1 1 1 0 1
2 1 1 1 1 2 2 1 1 1
0 1 0 0 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 1 0 0 2 1 1 0 0
1 0 1 0 1 0 1 1 1 1
0 0 1 2 1 0 0 1 0 0
1 1 1 0 0 0 0 2 1 1
1 2 1 1 0 2 1 0 1 1
1 1 0 1 1 1 0 0 0 0
100*2
100*3
100*1
100*2

554 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The MXM array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.96. MXM (or MULTX-) - X-Transmissibility Multiplier in the Negative X-Direction 555
Tempest MORE Help, Release 8.1

8.97 MYM (or MULTY-) - Y-Transmissibility Multiplier in the Nega-


tive Y-Direction

Location

GRID Section

Description

The MYM keyword is used to populate the cells in a grid with y-transmissibility multipliers in the negative y-
direction. Its arguments consist of an array of y-transmissibility multiplier values. Cells will be populated in the
x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150
cells).

Definitions

1. Y-Transmissibility multiplier values in the negative y-direction


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MYM is used to populate a 10x10x5 grid with 500 y-transmissibility multiplier values in the negative y-
direction. See MYM.dat for complete example:

MYM
1 0 1 2 1 1 1 1 0 1
2 1 1 1 1 2 2 1 1 1
0 1 0 0 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 1 0 0 2 1 1 0 0
1 0 1 0 1 0 1 1 1 1
0 0 1 2 1 0 0 1 0 0
1 1 1 0 0 0 0 2 1 1
1 2 1 1 0 2 1 0 1 1
1 1 0 1 1 1 0 0 0 0
100*2
100*3
100*1
100*2

556 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The MYM array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.97. MYM (or MULTY-) - Y-Transmissibility Multiplier in the Negative Y-Direction 557
Tempest MORE Help, Release 8.1

8.98 MZM (or MULTZ-) - Z-Transmissibility Multiplier in the Nega-


tive Z-Direction

Location

GRID Section

Description

The MZM keyword is used to populate the cells in a grid with z-transmissibility multipliers in the negative z-
direction. Its arguments consist of an array of z-transmissibility multiplier values. Cells will be populated in the
x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150
cells).

Definitions

1. Z-Transmissibility multiplier values in the negative z-direction


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. MZM is used to populate a 10x10x5 grid with 500 z-transmissibility multiplier values in the negative z-
direction. See MZM.dat for complete example:

MZM
1 0 1 2 1 1 1 1 0 1
2 1 1 1 1 2 2 1 1 1
0 1 0 0 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 1 0 0 2 1 1 0 0
1 0 1 0 1 0 1 1 1 1
0 0 1 2 1 0 0 1 0 0
1 1 1 0 0 0 0 2 1 1
1 2 1 1 0 2 1 0 1 1
1 1 0 1 1 1 0 0 0 0
100*2
100*3
100*1
100*2

558 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The MZM array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.98. MZM (or MULTZ-) - Z-Transmissibility Multiplier in the Negative Z-Direction 559
Tempest MORE Help, Release 8.1

8.99 NEPS - Set options for endpoint scaling at non-neighbour


connections

Location

GRID Section

Description

NEPS controls end point scaling when calculating non-neighbour connection flows when the saturation table index
for the connection has been explicitly set using keyword NNC.
NEPS has no effect for non-neighbour connections where the saturation table index has been defaulted or not
specified. The non-neighbour connection are calculated using the relative permeabilities in the connecting grid
blocks, accounting for any end point scaling supplied for the grid blocks

Defaults

When the saturation table indices have not been explcitly specified for an NNC the mobilities for the flow across
the NNC are calculated using the saturation tables for grid cells at the first and second points of the NNC (specified
using keyword SATN) together with any end point scaling for the grid block.
When the saturation table indices have been explicitly specified for a non-neighbour connection, none of the end
points from the grid cells at the first and second points apply to the mobility calculation for the NNC. NEPS will
override this behaviour.
NEPS consists of 3 optional arguments which may be specified in any order.

Definitions

• HORIZ - The non-neighbour connection flow is calculated using the NNC saturation table with the horizon-
tal end points from the completion grid block.
• VERT - The non-neighbour connection flow is calculated using the NNC saturation table with the vertical
relative permeability end points from the completion grid block.
• PC - The non-neighbour connection flow is calculated using the NNC saturation table with the vertical
capillary pressure end points from the completion grid block.

Notes

• For further information see the chapter on End Point Scaling

Example

Layer 5 in a model is an inactive shale layer. Non-neighbour connections are used to connect layers 4 and 6 using
saturation tables 2 and 3.

-- Simulate inactive shale layer


BOX
4* 5 5 /
POROSITY uniform
CONSTANT
0.00000 /
ENDBOX

560 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

-- Connect across the shale layer


NNC
1 1 4 1 1 6 1000.0 2 3
1 2 4 1 2 6 1000.0 2 3
1 3 4 1 3 6 1000.0 2 3
1 4 4 1 4 6 1000.0 2 3
2 1 4 2 1 6 1000.0 2 3
2 2 4 2 2 6 1000.0 2 3
2 3 4 2 3 6 1000.0 2 3
2 4 4 2 4 6 1000.0 2 3
3 1 4 3 1 6 1000.0 2 3
3 2 4 3 2 6 1000.0 2 3
3 3 4 3 3 6 1000.0 2 3
3 4 4 3 4 6 1000.0 2 3
4 1 4 4 1 6 1000.0 2 3
4 2 4 4 2 6 1000.0 2 3
4 3 4 4 3 6 1000.0 2 3
4 4 4 4 4 6 1000.0 2 3
/

-- Avoid pinchouts for the shale layer


BOX
4* 4 4 /
MULTZ uniform
CONSTANT
0.00000 /
ENDBOX

This run is assumed to use end point scaling (specified using SWL, SWU SWCR etc., XKRO, XKRG, YKOW, YKOG
etc. and XPCW, XPCG). All the horizontal and vertical relative permeability end points from the 4th saturation
table are used to calculate the non-neighbour connection relative permeabilities, and only the vertical grid block
scalings for capillary pressure (XPCW, XPCG) will be applied to this table.

NEPS PC

8.99. NEPS - Set options for endpoint scaling at non-neighbour connections 561
Tempest MORE Help, Release 8.1

8.100 NNC - Define Non-Neighbour Connections

Location

GRID Section

Description

The NNC keyword is used to define non-neighbour connections. This keyword consists of two records. The first
record follows directly after the NNC keyword on the same line and contains different options that can be applied
to the non-neighbour connections. The second record consists of a table with at least 7 columns describing the
locations and transmissibility of the non-neighbour connections. Each line following the NNC keyword specifies
a single non-neighbour connection (i.e. the indices of the two points connected and the value of the connecting
transmissibility.) Once all of the non-neighbour connections have been specified, a solitary slash (/) on a separate
line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. MULT (optional) - values are treated as transmissibility multipliers (MODI can also be used)
2. MORE (optional) - use MORE transmissibility units
• Units: md-ft (Field), md-m (Metric)
3. ECLI (default) - use ECLIPSE transmissibility units
• Units: cP×rb/day/psi (Field), cP×rm3 /day/bars (Metric)
4. ONPD vpd (optional) - use these connections once the pressure difference across them exceeds vpd
5. LGR1 name (optional) - specify local grid of first point. name can be either a local grid name or GLOBAL
6. LGR2 name (optional) - specify local grid of second point. name can be either a local grid name or
GLOBAL
RECORD 2:
1. i-index of the first point
2. j-index of the first point
3. k-index of the first point
4. i-index of the second point
5. j-index of the second point
6. k-index of the second point
7. Transmissibility for the connection
8. Saturation table for first point in the connection (optional)
• Default: the saturation table number for the grid cell containing the first point
9. Saturation table for second point in the connection (optional)
• Default: the saturation table number for the grid cell containing the second point

562 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Notes

• Non-neighbour connection data can be output to the Print file by using the PRIN keyword with the NNC
option. The resulting output produced can be found by performing a search for NNC in the Print file. For
more information regarding the data generated in the Print file for non-neighbour connections, please see
the examples below.
• The non-neighbour connection data that is output to the Print file will appear in both MORE transmis-
sibility units (md-ft (Field), md-m (Metric)) and ECLIPSE transmissibility units (cP×rb/day/psi (Field),
cP×rm3/day/bars (Metric)). ECLIPSE units can be converted to MORE units using the following factors:
0.001127 (Field), 0.008527 (Metric).
• The saturation table used to calculate the mobilities for flow across the non-neighbour connection is nor-
mally taken from the connecting cells. This may be overriden by specifying a non-default value for the
8th and 9th arguments. The same saturation table number applies when hysteresis is present and the satura-
tion tables (e.g. KRGO, KRWG and KRWO) are specified with columns for both drainage and imbibition
processes.
When the saturation table has been specified in the 8th and 9th arguments and End Point Scaling is used,
keyword NEPS may be used to control whether the end points for the non-neighbour connection mobility
calculation are taken from this saturation table or from the connecting grid cells.

Examples

1. Given a 10x10x10 grid in a field-unit system, NNC is used to specify 3 different non-neighbour connections
in default ECLIPSE transmissibility units (cP.rb/day/psi). PRIN with NNC is then used to output the non-
neighbour connection data to the Print file, as follows. See NNC_2.dat for complete example:
NNC
4 5 6 4 5 9 23.5
5 5 6 5 5 9 24.3
6 5 6 6 5 9 27.6
/

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:
Number of non-neighbour connections is 3
Number of explicitly entered fault connections..3
Number of x-direction column to column faults...0
Number of y-direction column to column faults...0
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................0
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 3
Index Type ----First Cell---- ---Second Cell---- Transmissibility
,→ Thermal Area
ix iy iz iLG ix iy iz iLG md-ft rb.cp/d/
,→psi trans
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→--- -------- -------
1 User specified 4 5 6 0 4 5 9 0 20851.8 23.500
,→ 0.0 0.0
2 User specified 5 5 6 0 5 5 9 0 21561.7 24.300
,→ 0.0 0.0

8.100. NNC - Define Non-Neighbour Connections 563


Tempest MORE Help, Release 8.1

3 User specified 6 5 6 0 6 5 9 0 24489.8 27.600


,→ 0.0 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→--- -------- -------

2. Given a 10x10x10 grid in a field-unit system, NNC is used with the MORE option to specify 3 different non-
neighbour connections in MORE transmissibility units (md-ft). PRIN with NNC is then used to output the
non-neighbour connection data to the Print file, as follows. See NNC_2_MORE.dat for complete example:

NNC MORE
4 5 6 4 5 9 23.5
5 5 6 5 5 9 24.3
6 5 6 6 5 9 27.6
/

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:

Number of non-neighbour connections is 3


Number of explicitly entered fault connections..3
Number of x-direction column to column faults...0
Number of y-direction column to column faults...0
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................0
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 3
Index Type ----First Cell---- ---Second Cell---- Transmissibility
,→ Thermal Area
ix iy iz iLG ix iy iz iLG md-ft rb.cp/d/
,→psi trans
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→--- -------- -------
1 User specified 4 5 6 0 4 5 9 0 23.500 0.026
,→ 0.0 0.0
2 User specified 5 5 6 0 5 5 9 0 24.300 0.027
,→ 0.0 0.0
3 User specified 6 5 6 0 6 5 9 0 27.600 0.031
,→ 0.0 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→--- -------- -------

564 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.101 NOGE - No Geometric Non-neighbour connections.

Location

GRID Section

Description

This keyword stops MORE from generating non-neighbour transmissibilities due to fault and pinchout connections
- i.e. those connections related to grid geometry. It may be used from pre-processor programs such as RMS
which generate transmissibilities and non-neighbour connections and pass these to MORE using keywords such
as TRANX and NNC. In that case, MORE should not also generate these connections, and NOGEONNC can be
used to suppress this and prevent double-counting.
In radial mode with Ntheta>1, NOGE also suppresses ‘completing the circle’ transmissibilities. Non-neighbour
connections for dual porosity and dual permeability modelling are not effected by NOGEONNC.

Example

1. NOGE is used to switch off fault generation in a simulation.

NOGE

8.101. NOGE - No Geometric Non-neighbour connections. 565


Tempest MORE Help, Release 8.1

8.102 NONN - No Non-Neighbour Connections.

Location

GRID Section

Description

This keyword stops MORE from generating any non-neighbour connections. This is useful in some development
situations but almost never applicable to a real engineering case.

566 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.103 NOXY - Restore Normal Grid Subdivisions after XDIV or YDIV

Location

GRID section (after the XDIV and/or YDIV keywords)

Description

The NOXY keyword is used to restore the normal grid subdivisions after the use of the XDIV and/or YDIV
keywords. There are no required arguments for NOXY.

Notes

• XDIV and YDIV allow grid arrays to be entered for large intervals defined by a subdivision of the basic grid.

Examples

1. In this example, we have a 9x12x4 grid and we want to enter a grid using the COOR and ZCOR keywords.
However, we want to avoid entering 9x12 coordinate lines. Thus, we can construct the data needed for
COOR and ZCOR for a coarse 3x4x4 grid by introducing the XDIV and YDIV keywords, as follows. See
NOXY_XDIV_YDIV.dat for complete example:
SIZE 9 12 4

XDIV
2 4 3 /

YDIV
2 4 4 2 /

We then enter the COOR and ZCOR data for the 9x12x4 grid using the corner point data for the smaller
3x4x4 grid.
COOR
0.00000 0.00000 5000.00 0.00000 0.
,→00000 6000.00
1111.11 0.00000 5000.00 1111.11 0.
,→00000 6000.00
2222.22 0.00000 5000.00 2222.22 0.
,→00000 6000.00
3333.33 0.00000 5000.00 3333.33 0.
,→00000 6000.00

0.00000 833.333 5000.00 0.00000 833.


,→333 6000.00
1111.11 833.333 5000.00 1111.11 833.
,→333 6000.00
2222.22 833.333 5000.00 2222.22 833.
,→333 6000.00
3333.33 833.333 5000.00 3333.33 833.
,→333 6000.00

0.00000 1666.67 5000.00 0.00000 1666.


,→67 6000.00
1111.11 1666.67 5000.00 1111.11 1666.
,→67 6000.00
2222.22 1666.67 5000.00 2222.22 1666.
,→67 6000.00

8.103. NOXY - Restore Normal Grid Subdivisions after XDIV or YDIV 567
Tempest MORE Help, Release 8.1

3333.33 1666.67 5000.00 3333.33 1666.


,→ 67 6000.00

0.00000 2500.00 5000.00 0.00000 2500.


,→ 00 6000.00
1111.11 2500.00 5000.00 1111.11 2500.
,→ 00 6000.00
2222.22 2500.00 5000.00 2222.22 2500.
,→ 00 6000.00
3333.33 2500.00 5000.00 3333.33 2500.
,→ 00 6000.00

0.00000 3333.33 5000.00 0.00000 3333.


,→ 33 6000.00
1111.11 3333.33 5000.00 1111.11 3333.
,→ 33 6000.00
2222.22 3333.33 5000.00 2222.22 3333.
,→ 33 6000.00
3333.33 3333.33 5000.00 3333.33 3333.
,→ 33 6000.00
/

--* Set Depth


ZCORn
48*5000.00
48*5250.00
48*5250.00
48*5500.00
48*5500.00
48*5750.00
48*5750.00
48*6000.00
/

The resulting 3D grid will be displayed as follows:

Now, if our reservoir has a steady dip and we still wanted to enter the COOR x-y coordinate lines for the
coarsened 3x4x4 grid but then enter ZCOR depths for the finer 9x12x4 grid, we can use NOXY for this. We

568 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

would use XDIV and YDIV before the COOR keyword to enter coordinate data for a 3x4x4 grid, as above,
and then introduce NOXY before the ZCOR keyword to enter ZCOR data for the original fine 9x12x4 grid.
See NOXY.dat for complete example:

SIZE 9 12 4

XDIV
2 4 3 /

YDIV
2 4 4 2 /

COOR
0.00000 0.00000 5000.00 0.00000 0.
,→ 00000 6000.00
1111.11 0.00000 5000.00 1111.11 0.
,→ 00000 6000.00
2222.22 0.00000 5000.00 2222.22 0.
,→ 00000 6000.00
3333.33 0.00000 5000.00 3333.33 0.
,→ 00000 6000.00

0.00000 833.333 5000.00 0.00000 833.


,→ 333 6000.00
1111.11 833.333 5000.00 1111.11 833.
,→ 333 6000.00
2222.22 833.333 5000.00 2222.22 833.
,→ 333 6000.00
3333.33 833.333 5000.00 3333.33 833.
,→ 333 6000.00

0.00000 1666.67 5000.00 0.00000 1666.


,→ 67 6000.00
1111.11 1666.67 5000.00 1111.11 1666.
,→ 67 6000.00
2222.22 1666.67 5000.00 2222.22 1666.
,→ 67 6000.00
3333.33 1666.67 5000.00 3333.33 1666.
,→ 67 6000.00

0.00000 2500.00 5000.00 0.00000 2500.


,→ 00 6000.00
1111.11 2500.00 5000.00 1111.11 2500.
,→ 00 6000.00
2222.22 2500.00 5000.00 2222.22 2500.
,→ 00 6000.00
3333.33 2500.00 5000.00 3333.33 2500.
,→ 00 6000.00

0.00000 3333.33 5000.00 0.00000 3333.


,→ 33 6000.00
1111.11 3333.33 5000.00 1111.11 3333.
,→ 33 6000.00
2222.22 3333.33 5000.00 2222.22 3333.
,→ 33 6000.00
3333.33 3333.33 5000.00 3333.33 3333.
,→ 33 6000.00
/

--* Restore normal grid subdivisions


NOXY

--* Set depths for fine 9x12x4 grid

8.103. NOXY - Restore Normal Grid Subdivisions after XDIV or YDIV 569
Tempest MORE Help, Release 8.1

ZCOR
216*5000.00 216*5250.00
216*5250.00 216*5500.00
216*5250.00 216*5500.00
216*5500.00 216*5750.00
216*5500.00 216*5750.00
216*5750.00 216*6000.00
216*5750.00 216*6000.00
216*6000.00 216*6250.00
/

The resulting 3D grid will then be displayed as follows:

2. A 2x2x1 grid is specified by providing a simplified input using the keywords COOR, DEPT, THIC, XDIV
and YDIV. The grid is populated with different active numbers using the keyword ACTN.

SPEC
2 2 1 /

XDIV
2 /

YDIV
2 /

COOR
0 0 5000 0 0 6000
10000 0 5000 10000 0 6000
0 10000 5000 0 10000 6000
10000 10000 5000 10000 10000 6000
/

DEPTH=5000
THIC=1000
K_X=100

570 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

PORO=0.1
CROC=3e-06
REFE=14.7000
ACTN
1 2 3 4

The active cell array is not honoured because keyword NOXY was not used to restore normal grid subdivi-
sions after keywords XDIV and YDIV are used:

If the keyword NOXY is used, the active cell array is honoured. See NOXY_ACTN.dat for complete
example:

NOXY
ACTN
1 2 3 4

8.103. NOXY - Restore Normal Grid Subdivisions after XDIV or YDIV 571
Tempest MORE Help, Release 8.1

572 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.104 NTOG (or NTG) - Net-to-Gross Ratio

Location

GRID Section

Description

The NTOG keyword is used to populate the cells in a grid with net-to-gross ratios. Its arguments consist of an
array of net-to-gross ratio values. Cells will be populated in the x-direction first, followed by the y-direction, and
then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number of
cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Net-to-gross ratio values


• Default: 1

Notes

• The net-to-gross ratio is included in pore volume and horizontal transmissibility calculations. NET is related
to NTOG by the expression NTOG=NET/THIC. Changing net thickness is not the same as changing gross
thickness, as the gross thickness effects the layer separation and thus the vertical transmissibility.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. NTOG is used to populate a 10x10x5 grid with 500 net-to-gross ratio values. See NTOG.dat for complete
example:

NTOG
0.60 0.78 0.80 0.70 0.48 0.36 0.84 0.59 0.30 1.00
0.85 0.02 0.08 0.52 0.19 0.96 0.35 0.35 0.50 0.64
0.97 0.40 0.66 0.34 0.76 0.76 0.39 0.20 0.31 0.03
0.40 0.69 0.91 0.37 0.33 0.76 0.91 0.15 0.01 0.72
0.42 0.97 0.15 0.91 0.50 0.58 0.07 0.72 0.74 0.41
0.14 0.31 0.51 0.53 0.39 0.36 0.49 0.56 1.00 0.20
0.98 0.24 0.13 0.45 0.02 0.37 0.09 0.38 0.90 0.84
0.44 0.22 0.83 0.07 0.04 0.73 0.92 0.84 0.95 0.45
0.66 0.12 0.24 0.87 0.82 0.69 0.91 0.85 0.52 0.60
0.46 0.17 0.18 0.83 0.16 0.23 0.53 0.18 0.57 0.37
100*1.00
100*0.80

8.104. NTOG (or NTG) - Net-to-Gross Ratio 573


Tempest MORE Help, Release 8.1

100*0.75
100*0.50

574 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.105 PDSI - Initial Coal Desorption Pressure

Location

INIT Section

Description

The PDSI keyword is used to populate the cells in a grid with an initial coal desorption pressures in a coal bed
methane system. When PDSI is used, the coal bed methane option must be turned on using the CBM keyword
in the INPU or FLUI sections. Arguments for the PDSI keyword consist of an array of initial coal desorption
pressures.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Initial coal desorption pressures


• Units: psia (Field), bar (Metric)

Notes

• For compositional coal bed methane models, keywords like PDS1, PDS2 etc. are used instead of PDSI.
Please see the PDSn keyword for more information.
• GCRI may be entered as an alternative to PDSI. PDSI will then be set up as a function of GCRI so that
the required initial gas content is obtained. The relationship between the gas-coal ratio (GCR) and the
desorption pressure is:
P DS
GCR = CLAN ×
P LAN + P DS
GCR
P DS = P LAN ×
CLAN − GCR
where,
– GCR = gas-coal ratio
– CLAN = Langmuir constant
– PDS = desorption pressure
– PLAN = Langmuir pressure
• If the calculated coal desorption pressure is greater than the initial pressure, it will be reset to the initial
pressure.
• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.

8.105. PDSI - Initial Coal Desorption Pressure 575


Tempest MORE Help, Release 8.1

• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. PDSI is used to populate a 10x10x3 grid with 300 initial coal desorption pressures.

PDSI
100*1000
100*1108
100*1115

The initial coal desorption pressure array will then appear in the Recurrent tab of the results for display in
3D, as shown below.

576 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.106 PDSn - Compositional Initial Coal Desorption Pressure

Location

INIT Section

Description

The PDSn keyword is used to populate the cells in a grid with an initial coal desorption pressures in a composi-
tional coal bed methane system. When PDSn is used, the coal bed methane option must be turned on using the
CBM keyword in the INPU or FLUI sections. Arguments for the PDSn keyword consist of an array of initial coal
desorption pressures. The array for each component is identified by replacing the ‘n’ in the PDSn keyword with
an integer number which corresponds to the component as defined in the INPU section by the CNAM keyword.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Initial coal desorption pressures for absorbed component ‘n’


• Units: psia (Field), bar (Metric)

Notes

• For black oil coal bed methane models, the PDSI keyword is used instead of PDS1, PDS2 etc. Please see
the PDSI keyword for more information.
• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In the example below, PDSn is used to populate a 9x9x4 grid with 324 initial coal desorption pressures for
each of its two components (CO2 and C1). The integer number associated with each component which is
used to replaced the ‘n’ in the PDSn keyword corresponds to the order in which these components are listed
after the CNAM keyword in the INPU section. See CoalBedMethane_EOS.dat for complete example:

CNAM CO2 C1 WATR

Thus, component 1 will correspond to CO2 while component 2 will correspond to C1. The PDSn keyword
can then be used accordingly, as follows.

8.106. PDSn - Compositional Initial Coal Desorption Pressure 577


Tempest MORE Help, Release 8.1

PDS1
343*0.1

PDS2
343*1000

The initial coal desorption pressure arrays for CO2 and C1 will then appear in the Recurrent tab of the
results as desaturation
pressure for display in 3D, as shown below.

578 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.107 PEBI - Specify a PEBI Local Grid

Location

GRID Section

Description

The PEBI keyword is used to create an unstructured local grid refinement in specific cells of the global grid. This
keyword is directly followed by ten required arguments which describe the dimensions, location, and name of the
PEBI grid refinement.

Definitions

1. Background resolution of the PEBI grid


2. Refined resolution of the PEBI grid
3. z-dimension of the PEBI grid
4. Lower x-limit of the PEBI grid in the global grid
5. Upper x-limit of the PEBI grid in the global grid
6. Lower y-limit of the PEBI grid in the global grid
7. Upper y-limit of the PEBI grid in the global grid
8. Lower z-limit of the PEBI grid in the global grid
9. Upper z-limit of the PEBI grid in the global grid
10. The name of the PEBI grid

Notes

• If the background resolution argument is defaulted then it is set to an average of the (X,Y) cell dimensions
of the global grid cells covered by the PEBI grid.
• If the refined resolution argument is defaulted then it is set to the background resolution.
• Refined points are added using the TRXY and FLXY keywords.
• Wells will automatically be completed in PEBI grids when they are part of a well’s trajectory.
• Alternatively, when the WELL keyword is used, the argument LGR of the LOCA sub-keyword of WELL
should be used to complete a well in the PEBI grid.
• The PEBI grid name is used in the REFI keyword and when completing wells in the PEBI grid.
• PEBI grid refinement may not be specified in runs where grid coarsening is specified (see COAR and CXGR
keywords).
• PEBI grids may only be created in regions where the global grid is vertical.
• For any run containing at least one PEBI grid the algebraic multigrid linear solver will be automatically
selected but this can be overruled by using the NFLS keyword.

8.107. PEBI - Specify a PEBI Local Grid 579


Tempest MORE Help, Release 8.1

Examples

1. Using PEBI to create a refined region around trajectory-type region of interest:

TRXY
152.4 152.4
1219.2 1219.2
/

/ BACKG REFIN NZ IL IU JL JU KL KU NAME


PEBI 1* 152.4 6 1 10 1 10 1 3 PEBI_I1

580 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.108 PDIV - Division of Plane between Processors for Parallel


Simulation

Location

GRID Section (before the grid size is entered)

Description

The PDIV keyword is used to specify the division of the plane between processors for parallel simulation. PDIV
must be entered before the grid size is entered. This keyword consists of two records. The first record follows
directly after the PDIV keyword and specifies the direction of the division. The second record appears on a
separate line below the PDIV keyword and specifies the division of the plane. This record must be terminated by
a slash (/) after the last entry.

Definitions

1. Direction of plane division - X or Y


• X - plane division into processors in the x-direction
• Y - plane division into processors in the y-direction
2. Upper plane assigned to each processor except the last one
• Number of Required Entries = Number of Processors - 1

Notes

• The upper plane assigned to the last processor must be the remainder of the plane, so it is not specified.
• There is normally no need to specify PDIV. MORE will attempt to split the reservoir between the available
processors in such a way as to balance up the number of active cells. However, in some cases, the default
cannot be used because wells or local grids are split between processors. In that case, PDIV may be used to
reset the plane division manually.
• There must be at least two global planes between successive LGRs for the model to be successfully split in
a parallel run. Otherwise, the simulation will not proceed and the user will have to either reduce the scope
of LGRs or run the simulation on lesser number of processors.
• PDIV must be specified in relation to all the cells in the simulation model, including those that are inactive.
• Plane division data can be output to the Print file by using the PRIN keyword with the PPCE option. The
resulting output produced can be found by performing a search for PARA in the Print file. For more in-
formation, please see Example 1 below. Another example can also be found in Example 2 from the PRIN
keyword examples.
• PDIV divisions are not supported with COAR. When COAR is used, MORE will apply a regular parallel
division of planes in the direction (X or Y) specified with PDIV.

Examples

1. In a 16x20x5 grid, PDIV is used to specify the division of the x-plane between 4 processors. See PDIV.dat
for complete example:

PDIV X
4 8 12 /

8.108. PDIV - Division of Plane between Processors for Parallel Simulation 581
Tempest MORE Help, Release 8.1

In the example above, planes 1-4 in the x-direction are assigned to the processor 1, planes 5-8 to processor
2, planes 9-12 to processor 3 and the last four planes to processor 4.
If the PRIN keyword with the PPCE option is also entered in the GRID section, then the following data will
be output to the Print file:

PARA======================================================================================

Parallel run with 4 processors

Splitting for static part of calculation:

Processor Total cell range x plane range


--------- ----------------- -------------------
1 1 400 1 4
2 401 800 5 8
3 801 1200 9 12
4 1201 1600 13 16
--------- ----------------- -------------------

Splitting for dynamic part of calculation:

Processor Active cell range x plane range


--------- ----------------- -------------------
1 1 400 1 4
2 401 800 5 8
3 801 1200 9 12
4 1201 1600 13 16
--------- ----------------- -------------------
==========================================================================================

Processor per cell data can also be displayed in 3D from the Recurrent tab of the results:

582 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.108. PDIV - Division of Plane between Processors for Parallel Simulation 583
Tempest MORE Help, Release 8.1

8.109 PINC - Pinchout Tolerance

Location

GRID Section

Description

The PINC keyword is used to specify a pinchout tolerance. PINC consists of one required argument and one
optional argument. The optional argument follows directly after PINC and turns the pinch-out on or off. If this
argument is not present, it will automatically be defaulted to “on”. The required argument is the pinchout tolerance
value which should appear on a separate line below the PINC keyword.

Definitions

1. ON or OFF
• ON (default) - pinch-out blocks with a thickness which is less than the pinchout tolerance
• OFF - do not pinch-out blocks
2. Pinchout Tolerance - inactive blocks with a thickness which is less than the pinchout tolerance are pinched
out
• Units: feet (Field), metres (Metric)
• Default: 0.5 metres

Notes

• A pinchout is a non-neighbour connection between two active cells separated by one or more inactive cells.
Those cells may be inactive because of a pore volume below the minimum pore volume value specified by
MINP, or a thickness below the minimum cell thickness set by MIND, or due to the values in the active cell
array specified by ACTN.
• If a pinchout connection is not generated, an inactive cell between two active cells will be a barrier to flow.
• Pinchout connections will only be generated when inactive cells separate active ones. To make cells inactive
on the basis of their thickness, use the MIND keyword.
• The following figure and notes describe the interaction between PINC and MIND:

584 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

• Sometimes it is useful to be able to control pinchout generation by turning the pinchout on or off in each
cell. The pinchout switch array, specified using PNSW, enables this to be done. Please see Example 2 below
for more information.

Examples

1. Using MIND to make cells with a thickness less than 100 inactive, the cell thickness array will be displayed
as follows:

PINC is used to pinch-out blocks with a thickness less than 110. See PINC.dat for complete example:

PINC ON
110

8.109. PINC - Pinchout Tolerance 585


Tempest MORE Help, Release 8.1

If the PRIN keyword with the NNC option is also entered in the GRID section, the resulting pinchout
connections created can be seen in the Print file of the results, as shown below.

Number of non-neighbour connections is 16


Number of explicitly entered fault connections..0
Number of x-direction column to column faults...0
Number of y-direction column to column faults...0
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................16
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 16
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 Pinchout 1 1 3 0 1 1 5 0 1.39E6 0.0


,→ 6.25E6
2 Pinchout 2 1 3 0 2 1 5 0 1.39E6 0.0
,→ 6.25E6
3 Pinchout 3 1 3 0 3 1 5 0 1.39E6 0.0
,→ 6.25E6
4 Pinchout 4 1 3 0 4 1 5 0 1.39E6 0.0
,→ 6.25E6
5 Pinchout 1 2 3 0 1 2 5 0 1.39E6 0.0
,→ 6.25E6
6 Pinchout 2 2 3 0 2 2 5 0 1.39E6 0.0
,→ 6.25E6
7 Pinchout 3 2 3 0 3 2 5 0 1.39E6 0.0
,→ 6.25E6
8 Pinchout 4 2 3 0 4 2 5 0 1.39E6 0.0
,→ 6.25E6
9 Pinchout 1 3 3 0 1 3 5 0 1.39E6 0.0
,→ 6.25E6
10 Pinchout 2 3 3 0 2 3 5 0 1.39E6 0.0
,→ 6.25E6
11 Pinchout 3 3 3 0 3 3 5 0 1.39E6 0.0
,→ 6.25E6
12 Pinchout 4 3 3 0 4 3 5 0 1.39E6 0.0
,→ 6.25E6
13 Pinchout 1 4 3 0 1 4 5 0 1.39E6 0.0
,→ 6.25E6
14 Pinchout 2 4 3 0 2 4 5 0 1.39E6 0.0
,→ 6.25E6
15 Pinchout 3 4 3 0 3 4 5 0 1.39E6 0.0
,→ 6.25E6
16 Pinchout 4 4 3 0 4 4 5 0 1.39E6 0.0
,→ 6.25E6
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

2. The following example illustrates how PNSW may be used with PINC. As the PNSW keyword is used to
specify an array with values that turn the pinchout on or off in each cell, we can use PNSW to turn off 8 of
the 16 pinchouts created in Example 1 above by assigning a PNSW value of 0 to those cells in the pinchout
layer, as follows. See PINC_PNSW.dat for complete example:

586 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

PNSW
16*1
16*1
16*1
0 1 0 1
1 0 1 1
0 0 0 1
1 0 1 0
16*1

Upon examining the NNC section of the Print file, we can still see the 8 pinchout connections that have have
not been closed by the PNSW array, as shown below.

Number of non-neighbour connections is 8


Number of explicitly entered fault connections..0
Number of x-direction column to column faults...0
Number of y-direction column to column faults...0
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................8
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 8
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 Pinchout 2 1 3 0 2 1 5 0 1.39E6 0.0


,→ 6.25E6
2 Pinchout 4 1 3 0 4 1 5 0 1.39E6 0.0
,→ 6.25E6
3 Pinchout 1 2 3 0 1 2 5 0 1.39E6 0.0
,→ 6.25E6
4 Pinchout 3 2 3 0 3 2 5 0 1.39E6 0.0
,→ 6.25E6
5 Pinchout 4 2 3 0 4 2 5 0 1.39E6 0.0
,→ 6.25E6
6 Pinchout 4 3 3 0 4 3 5 0 1.39E6 0.0
,→ 6.25E6
7 Pinchout 1 4 3 0 1 4 5 0 1.39E6 0.0
,→ 6.25E6
8 Pinchout 3 4 3 0 3 4 5 0 1.39E6 0.0
,→ 6.25E6
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

The pinchout switch values array will also be output to the Initial tab of the results for display in 3D, as
follows:

8.109. PINC - Pinchout Tolerance 587


Tempest MORE Help, Release 8.1

588 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.110 PLAN - Langmuir Pressure

Location

GRID Section

Description

The PLAN keyword is used to populate the cells in a grid with a Langmuir pressures in a coal bed methane system.
The Langmuir pressure determines the amount of absorbed coal gas as a function of desorption pressure. When
PLAN is used, the coal bed methane option must be turned on using the CBM keyword in the INPU or FLUI
sections. Arguments for the PLAN keyword consist of an array of Langmuir pressures.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Langmuir pressures
• Units: psia (Field), bar (Metric)
• Default: 1 atm

Notes

• To set up global values of the Langmuir constants, the LANG keyword should be used. Values which vary
across the field may be set up using the CLAN, PLAN, and TLAN keywords.
• For compositional coal bed methane models, keywords like PLN1, PLN2 etc. are used instead of PLAN.
Please see the PLNn keyword for more information.
• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. PLAN is used to populate a 10x10x3 grid with 300 Langmuir pressures.

PLAN
570 571 571 571 574 571 571 571 571 572
571 572 571 571 571 571 571 571 571 571
575 571 571 570 571 571 571 573 571 571
571 571 571 571 571 571 571 574 571 571

8.110. PLAN - Langmuir Pressure 589


Tempest MORE Help, Release 8.1

571 571 571 571 571 571 572 571 571 571
571 571 570 571 572 571 571 570 571 571
571 571 571 571 571 571 575 571 571 571
573 571 571 571 574 571 571 572 571 571
572 571 574 571 573 571 571 571 571 571
571 571 571 575 572 571 571 571 571 572
200*571

The Langmuir pressure array will then appear in the Initial tab of the results for display in 3D, as shown
below.

590 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.111 PLNn - Compositional Langmuir Pressure

Location

GRID Section

Description

The PLNn keyword is used to populate the cells in a grid with a Langmuir pressure for each component in a
compositional coal bed methane system. The Langmuir pressure determines the amount of absorbed coal gas as
a function of desorption pressure. When PLNn is used, the coal bed methane option must be turned on using
the CBM keyword in the INPU or FLUI sections. Arguments for the PLNn keyword consist of an array of
Langmuir pressures for each component. The array for each component is identified by replacing the ‘n’ in the
PLNn keyword with an integer number which corresponds to the component as defined in the INPU section by
the CNAM keyword.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Langmuir pressures for absorbed component ‘n’


• Units: psia (Field), bar (Metric)
• Default: 1 atm

Notes

• To set up global values of the Langmuir constants, the LANG keyword should be used. Values which vary
across the field in each component may be set up using the CLNn, PLNn, and TLNn keywords.
• For black oil coal bed methane models, the PLAN is used instead of PLNn. Please see the PLAN keyword
for more information.
• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In the example below, PLNn is used to populate a 9x9x4 grid with 324 Langmuir pressures for two com-
ponents (CO2 and C1). The integer number associated with each component which is used to replaced the
‘n’ in the PLNn keyword corresponds to the order in which these components are listed after the CNAM
keyword in the INPU section. See CoalBedMethane_EOS.dat for complete example:

8.111. PLNn - Compositional Langmuir Pressure 591


Tempest MORE Help, Release 8.1

CNAM CO2 C1 WATR

Thus, component 1 will correspond to CO2 while component 2 will correspond to C1. The PLNn keyword
can then be used accordingly, as follows.

PLN1
570 571 571 571 574 571 571 571 572
571 572 571 571 571 571 571 571 571
575 571 571 570 571 571 571 573 571
571 571 571 571 571 571 571 574 571
571 571 571 572 571 571 572 571 571
571 571 570 571 572 571 571 570 573
571 571 571 571 571 571 575 571 571
573 571 571 571 574 571 571 572 571
572 571 574 571 573 571 571 571 571
571 571 571 575 572 571 571 571 571
243*571

PLN2
573 573 573 573 573 573 571 573 572
573 574 573 573 573 573 573 573 573
573 573 573 576 573 572 573 573 573
570 573 573 573 573 573 573 573 573
573 573 573 573 571 573 573 573 573
572 573 573 573 573 573 570 573 573
573 573 570 574 573 573 573 573 573
575 574 573 573 573 573 570 573 573
572 573 573 571 573 573 573 573 575
243*573

The Langmuir pressure arrays for CO2 and C1 will then appear in the Initial tab of the results for display in
3D, as shown below.

592 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.111. PLNn - Compositional Langmuir Pressure 593


Tempest MORE Help, Release 8.1

8.112 PMEX - Permeability Variation Exponent in Palmer-Mansoori


Model

The variation of permeability with porosity in the Palmer-Mansoori model (see MORE Technical Reference,
section 12.2) defaults to a cubic. The PMEX keyword enables the Palmer-Mansoori exponent to be reset.

Location

GRID Section
PMEX exponent
Default 3.0

Example

PMEX 2.3

594 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.113 PNSW - Pinchout Switch

Location

GRID Section

Description

The PNSW keyword is used to populate the cells in a grid with pinchout switch values. This keyword allows the
user to turn the pinchout defined by PINC on or off in each cell. Its arguments consist of an array of pinchout
switch values. A PNSW value of 0 will turn off the pinchout in a cell while a PNSW value of 1 will turn the
pinchout on.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Pinchout switch values


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. Using MIND to make cells with a thickness less than 100 inactive, the cell thickness array will be displayed
as follows:

8.113. PNSW - Pinchout Switch 595


Tempest MORE Help, Release 8.1

PINC is used to pinch-out blocks with a thickness less than 110:


PINC ON
110

If the PRIN keyword with the NNC option is also entered in the GRID section, the resulting pinchout
connections created can be seen in the Print file of the results, as shown below.
Number of non-neighbour connections is 16
Number of explicitly entered fault connections..0
Number of x-direction column to column faults...0
Number of y-direction column to column faults...0
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................16
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 16
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 Pinchout 1 1 3 0 1 1 5 0 1.39E6 0.0


,→ 6.25E6
2 Pinchout 2 1 3 0 2 1 5 0 1.39E6 0.0
,→ 6.25E6
3 Pinchout 3 1 3 0 3 1 5 0 1.39E6 0.0
,→ 6.25E6
4 Pinchout 4 1 3 0 4 1 5 0 1.39E6 0.0
,→ 6.25E6
5 Pinchout 1 2 3 0 1 2 5 0 1.39E6 0.0
,→ 6.25E6
6 Pinchout 2 2 3 0 2 2 5 0 1.39E6 0.0
,→ 6.25E6
7 Pinchout 3 2 3 0 3 2 5 0 1.39E6 0.0
,→ 6.25E6
8 Pinchout 4 2 3 0 4 2 5 0 1.39E6 0.0
,→ 6.25E6
9 Pinchout 1 3 3 0 1 3 5 0 1.39E6 0.0
,→ 6.25E6

596 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

10 Pinchout 2 3 3 0 2 3 5 0 1.39E6 0.0


,→ 6.25E6
11 Pinchout 3 3 3 0 3 3 5 0 1.39E6 0.0
,→ 6.25E6
12 Pinchout 4 3 3 0 4 3 5 0 1.39E6 0.0
,→ 6.25E6
13 Pinchout 1 4 3 0 1 4 5 0 1.39E6 0.0
,→ 6.25E6
14 Pinchout 2 4 3 0 2 4 5 0 1.39E6 0.0
,→ 6.25E6
15 Pinchout 3 4 3 0 3 4 5 0 1.39E6 0.0
,→ 6.25E6
16 Pinchout 4 4 3 0 4 4 5 0 1.39E6 0.0
,→ 6.25E6
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

As the PNSW keyword is used to specify an array with values that turn the pinchout on or off in each cell,
we can use PNSW to turn off 8 of the 16 pinchouts created above by assigning a PNSW value of 0 to those
cells in the pinchout layer, as follows. See PINC_PNSW.dat for complete example:
PNSW
16*1
16*1
16*1
0 1 0 1
1 0 1 1
0 0 0 1
1 0 1 0
16*1

Upon examining the NNC section of the Print file, we can still see the 8 pinchout connections that have have
not been closed by the PNSW array, as shown below.
Number of non-neighbour connections is 8
Number of explicitly entered fault connections..0
Number of x-direction column to column faults...0
Number of y-direction column to column faults...0
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................8
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 8
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 Pinchout 2 1 3 0 2 1 5 0 1.39E6 0.0


,→ 6.25E6
2 Pinchout 4 1 3 0 4 1 5 0 1.39E6 0.0
,→ 6.25E6
3 Pinchout 1 2 3 0 1 2 5 0 1.39E6 0.0
,→ 6.25E6
4 Pinchout 3 2 3 0 3 2 5 0 1.39E6 0.0
,→ 6.25E6
5 Pinchout 4 2 3 0 4 2 5 0 1.39E6 0.0
,→ 6.25E6

8.113. PNSW - Pinchout Switch 597


Tempest MORE Help, Release 8.1

6 Pinchout 4 3 3 0 4 3 5 0 1.39E6 0.0


,→ 6.25E6
7 Pinchout 1 4 3 0 1 4 5 0 1.39E6 0.0
,→ 6.25E6
8 Pinchout 3 4 3 0 3 4 5 0 1.39E6 0.0
,→ 6.25E6
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

The pinchout switch values array will also be output to the Initial tab of the results for display in 3D, as
follows:

598 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.114 PORO - Porosity

Location: GRID Section

Description

The PORO keyword is used to populate the cells in a grid with porosity values. Its arguments consist of an array
of porosity values. The PORO array must be specified in all datasets. Cells will be populated in the x-direction
first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to
assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Porosity values
• Default: 1
• Minimum: 0; Maximum: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS , F(DE , F(PO , FUNC , INTE , LINE , MODI , REPL , VARI , or ZVAR keywords for
further information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. PORO is used to populate a 10x10x5 grid with 500 porosity values. See PORO.dat for complete example:

PORO
0.10 0.12 0.11 0.13 0.10 0.14 0.15 0.17 0.06 0.12
0.15 0.11 0.07 0.10 0.16 0.18 0.14 0.05 0.11 0.09
0.14 0.09 0.05 0.07 0.08 0.10 0.11 0.07 0.18 0.06
0.11 0.11 0.16 0.10 0.14 0.05 0.08 0.15 0.17 0.19
0.20 0.10 0.12 0.06 0.06 0.12 0.13 0.14 0.11 0.15
0.10 0.12 0.11 0.13 0.10 0.14 0.15 0.17 0.06 0.12
0.15 0.11 0.07 0.10 0.16 0.18 0.14 0.05 0.11 0.09
0.14 0.09 0.05 0.07 0.08 0.10 0.11 0.07 0.18 0.06
0.11 0.11 0.16 0.10 0.14 0.05 0.08 0.15 0.17 0.19
0.20 0.10 0.12 0.06 0.06 0.12 0.13 0.14 0.11 0.15
40*0.12 60*0.05
70*0.10 30*0.15
20*0.07 80*0.13
100*0.08

8.114. PORO - Porosity 599


Tempest MORE Help, Release 8.1

600 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.115 PORV,TRANX,TRANY,TRANZ - Pore vol. and trans. in


ECLIPSE units

Location

End of GRID section, before INIT keyword.

Definitions

Record 1:
PORV i1 i2 j1 j2 k1 k2
Record 2:
valuei1 ,j1 ,k1 valuei1+1 ,j1 ,k1 ... valuei2 ,j1 ,k1 valuei1 ,j1+1 ,k1 ...
The PORV, TRANX, TRANY and TRANZ keywords are similar to the PVOL, T_X, T_Y and T_Z keywords used
with REPLACE. If the i1..k2 box is defaulted, PORV may be entered as just the keyword followed by nx*ny*nz
values on the next line.
PORV,TRANX,TRANY and TRANZ differ from PVOL, T_X, T_Y and T_Z in the units assumed:
For PORV.
MORE has traditionally used cubic feet in field units and cubic metres in metric units. PORV follows the ECLIPSE
unit convention of using stb in field units and cubic metric units in metric units.
For TRANX, TRANY and TRANZ.
MORE has mD-ft and mD-metres for transmissibilities. TRANX, TRANY and TRANZ follow the ECLIPSE
convention of using in cP×rb/day/psi or cP×rm3 /day/bars. Compared to the usual MORE units, the ECLIPSE
units include an extra Darcy constant of 0.001127 in POFU and 0.00852702 in metric.
Using PVOL, TRANX, TRANY and TRANZ allows ECLIPSE arrays to be input without needing to change to
MORE units.
PVOL, TRANX, TRANY and TRANZ can only be performed in this way after DOGR or EDIT has been used to
perform the grid calculations.

8.115. PORV,TRANX,TRANY,TRANZ - Pore vol. and trans. in ECLIPSE units 601


Tempest MORE Help, Release 8.1

8.116 PREG - Polymer Property Region Numbers

Location

GRID Section

Description

The PREG keyword is used to populate the cells in a grid with polymer property region numbers for polymer
simulations. When the polymer option has been turned on using the POLY keyword in the INPU section, the
PREG keyword may be used to assign sets of PPRO and PMIS data to cells. Arguments for the PREG keyword
consist of an array of polymer property region numbers. Values should be between 1 and NPREG where NPREG is
the number of sets of PPRO and PMIS data provided.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Polymer Property Region Numbers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. PREG is used to populate a 10x10x4 grid with 400 polymer property region numbers. See PREG.dat for
complete example:

PREG
100*1
100*2
100*3
100*4

The property region number array will then appear in the Initial tab of the results for display in 3D, as shown
below.

602 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.116. PREG - Polymer Property Region Numbers 603


Tempest MORE Help, Release 8.1

8.117 PROC - Poisson’s Ratio

Location

GRID Section

Description

The PROC keyword is used to populate the cells in a grid with Poisson’s ratio values in a coal bed methane system
with the Palmer-Mansoori option activated. When PROC is used, the coal bed methane option must be turned on
using the CBM keyword with the PM (Palmer-Mansoori) option in the INPU or FLUI sections. Arguments for
the PROC keyword consist of an array of Poisson’s ratio values.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Poisson’s ratio values


• Default: 0

Notes

• For more information regarding coal bed methane modelling, please refer to the MORE Technical Refer-
ence.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. PROC is used to populate a 10x10x3 grid with 300 Poisson’s ratio values. See CoalBedMethane_PM.dat
for complete example:

PROC
0.39 0.38 0.39 0.39 0.35 0.39 0.39 0.39 0.37 0.39
0.39 0.39 0.36 0.39 0.39 0.39 0.39 0.39 0.38 0.39
0.39 0.39 0.39 0.39 0.37 0.39 0.39 0.39 0.39 0.36
0.37 0.39 0.39 0.38 0.39 0.36 0.38 0.39 0.39 0.39
0.39 0.39 0.39 0.39 0.39 0.39 0.39 0.39 0.39 0.39
0.38 0.39 0.38 0.38 0.39 0.39 0.39 0.39 0.39 0.38
0.35 0.39 0.39 0.38 0.39 0.37 0.39 0.39 0.39 0.39
0.39 0.39 0.39 0.39 0.39 0.39 0.39 0.35 0.39 0.39
0.39 0.39 0.36 0.39 0.39 0.39 0.37 0.35 0.39 0.39

604 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

0.38 0.39 0.39 0.39 0.39 0.39 0.39 0.39 0.38 0.39
200*0.39

The PROC array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.117. PROC - Poisson’s Ratio 605


Tempest MORE Help, Release 8.1

8.118 PVOL (or RVOL)- Modify or Replace Pore Volumes

Location

GRID Section

Description

The PVOL keyword is used to modify or replace values for active cells in the pore volume array that has been
automatically calculated by Tempest MORE during grid calculations. PVOL must be used with the MODI or
REPL keywords and cannot be used on its own to populate the cells in a pore volume array.
Arguments for the PVOL keyword consist of two records. The first record requires seven arguments, placed on the
same line as the PVOL keyword, to indicate the location of the cells whose values are to be modified or replaced
and either the MODI or REPL keywords as the final argument. If the MODI keyword is used, the second record
should consist of one or more (up to four) modifier arguments which are entered on a separate line below Record
1. If the REPL keyword is used, the second record should consist of an array of values used to replace the original
values in the cells specified by Record 1.

Definitions

RECORD 1:
1. First point to modify or replace in the x (i) direction
• Default: 1
2. Last point to modify or replace in the x (i) direction
• Default: maximum x (i) coordinate
3. First point to modify or replace in the y (j) direction
• Default: 1
4. Last point to modify or replace in the y (j) direction
• Default: maximum y (j) coordinate
5. First point to modify or replace in the z (k) direction
• Default: 1
6. Last point to modify or replace in the z (k) direction
• Default: maximum z (k) coordinate
7. MODI or REPL
RECORD 2:
If the MODI keyword is used:
1. Constant to be added (xadd)
• Default: 0
2. Multiplier (xmult)
• Default: 1
3. Minimum value (xmin)
• Default: 0
4. Maximum value (xmax)

606 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

• Default: 1020
If the REPL keyword is used:
1. Values used to replace the original pore volumes in the cells specified in Record 1

Notes

• When MODI is used, the modification is applied as:

vmodified = min (xmax , xadd + xmult × voriginal )

• Pore volume units in Tempest MORE are in ft3 (Field) or m3 (Metric). However, please note that when field
units are used, PVOL will be converted to and displayed on the 3D viewer in rb instead of ft3 .
• Cells previously made inactive by using the ACTN keyword or by setting their pore volume to zero, cannot
be reactivated using PVOL. Use ACTN instead.
• RVOL may be used as an alias to PVOL. Units of RVOL will also be ft3 (Field) or m3 (Metric).
• When MODI is used to add a constant to the values in an existing PVOL array, the constant will take on the
units in which PVOL is displayed in the 3D viewer with, which are rb instead of ft3 . Please see Example 1
for more information.
• When MODI is used to assign a minimum or maximum value to an existing PVOL array, the values entered
should represent units in which the PVOL array is defined, which are in ft3 . However, when PVOL is
displayed in the 3D Viewer, these values will be converted to and displayed in rb instead of ft3 . Please see
Example 2 for more information.
• When REPL is used with PVOL to replace pore volumes in specified cells, the values entered will be in ft3
(Field) or m3 (Metric). However, please note that when field units are used, PVOL will be converted to and
displayed on the 3D viewer in rb instead of ft3 . Please see Example 4 below for more information.

Examples

1. In a field unit system, given an array with a pore volume of 3.56x106 rb throughout, MODI is used to add a
constant of 2x106 to the pore volume array in rows i=6 to 10.

PVOL 6 10 1 10 1 5 MODI
20000000

8.118. PVOL (or RVOL)- Modify or Replace Pore Volumes 607


Tempest MORE Help, Release 8.1

2. In a field unit system, given an array with a pore volume of 3.56x106 rb throughout, MODI is used to multiply
the pore volume array in rows i=4 to 6 by 2.0.

PVOL 4 6 1 10 1 5 MODI
0 2.0

3. In a field unit system, given an array with a pore volume of 3.56x106 rb throughout, MODI is used to assign a
minimum pore volume of 4x107 ft3 to the cells in rows i=1 to 5 which have a pore volume less than 4x107 ft3
(or 7.12x106 rb).

PVOL 1 5 1 10 1 5 MODI
2* 40000000

(Please note that when field units are used, pore volumes will be displayed in rb in the 3D viewer, as shown
in the figure below, despite being input in f t3 .)

4. In a field unit system, given a 10x10x5 grid with a pore volume of 2x107 ft3 (or 3.56x106 rb) throughout,
REPL is used to replace the pore volume in rows i=1 to 5 with 4x107 ft3 .

PVOL 1 5 4* REPL
250*40000000

(Please note that when field units are used, pore volumes will be displayed in rb in the 3D viewer, as shown

608 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

in the figure below, despite being input in f t3 .)

8.118. PVOL (or RVOL)- Modify or Replace Pore Volumes 609


Tempest MORE Help, Release 8.1

8.119 PVOL tran, DEPT - Pore Volume, Transmissibility, Depth


Modify/Replace

Location

End of GRID Section, before INIT keyword.

Definitions

*Record 1:*
PORV i1 i2 j1 j2 k1 k2 {REPL MODI}{ZERO}
*Record 2:* (MODIfy option)
xadd xmult xmin xmax
Defaults: 0 1 0 1E20
*Record 2:* (REPLace option)
valuei1 ,j1 ,k1 valuei1+1 ,j1 ,k1 ... valuei2 ,j1 ,k1 valuei1 ,j1+1 ,k1 ...
tran either PVOL or the name of a transmissibility array. Options are PVOL, T_X, T_Y, T_Z and MVLM.
i1 index of first value to change in x (i) direction, all indices default to values giving the maximum
range for the direction (see table)
i2 index of last value to change in x direction
j1 index of first value to change in y direction
j2 index of last value to change in y direction
k1 index of first value to change in z direction
k2 index of last value to change in z direction
MODI values are to be modified
REPL values are to be replaced
ZERO values less than xmin are set to zero
xadd value added to the original
xmult multiplier applied to original value
xmin minimum value
xmax maximum value
val- values used to REPLace the original values
ueijk
The grid block indices default to the maximum range for the three different directions.
MODIfications are applied as follows:

value(modified) = MINIMUM xmax, xadd + xmult × value(original)

Normally, modified values less than xmin, are set equal to xmin. However, for the ZERO option, modified values
less than xmin are set to zero.

Notes

When modifying transmissibilities, note that the transmissibility is associated with the lower index of the con-
nected cells. For example, the x-transmissibility between cell (1,1,1) and (2,1,1) is associated with cell (1,1,1).
Depth modifications can only be performed in this way after DOGR or EDIT has been used to perform the grid
calculations. Otherwise DEPT is a normal grid keyword which is an alias for ZGRI. Note that after the grid
calculations have been performed, modifying depths will not effect the cell locations or transmissibilities.
Pore volume units are ft3 for Practical Oil Field Units (POFU) and m3 for METRic. Transmissibility coefficients
units are md-ft for Practical Oil Field Units (POFU) and md-m for METRic. These differ from the transmissibility

610 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

values used by simulators such as ECLIPSE which are effectively in cP×rb/day/psi or cP×rm3 /day/bars and
include an extra Darcy constant of 0.001127 in POFU and 0.00852702 in metric.
To enter pore volumes and transmissibility values in ECLIPSE units use the related keywords PORV_TRANXYZ.
RVOL may be used as an alias to PVOL.
MVLM may be used in DPSS (single grid dual porosity) mode to modify the matrix pore volume. If more than
one matrix fraction is present the keyword may be one of MVL1, MVL2..etc.

Examples

1. Pore volumes in the I=1 row of the grid are multiplied by two:

PVOL 2*1 /
0.0 2.0 /

2. Any blocks with a pore volume less than 10 are removed from the reservoir.

PVOLUME 6* ZERO
2* 10 /

3. Transmissibilities from layer 3 to layer 4 are multiplied by a factor of 0.3:

T_X 4* 3 3 MODI
0 0.3 /

4. New cell centre depth values are set for the reservoir:

DOGR / Must force grid calculations


DEPT 6* REPL
6003.0 6007.2 6008.6 ...
/

Replaces the first three values in rows 4 and 5 of the second layer.

8.119. PVOL tran, DEPT - Pore Volume, Transmissibility, Depth Modify/Replace 611
Tempest MORE Help, Release 8.1

8.120 PVBM - Multiply pore volumes along a boundary

Location

GRID Section

Description

The PVBM keyword is used to multiply pore volumes along a boundary of the reservoir. PVBM consists of eight
required arguments, all of which should be entered in succession on the same line as the PVBM keyword itself
when used.

Definitions

1. Multiplier on the pore volume


2. Lower x-index limit of connection box
• Default: 1.0
3. Upper x-index limit of connection box
• Default: Nx
4. Lower y-index limit of connection box
• Default: 1
5. Upper y-index limit of connection box
• Default: Ny
6. Lower z-index limit of connection box
• Default: 1
7. Upper z-index limit of connection box
• Default: Nz
8. Faces on which a boundary cell is to be identified: X-, X+, Y-, Y+, Z-, or Z+ (I-, I+, J-, J+, K-, or K+ may
also be used) .
Any combination of faces X-, X+, Y-, Y+, Z-, or Z+ may be specified together, such as X-Y-Z- or X+Y+.
The combination must be entered as a single string without spaces.
Additional options for the face argument are:
ALL : equivalent to X+X-Y+Y-Z+Z-
NONE : this indicates that no pore volumes should be edited within a given box. The multiplier is ignored
in this case. All boxes specified with the NONE flag are used to mask each active connection box.
• Default: If defaulted, boundary cells will be assumed on all available faces (option ALL).
9. Allow modification of pore volumes adjacent to holes in the grid where cells are made inactive due to a
MINPV or MINDZ limit (optional)
• Y/N (default: Y)
10. Region name for identifying cells to be modified (optional)
• If this is not specified, the pore volumes will be modified acording to the connection box. If this refers
to the name of a region array, then pore volumes are modified only for cells where the region array is
nonzero and which lie within the connection box.

612 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Notes

• Boundary cells are identified on any available face in the specified direction within the box. This includes
both external faces on the edge of the reservoir and internal faces with no active neighbour. Any such cells
will have their pore volumes multiplied by the specified amount.
It there is no active neighbour in the specified direction within the box, the pore volume is multiplied by the
specified amount. However, it may be desirable not to do so when the neighbour is inactive due to a MINPV
limit. Setting the 9th argument to N ensures no modifications are made in this case. Then only neighbours
which are inactive because ACTN =0 will lead to modified pore volumes.
For the purposes of PVBM, Z is regarded as increasing downwards.
• Several PVBM keywords may be specified to build up a set of pore volume modifiers on the boundary of
the reservoir.
• Only the pore volumes for cells within the global grid are modified. The keyword does not apply to cells
within local grids.
• Each time a connection box is specified, the pore volumes are edited for the appropriate boundary cells. If
a cell lies in two connection boxes specified using PVBM, then two multipliers will be applied. However,
when multiple faces are specified for the same connection box (using strings such as X+Y- etc.), the pore
volume modifier is only applied once per cell which has an inactive neighbour in the appropriate directions.
• When an optional region is supplied as the 10th argument, it may be convenient to define this region by
using the DEFI keyword.
If the DEFI keyword is defined in the GRID section, it is essential to use the SAVE argument to ensure the
array does not get deleted after processing of the GRID section.

Examples

1. PVBM is used to modify the pore volumes by 10.0 for all boundary cells in the X+ direction, for layers 10
to 15 in the model:

PVBM 10.0 1* 1* 1* 1* 10 15 X+

2. PVBM is used to modify the pore volumes by 100.0 for all boundary cells in the positive and negative X
and Y directions, for layers 10 to 15 in the model:

PVBM 10.0 1* 1* 1* 1* 10 15 X+X-Y+Y-

3. PVBM is used to modify the pore volumes by 100.0 for all boundary cells in the X+ and Y- directions, for
layers 10 to 15 in the model, but excluding any cells in the box 1 10 1 20 10 15:

PVBM 10.0 1* 1* 1* 1* 10 15 X+Y-


PVBM 1* 1 10 1 20 1 15 NONE

The pore volumes are edited on the X+ and Y- faces as indicated by red in the following figure.

8.120. PVBM - Multiply pore volumes along a boundary 613


Tempest MORE Help, Release 8.1

Fig. 8.2: Use of PVBM to modify pore volumes on the boundary of the reservoir. Red cells indicate the modified
pore volumes.

614 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.121 PVFL - Minimum Pore Volume for Active Cells

Location

GRID Section

Description

The PVFL keyword stands for Pore Volume Floor and is used to assign a minimum pore volume for all active
cells. This keyword consists of one required argument which directly follows PVFL on the same line. An optional
argument can also be used to specify the units for the pore volume tolerance.

Definitions

1. Minimum pore volume tolerance


• Default: 0
2. Volume units (optional) - MORE or ECLI
• MORE - use MORE volume units
– Units: ft3 (Field), m3 (Metric)
• ECLI (default) - use ECLIPSE volume units
– Units: rb (Field), m3 (Metric)

Notes

1. Pore volume units in Tempest MORE are in ft3 (Field) or m3 (Metric). However, please note that when field
units are used, pore volumes will be converted to and displayed on the 3D viewer in rb instead of ft3 .

Examples

1. Given the following pore volume distribution seen in the “ORIGINAL” figure below, PFVL is used to make
all active cells have a pore volume of at least 2.0x106 . See PVFL.dat for complete example:

PVFL 2000000

8.121. PVFL - Minimum Pore Volume for Active Cells 615


Tempest MORE Help, Release 8.1

2. Given the following pore volume distribution seen in the “ORIGINAL” figure below, displayed in rb units,
PFVL is used with the ECLI option to make all active cells have a pore volume of at least 2.0x106 rb (Field
Units (ECLIPSE)). See PVFL_ECLI.dat for complete example:

PVFL 2000000 ECLI

3. Given the following pore volume distribution seen in the “ORIGINAL” figure below, displayed in rb units,
PFVL is used with the MORE option to make all active cells have a pore volume of at least 2.0x107 ft3
(Field Units (MORE)), which is equal to approximately 3.56x106 rb. See PVFL_MORE.dat for complete
example:

PVFL 20000000 MORE

(Please note that when the MORE option is used with PVFL to specify a minimum pore volume in f t3 , pore
volumes will still be displayed in rb in the 3D Viewer, and not in f t3 .)

616 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.121. PVFL - Minimum Pore Volume for Active Cells 617


Tempest MORE Help, Release 8.1

8.122 PVTN - Pressure Table Numbers

Location

GRID Section
Description
The PVTN keyword is used to populate the cells in a grid with pressure table numbers. If multiple pressure tables
are entered, the tables may be assigned to cells using the PVTN keyword. Arguments for PVTN consist of an
array of pressure table numbers. Cells will be populated in the x-direction first, followed by the y-direction, and
then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number of
cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Pressure table numbers


• Default: 1

Notes

• The number of pressure tables provided in the FLUI section must be equal to the number of pressure table
numbers used by PVTN in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. PVTN is used to populate a 10x10x5 grid with 500 saturation table numbers. See PVTN.dat for complete
example:

PVTN
1 1 1 1 1 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
2 2 2 1 1 1 3 3 1 1
1 1 4 1 1 1 1 2 2 1
1 2 2 2 2 2 1 1 1 1
1 1 1 2 2 1 5 1 2 1
1 4 4 2 2 5 2 2 2 2
1 2 2 2 1 3 2 1 1 1
1 1 2 2 1 2 1 2 1 1
1 1 1 1 4 1 1 3 1 1
100*1
100*2
100*3
50*4 50*5

618 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Pressure table region data can then be displayed in 3D from the Initial tab of the results:

8.122. PVTN - Pressure Table Numbers 619


Tempest MORE Help, Release 8.1

8.123 PRIN - Define Grid Print Options

Location

GRID Section

Description

The PRIN keyword is used to define the grid print options and controls the information that is written to the GRID
section of the Print file, except for the ACTI option (Please see notes below for more information regarding ACTI).
PRIN consists of seven possible options which follow directly after PRIN on the same line.

Definitions

1. NONE (optional)- none of the grid data is printed


2. MAP (optional) - specifies that all arrays will be written to the GRID file for post-processing (default)
3. NOMA (optional) - suppresses the output of the GRID file
4. ACTI (optional) - writes active cells values only to the .grd and .ara files (files which are loaded by
Tempest View)
5. PPCE (optional) - adds display of cells per processor to the grid file to be displayed by Tempest (only
relevant for parallel runs)
6. arrays (optional) - the name of one or more GRID arrays (aliases are also accepted); the named array is
printed to the output file
7. NNC (optional) - print a listing of all non-neighbour connections (TCON is an alias)

Notes

• The PRIN keyword exists in different forms in different sections of the input, thus, one must be diligent to
ensure the correct form of PRIN is being used in the relevant section.
• For large studies, printing arrays to the output file is fairly useless due to the large volume of output pro-
duced. It is recommended to use Tempest to view the data in this case.
• There are no compatibility issues between active and non-active files - MORE will automatically detect the
type of any input files and write out the required output files.
• The ZONE keyword can be used with PRIN to specify zones for array printing to the GRID section of the
Print file. Please see Example 2 below for more information.
• The ACTI option applied to the .grd and .ara file arrays which are files that are loaded by Tempest
View. There are no effects on the .out file output. When ACTI is used with PRIN, values will only be
output for active cells. There is a small effect with the grid displays. Please see Example 3 below for more
information.

Examples

The following grid, where all inactive cells appear in grey, was used for Examples 1 to 4 below:

620 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

1. PRIN is used with the MAP and array options to specify that the porosity and x-permeability arrays are to
be written to the GRID section of the print file for post-processing. See PRIN_PORO_KX.dat for complete
example:

PRIN MAP PORO K_X

This results in the following data output in the print file:

MAP=======================================================================================
Map of PORO at 1 Jan 2000, 0.0 days
==========================================================================================

Layer iz= 1
ix= : 1 2 3 4 5
Row iy= 1: 0.300 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0 0.300
Row iy= 3: 0.300 0.300 0.0 0.0 0.300
Row iy= 4: 0.300 0.300 0.300 0.300 0.300
Row iy= 5: 0.300 0.300 0.300 0.300 0.300

Layer iz= 2
ix= : 1 2 3 4 5
Row iy= 1: 0.300 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0 0.300
Row iy= 3: 0.300 0.300 0.0 0.0 0.300
Row iy= 4: 0.300 0.300 0.300 0.300 0.300
Row iy= 5: 0.300 0.300 0.300 0.300 0.300

Layer iz= 3
ix= : 1 2 3 4 5
Row iy= 1: 0.300 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0 0.300
Row iy= 3: 0.300 0.300 0.0 0.0 0.300
Row iy= 4: 0.300 0.300 0.300 0.300 0.300
Row iy= 5: 0.300 0.300 0.300 0.300 0.300

==========================================================================================

MAP=======================================================================================
Map of K_X at 1 Jan 2000, 0.0 days
==========================================================================================

8.123. PRIN - Define Grid Print Options 621


Tempest MORE Help, Release 8.1

Layer iz= 1
All values are 100.000
Layer iz= 2
All values are 100.000
Layer iz= 3
All values are 100.000
==========================================================================================

2. PRIN is used with the ZONE keyword to specify that the porosity values in the active cells in a zone that
ranges from cells (1,1,1) to (4,3,2) will be output to the GRID section of the print file for post-processing.
See PRIN_ZONE.dat for complete example:

PRIN ACTI PORO


ZONE 1 4 1 3 1 2

This results in the following data output in the print file:

MAP=======================================================================================
Map of PORO at 1 Jan 2000, 0.0 days
==========================================================================================

Layer iz= 1
ix= : 1 2 3 4
Row iy= 1: 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0
Row iy= 3: 0.300 0.300 0.0 0.0

Layer iz= 2
ix= : 1 2 3 4
Row iy= 1: 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0
Row iy= 3: 0.300 0.300 0.0 0.0

==========================================================================================

3. PRIN is used with the ACTI option to specify that the x-permeability values for only the active cells will
be written to the .grd and .ara files which are used by Tempest View. See PRIN_ACTI_KX.dat for
complete example:

PRINT ACTI K_X

When displayed in 3D, the inactive cells in the x-permeability array will appear inactive with a value of 0
in the legend when highlighted, indicating no values were written out to the .grd and .ara files for the
inactive cells.

622 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Alternatively, when ACTI is not used, the inactive cells in the x-permeability array will appear active with
a value of 100 in the legend when highlighted, indicating that values for these inactive cells were indeed
written out to the .grd and .ara files.

4. PRIN is used with the NNC option to specify that a listing of all non-neighbour connections will be written
to the GRID section of the print file for post-processing. See PRIN_NNC.dat for complete example:

PRIN NNC

This results in the following data output in the print file:

8.123. PRIN - Define Grid Print Options 623


Tempest MORE Help, Release 8.1

Number of non-neighbour connections is 6


Number of explicitly entered fault connections..0
Number of x-direction column to column faults...0
Number of y-direction column to column faults...6
Number of local grid connections................0
Number of dual porosity connections.............0
Number of pinchout connections..................0
Number of tensor connections....................0

NNC======================================================================================

Details of fault connections


Number of connections is 6
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-m trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 Y-fault 1 2 2 0 1 3 1 0 500.000 0.0


,→ 500.000

2 Y-fault 2 2 2 0 2 3 1 0 500.000 0.0


,→ 500.000

3 Y-fault 5 2 2 0 5 3 1 0 500.000 0.0


,→ 500.000

4 Y-fault 1 2 3 0 1 3 2 0 500.000 0.0


,→ 500.000

5 Y-fault 2 2 3 0 2 3 2 0 500.000 0.0


,→ 500.000

6 Y-fault 5 2 3 0 5 3 2 0 500.000 0.0


,→ 500.000

----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

5. When running a project in parallel on 4 processors, PRIN is used with the PPCE option to request the
output of the number of cells per processor to the GRID section of the print file for post-processing. See
PRIN_PPCE.dat for complete example:

PRIN PPCE

This results in the following data output in the print file:

PARA======================================================================================

Parallel run with 4 processors

Splitting for static part of calculation:

Processor Total cell range x plane range


--------- ----------------- -------------------
1 1 25000 1 25
2 25001 50000 26 50
3 50001 75000 51 75
4 75001 100000 76 100
--------- ----------------- -------------------

Splitting for dynamic part of calculation:

Processor Active cell range x plane range


--------- ----------------- -------------------
1 1 25000 1 25
2 25001 50000 26 50
3 50001 75000 51 75

624 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

4 75001 100000 76 100


--------- ----------------- -------------------
==========================================================================================

8.123. PRIN - Define Grid Print Options 625


Tempest MORE Help, Release 8.1

8.124 R-DI - R-Direction Grid Spacing

Location

GRID Section

Description

The R-DI keyword is used to define grid spacing in the r-direction in a radial grid. Its arguments consist of two
records, each listed their own separate lines following the R-DI keyword. Record 1 describes the grid processing
method used while Record 2 defines the the grid spacing values in the r-direction.

Definitions

RECORD 1:
1. One of the following grid processing keywords: CONS, VARI, LOGA, or LOG1
RECORD 2:
1. R-direction grid spacing values

Examples

1. Using R-DI with CONS (R-direction) to specify a uniform grid spacing between the inner and outer radii of
0.5 and 2500, respectively:

R-DI
CONS
0.5 2500

The grid below displays the resulting r-direction grid dimensions.

2. Using R-DI with VARI (R-direction) to specify a radial grid with an inner radius of 0.5 and a variable grid
spacing which gives an outer radius of 2500:

626 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. R-DI is used with LOGA (R-direction) to specify logarithmic spacing in the r-direction in a grid with an
inner radius of 0.5 and an outer radius of 2500:
4. R-DI is used with LOG1 to specify a logarithmic grid spacing in all but the first grid interval in the r-
direction.

R-DI
LOG1
0.5 100 2500

The grid below displays the resulting r-direction locations.

8.124. R-DI - R-Direction Grid Spacing 627


Tempest MORE Help, Release 8.1

8.125 REFI - Apply Grid Data to Local Grid

Location

GRID Section

Description

The REFI keyword is used to change the global array values in local grids only. Following a REFI keyword, grid
data may be entered or modified for the refined local grid only. It consists of one argument which is the name of
the local grid. This argument should be placed on the same line directly after the REFI keyword.
The next line consists of the name of the array in which it is desired to enter local grid array values for (i.e. PORO,
K_X etc...). Following the array name, on the next line, the values of the new array for the local grid should then
listed. The number of values listed should correspond directly to the number of local grid cells. Finally, ENDR
should be input at the end of the array to terminate the application of the data to the local grid and return to the
global grid.

Definitions

1. The name of the local grid.

Examples

1. The REFI/ENDR keywords are used to assign an array of porosity values to the 30 cells in the local grid,
MyLGR. See REFI.dat for complete example:

LGRD 5 3 2 9 10 8 10 1 2 MyLGR

REFI MyLGR
PORO
0.14 0.01 0.03 0.04 0.05
0.06 0.07 0.12 0.09 0.10
0.02 0.08 0.13 0.01 0.15

0.01 0.15 0.09 0.04 0.07


0.06 0.12 0.08 0.03 0.13
0.11 0.05 0.10 0.14 0.02
ENDR

628 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.125. REFI - Apply Grid Data to Local Grid 629


Tempest MORE Help, Release 8.1

8.126 REFE - Rock Compressibility Reference Pressure

Location

GRID Section

Description

The REFE keyword is used to populate the cells in a grid with rock compressibility reference pressures. Its
arguments consist of an array of rock compressibility reference pressure values. Cells will be populated in the
x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150
cells).

Definitions

1. Rock compressibility reference pressure values


• Units: psia (Field), barsa (Metric)
• Default: 1 atm

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. REFE is used to populate a 10x10x5 grid with 500 rock compressibility reference pressure values. See
REFE.dat for complete example:

REFE
500*14.7

630 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.126. REFE - Rock Compressibility Reference Pressure 631


Tempest MORE Help, Release 8.1

8.127 ROCK (or SATN) - Saturation Table Numbers

Location

GRID Section

Description

The ROCK keyword is used to populate the cells in a grid with saturation table numbers. If multiple relative
permeability tables are entered, the tables may be assigned to cells using the ROCK keyword. Arguments for
ROCK consist of an array of saturation table numbers. Cells will be populated in the x-direction first, followed
by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a
specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Saturation Table Numbers


• Default: 1

Notes

• A typical ROCK array is usually generated in RMS by indexing the different facies types and then exported
to Tempest MORE when the GRID file is written via the GRDECL export.
• The number of sets of relative permeability curves provided using KRWO and KRGO in the RELA section
must equal the number of saturation tables numbers used by ROCK in the GRID section.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. ROCK is used to populate a 10x10x5 grid with 500 saturation table numbers. See ROCK.dat for complete
example:

ROCK
1 1 1 1 1 2 2 1 1 1
1 1 2 1 4 1 1 2 1 1
2 2 2 1 1 1 3 3 1 1
1 1 4 1 1 1 1 2 2 1
1 2 2 2 2 2 1 1 1 1
1 1 1 2 2 1 5 1 2 1
1 4 4 2 2 5 2 2 2 2
1 2 2 2 1 3 2 1 1 1
1 1 2 2 1 2 1 2 1 1
1 1 1 1 4 1 1 3 1 1

632 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

100*1
100*2
100*3
50*4 50*5

8.127. ROCK (or SATN) - Saturation Table Numbers 633


Tempest MORE Help, Release 8.1

8.128 ROFF - Read ROFF file into MORE

Location

GRID Section

Description

The ROFF keyword is used to specify a ROFF grid file to be read into the simulation. ROFF consists of one
required and optional arguments which should be written in succession on the same line as the ROFF keyword
itself when used.

Definitions

File name
FLIP or NOFL (optional):
• FLIP - flip the sign of the y-values on reading the ROFF file
• NOFL (default) - no flip of the sign of the y-values on reading the ROFF file
REVE or NORE (optional):
• REVE - reverse the ordering of cells in the J-direction when loading the ROFF file
• NORE (default) - do not reverse the ordering of cells in the J-direction when loading the ROFF file
VERT (optional)
• Force coordinate lines to be vertical by setting the (X,Y) location for all points down each line to the average
of the supplied (X,Y) values.

Notes

• ROFF files may be binary or text, but MORE will distinguish between these cases and read the appropriate
file type. For binary files, MORE will handle byte-swapped and non-byte-swapped files, so that files may
be moved between UNIX and PC platforms without difficulty.
• The name may be included in quotes if required.
• The defaults have changed in MORE 7.0 and are now NOFL and NORE - the data is simply loaded.
• A full description of the ROFF format for 3D grids is available here.

Example

1. ROFF is used to request that the binary ROFF file “emeraldGrid.bin” be read into a simulation. See emer-
ald.dat for complete example:

ROFF emeraldGrid.bin

2. ROFF is used to request that the formatted ROFF file “emeraldGrid.asc” be read into a simulation and the
NOFL option is also used to indicate that the sign of the y-values in the ROFF file should not be flipped.
See emerald_form.dat for complete example:

ROFF emeraldGrid.asc NOFL

634 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.129 ROTA - Areal Rotation-Translation

Location

GRID Section (before entering an item that has to be rotated and translated)

Description

The ROTA keyword is used to set up a rotation and/or transformation of the grid from external to internal positions
which can be turned on or off as required. ROTA is used to place the simulation grid into the external coordinate
system and does not actually shift or rotate the reservoir. To use ROTA, it must be entered in the GRID section
before entering an item that is to be rotated and translated. ROTA consists of three required arguments describing
the base points for the internal coordinates and the angle of grid rotation. These arguments should all be entered
directly after the ROTA keyword on the same line.

Definitions

1. Base point for internal coordinates in x (xo )


• Default: 0
2. Base point for internal coordinates in y (yo )
• Default: 0
3. Angle of grid rotation: (θ)
• Units: degrees
• Default: 0

Notes

• Unlike Z-DI, ROTA does not move the grid - it sets up a transformation from external to internal positions
which can be turned on or off as required.
• Tempest will always plot with respect to the model coordinates.
• The original and translated coordinate systems are related by:

x0 = xo + x cos(θ) − y sin(θ)
y 0 = yo + x sin(θ) + y sin(θ)

where x’ and y’ denote the external coordinates and x and y the model coordinates.
• When ROTA is specified, external location data will be transformed into internal coordinates when read
according to the transformation:

x = (x0 − xo ) cos(θ) + (y 0 − yo ) sin(θ)


y = −(x0 − xo ) sin(θ) + (y 0 − yo ) cos(θ)

8.129. ROTA - Areal Rotation-Translation 635


Tempest MORE Help, Release 8.1

• ROTA can be particularly useful when reading grid location data which is defined in terms of large UTM
values. ROTA can be used to work in model coordinates which are smaller and more convenient. (Please see
Example 2 below for more information). Then, by default, if wells are located using X-Y coordinates, these
will be treated as external coordinates and transformed in the same way. However, the NORO (No Rotation)
option in the HORI, LOCA, TTAB, and TFIL keywords allow these to be read as model coordinates.
• ROTA cannot be used together with the ECLIPSE keyword MAPAXES.

Examples

1. ROTA is used to rotate the model 45 degrees clockwise from the original coordinate system starting at the
location (1000,0). See ROTA.dat for complete example:

ROTA 1000 0 45

636 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. For this example, suppose that the grid is originally located at (x=200000, y=300000) so that the first few
lines of COOR data read as follows:

COOR
200000.00 300000.00 0.00 200000.00 300000.00 100000.00
210000.00 300000.00 0.00 210000.00 300000.00 100000.00
220000.00 300000.00 0.00 220000.00 300000.00 100000.00
230000.00 300000.00 0.00 230000.00 300000.00 100000.00
240000.00 300000.00 0.00 240000.00 300000.00 100000.00
250000.00 300000.00 0.00 250000.00 300000.00 100000.00

The ROTA keyword can then be used to enable the model coordinates based at (0,0) to be employed. See
ROTA_UTM.dat for complete example:

ROTA 200000 300000 0

The x-locations of the cells before and after the ROTA keyword is used to transform the model can be seen
displayed in geological coordinates in the figures below.

8.129. ROTA - Areal Rotation-Translation 637


Tempest MORE Help, Release 8.1

638 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.130 RPIP - Reference Pressures to be set to Initial Pressures

Location

GRID Section

Description

The reference pressures are usually set using the REFE GRID section keyword. However, if RPIP is specified the
reference pressures will be set to the initial pressures.

Note

In the case of a restart run, the reference pressures are set to the original run initial pressures, not the first pressure
in the restarted run.

Example

RPIP

8.130. RPIP - Reference Pressures to be set to Initial Pressures 639


Tempest MORE Help, Release 8.1

8.131 SIGM - Matrix-Fracture Coupling Factor

Location

GRID Section

Description

The SIGM keyword is used to populate the cells in a grid with matrix-fracture coupling factors in a dual porosity
or dual permeability system. If the dual porosity or dual permeability options are being used, the SIGM grid array
should be set up to define the amount of coupling between matrix and fracture cells. Although the SIGM array is
defined for the entire grid, only the values for the first Nz /2 layers are used.
When SIGM is used, the dual porosity or dual permeability options must be turned on using the DPOR or DPER
keywords, respectively, in the INPU or GRID sections. Arguments for the SIGM keyword consist of an array of
matrix-fracture coupling factors.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Matrix-fracture coupling factors


• Default: 0

Notes

• The matrix fracture transmissibility is constructed as:

TMF = CDarcy σKM Vporv ,

Where
– CDarcy is Darcy’s constant,
– KM is the matrix cell permeability,
– Vporv is the matrix cell pore volume, and
– σ is the value supplied with the SIGM keyword.
• It is possible to relate SIGM to typical dimensions of the matrix material in the reservoir using the following
equation:

σ = 4(1/L2x + 1/L2y + 1/L2z ).

However, note that Lx , Ly and Lz are not related to the size of the simulation cells used in the model, but
rather the size of the elements of matrix material in the reservoir.
• For more information regarding dual porosity/permeability systems, please refer to the Dual Poros-
ity/Permeability Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.

640 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. SIGM is used to populate an 8x8x2 grid with 128 matrix-fracture coupling factors. See DualPorosity.dat for
complete example:

SIGM
0.084 0.085 0.084 0.083 0.084 0.084 0.084 0.081
0.084 0.084 0.081 0.084 0.084 0.084 0.084 0.082
0.083 0.084 0.084 0.080 0.080 0.084 0.083 0.084
0.083 0.084 0.084 0.084 0.084 0.085 0.083 0.085
0.084 0.084 0.082 0.084 0.080 0.084 0.084 0.084
0.084 0.084 0.082 0.084 0.083 0.084 0.084 0.080
0.084 0.084 0.084 0.083 0.085 0.083 0.084 0.084
0.084 0.085 0.084 0.085 0.084 0.084 0.082 0.084
64*0.0

The SIGM array will then appear in the Initial tab of the results for display in 3D, as shown below:

The display can be switched between matrix and fracture grids by clicking on the Swap between matrix and

fracture (dual porosity models) button located on the toolbar on the left-hand side of the 3D Viewer.

8.131. SIGM - Matrix-Fracture Coupling Factor 641


Tempest MORE Help, Release 8.1

A matrix-fracture time constant (MFTC) array will also be automatically calculated from SIGM, and this
array will also appear in the Initial tab of the results for display in 3D, as follows:

For more information regarding the relationship between SIGM and MFTC, please refer to the Discussion

642 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

of Selected Arrays section.

8.131. SIGM - Matrix-Fracture Coupling Factor 643


Tempest MORE Help, Release 8.1

8.132 SGCR - Critical Gas Saturation

Location

GRID Section

Description

The SGCR keyword is used to scale the critical gas saturation in each cell for end point scaling. The critical gas
saturation is the highest gas saturation for which the gas phase in immobile in an oil-gas system. Arguments for
the SGCR keyword consist of an array of critical gas saturation values. Cells will be populated in the x-direction
first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to
assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Critical gas saturation values:


• Default: taken from the KRGO table in the RELA section

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XGCR, YGCR and ZGCR may be used
to set the critical gas saturation endpoints in the I, J and K directions on the grid.

Examples

1. SGCR is used to populate a 10x10x5 grid with 500 critical gas saturation values. See SGCR.dat for complete
example:

SGCR
0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01
0.01 0.02 0.01 0.01 0.01 0.04 0.01 0.03 0.01 0.01
0.01 0.01 0.04 0.01 0.01 0.01 0.01 0.01 0.01 0.01
0.05 0.01 0.01 0.01 0.02 0.01 0.01 0.01 0.01 0.01
0.01 0.01 0.05 0.01 0.01 0.01 0.01 0.05 0.01 0.03
0.01 0.01 0.01 0.01 0.02 0.02 0.01 0.01 0.01 0.01
0.01 0.02 0.01 0.01 0.01 0.01 0.01 0.04 0.01 0.01
0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01
0.03 0.01 0.01 0.03 0.04 0.01 0.01 0.01 0.02 0.01
0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01
100*0.02

644 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

100*0.01
100*0.03
100*0.05

The SGCR array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.132. SGCR - Critical Gas Saturation 645


Tempest MORE Help, Release 8.1

8.133 SGL - Connate Gas Saturation

Location

GRID Section

Description

The SGL keyword is used to scale the connate gas saturation in each cell for end point scaling. The connate
gas saturation is the lowest gas saturation found in the oil-gas relative permeability table defined by KRGO.
Arguments for the SGL keyword consist of an array of connate gas saturation values. Cells will be populated in
the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can
be used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to
150 cells).

Definitions

1. Connate gas saturation values:


• Default: taken from the KRGO table in the RELA section

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XGL, YGL and ZGL may be used to set
the connate gas saturation endpoints in the I, J and K directions on the grid.

Examples

1. SGL is used to populate a 10x10x5 grid with 500 connate gas saturation values. See SGL.dat for complete
example:

SGL
0.01 0.01 0.00 0.02 0.00 0.00 0.00 0.00 0.01 0.00
0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00
0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00
0.01 0.00 0.01 0.01 0.00 0.00 0.01 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.00
0.00 0.00 0.00 0.00 0.02 0.02 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.02 0.02 0.00 0.00 0.00 0.00 0.00
0.01 0.01 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00

646 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

0.00 0.01 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.01
400*0.00

The SGL array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.133. SGL - Connate Gas Saturation 647


Tempest MORE Help, Release 8.1

8.134 SGU - Maximum Gas Saturation

Location

GRID Section

Description

The SGU keyword is used to scale the maximum gas saturation in each cell for end point scaling. The maximum
gas saturation is the highest gas saturation found in the oil-gas relative permeability table defined by KRGO.
Arguments for the SGU keyword consist of an array of maximum gas saturation values. Cells will be populated
in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk
can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value of 102.8
to 150 cells).

Definitions

1. Maximum gas saturations values:


• Default: taken from the KRGO table in the RELA section

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XGU, YGU and ZGU may be used to set
the critical gas saturation endpoints in the I, J and K directions on the grid.

Examples

1. SGU is used to populate a 10x10x5 grid with 500 maximum gas saturation values. See SGU.dat for complete
example:

SGU
1.00 1.00 1.00 0.99 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 0.98 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.97 1.00
0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 0.99 1.00 1.00 1.00 0.96
1.00 1.00 0.96 1.00 1.00 1.00 1.00 1.00 1.00 0.99
1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.95 0.95 1.00
1.00 0.98 0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00
0.95 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 0.98 1.00 1.00 1.00 1.00

648 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

100*1.00
100*0.99
100*0.96
100*1.00

The SGU array will then appear in the Initial tab of the results for display in 3D, as shown below.

8.134. SGU - Maximum Gas Saturation 649


Tempest MORE Help, Release 8.1

8.135 SOCO - Connate Oil for Black Oil Models

Location

GRID Section

Description

The SOCO keyword is used in a black oil run to define a connate oil saturation which is used for initialisation.
Arguments for the SOCO keyword consist of an array of connate oil saturation values. Cells are populated in the
x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be
used to assign a value to a specified number of cells (that is, 150*102.8 can be used to assign a value of 102.8 to
150 cells).

Definitions

1. Connate oil saturation values


• Default: Zero

Notes

• SOCO will affect the equilibration of the reservoir using keyword EQUI. During simulation, oil will move
as long as it is mobile, and may vapourise into a mobile gas phase.
• If SOCO is set higher than SOWC or SOGC, then SOCO is reset to the minimum of SOWC and SOGC.
• Is SOCO is set, and SOWC is not set, then SOWC values will adjusted by MORE to ensure consistency of
the end-points so that Soco ≤ min(Sowcr, Sogcr): If SOWC is not set, typically SOWC will be taken
from the relevant KRWO table. If this is inconsistent, then SOWC is set according to
 
SowcrT able − SocoT able
SOW C = SOCO + (1 − SW L − SOCO) .
1 − SwlT able − SocoT able

Similarly, if SOGC is not set, then MORE may adjust


 
SogcrT able − SocoT able
SOGC = SOCO + (1 − SW L − SOCO) .
1 − SwlT able − SocoT able

• All the usual methods of setting up a grid array, including expressions, may be used to set SOCO values.
• SOL may be used as an alias for SOCO.
• When SOCO is specified in a model initialised by equilibration (EQUI), MORE will initialise the reservoir
with connate oil in the gas cap, water zone and both gas-oil and oil-water transition zones, according to
values set by SOCO. This is equivalent to setting AQUW OFF and GCPG OFF.

650 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.136 SOGC - Critical Saturation of Oil in Gas

Location

GRID Section

Description

The SOGC keyword is used to scale the critical oil-in-gas saturation for end point scaling. This is the highest oil
saturation for which the oil is immobile in an oil-gas system. Arguments for the SOGC keyword consist of an
array of critical oil-in-gas saturations. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (i.e. 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Critical oil-in-gas saturations


• Default: taken from the KRGO table in the RELA section

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XOGC, YOGC and ZOGC may be used
to set the critical saturation of oil in gas endpoints in the I, J and K directions on the grid.

Examples

1. SOGC is used to populate a 10x10x5 grid with 500 critical oil-in-gas saturations. See SOGC.dat for com-
plete example:

SOGC
0.20 0.20 0.23 0.18 0.20 0.20 0.20 0.20 0.20 0.21
0.20 0.20 0.20 0.20 0.21 0.22 0.22 0.20 0.20 0.21
0.21 0.21 0.21 0.21 0.20 0.20 0.20 0.20 0.20 0.20
0.24 0.20 0.23 0.18 0.20 0.25 0.20 0.24 0.20 0.19
0.22 0.20 0.23 0.18 0.20 0.20 0.20 0.20 0.25 0.20
0.22 0.20 0.23 0.15 0.24 0.20 0.25 0.20 0.20 0.23
0.20 0.20 0.16 0.18 0.20 0.20 0.20 0.23 0.20 0.22
0.18 0.22 0.23 0.18 0.20 0.22 0.20 0.20 0.20 0.22
0.18 0.20 0.23 0.18 0.20 0.20 0.20 0.20 0.20 0.22
0.18 0.20 0.23 0.18 0.20 0.20 0.20 0.20 0.20 0.21
100*0.20

8.136. SOGC - Critical Saturation of Oil in Gas 651


Tempest MORE Help, Release 8.1

100*0.18
100*0.22
100*0.24

The SOGC array will then appear in the Initial tab of the results for display in 3D, as shown below.

652 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.137 SOWC - Critical Saturation of Oil in Water

Location

GRID Section

Description

The SOWC keyword is used to scale the critical oil-in-water saturation in each cell for end point scaling. The
critical oil-in-water saturation is the highest oil saturation for which the oil is immobile in an oil-water system.
Arguments for the SOWC keyword consist of an array of critical oil-in-water saturation values. Cells will be
populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an
asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be used to assign a value
of 102.8 to 150 cells).

Definitions

1. Critical oil-in-water saturation values


• Default: taken from the KRWO table in the RELA section

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XOWC, YOWC and ZOWC may be used
to set the critical saturation of oil in water endpoints in the I, J and K directions on the grid.

Examples

1. SOWC is used to populate a 10x10x5 grid with 500 critical oil-in-water saturations.
See SOWC.dat for complete example:
SOWC
0.20 0.20 0.15 0.18 0.20 0.20 0.20 0.20 0.20 0.21
0.20 0.20 0.20 0.20 0.21 0.22 0.22 0.20 0.20 0.21
0.21 0.21 0.21 0.21 0.20 0.20 0.20 0.20 0.20 0.20
0.15 0.20 0.20 0.18 0.19 0.15 0.20 0.16 0.20 0.19
0.22 0.20 0.18 0.18 0.20 0.20 0.20 0.20 0.21 0.20
0.22 0.20 0.18 0.15 0.15 0.20 0.16 0.20 0.20 0.21
0.20 0.20 0.16 0.18 0.20 0.20 0.20 0.21 0.20 0.22
0.18 0.22 0.21 0.18 0.20 0.19 0.22 0.20 0.20 0.22
0.18 0.20 0.21 0.18 0.20 0.20 0.20 0.20 0.20 0.22
0.18 0.20 0.22 0.18 0.20 0.20 0.20 0.20 0.20 0.21

8.137. SOWC - Critical Saturation of Oil in Water 653


Tempest MORE Help, Release 8.1

100*0.19
100*0.18
100*0.22
100*0.16

The SOWC array will then appear in the Initial tab of the results for display in 3D, as shown below

654 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.138 SWCR - Critical Water Saturation

Location

GRID Section

Description

The SWCR keyword is used to scale the critical water saturation in each cell for end point scaling. The critical
water saturation is the highest water saturation for which the water is immobile in an oil-water system. Arguments
for the SWCR keyword consist of an array of critical water saturation values. If SWCR is supplied but SWL is
not, then SWL is supplied automatically and takes on the values of SWCR. Additionally, if SWL is set higher than
SWCR, then SWL is reset to equal SWCR.
Cells are populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated
values, an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8 can be used to
assign a value of 102.8 to 150 cells).

Definitions

1. Critical water saturation values:


• Default: taken from the KRWO table in the RELA section

Notes

• For more information about end point scaling, see the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keywordis somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XWCR, YWCR and ZWCR may be used
to set the critical saturation of water endpoints in the I, J and K directions on the grid.

Examples

1. SWCR is used to populate a 10x10x5 grid with 500 critical water saturation values. See SWCR.dat for a
complete example:

SWCR
0.20 0.20 0.15 0.18 0.20 0.20 0.20 0.20 0.20 0.21
0.20 0.20 0.20 0.20 0.21 0.22 0.22 0.20 0.20 0.21
0.21 0.21 0.21 0.21 0.20 0.20 0.20 0.20 0.20 0.20
0.15 0.20 0.20 0.18 0.19 0.15 0.20 0.16 0.20 0.19
0.22 0.20 0.18 0.18 0.20 0.20 0.20 0.20 0.21 0.20
0.22 0.20 0.18 0.15 0.15 0.20 0.16 0.20 0.20 0.21
0.20 0.20 0.16 0.18 0.20 0.20 0.20 0.21 0.20 0.22

8.138. SWCR - Critical Water Saturation 655


Tempest MORE Help, Release 8.1

0.18 0.22 0.21 0.18 0.20 0.19 0.22 0.20 0.20 0.22
0.18 0.20 0.21 0.18 0.20 0.20 0.20 0.20 0.20 0.22
0.18 0.20 0.22 0.18 0.20 0.20 0.20 0.20 0.20 0.21
100*0.19
100*0.18
100*0.22
100*0.20

The SWCR array is then displayed in the Initial tab of the results for display in 3D, as illustrated in the
following figure.

656 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.139 SWGC - Critical Saturation of Water in Gas

Location

GRID Section

Description

The SWGC keyword is used to scale the critical water-in-gas saturation for end point scaling in the oil-wet case.
This is the highest water saturation for which the water is immobile in a water-oil system. Arguments for the
SWGC keyword consist of an array of critical water-in-gas saturations. Cells are populated in the x-direction first,
followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a
value to a specified number of cells (that is, 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Critical water-in-gas saturations


• Default: taken from the KRWG table in the RELA section

Notes

• For more information about end point scaling, see the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• If directional relative permeabilities are being used, the keywords XWGC, YWGC and ZWGC may be used
to set the critical saturation of water in gas endpoints in the I, J and K directions on the grid.

8.139. SWGC - Critical Saturation of Water in Gas 657


Tempest MORE Help, Release 8.1

8.140 SWL - Connate Water Saturation

Location

GRID Section

Description

The SWL keyword is used to scale the connate water saturation in each cell for end point scaling. The connate
water saturation is the smallest water saturation found in the oil-water relative permeability table defined by
KRWO. Arguments for the SWL keyword consist of an array of connate water saturation values. If SWL is
supplied but SWCR is not, then SWCR is supplied automatically and takes on the values of SWL.
Cells are populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated
values, an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8 can be used to
assign a value of 102.8 to 150 cells).

Definitions

1. Connate water saturation values:


• Default: taken from the KRWO table in the RELA section

Notes

• For more information about end point scaling, please refer to the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XWL, YWL and ZWL may be used to
set the connate saturation of water endpoints in the I, J and K directions on the grid.
• If SWL is set, and SWCR is not set, then SWCR values will be adjusted by MORE to ensure consistency of
the end-points so that Swl ≤ Swcr: If SWCR is not set, typically SWCR will be taken from the relevant
KRWO table. If this is inconsistent, then SWCR is set according to
 
SwcrT able − SwlT able
SW CR = SW L + (SW U − SW L)
SwuT able − SwlT able

Examples

1. SWL is used to populate a 10x10x5 grid with 500 connate water saturation values. See SWL.dat for a
complete example:

658 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

SWL
0.20 0.20 0.15 0.18 0.20 0.20 0.20 0.20 0.20 0.21
0.20 0.20 0.20 0.20 0.21 0.22 0.22 0.20 0.20 0.21
0.21 0.21 0.21 0.21 0.20 0.20 0.20 0.20 0.20 0.20
0.15 0.20 0.20 0.18 0.19 0.15 0.20 0.16 0.20 0.19
0.22 0.20 0.18 0.18 0.20 0.20 0.20 0.20 0.21 0.20
0.22 0.20 0.18 0.15 0.15 0.20 0.16 0.20 0.20 0.21
0.20 0.20 0.16 0.18 0.20 0.20 0.20 0.21 0.20 0.22
0.18 0.22 0.21 0.18 0.20 0.19 0.22 0.20 0.20 0.22
0.18 0.20 0.21 0.18 0.20 0.20 0.20 0.20 0.20 0.22
0.18 0.20 0.22 0.18 0.20 0.20 0.20 0.20 0.20 0.21
100*0.19
100*0.18
100*0.22
100*0.20

The SWL array is then displayed in the Initial tab of the results for display in 3D, as illustrated in the
following figure.

8.140. SWL - Connate Water Saturation 659


Tempest MORE Help, Release 8.1

8.141 SWU - Maximum Water Saturation

Location

GRID Section

Description

The SWU keyword is used to scale the maximum water saturation in each cell for end point scaling. The maximum
water saturation is the highest water saturation found in the oil-water relative permeability table defined by KRWO.
Arguments for the SWU keyword consist of an array of maximum water saturation values. Cells are populated in
the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values, an asterisk can
be used to assign a value to a specified number of cells (that is, 150*102.8 can be used to assign a value of 102.8
to 150 cells).

Definitions

1. Maximum water saturation values:


• Default - taken from the KRWO table in the RELA section

Notes

• For more information about end point scaling, see the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.
• If directional relative permeabilities are being used, the keywords XWU, YWU and ZWU may be used to
set the upper saturation of water endpoints in the I, J and K directions on the grid.

Examples

1. SWU is used to populate a 10x10x5 grid with 500 maximum water saturation values. See SWU.dat for a
complete example:

SWU
1.00 1.00 1.00 0.99 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 0.98 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.97 1.00
0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 0.99 1.00 1.00 1.00 0.96
1.00 1.00 0.96 1.00 1.00 1.00 1.00 1.00 1.00 0.99
1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.95 0.95 1.00
1.00 0.98 0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00
0.95 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 0.98 1.00 1.00 1.00 1.00

660 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

100*1.00
100*0.99
100*0.96
100*1.00

The SWU array is then displayed in the Initial tab of the results for display in 3D, as illustrated in the
following figure.

8.141. SWU - Maximum Water Saturation 661


Tempest MORE Help, Release 8.1

8.142 SIZE - Size and Type of Grid

Location

GRID Section

Description

The SIZE keyword is used to define the grid size and type. This keyword must appear before any grid definition
keywords. It consists of three required arguments and three optional arguments, all appearing on the same line as
the SIZE keyword.

Definitions

1. Number of grid intervals in the x or r-direction


2. Number of grid intervals in the y or theta-direction
3. Number of grid intervals in the z-direction
4. CART or RADI (optional)
• CART (default) - specifies the use of a Cartesian coordinate system
• RADI - specifies the use of a radial coordinate system
5. LOG (optional) - specifies the use of a long mean radii in radial transmissibility calculations
6. PER (optional) - specifies the use of a pressure equivalent radii in radial transmissibility calculations
7. CTC (optional) - for radial cases, add extra connections to complete the circle when the number of grid
intervals in the theta-direction is greater than 1

Notes

• The UTM option is no longer required - MORE 6 can handle grids in left-handed coordinates without user
intervention.

Examples

1. SIZE is used to specify a Cartesian grid with a size of 5x8x3. See SIZE.dat for complete example:

SIZE 5 8 3

662 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. SIZE is used to specify a radial grid with 10 grid intervals in the r-direction, 5 grid intervals in the theta-
direction, and 6 grid intervals in the z-direction. See SIZE_RADI.dat for complete example:

SIZE 10 5 6 RADI

8.142. SIZE - Size and Type of Grid 663


Tempest MORE Help, Release 8.1

8.143 SPEC - Specify the Grid

Location

GRID Section (before any grid definition keywords)

Description

The SPEC keyword is used to define the grid’s size and type. It is used as an alternative keyword to SIZE which
is compatible with output from some grid generation packages. The data for SPEC is handled in exactly the same
way as for SIZE.
SPEC consists of 3 required arguments and one optional one. The required arguments describe the number of
grid intervals in each dimension, all of which should be entered on a separate line below the SPEC keyword. The
optional argument is used to indicate if the grid is a radial or Cartesian one.

Definitions

1. Number of grid intervals in the x or r-direction


2. Number of grid intervals in the y or theta-direction
3. Number of grid intervals in the z-direction
4. Not used in MORE but required when using TRUE/FALSE argument
5. Logical variable - TRUE or FALSE (optional)
• TRUE - radial grid
• FALSE (default) - Cartesian grid

Examples

1. SPEC is used to specify a Cartesian grid with a size of 5x8x3. See SPEC.dat for complete example:

SPEC
5 8 3

2. SPEC is used to specify a radial grid with 10 grid intervals in the r-direction, 5 grid intervals in the theta-
direction, and 6 grid intervals in the z-direction. See SPEC_RADI.dat for complete example:

664 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

SPEC
10 5 6 1* TRUE

8.143. SPEC - Specify the Grid 665


Tempest MORE Help, Release 8.1

8.144 SORM - Trapped Oil Saturation

Location

GRID Section

Description

The SORM keyword is used in an equation of state run to define an oil saturation which is held back from the
simulation.

Definitions

1. Trapped oil saturation values


• Default: Zero
All the usual methods of setting up a grid array, including expressions, may be used to set SORM values.

666 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.145 TCON - Define Transmissibilities of Non-Neighbour Connec-


tions

Location

GRID Section

Description

The TCON keyword is used to define transmissibilities of non-neighbour connections. This keyword provides an
alternative to the NNC keyword for supplying non-neighbour connection information. For every cell in the box of
cells defined in TCON, non-neighbour connections are generated or multiplied between that cell and the cell at an
offset, which is also specified using TCON.
The required arguments for TCON consist of two records.
• The first record follows directly after the TCON keyword on the same line and consists of cell locations and
their offset values.
• The second record follows on a separate line below TCON and consists of the transmissibility values be-
tween the non-neighbour connections.

Definitions

RECORD 1:
1. The value to add to the i-index to obtain the i-index of the connected point
2. The value to add to the j-index to obtain the j-index of the connected point
3. The value to add to the k-index to obtain the k-index of the connected point
4. i-index of the lower point in range (il )
5. i-index of the upper point in range (iu )
6. j-index of the lower point in range (jl )
7. j-index of the upper point in range (ju )
8. k-index of the lower point in range (kl )
9. k-index of the upper point in range (ku )
10. UNIF (optional) - specifies all the values are uniform
11. MULT (optional) - values are treated as transmissibility multipliers (MODI can also be used)
12. Previous non-neighbour connections must have been defined before MULT can be used.
RECORD 2:
1. Transmissibility values between non-neighbour connections.
• Only a single transmissibility value is read if the UNIF option is used. If UNIF is not used, (iu − il +
1) × (ju − jl + 1) × (ku − kl + 1) values are read with the i-index incremented fastest and the k-index
incremented slowest.
• Units: md-ft (Field); md-m (Metric)

8.145. TCON - Define Transmissibilities of Non-Neighbour Connections 667


Tempest MORE Help, Release 8.1

Notes

• Metric millidarcys are 10−3 mum2 .


• Non-neighbour connection data can be output to the Print file by using the PRIN keyword with the NNC
option. The resulting output produced can be found by performing a search for NNC in the Print file. For
more information regarding the data generated in the Print file for non-neighbour connections, please see
the examples below.

Examples

1. TCON is used to set diagonal (i,j,k to i-1,j+1,k) transmissibilities to 9 different values for a 10x10 block
system in the first layer. PRIN with NNC is then used to output the non-neighbour connection data to the
Print file, as follows. See TCON.dat for a complete example:

TCON -1 +1 0 2 4 1 3 2*1
481 473 482 489 470 483 465 498 485

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:

NNC======================================================================================

Details of fault connections


Number of connections is 9
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 User specified 1 2 1 0 2 1 1 0 481.000 0.0


,→ 0.0
2 User specified 2 2 1 0 3 1 1 0 473.000 0.0
,→ 0.0
3 User specified 3 2 1 0 4 1 1 0 482.000 0.0
,→ 0.0
4 User specified 1 3 1 0 2 2 1 0 489.000 0.0
,→ 0.0
5 User specified 2 3 1 0 3 2 1 0 470.000 0.0
,→ 0.0
6 User specified 3 3 1 0 4 2 1 0 483.000 0.0
,→ 0.0
7 User specified 1 4 1 0 2 3 1 0 465.000 0.0
,→ 0.0
8 User specified 2 4 1 0 3 3 1 0 498.000 0.0
,→ 0.0
9 User specified 3 4 1 0 4 3 1 0 485.000 0.0
,→ 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

2. TCON is used with the UNIF option to set diagonal (i,j,k to i-1,j+1,k) transmissibilities to 481 for a 10x10
block system in the first layer. PRIN with NNC is then used to output the non-neighbour connection data to
the Print file, as follows.See TCON_UNIF.dat for a complete example:

TCON -1 +1 0 2 4 1 3 2*1 UNIF


481

668 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:

NNC======================================================================================

Details of fault connections


Number of connections is 9
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 User specified 1 2 1 0 2 1 1 0 481.000 0.0


,→ 0.0
2 User specified 2 2 1 0 3 1 1 0 481.000 0.0
,→ 0.0
3 User specified 3 2 1 0 4 1 1 0 481.000 0.0
,→ 0.0
4 User specified 1 3 1 0 2 2 1 0 481.000 0.0
,→ 0.0
5 User specified 2 3 1 0 3 2 1 0 481.000 0.0
,→ 0.0
6 User specified 3 3 1 0 4 2 1 0 481.000 0.0
,→ 0.0
7 User specified 1 4 1 0 2 3 1 0 481.000 0.0
,→ 0.0
8 User specified 2 4 1 0 3 3 1 0 481.000 0.0
,→ 0.0
9 User specified 3 4 1 0 4 3 1 0 481.000 0.0
,→ 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

3. Having defined the same transmissibilities for non-neighbour connections as above in Example 2, TCON is
then used again to multiply those transmissibility values by multipliers which range from 0.001 to 0.1 in the
first layer of a 10x10 block system. PRIN with NNC is then used to output the non-neighbour connection
data to the Print file, as follows.See TCON_MULT.dat for a complete example:

TCON -1 +1 0 2 4 1 3 2*1 UNIF


481

TCON -1 +1 0 2 4 1 3 2*1 MULT


0.001 0.01 0.1 0.01 0.1 0.001 0.1 0.1 0.01

--Print non-neighbour connection data to Print file


PRIN NNC

Alternatively, MODI can be used in the place of MULT, as illustrated in the following:

TCON -1 +1 0 2 4 1 3 2*1 UNIF

481

TCON -1 +1 0 2 4 1 3 2*1 MODI


0.001 0.01 0.1 0.01 0.1 0.001 0.1 0.1 0.01

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file for both scenarios mentioned

8.145. TCON - Define Transmissibilities of Non-Neighbour Connections 669


Tempest MORE Help, Release 8.1

above:

NNC======================================================================================

Details of fault connections


Number of connections is 9
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 User specified 1 2 1 0 2 1 1 0 0.481 0.0


,→ 0.0
2 User specified 2 2 1 0 3 1 1 0 4.810 0.0
,→ 0.0
3 User specified 3 2 1 0 4 1 1 0 48.100 0.0
,→ 0.0
4 User specified 1 3 1 0 2 2 1 0 4.810 0.0
,→ 0.0
5 User specified 2 3 1 0 3 2 1 0 48.100 0.0
,→ 0.0
6 User specified 3 3 1 0 4 2 1 0 0.481 0.0
,→ 0.0
7 User specified 1 4 1 0 2 3 1 0 48.100 0.0
,→ 0.0
8 User specified 2 4 1 0 3 3 1 0 48.100 0.0
,→ 0.0
9 User specified 3 4 1 0 4 3 1 0 4.810 0.0
,→ 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

670 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.146 THET - Theta-Direction Grid Spacing

Location

GRID Section

Description

The THET keyword is used to define grid spacing in the theta-direction. Its arguments consist of three records.
The first record is an optional argument used to describe the vertical variation of the theta array. This argument
should directly follow after the THET keyword on the same line. The second record describes the grid processing
method used and it should be listed on a separate line following the THET keyword. The third record defines
the grid spacing values in the theta-direction and this record should be listed on a separate line below the second
record.

Definitions

RECORD 1:
1. One of the following array data entry sub-keywords (optional): GEOL , UNIF, or VARI
• Default: VARI
RECORD 2:
1. One of the following grid processing sub-keywords: CONS, VARI LOGA
• Default: VARI
RECORD 3:
1. Theta-direction grid spacing values
• Units: degrees

Examples

1. THET is used with CONS to specify a uniform grid spacing and a total angle of 360o in the theta-direction.
See THET_CONS.dat for a complete example:

THET
CONS
360

8.146. THET - Theta-Direction Grid Spacing 671


Tempest MORE Help, Release 8.1

2. THET is used with VARI to specify 5 grid spacings of varying angles in the theta-direction. See
THET_VARI.dat for a complete example:

THET
VARI
36 45 60 90 135

3. THET is used with LOGA to specify logarithmic grid spacing in the theta-direction. See THET_LOGA.dat
for a complete example:

Y-DI
LOGA
360 0.5

672 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.146. THET - Theta-Direction Grid Spacing 673


Tempest MORE Help, Release 8.1

8.147 THIC (or DZ) - Grid Cell Thicknesses

Location

GRID Section

Description

The DEPT keyword is used to populate the cells in a grid with cell thicknesses. Its arguments consist of an array of
cell thicknesses. Cells are populated in the x-direction first, followed by the y-direction, and then the z-direction
last. For repeated values, an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8
can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Cell Thickness
• Units: feet (Field), metres (Metric)

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. THIC is used to populate a 10x10x5 grid with 500 cell thicknesses. See THIC.dat for a complete example:

THIC
100*50
100*100
100*150
100*200
100*250

674 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.147. THIC (or DZ) - Grid Cell Thicknesses 675


Tempest MORE Help, Release 8.1

8.148 TLAN - Langmuir Time

Location

GRID Section

Description

The TLAN keyword is used to populate the cells in a grid with Langmuir times in a coal bed methane system.
The Langmuir time sets the time constant for coal gas desorption or absorption. When TLAN is used, the coal
bed methane option must be turned on using the CBM keyword in the INPU or FLUI sections. Arguments for the
TLAN keyword consist of an array of Langmuir times.
Cells are populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated
values, an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8 can be used to
assign a value of 102.8 to 150 cells).

Definitions

1. Langmuir times
• Units: days
• Default: 10 days

Notes

• To set up global values of the Langmuir constants, the LANG keyword should be used. Values which vary
across the field may be set up using the CLAN, PLAN and TLAN keywords.
• For compositional coal bed methane models, keywords like TLN1, TLN2 etc. are used instead of TLAN.
See the TLNn keyword for more information.
• For more information regarding coal bed methane modelling, see the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. TLAN is used to populate a 10x10x3 grid with 300 Langmuir times.

TLAN
10.0 10.0 11.0 10.0 10.0 12.0 10.0 10.0 10.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 12.0 12.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 11.0
10.0 11.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0

676 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

12.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
11.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 12.0 10.0 10.0
10.0 10.0 11.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
10.0 10.0 12.0 10.0 11.0 10.0 10.0 10.0 11.0 10.0
200*10.0

The Langmuir time array is then displayed in the Initial tab of the results for display in 3D, as illustrated in
the following figures.

8.148. TLAN - Langmuir Time 677


Tempest MORE Help, Release 8.1

8.149 TLNn - Compositional Langmuir Time

Location

GRID Section

Description

The TLNn keyword is used to populate the cells in a grid with a Langmuir time for each component in a composi-
tional coal bed methane system. The Langmuir time sets the time constant for coal gas desorption or absorption.
When TLNn is used, the coal bed methane option must be turned on using the CBM keyword in the INPU or
FLUI sections. Arguments for the TLNn keyword consist of an array of Langmuir times for each component. The
array for each component is identified by replacing the ‘n’ in the TLNn keyword with an integer number which
corresponds to the component as defined in the INPU section by the CNAM keyword.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Langmuir times for absorbed component ‘n’


• Units: days
• Default: 10 days

Notes

• To set up global values of the Langmuir constants, the LANG keyword should be used. Values which vary
across the field in each component may be set up using the CLNn, PLNn, and TLNn keywords.
• For black oil coal bed methane models, the TLAN keyword is used instead of TLNn. See the TLAN keyword
for more information.
• For more information regarding coal bed methane modelling, see the MORE Technical Reference.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
See the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In the example below, TLNn is used to populate a 9x9x4 grid with 324 Langmuir times for two components
(CO2 and C1). The integer number associated with each component which is used to replaced the ‘n’ in the
TLNn keyword corresponds to the order in which these components are listed after the CNAM keyword in
the INPU section. See CoalBedMethane_EOS.dat for a complete example:

678 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

CNAM CO2 C1 WATR

Thus, component 1 will correspond to CO2 while component 2 will correspond to C1. The TLNn keyword
can then be used accordingly, as follows.

TLN1
10.0 10.0 11.0 10.0 10.0 12.0 10.0 10.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 12.0 12.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
10.0 11.0 10.0 10.0 10.0 10.0 10.1 10.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
12.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 12.0
11.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
10.0 10.0 10.0 10.0 10.0 10.0 10.0 12.0 10.0
10.0 10.0 11.0 10.0 10.0 10.0 10.0 10.0 10.0
10.0 10.0 12.0 10.0 11.0 10.0 10.0 10.0 11.0
243*10.0

TLN2
11.0 11.0 12.0 10.0 11.0 11.0 12.0 11.0 11.0
11.0 11.0 11.0 11.0 11.0 11.0 11.0 11.0 11.0
11.0 11.0 11.0 11.0 12.0 11.0 11.0 11.0 12.0
12.0 11.0 11.0 11.0 11.0 11.0 11.0 11.0 11.0
11.0 11.0 11.0 11.0 11.0 11.0 11.0 11.0 11.0
11.0 11.0 12.0 11.0 10.0 10.0 11.0 11.0 11.0
11.0 11.0 11.0 11.0 12.0 11.0 11.0 10.0 11.0
11.0 11.0 10.0 11.0 11.0 11.0 11.0 11.0 11.0
11.0 11.0 10.0 11.0 11.0 11.0 12.0 11.0 10.0
243*11.0

The Langmuir time arrays for CO2 and C1 are then displayed in the Initial tab of the results for display in
3D, as illustrated in the following figures.

8.149. TLNn - Compositional Langmuir Time 679


Tempest MORE Help, Release 8.1

680 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.150 TMUL - Non-Neighbour Transmissibility Multipliers

Location

GRID Section (before the NNC or TCON keywords)

Description

The TMUL keyword is used to specify a non-neighbour transmissibility multiplier. The value of the multiplier is
applied to all non-neighbour connections set up with the NNC or TCON keywords which follow a given TMUL
keyword. TMUL consists of one required argument which appears on the same line as the keyword itself.

Definitions

1. The value of the multiplier


• Default: 1.0 or previous value

Notes

• The TMUL keyword is provided as a convenient way to modify the values of non-neighbour coefficients.
• Non-neighbour connection data can be output to the Print file by using the PRIN keyword with the NNC
option. The resulting produced output can be found by performing a search for NNC in the Print file. See
the following examples for more information regarding the data generated in the Print file for non-neighbour
connections.
• The non-neighbour connection data that is output to the Print file is displayed in MORE transmissibility
units (md-ft (Field), md-m (Metric)). When non-neighbour connections are defined in the default ECLIPSE
transmissibility units (cP×rb/day/psi (Field), cP×rm3 /day/bars (Metric)) using the NNC keyword, these
values can be converted to MORE units using the following factors: 0.001127 (Field), 0.008527 (Metric).

Examples

1. In a metric-unit system, TMUL is used to multiply the two transmissibilities defined using the NNC keyword
in MORE units (md-m) by 0.5 . PRIN with NNC is then used to output the non-neighbour connection data
to the Print file, as follows. See TMUL_NNC_MORE.dat for complete example:
TMULT 0.5
NNC MORE
4 5 6 1 3 2 24.2
5 4 6 2 3 1 55.2
/

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:
NNC======================================================================================

Details of fault connections


Number of connections is 2
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-m trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

8.150. TMUL - Non-Neighbour Transmissibility Multipliers 681


Tempest MORE Help, Release 8.1

1 User specified 1 3 2 0 4 5 6 0 12.100 0.0


,→ 0.0
2 User specified 2 3 1 0 5 4 6 0 27.600 0.0
,→ 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

2. In a metric-unit system, TMUL is used to multiply the two transmissibilities defined using the NNC keyword
in default ECLIPSE units (cP×rm3 /day/bars) by 0.5. PRIN with NNC is then used to output the non-
neighbour connection data to the Print file, as follows. See TMUL_NNC.dat for complete example:

TMULT 0.5
NNC
4 5 6 1 3 2 24.2
5 4 6 2 3 1 55.2
/

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:

NNC======================================================================================

Details of fault connections


Number of connections is 2
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-m trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 User specified 1 3 2 0 4 5 6 0 1419.0 0.0


,→ 0.0
2 User specified 2 3 1 0 5 4 6 0 3236.8 0.0
,→ 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

3. In a field-unit system, TMUL is used to multiply the four transmissibilities defined using the TCON keyword
by 0.1. PRIN with NNC is then used to output the non-neighbour connection data to the Print file, as follows.
See TMUL_TCON.dat for complete example:

TMULT 0.1
TCON +1 +1 0 1 4 2*1 2*1 UNIF
85.3

--Print non-neighbour connection data to Print file


PRIN NNC

The following results are then obtained from the GRID section of the Print file:

NNC======================================================================================

Details of fault connections


Number of connections is 4
Index Type ----First Cell---- ---Second Cell---- Trans Thermal
,→ Area

ix iy iz iLG ix iy iz iLG md-ft trans


----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

1 User specified 1 1 1 0 2 2 1 0 8.530 0.0


,→ 0.0

682 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2 User specified 2 1 1 0 3 2 1 0 8.530 0.0


,→ 0.0
3 User specified 3 1 1 0 4 2 1 0 8.530 0.0
,→ 0.0
4 User specified 4 1 1 0 5 2 1 0 8.530 0.0
,→ 0.0
----- ------------- ---- ---- ---- --- ---- ---- ---- --- -------- --------
,→ -------

8.150. TMUL - Non-Neighbour Transmissibility Multipliers 683


Tempest MORE Help, Release 8.1

8.151 TREG - Thermal Property Region Numbers

Location

GRID Section

Description

The TREG keyword is used to populate the cells in a grid with thermal property region numbers for thermal
simulations. When the thermal option has been turned on using the THER keyword in the INPU section, the
TREG keyword may be used to assign different OVVT tables to cells. Arguments for the TREG keyword consist
of an array of thermal property region numbers. Values should be between 1 and NTREG where NTREG is the
number of OVVT tables provided in the FLUI section.
Cells are populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated
values, an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8 can be used to
assign a value of 102.8 to 150 cells).

Definitions

1. Thermal Property Region Numbers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
See the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. TREG is used to populate a 21x21x4 grid with 1764 thermal property region numbers. See TREG.dat for a
complete example:

TREG
441*1
441*2
441*3
441*4

The thermal property region number array is then displayed in the Initial tab of the results for display in 3D,
as illustrated in the following figure.

684 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.151. TREG - Thermal Property Region Numbers 685


Tempest MORE Help, Release 8.1

8.152 TRXY - Specify a Trajectory-type PEBI Refinement Feature

Location

GRID Section

Description

The TRXY keyword is used to define a linear, trajectory-type feature of interest for refinement within a PEBI grid.
Multiple features can be defined by invoking TRXY multiple times.
The arguments for TRXY consists of a table with two columns that contain the (X,Y) locations of points along
the feature of interest. Each time the PEBI keyword is invoked MORE loops through the refinement features that
have been defined using TRXY and adds refinement cells along any part of a feature that is covered by the extent
of the PEBI grid. For trajectory-type features refinement cells are added with their centres lying on the feature and
are given a spacing defined by the refined resolution argument of the PEBI keyword.

Definitions

1. X-coordinate of the refinement feature


• Units: feet (Field), metres (Metric)
2. Y-coordinate of the refinement feature
• Units: feet (Field), metres (Metric)

Examples

1. Using TRXY and PEBI to create a refined region around a trajectory-type region of interest:

TRXY
152.4 152.4
1219.2 1219.2
/

/ BACKG REFIN NZ IL IU JL JU KL KU NAME


PEBI 1* 152.4 6 1 10 1 10 1 3 PEBI_I1

686 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.152. TRXY - Specify a Trajectory-type PEBI Refinement Feature 687


Tempest MORE Help, Release 8.1

8.153 TSUM - Modify Sum of Transmissibility/Pore Volume

Location

End of GRID section (before INIT keyword)

Description

The TSUM keyword is used to modify the sum of transmissibilities divided by pore volumes in each cell. It
provides a means to limit the transmissibilities in selected areas of the reservoir so that reasonable properties are
achieved and stability problems are avoided. The required arguments for this keyword consist of two records, as
further described below. Record 1 should appear on the same line as the TSUM keyword, while Record 2 follows
on a separate line below it.

Definitions

RECORD 1:
1. Index value of the first value to change in the x (i) direction
• Default: 1
• Minimum: 1; Maximum: maximum x (i) coordinate
2. Index value of the last value to change in the x (i) direction
• Default: maximum x (i) coordinate
• Minimum: 1; Maximum: maximum x (i) coordinate
3. Index value of the first value to change in the y (j) direction
• Default: 1
• Minimum: 1; Maximum: maximum y (j) coordinate
4. Index value of the last value to change in the y (j) direction
• Default: maximum y (j) coordinate
• Minimum: 1; Maximum: maximum y (j) coordinate
5. Index value of the first value to change in the z (k) direction
• Default: 1
• Minimum: 1; Maximum: maximum z (k) coordinate
6. Index value of the last value to change in the z (k) direction
• Default: maximum z (k) coordinate
• Minimum: 1; Maximum: maximum z (k) coordinate
RECORD 2:
1. Multiplier added to the original value
• Default: 1
2. Maximum value
• Default: 1E20

688 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

Notes

• When the pay in a reservoir approaches zero, it is sometimes difficult to construct grid data which is con-
sistent in the edge blocks. The TSUM keyword provides a means to limit the transmissibilities in selected
areas of the reservoir so that reasonable properties are achieved and stability problems are avoided.
• The units for the sum of transmissibility coefficients divided by pore volume are (md-ft)/(ft3 ) for field units
and (md-m)/(m3 ) for metric units.

Example

1. TSUM is used to apply a multiplier to all transmissibilities connected to blocks in layer 5 which have a sum
of transmissibilities divided by pore volume which exceed 0.05. The multiplier is calculated so the sum
divided by pore volume will not exceed 0.05 at any block. See TSUM.dat for complete example:

TSUM 4* 5 5
1* 0.05

8.153. TSUM - Modify Sum of Transmissibility/Pore Volume 689


Tempest MORE Help, Release 8.1

8.154 T_X, T_Y or T_Z - Modify or Replace X, Y or Z-


Transmissibilities

Location

GRID Section

Description

The T_X, T_Y or T_Z keywords are used to modify or replace values in the x, y, or z-transmissibility arrays that
has been automatically calculated by Tempest MORE during grid calculations. These keywords must be used with
the MODI or REPL keywords and cannot be used on their own to populate the cells in a transmissibility array.
Arguments for the T_X, T_Y or T_Z keywords consist of two records. The first record requires seven arguments,
placed on the same line as the T_X, T_Y, or T_Z keywords, to indicate the location of the cells whose values are
to be modified or replaced and either the MODI or REPL keywords as the final argument. If the MODI keyword is
used, the second record should consist of one or more (up to a total of four) modifier arguments which are entered
on a separate line below Record 1. If the REPL keyword is used, the second record should consist of an array of
values used to replace the original values in the cells specified by Record 1.

Definitions

RECORD 1:
1. First point to modify or replace in the x (i) direction
• Default: 1
2. Last point to modify or replace in the x (i) direction
• Default: maximum x (i) coordinate
3. First point to modify or replace in the y (j) direction
• Default: 1
4. Last point to modify or replace in the y (j) direction
• Default: maximum y (j) coordinate
5. First point to modify or replace in the z (k) direction
• Default: 1
6. Last point to modify or replace in the z (k) direction
• Default: maximum z (k) coordinate
7. MODI or REPL
RECORD 2:
If the MODI keyword is used:
1. Constant to be added (xadd)
• Default: 0
2. Multiplier (xmult)
• Default: 1
3. Minimum value (xmin)
• Default: 0

690 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

4. Maximum value (xmax)


• Default: 1020
If the REPL keyword is used:
1. Values used to replace the original transmissibility values in the cells specified in Record 1

Notes

• TX, TY, TZ and T-X, T-Y, T-Z may all be used as aliases for T_X, T_Y, and T_Z, respectively.
• When MODI is used, the modification is applied as:

value(modif ied) = M IN IM U M xmax , xadd + xmult × value(original)

• Transmissibility units in Tempest MORE are in md-ft (Field) or md-m (Metric). However, note that when
field units are used, these transmissibilities will be displayed on the 3D viewer in cP×rb/day/psi instead of
md-ft.
• When MODI is used to add a constant to the values in an existing T_X, T_Y, or T_Z array, the constant
takes on the units in which transmissibility arrays are displayed in the 3D viewer, which are cP×rb/day/psi
instead of md-ft. See Example 1 below for more information.
• When MODI is used to assign a minimum or maximum value to an existing T_X, T_Y, or T_Z array, the
values entered should represent units in which the transmissibility arrays are defined, which are in md-ft.
However, when T_X, T_Y, or T_Z are displayed in the 3D Viewer, these values will be converted to and
appear in cP×rb/day/psi instead of md-ft. See the following example for more information.
• When REPL is used with any of the transmissibility arrays (T_X, T_Y, or T_Z) to replace the transmissibility
in specified cells, the values entered will be in md-ft (Field) or md-m (Metric). However, please note that
when field units are used, these transmissibilities will be displayed on the 3D viewer in cP×rb/day/psi
instead of md-ft. See the following example for more information.
• When replacing transmissibility values, note that the transmissibility is associated with the lower index of
the connected cells. For example, the x-transmissibility between cell (1,1,1) and (2,1,1) is associated with
cell (1,1,1).

Examples

1. In a field unit system, given an array with an initial x-transmissibility as seen in the “ORIGINAL” figure
below, MODI is used to add a constant of 200 to the x-transmissibility in rows i=2 to 5.

T_X 2 5 1 10 1 5 MODI
200

8.154. T_X, T_Y or T_Z - Modify or Replace X, Y or Z-Transmissibilities 691


Tempest MORE Help, Release 8.1

2. In a field unit system, given an array with an initial y-transmissibility as seen in the “ORIGINAL” figure
below, MODI is used to multiply the y-transmissibility array in rows i=4 to 6 by 3.0.

T_Y 4 6 1 10 1 5 MODI
0 3.0

3. In a field unit system, given an array with an initial y-transmissibility as seen in the “ORIGINAL” figure
below, MODI is used to assign a maximum z-transmissibility to all of the cells in the grid which have a
z-transmissibility greater than 350000 mD.ft (or approximately 394.5 cP×rb/day/psi).

T_Z 6* MODI
3* 350000

Note that when field units are used, transmissibilities are displayed in cP×rb/day/psi in the 3D viewer (as
illustrated in the following figure), despite being input in md-ft.

692 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

4. In a field unit system, given an array with an initial x-transmissibility as seen in the “ORIGINAL” figure
below, REPL is used to replace the x-transmissibility in rows i=1 to 5 with 30000 md-ft (or approximately
33.8 cP×rb/day/psi).

T_X 1 5 4* REPL
250*30000

Note that when field units are used, transmissibilities are displayed in cP×rb/day/psi in the 3D viewer (as
illustrated in the following figure), despite being input in md-ft.

8.154. T_X, T_Y or T_Z - Modify or Replace X, Y or Z-Transmissibilities 693


Tempest MORE Help, Release 8.1

8.155 VARI - Variable Grid Spacing in the X, Y or Theta Direction

Location

GRID Section (after the X-DI, Y-DI or THET keywords)

Description

The VARI keyword is used to specify variable grid spacing in the X, Y, or theta directions. This keyword must
appear after either X-DI, Y-DI or THET are used. The number of required arguments for VARI will depend on the
number of grid intervals (N) specified by the SIZE keyword in the X, Y or theta directions. All arguments should
be supplied on a separate line below the VARI keyword.

Definitions

1. Size of the ith grid interval (up to N arguments)

Notes

• For the treatment of VARI when used with a radial grid and the keyword R-DI, please see VARI (R-direction).

Example

1. Y-DI is used with VARI to specify variable grid spacing in 10x10x5 grid that has a total length of 10000 in
the y-direction. See VARI.dat for complete example:

Y-DI
VARI
1500 2*800 700 1200 600 900 2*1000 1500

694 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

2. THET is used with VARI to specify five grid spacings of varying angles in the theta-direction. See
THET_VARI.dat for complete example:

THET
VARI
36 45 60 90 135

8.155. VARI - Variable Grid Spacing in the X, Y or Theta Direction 695


Tempest MORE Help, Release 8.1

8.156 VARI - Variable Grid Spacing in the R-direction

Location

GRID Section (after the R-DI keyword)

Description

The VARI keyword is used to specify variable grid spacing in the R-direction of a radial grid. This keyword must
appear after the R-DI keyword is used. The number of required arguments for VARI when used with R-DI will
depend on the number of grid intervals (N) specified by the first argument in SIZE. Given N grid intervals, the
number of required arguments becomes N+1. All arguments should be supplied on a separate line below the VARI
keyword.

Definitions

1. Inner radius of the radial grid


• Units: feet (Field), metres (Metric)
2. Size of grid interval (up to N arguments (specified by first argument in SIZE))
• Units: feet (Field), metres (Metric)

Notes

• For the treatment of VARI when used with the keywords X-DI, Y-DI, or THET, please see VARI (X, Y, or
THET direction).

Example

1. In a 10x1x4 radial grid, R-DI is used with VARI to specify a radial grid with an inner radius of 0.5 and a
variable grid spacing which gives an outer radius of 2500. See VARI_R.dat for complete example:

R-DI
VARI
0.5 7.7 15.5 26.4 50.8 65.2 95.4 152.8 280.5 605.2 1200

696 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.156. VARI - Variable Grid Spacing in the R-direction 697


Tempest MORE Help, Release 8.1

8.157 VERT - Vertical Input Mode

Location

GRID Section

Description

The VERT keyword is used to specify a vertical data input mode where grid array layers are input in a vertical
order. VERI consists of one optional argument for which there are two options. This argument, if used, should
directly follow the VERI keyword on the same line .

Definitions

1. Vertical input mode - BLOC or POIN


• BLOC - grid array layers are entered in block-centred grid mode in the z-direction
• POIN (default) - grid array layers are entered in point-centred grid mode in the z-direction

Notes

• The default is VERT POIN, for historical reasons, as this is the traditional MORE default. However, most
studies use VERT BLOC.
• MORE 6 always runs the study in block mode, so VERT only concerns the interpretation of input grid data.
• The input mode can be reset during the processing of the grid section.
• For more information regarding the block and point modes of entry, please refer to the GRID - Data
Overview and Array Processing sections.

Examples

1. VERT is used to specify that grid array layers are entered in a vertical block mode.

VERT BLOC

698 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.158 X-DI - X-Direction Grid Spacing

Location

GRID Section

Description

The X-DI keyword is used to define grid spacing in the x-direction. Its arguments consist of two records, each
listed their own separate lines following the X-DI keyword. Record 1 describes the grid processing method used
while Record 2 defines the the grid spacing values in the x-direction.

Definitions

RECORD 1:
1. One of the following grid processing keywords: CONS, VARI, LOGA
RECORD 2:
1. x-direction grid spacing values

Examples

1. X-DI is used with CONS to specify a uniform grid spacing and a total grid length of 10000 in the x-direction.
See X_DI_CONS.dat for complete example:

X-DI
CONS
10000

8.158. X-DI - X-Direction Grid Spacing 699


Tempest MORE Help, Release 8.1

2. X-DI is used with VARI to specify 10 grid spacings of varying lengths in the x-direction. See
X_DI_VARI.dat for complete example:

X-DI
VARI
1000 2*500 2000 1000 2500 250 750 1000 500

700 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. X-DI is used with LOGA to specify logarithmic grid spacing in the x-direction.

X-DI
LOGA
10000 0.8

8.158. X-DI - X-Direction Grid Spacing 701


Tempest MORE Help, Release 8.1

702 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.159 XDIV - Grid Subdivisions in the X-direction

Location

GRID Section (before the COOR keyword)

Description

The XDIV keyword is used to specify grid subdivisions in the x-direction. The XDIV keyword acts as a tool that
can be used to simplify the input of grid data for large grids. Thus, XDIV must appear before the COOR keyword
is entered. The sum of the values of the arguments entered for XDIV must equal the number of grid intervals in
the x-direction specified by by SIZE or SPEC. All arguments should be listed on a separate line below the XDIV
keyword and this list must be terminated by a slash (/).

Definitions

1. Number of grid intervals in the ith grouping (the total of all the grid interval divisions must equal the number
of grid intervals in the x-direction.)

Notes

• When layer properties are set using array keywords, the number of values will similarly correspond to the
number of grid intervals.
• To restore input on the original grid, use NOXY.

Examples

1. In a 2x1x1 grid, COOR and ZCOR data is specified as shown below:

SIZE 2 1 1

COOR
0.00000 0.00000 5000.00 0.00000 0.
,→ 00000 6000.00
5000.00 0.00000 5000.00 5000.00 0.
,→00000 6000.00
10000.00 0.00000 5000.00 10000.00 0.
,→00000 6000.00

0.00000 10000.00 5000.00 0.00000 10000.


,→ 00 6000.00
5000.00 10000.00 5000.00 5000.00 10000.
,→ 00 6000.00
10000.00 10000.00 5000.00 10000.00 10000.
,→ 00 6000.00
/

--* Set Depth


ZCOR
8*5000.00
8*6000.00
/

If we wanted to simplify the input of the grid data, we could introduce XDIV to subdivide the two intervals
in the x-direction into one larger interval. We would then only need to specify COOR and ZCOR for the

8.159. XDIV - Grid Subdivisions in the X-direction 703


Tempest MORE Help, Release 8.1

1 large interval in the x-direction (i.e. two corner point locations in x) instead of the two intervals initially
specified (that is, three corner point locations in x). See XDIV.dat for complete example:

SIZE 2 1 1

XDIV
2 /

COOR
0.00000 0.00000 5000.00 0.00000 0.
,→ 00000 6000.00
10000.00 0.00000 5000.00 10000.00 0.
,→00000 6000.00

0.00000 10000.00 5000.00 0.00000 10000.


,→ 00 6000.00
10000.00 10000.00 5000.00 10000.00 10000.
,→ 00 6000.00
/

--* Set Depth


ZCOR
4*5000.00
4*6000.00
/

Both sets of grid data above will give the following 3D grid:

2. In a 9x12x4 grid, XDIV is used to subdivide the nine intervals in the x-direction into three larger intervals
so that grid data for the larger 9x12x4 grid can be specified using corner point data for the smaller 3x12x4
grid:

SIZE 9 12 4

YDIV
2 4 3 /

Now, when specifying grid coordinates using COOR and ZCOR, the specification should only be for the
three large intervals in the x-direction (that is, four corner locations in x) instead of the nine intervals
initially specified.

704 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. A 2x2x1 grid is specified by providing a simplified input using the keywords COOR, DEPT, THIC, XDIV
and YDIV. The grid is populated with different active numbers using the keyword ACTN.

SPEC
2 2 1 /

XDIV
2 /

YDIV
2 /

COOR
0 0 5000 0 0 6000
10000 0 5000 10000 0 6000
0 10000 5000 0 10000 6000
10000 10000 5000 10000 10000 6000
/

DEPTH=5000
THIC=1000
K_X=100
PORO=0.1
CROC=3e-06
REFE=14.7000
ACTN
1 2 3 4

The active cell array is not honoured because keyword NOXY was not used to restore normal grid subdivi-
sions after keywords XDIV and YDIV are used:

If the keyword NOXY is used, the active cell array is honoured. See NOXY_ACTN.dat for complete exam-
ple:

8.159. XDIV - Grid Subdivisions in the X-direction 705


Tempest MORE Help, Release 8.1

NOXY
ACTN
1 2 3 4

706 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.160 XGRI - X-Grid Locations

Location

GRID Section

Description

The XGRI keyword is used to populate the cells in a grid with x-grid locations. Its arguments consist of an array
of x-grid locations. Cells will be populated in the x-direction first, followed by the y-direction, and then the z-
direction last. For repeated values, an asterisk can be used to assign a value to a specified number of cells (that is,
150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. X-grid locations
• Units: feet (Field), metres (Metric)

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. XGRI is used to populate a 2x2x2 grid with 8 x-grid locations. See XGRI.dat for complete example:

XGRI
3000 10000
3000 10000
3000 10000
3000 10000

8.160. XGRI - X-Grid Locations 707


Tempest MORE Help, Release 8.1

708 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.161 XKRG - Gas Relative Permeability Multiplier

Location

GRID Section

Description

The XKRG keyword is used to vertically scale the relative permeability of gas at the maximum gas saturation in
an oil-gas relative permeability curve defined by KRGO. Arguments for the XKRG keyword consist of an array of
gas relative permeability multipliers. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (that is, 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Gas relative permeability multipliers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply nu-
merical values without a grid processing sub-keyword, the simulator uses the VARI option. If the simulator
encounters no grid processing sub-keyword after reading a layer of values, the VARI option is used again.
This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. XKRG is used to populate a 10x10x5 grid with 500 gas relative permeability multipliers. See XKRG.dat
for complete example:

XKRG
1.00 0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.99
0.99 0.99 1.00 1.00 1.00 0.97 1.00 1.00 1.00 0.97
1.00 1.00 1.00 1.00 1.00 0.98 0.99 1.00 1.00 1.00
1.00 1.00 0.97 1.00 1.00 1.00 1.00 0.96 1.00 1.00
1.00 1.00 1.00 0.98 0.95 1.00 1.00 1.00 1.00 1.00
0.98 1.00 1.00 1.00 0.95 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 0.98 1.00 0.99 0.98
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 0.99 1.00 1.00 1.00 1.00 0.96 1.00 1.00
100*1.00
100*0.99
100*0.98
100*1.00

8.161. XKRG - Gas Relative Permeability Multiplier 709


Tempest MORE Help, Release 8.1

The gas relative permeability multiplier array is then displayed in the Initial tab of the results for display in
3D, as illustrated in the following figure.

710 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.162 XKRO - Oil Relative Permeability Multiplier

Location

GRID Section

Description

The XKRO keyword is used to vertically scale the relative permeability of oil at the maximum oil saturation in an
oil-water relative permeability curve defined by KRWO. Arguments for the XKRO keyword consist of an array of
oil relative permeability multipliers. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (that is, 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Oil relative permeability multipliers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option is
used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. XKRO is used to populate a 10x10x5 grid with 500 oil relative permeability multipliers. See XKRO.dat for
complete example:

XKRO
1.00 0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.99
0.99 0.99 1.00 1.00 1.00 0.97 1.00 1.00 1.00 0.97
1.00 1.00 1.00 1.00 1.00 0.98 0.99 1.00 1.00 1.00
1.00 1.00 0.97 1.00 1.00 1.00 1.00 0.96 1.00 1.00
1.00 1.00 1.00 0.98 0.95 1.00 1.00 1.00 1.00 1.00
0.98 1.00 1.00 1.00 0.95 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 0.98 1.00 0.99 0.98
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 0.99 1.00 1.00 1.00 1.00 0.96 1.00 1.00
100*1.00
100*0.99
100*0.98
100*1.00

8.162. XKRO - Oil Relative Permeability Multiplier 711


Tempest MORE Help, Release 8.1

The oil relative permeability multiplier array is then displayed in the Initial tab of the results for display in
3D, as illustrated in the following figure.

Further examples on vertical scaling keywords can be found here.

712 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.163 XKRW - Water Relative Permeability Multiplier

Location

GRID Section

Description

The XKRW keyword is used to vertically scale the relative permeability of water at the maximum water saturation
in an oil-water relative permeability curve defined by KRWO. Arguments for the XKRW keyword consist of an
array of water relative permeability multipliers. Cells will be populated in the x-direction first, followed by the y-
direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified
number of cells (that is, 150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Water relative permeability multipliers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. XKRW is used to populate a 10x10x5 grid with 500 water relative permeability multipliers. See XKRW.dat
for complete example:

XKRW
1.00 0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.99
0.99 0.99 1.00 1.00 1.00 0.97 1.00 1.00 1.00 0.97
1.00 1.00 1.00 1.00 1.00 0.98 0.99 1.00 1.00 1.00
1.00 1.00 0.97 1.00 1.00 1.00 1.00 0.96 1.00 1.00
1.00 1.00 1.00 0.98 0.95 1.00 1.00 1.00 1.00 1.00
0.98 1.00 1.00 1.00 0.95 1.00 1.00 1.00 1.00 1.00
1.00 1.00 1.00 1.00 1.00 1.00 0.98 1.00 0.99 0.98
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1.00 1.00 0.99 1.00 1.00 1.00 1.00 0.96 1.00 1.00
100*1.00
100*0.99
100*0.98
100*1.00

8.163. XKRW - Water Relative Permeability Multiplier 713


Tempest MORE Help, Release 8.1

The water relative permeability multiplier array is then displayed in the Initial tab of the results for display
in 3D, as illustrated in the following figure.

714 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.164 XPCG - Gas Capillary Pressure Multiplier

Location

GRID Section

Description

The XPCG keyword is used to scale the gas-oil capillary pressure in a gas-oil relative permeability curve defined
by KRGO. Arguments for the XPCG keyword consist of an array of gas capillary pressure multipliers. Cells will
be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values,
an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8 can be used to assign a
value of 102.8 to 150 cells).

Definitions

1. Gas capillary pressure multipliers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In a 1x1x70 grid, we have set the gas-oil capillary pressure using the KRGO table as follows. See XPCG.dat
for complete example:

--* Gas-Oil Rel Perms


--*Sg(frac) Krg(dimless) Krog(dimless) Pcgo
KRGO
0.0 0.0 1.0 0 /
1.0 1.0 0.0 10 /
/

Displaying the gas-oil capillary pressure in the 3D Viewer, we see the following:

8.164. XPCG - Gas Capillary Pressure Multiplier 715


Tempest MORE Help, Release 8.1

XPCG is then used to populate the grid with 70 gas capillary pressure multipliers equal to 0.25 to scale the
gas-oil capillary pressure to be one-quarter of its current value.

XPCG
70*0.25

The resulting gas-oil capillary pressure and the effect it has on the gas-oil transition zone can be seen in the
following figures:

716 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

The gas capillary pressure multiplier array will also appear in the Initial tab of the results for display in 3D,
as shown in the following figure.

8.164. XPCG - Gas Capillary Pressure Multiplier 717


Tempest MORE Help, Release 8.1

8.165 XPCW - Water Capillary Pressure Multiplier

Location

GRID Section

Description

The XPCW keyword is used to scale the water-oil capillary pressure in an oil-water relative permeability curve
defined by KRWO. Arguments for the XPCW keyword consist of an array of water capillary pressure multipliers.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (that is, 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Water capillary pressure multipliers


• Default: 1

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. In a 1x1x70 grid, we have set the oil-water capillary pressure using the KRWO table as follows. See
XPCW.dat for complete example:

--* Water-Oil Rel Perms


--*Sw(frac) Krw(dimless) Krow(dimless) Pcow
KRWO
0.00 0.0 1.0 10 /
1.00 1.0 0.0 0 /
/

Displaying the oil-water capillary pressure in the 3D Viewer, we see the following:

718 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

XPCW is then used to populate the grid with 70 water capillary pressure multipliers equal to 0.5 to scale
the oil-water capillary pressure to be one-half of its current value.

XPCW
70*0.5

The resulting oil-water capillary pressure and the effect it has on the oil-water transition zone can be seen
in the figures below:

8.165. XPCW - Water Capillary Pressure Multiplier 719


Tempest MORE Help, Release 8.1

The water capillary pressure multiplier array will also appear in the Initial tab of the results for display in
3D, as shown below.

720 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.166 Y-DI - Y-Direction Grid Spacing

Location

GRID Section

Description

The Y-DI keyword is used to define grid spacing in the y-direction. Its arguments consist of three records. The
first record is an optional argument used to describe the vertical variation of the Y-DI array. This argument should
directly follow after the Y-DI keyword on the same line. The second record describes the grid processing method
used and it should be listed on a separate line following the Y-DI keyword. The third record defines the grid
spacing values in the y-direction and this record should be listed on a separate line below the second record.

Definitions

RECORD 1:
1. One of the following array data entry sub-keywords (optional): GEOL, UNIF, or VARI
• Default: VARI
RECORD 2:
1. One of the following grid processing sub-keywords: CONS, VARI, or LOGA
• Default: VARI
RECORD 3:
1. Y-direction grid spacing values
• Units: feet (Field), metres (Metric)

Examples

1. Y-DI is used with CONS to specify a uniform grid spacing and a total grid length of 10000 in the y-direction.
See Y_DI_CONS.dat for complete example:

Y-DI
CONS
10000

8.166. Y-DI - Y-Direction Grid Spacing 721


Tempest MORE Help, Release 8.1

2. Y-DI is used with VARI to specify 10 grid spacings of varying lengths in the y-direction. See
Y_DI_VARI.dat for complete example:

Y-DI
VARI
1000 2*500 2000 1000 2500 250 750 1000 500

722 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. Y-DI is used with LOGA to specify logarithmic grid spacing in the y-direction. See Y_DI_LOGA.dat for
complete example:

Y-DI
LOGA
10000 1.2

8.166. Y-DI - Y-Direction Grid Spacing 723


Tempest MORE Help, Release 8.1

724 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.167 YDIV - Grid Subdivisions in the Y-direction

Location

GRID Section (before the COOR keyword)

Description

The YDIV keyword is used to specify grid subdivisions in the y-direction. The YDIV keyword acts as a tool that
can be used to simplify the input of grid data for large grids. Thus, YDIV must appear before the COOR keyword
is entered. The sum of the values of the arguments entered for YDIV must equal the number of grid intervals
in the y-direction specified by SIZE or SPEC. All arguments should be listed on a separate line below the YDIV
keyword and this list must be terminated by a slash (/).

Definitions

1. Number of grid intervals in the ith grouping (the total of all the grid interval divisions must equal the number
of grid intervals in the y-direction.)

Notes

• When layer properties are set using array keywords, the number of values will similarly correspond to the
number of grid intervals.
• To restore input on the original grid, use NOXY.

Example

1. In a 1x2x1 grid, COOR and ZCOR data is specified as shown below:

SIZE 1 2 1

COOR
0.00000 0.00000 5000.00 0.00000 0.
,→ 00000 6000.00
10000.00 0.00000 5000.00 10000.00 0.
,→00000 6000.00

0.00000 5000.00 5000.00 0.00000 5000.


,→ 00 6000.00
10000.00 5000.00 5000.00 10000.00 5000.
,→ 00 6000.00

0.00000 10000.00 5000.00 0.00000 10000.


,→ 00 6000.00
10000.00 10000.00 5000.00 10000.00 10000.
,→ 00 6000.00
/

--* Set Depth


ZCORn
8*5000.00
8*6000.00
/

8.167. YDIV - Grid Subdivisions in the Y-direction 725


Tempest MORE Help, Release 8.1

If we wanted to simplify the input of the grid data, we could introduce YDIV to subdivide the two intervals
in the y-direction into one larger interval. We would then only need to specify COOR and ZCOR for the one
large interval in the y-direction (that is, two corner point locations in y) instead of the two intervals initially
specified (that is, three corner point locations in y). See YDIV.dat for complete example:

SIZE 1 2 1

YDIV
2 /

COOR
0.00000 0.00000 5000.00 0.00000 0.
,→ 00000 6000.00
10000.00 0.00000 5000.00 10000.00 0.
,→00000 6000.00

0.00000 10000.00 5000.00 0.00000 10000.


,→ 00 6000.00
10000.00 10000.00 5000.00 10000.00 10000.
,→ 00 6000.00
/

--* Set Depth


ZCOR
4*5000.00
4*6000.00
/

Both sets of grid data above will give the following 3D grid:

2. In a 9x12x4 grid, YDIV is used to subdivide the 12 intervals in the y-direction into four larger intervals so
that grid data for the larger 9x12x4 grid can be specified using corner point data for the smaller 9x4x4 grid:

SIZE 9 12 4

YDIV
2 4 4 2 /

Now, when specifying grid coordinates using COOR and ZCOR, the specification should only be for the

726 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

four large intervals in the y-direction (that is, five corner locations in y) instead of the 12 intervals initially
specified.
3. A 2x2x1 grid is specified by providing a simplified input using the keywords COOR, DEPT, THIC, XDIV
and YDIV. The grid is populated with different active numbers using the keyword ACTN.

SPEC
2 2 1 /

XDIV
2 /

YDIV
2 /

COOR
0 0 5000 0 0 6000
10000 0 5000 10000 0 6000
0 10000 5000 0 10000 6000
10000 10000 5000 10000 10000 6000
/

DEPTH=5000
THIC=1000
K_X=100
PORO=0.1
CROC=3e-06
REFE=14.7000
ACTN
1 2 3 4

The active cell array is not honoured because keyword NOXY was not used to restore normal grid subdivi-
sions after keywords XDIV and YDIV are used:

If the keyword NOXY is used, the active cell array is honoured. See NOXY_ACTN.dat for complete exam-

8.167. YDIV - Grid Subdivisions in the Y-direction 727


Tempest MORE Help, Release 8.1

ple:

NOXY
ACTN
1 2 3 4

728 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.168 YGRI - Y-Grid Locations

Location

GRID Section

Description

The YGRI keyword is used to populate the cells in a grid with y-grid locations. Its arguments consist of an array
of y-grid locations. Cells will be populated in the x-direction first, followed by the y-direction, and then the z-
direction last. For repeated values, an asterisk can be used to assign a value to a specified number of cells (that is,
150*102.8 can be used to assign a value of 102.8 to 150 cells).

Definitions

1. Y-grid locations
• Units: feet (Field), metres (Metric)

Notes

• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. YGRI is used to populate a 2x2x2 grid with eight y-grid locations. See YGRI.dat for complete example:

YGRI
8000 8000
10000 10000
8000 8000
10000 10000

8.168. YGRI - Y-Grid Locations 729


Tempest MORE Help, Release 8.1

730 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.169 YKOG - Oil Relative Permeability Multiplier at Critical Gas


Saturation

Location

GRID Section

Description

The YKOG keyword is used to vertically scale the relative permeability of oil up to and at the oil saturation
corresponding to the critical saturation of the gas phase (plus connate saturation of the water phase). Cells will be
populated in the x-direction first, followed by the y-direction, and then the z-direction last. For repeated values,
an asterisk can be used to assign a value to a specified number of cells (that is, 150*0.8 can be used to assign a
value of 0.8 to 150 cells).

Definitions

1. Oil relative permeability multipliers


• Default: 1

Notes

• The requested multiplier will be used from an oil saturation of zero to the saturation corresponding to the
gas critical saturation (with connate water, if present); that is, YKOG will be used for 0 < So < SR where
SR = 1 − Sgcr − Swl .
• From the oil saturation corresponding to the other phase critical saturation to the maximum saturation of
1.0, the multiplier will interpolate from YKOG to XKRO that is, interpolation between XKRO and YKOG
will be used for SR < So < 1
– The default value of XKRO is 1.0.
• An alternative means of setting YKOG is to use the grid array KOGR (or the alias KRORG). This specifies
the required oil relative permeability at the crticial gas saturation (plus connation water saturation). MORE
will construct the required YKOG value from the supplied value and the table value

Examples

1. YKOG is used to set the oil relative permeability at critical gas to 0.6.

YKOG=0.6

The oil relative permeability multiplier YKOG array will then appear in the Initial tab of the results for
display in 3D.

8.169. YKOG - Oil Relative Permeability Multiplier at Critical Gas Saturation 731
Tempest MORE Help, Release 8.1

8.170 YKOW - Oil Relative Permeability Multiplier at Critical Water


Saturation

Location

GRID Section

Description

The YKOW keyword is used to vertically scale the relative permeability of oil up to and at the oil saturation
corresponding to the critical saturation of the water phase. Cells will be populated in the x-direction first, followed
by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a
specified number of cells (that is, 150*0.8 can be used to assign a value of 0.8 to 150 cells).

Definitions

1. Oil relative permeability multipliers


• Default: 1

Notes

• The requested multiplier will be used from an oil saturation of zero to the saturation corresponding to the
water critical saturation; that is, YKOW will be used for 0 < So < SR where SR = 1 − Swcr .
• From the oil saturation corresponding to the other phase critical saturation to the maximum saturation of
1.0, the multiplier will interpolate from YKOW to XKRO that is, interpolation between XKRO and YKOW
will be used for SR < So < 1
– The default value of XKRO is 1.0
• An alternative means of setting YKOW is to use the grid array KOWR (or the alias KRORW). This specifies
the required oil relative permeability at the critical saturation of the water phase. MORE will construct the
required YKOW value from the supplied value and the table value

Examples

1. YKOW is used to set the oil relative permeability at critical water to 0.6.

YKOW=0.6

The oil relative permeability multiplier YKOW array will then appear in the Initial tab of the results for
display in 3D.
Further examples on vertical scaling keywords can be found here.

732 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.171 YKRG - Gas Relative Permeability Multiplier at Critical Other-


Phase Saturation

Location

GRID Section

Description

The YKRG keyword is used to vertically scale the relative permeability of gas up to and at the gas saturation
corresponding to the critical saturation of the other phase. For a case with oil, water and gas this would be critical
oil in gas plus connate water. For a gas-water run it would be critical water. Arguments for the YKRG keyword
consist of an array of gas relative permeability multipliers. Cells will be populated in the x-direction first, followed
by the y-direction, and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a
specified number of cells (that is, 150*0.8 can be used to assign a value of 0.8 to 150 cells).

Definitions

1. Gas relative permeability multipliers


• Default: 1

Notes

• The requested multiplier will be used from a gas saturation of zero to the saturation corresponding to the
other phase critical saturation; that is, YKRG will be used for 0 < Sg < SR where SR = 1 − Sogcr − Swl
for three-phase runs, and SR = 1 − Swcr for gas/water runs.
• From the gas saturation corresponding to the other phase critical saturation to the maximum saturation of
1.0, the multiplier will interpolate from YKRG to XKRG that is, interpolation between XKRG and YKRG
will be used for SR < Sg < 1.
– The default value of XKRG is 1.0
• An alternative means of setting YKRG is to use the grid array KRGR. This specifies the required gas relative
permeability at the other phase critical saturation. MORE will construct the required YKRG value from the
supplied value and the table value

Examples

1. YKRG is used to set the gas relative permeability at critical oil and connate water to 0.6.

YKRG=0.6

The gas relative permeability multiplier YKRG array will then appear in the Initial tab of the results for
display in 3D.

8.171. YKRG - Gas Relative Permeability Multiplier at Critical Other-Phase Saturation 733
Tempest MORE Help, Release 8.1

8.172 YKRW - Water Relative Permeability Multiplier at Critical


Other-Phase Saturation

Location

GRID Section

Description

The YKRW keyword is used to vertically scale the relative permeability of water up to and at the water saturation
corresponding to the critical saturation of the other phase. For a case with oil, water and gas this would be critical
oil in water. For a gas-water run it would be critical gas. Arguments for the YKRW keyword consist of an array of
water relative permeability multipliers. Cells will be populated in the x-direction first, followed by the y-direction,
and then the z-direction last. For repeated values, an asterisk can be used to assign a value to a specified number
of cells (that is, 150*0.8 can be used to assign a value of 0.8 to 150 cells).

Definitions

1. water relative permeability multipliers


• Default: 1

Notes

• The requested multiplier will be used from a water saturation of zero to the saturation corresponding to
the other phase critical saturation i.e. YKRW will be used for 0 < Sw < SR where SR = 1 − Sowcr for
three-phase runs, and SR = 1 − Sgcr for gas/water runs.
• From the water saturation corresponding to the other phase critical saturation to the maximum saturation of
1.0, the multiplier will interpolate from YKRW to XKRW i.e. interpolation between XKRW and YKRW
will be used for SR < Sw < 1.
– The default value of XKRW is 1.0
• An alternative means of setting YKRW is to use the grid array KRWR. This specifies the required water
relative permeability at the other phase critical saturation. MORE will construct the required YKRW value
from the supplied value and the table value

Examples

1. YKRW is used to set the water relative permeability at critical oil to 0.5.

YKRW=0.5

The water relative permeability multiplier YKRW array will then appear in the Initial tab of the results for
display in 3D.

734 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.173 ZCOR - Grid Cell Corner Depths

Location

GRID Section

Description

The ZCOR keyword supplies corner point depths for cells in discontinuous form and is often used with the
ECLIPSE COORD keyword. ZCOR can only be entered for the global grid and its arguments consist of an
array of depth values.

Definitions

1. Depth values
• The number of depth values required is: 8 × Nx × Ny × Nz
where,
– Nx = number of cells in the x-direction,
– Ny = number of cells in the y-direction, and
– Nz = number of cells in the z-direction).

Examples

1. ZCOR is used to supply corner depth points to a 10x10x5 grid. See ZCOR.dat for complete example:

ZCOR
400*5000.00
400*5200.00
400*5200.00
400*5400.00
400*5400.00
400*5600.00
400*5600.00
400*5800.00
400*5800.00
400*6000.00

8.173. ZCOR - Grid Cell Corner Depths 735


Tempest MORE Help, Release 8.1

2. ZCOR is used to supply different corner depth points to a 10x10x5 grid. See ZCOR_NNC.dat for complete
example:

ZCOR
160*5000 240*5100
160*5200 240*5300
160*5200 240*5300
160*5400 240*5500
160*5400 240*5500
160*5600 240*5700
160*5600 240*5700
160*5800 240*5900
160*5800 240*5900
160*6000 240*6100

736 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

8.174 Z-DI - Define Z-direction Rotation/Translation

Location

GRID Section

Description

The Z-DI keyword is used to rotate and/or translate a grid in the z-direction. This keyword consists of six argu-
ments which should be entered on a separate line below the Z-DI keyword.

Definitions

1. Angle of dip from the vertical (θ)


• Default: 0
• Units: degrees
2. Dip direction angle, clockwise from x-axis to the direction of maximum dip (φ)
• Default: 0
• Units: degrees
3. Reference depth to which the rotation point is to be moved (d0 )
• Default: 0
• Units: feet (Field), metres (Metric)
4. X-coordinate of the rotation point (x0 )
• Default: 0
• Units: feet (Field), metres (Metric)
5. Y-coordinate of the rotation point (y0 )
• Default: 0
• Units: feet (Field), metres (Metric)
6. Z-coordinate of the rotation point (z0 )
• Default: 0
• Units: feet (Field), metres (Metric)

Notes

• The following formula is used to calculate the new cell position (x0 , y 0 , z 0 ) :

x0 = x0 + (x − x0 )(cos2 φ × cos θ + sin2 φ) + (y − y0 )(cos φ × sin φ × cos θ + cos φ × sin φ) − (z − z0 ) cos φ × co

y 0 = y0 + (x − x0 )(sin φ × cos φ × cos θ − cos φ × sin φ) + (y − y0 )(sin2 φ × cos θ + cos2 φ) − (z − z0 ) sin φ × cos

z 0 = d0 + (x − x0 ) cos φ × sin θ + (y − y0 ) sin φ × sin θ + (z − z0 ) cos θ

8.174. Z-DI - Define Z-direction Rotation/Translation 737


Tempest MORE Help, Release 8.1

• The transformation to the new z-direction is applied at the start of the grid calculations. MORE 6 transforms
the cell positions as well as the cell depths, so the new grid locations are visible in Tempest. If well positions
are specified in xyz space, remember that the grid has been moved by the transformation. Please see the
examples below for more information.
• Z-DI cannot be used for radial grids.

Examples

1. Given the grid seen in the “ORIGINAL” figure below, Z-DI is used to dip the grid by 10o . See Z_DI.dat for
complete example:

Z-DI
10 5*

Both the original and modified grid and their new depths can be seen below.

2. Given the grid seen in the “ORIGINAL” figure below, Z-DI is used to dip the grid by 10o in the minus
x-direction. See Z_DI_2.dat for complete example:

Z-DI
10 -180 4*

Both the original and modified grid and their new depths can be seen below.

738 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

3. Given the grid seen in the “ORIGINAL” figure below, Z-DI is used to translate the grid from the point
(0,0,0) at an original reference depth of 5000 down to a new reference depth of 6000. See Z_DI_3.dat for
complete example:

Z-DI
0 0 1000 0 0 0

Both the original and modified grid and their new depths can be seen below.

8.174. Z-DI - Define Z-direction Rotation/Translation 739


Tempest MORE Help, Release 8.1

8.175 ZONE - Zones for Array Printing

Location

GRID Section (after the PRIN keyword is used)

Description

The ZONE keyword is used to specify zones for array printing to the GRID section of the Print file. This keyword
must be paired with the PRIN keyword in the GRID section of the input files. ZONE consists of six required
arguments which follow directly after ZONE on the same line.

Definitions

1. i-index of the starting point of the array to be printed in the x-direction


2. i-index of the last point of the array to be printed in the x-direction
3. j-index of the starting point of the array to be printed in the y-direction
4. j-index of the last point of the array to be printed in the y-direction
5. k-index of the starting point of the array to be printed in the z-direction
6. k-index of the last point of the array to be printed in the z-direction

Notes

• If no zones are specified, values will be printed for the entire grid.

Examples

Given the following grid below where all inactive cells appear in grey:

1. PRIN is used with the ZONE keyword to specify that the porosity values in the active cells in a zone that
ranges from cells 1,1,1 to 4,3,2 will be output to the GRID section of the print file for post-processing. See
PRIN_ZONE.dat for complete example:

740 Chapter 8. Tempest MORE grid section keywords


Tempest MORE Help, Release 8.1

PRIN ACTI PORO


ZONE 1 4 1 3 1 2

This results in the following data output in the print file:

MAP=======================================================================================
Map of PORO at 1 Jan 2000, 0.0 days
==========================================================================================

Layer iz= 1
ix= : 1 2 3 4
Row iy= 1: 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0
Row iy= 3: 0.300 0.300 0.0 0.0

Layer iz= 2
ix= : 1 2 3 4
Row iy= 1: 0.300 0.300 0.300 0.300
Row iy= 2: 0.300 0.300 0.0 0.0
Row iy= 3: 0.300 0.300 0.0 0.0

==========================================================================================

8.175. ZONE - Zones for Array Printing 741


Tempest MORE Help, Release 8.1

742 Chapter 8. Tempest MORE grid section keywords


CHAPTER

NINE

TEMPEST MORE INIT SECTION KEYWORDS

9.1 Discussion of Equilibrium and Non-equilibrium Initialisation

The equilibrium initialisation option starts with the three phases in gravity capillary pressure equilibrium. If the
capillary pressures are non-zero, there will be transition zones in which the difference in the phase hydrostatic
pressures are balanced by the capillary pressures. Outside the transition zones the pressure variation with depth is
such that the mobile phases are in hydrostatic equilibrium.
Generally an equilibrated solution is quiescent - it will not change if the simulator is run with no production or
injection, so the initial solution is stable and there is no flow in the absence of any wells or aquifer support.

Fig. 9.1: Equilibration of the reservoir

There is no problem having multiple saturation tables used in the same equilibration region. Different pressure
tables should only occur in different equilibration regions, as they imply different vertical pressure variations.
When multiple equilibration regions are used these should generally not be in communication, to avoid large
initial flows attempting to equalise the contact depths. In this case, it is also possible to specify threshold pressures
between equilibration regions to enforce a quiescent initial solution. The non-equilibrium initialisation option
allows a completely general specification of the initial pressures and saturations. This is very general, and allows
the simulator to be initialised using log data, but can easily produce a non-quiescent initial solution and so should
be used with caution.
It is possible to specify an initial water saturation distribution with an equilibrium initialisation solution - the basic
hydrostatic pressure variation with depth is retained, but additional capillary pressure terms are added on a cell by

743
Tempest MORE Help, Release 8.1

cell basis to stabilise the initial solution and ensure that the initial solution becomes quiescent. See Stabilisation
of the Initial Solution using Capillary Pressure Modifications.
Further information on initialisation can be found in the Technical Reference.

744 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.2 Initial Property Array Processing

Location

INIT Section

Syntax

array(l1 : l2 ) {DISC CONT GEOL BLOC VARI}


or
array(l1 : l2 ) = an array processing expression

Definitions

array The name of an array or property to be specified or modified. See below for the list of relevant arrays.
(l1 : An optional layer range specification. Default is all layers.
l2 )
BLOC Vertically the array has a value for each layer of cells (Nz values)
DISC Values at the top and bottom of each layer (2.Nz values).
CONT Vertically the array is continuous (Nz +1 values).
GEOL Vertically the array is represented by piecewise discontinuous constants over the groupings specified
by the LAYEring keyword.
UNIF The array is vertically uniform, only one layer of data is read.
VARI Values are variable by layer.
The relevant arrays are listed here.

Example

PRESSURE
ZVAR
2000 2010 2018 2030

Notes

• All the rules for entering grid arrays described in the GRID section apply to solution arrays set in the INIT
section.
• It is possible to use SWAT with equilibrium initialisation. When SWAT is used with equilibrium initialisa-
tion, the user-supplied initial water saturation will be used with the pressure distribution from the equilibra-
tion, but introducing an extra capillary pressure contribution to support the specified water saturations.
• In a dissolved gas run, if a supplied bubble point is greater than the supplied pressure in a cell, (which would
correspond to supersaturated oil), the bubble point will be reset to the cell pressure.
• In a vapourised oil run, if a supplied RV value (the vapour oil-gas ratio) is greater than the saturated RV at
the supplied cell pressure, (which would correspond to supersaturated vapour), the RV value will be reset to
the cell saturated RV value.
• GCRI may be entered as an alternative to PDSI. GCRI sets the initial gas/coal ratio in scf/ton or m3 /tonne.
PSDI will be set up as a function of GCRI so that the required initial gas content is obtained.
The relationship between the gas-coal ratio (GCR) the coal desorption pressure is:
P DS
GCR = CLAN ×
P LAN + P DS

9.2. Initial Property Array Processing 745


Tempest MORE Help, Release 8.1

GCR
P DS =
CLAN − CGR
If the calculated coal desorption pressure is greater than the initial pressure, it will be reset to the initial
pressure. Note that the GCRI value entered is a function of the coal alone - an ash fraction is not included
when calculating the desorption pressure.

746 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.3 AQCT - Carter-Tracy Aquifer

Location

INIT Section

Description

The AQCT keyword is used to specify the properties for a Carter-Tracy aquifer. Arguments for AQCT consist
of ten required arguments and four optional ones. All of these arguments should be entered in succession on the
same line as the AQCT keyword itself when used.

Definitions

1. Name of the aquifer


2. Datum depth of the aquifer
• Units: feet (Field), metres (Metric)
3. Aquifer permeability
• Units: mD
4. Aquifer porosity
5. Aquifer compressibility (sum of water and rock terms)
• Units: 1/psi (Field), 1/bar (Metric)
6. Aquifer inner radius (approximate reservoir outer radius)
• Units: feet (Field), metres (Metric)
7. Aquifer angular extent
• Units: degrees
8. Height of aquifer
• Units: feet (Field), metres (Metric)
9. Initial aquifer pressure
• Units: psia (Field), barsa (Metric)
• Default: This can be defaulted, in which case the aquifer will be placed into equilibrium with the
initial reservoir pressure. The initial reservoir pressure will be preserved through restarts.
10. Water viscosity
• Units: cP (Field), cP (Metric)
• Default: This can be defaulted, in which case MORE looks up the viscosity in the water pressure table
(please see notes below for more information).
11. Water pressure table index
• Default: 1
12. Influence function table index
• Default: This can be defaulted, in which case MORE applies its internal default influence function
table (please see notes below for more information).
13. Salt concentration
• Units: lb/stb (Field), kg/sm3 (Metric)

9.3. AQCT - Carter-Tracy Aquifer 747


Tempest MORE Help, Release 8.1

• Default: 0.0
14. EQUI (optional) - the aquifer will be set up in equilibrium with the reservoir; has same effect as defaulting
the initial pressure.
15. NOBACK (optional) - used to ban water backflow (please see notes below for more information).

Notes

• Once the aquifer has been defined with AQCT, it should be connected to the reservoir using AQCO.
• If the water viscosity argument is defaulted MORE looks up the viscosity in the water pressure table. This
change makes it possible to have the viscosity in line with the other water properties, i.e. by looking them
up from the same table. Earlier versions of MORE use a viscosity default value of 0.3 cP. The previous
behaviour can be recovered by setting the viscosity argument to 0.3 instead of defaulting it.
• The influence function table index defaults to table 0. In this default case, the Carter-Tracy model will use
the default radial flow, infinite reservoir, constant terminal rate influence function due to Van Everdingen
and Hurst. If a value greater than zero is entered, the required influence function table should be entered
using the AQUT keyword. Please note that the required influence function table should have been entered
before that table is used in an AQCT keyword.
• The salt concentration has an effect only in Brine Tracking applications and should only be specified when
using this option.
• Water backflow from the reservoir to the aquifer is permitted since MORE 6.2. However, to ban backflow
and obtain compatibility with earlier versions of MORE, the NOBACK argument may be used.
• See the Aquifer Modelling section of the MORE Technical Reference for more information regarding
Aquifer Modelling in Tempest.

Examples

1. AQCT is used to define a Carter-Tracy aquifer named AQ1. This aquifer will have a depth of 7450, a
permeability of 10 mD, a porosity of 0.1, a compressibility of 0.00001, an inner radius of 1000, an angular
extent of 360o , and a height of 50. The initial aquifer pressure will be defaulted to be in equilibrium with
the initial reservoir pressure and finally, a water viscosity of 0.30 is assigned to the aquifer.

AQCT AQ1 7450 10 0.1 0.00001 1000 360 50 1* 0.3

748 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.4 AQCO - Connect an Aquifer

Location

INIT Section

Description

The AQCO keyword is used to connect an analytical aquifer to a reservoir in x,y,z coordinates. Before an analytical
aquifer can be connected it must be defined using either AQCT for a Carter-Tracy or AQFE for a Fetkovich aquifer.
AQCO consists of eight required and four optional arguments, all of which should be entered in succession on the
same line as the AQCO keyword itself.

Definitions

1. Name of the aquifer


2. Lower x-index limit of connection box
• Default: 1
3. Upper x-index limit of connection box
• Default: Nx
4. Lower y-index limit of connection box
• Default: 1
5. Upper y-index limit of connection box
• Default: Ny
6. Lower z-index limit of connection box
• Default: 1
7. Upper z-index limit of connection box
• Default: Nz
8. Face to which connection is to be made - X-, X+, Y-, Y+, Z-, or Z+ (I-, I+, J-, J+, K-, or K+ may also be
used)
Any combination of faces X-, X+, Y-, Y+, Z-, or Z+ may be specified together, such as X-Y-Z- or X+Y+.
The combination must be entered as a single string without spaces.
Additional options for the face argument are:
ALL : equivalent to X+X-Y+Y-Z+Z-
• Default: If defaulted, boundary cells will be assumed on all available faces (option ALL).
9. Allow aquifer connections into internal cells which were made inactive due to a MINPV or MINDZ limit
(optional)
• Y/N (default: Y)
10. Region name for connection to the aquifer (optional)
• If this is not specified, the aquifer will be connected acording to the connection box. If this refers to
the name of a region array, then the aquifer connections are considered only for cells where the region
array is nonzero and which lie within the connection box.
11. Influx coefficient
• Default: 1.0, unless modified by AQWO

9.4. AQCO - Connect an Aquifer 749


Tempest MORE Help, Release 8.1

12. Influx multiplier


• Default: 1.0, unless modified by AQWO

Notes

• The aquifer will be connected to any available face in the specified direction in the box. This includes both
external faces on the edge of the reservoir and internal faces with no active neighbour. For the purposes of
AQCO, Z is regarded as increasing downwards.
An aquifer connection is made if no active neighbour is in the specified direction within the box. However,
this may not be the desired behaviour when the neighbour is inactive due to a MINP limit. Setting the 9th
argument to N ensures no connection is made in this case. Then aquifer connections will only be made
when the neighbour is inactive because ACTN =0.
• Several AQCO keywords may be specified for the same aquifer to build up the required number of connec-
tions.
• When an optional region is supplied as the 10th argument, it may be convenient to define this region by the
using DEFI keyword.
If the DEFI keyword is defined in the GRID section, it is essential to use the SAVE argument to ensure the
array does not get deleted after processing of the GRID section.
• The influx from the aquifer will be shared between the connected cells. The fraction Fi of the total influx
from the aquifer into the reservoir for every aquifer connection i is determined by the product of the influx
coefficient Ci and the influx multiplier Mi of that connection, i.e.
Ci Mi
Fi = P
i Ci Mi

The default influx coefficient/multiplier are set according to the AQWO keyword, but they may be manually
set using the using the 11th and 12th arguments of the AQCO keyword. In this case, the units of Ci and Mi
should be made consistent with the AQWO setting, to ensure that a mixture of defaulted and user-defined
coefficients result in well-defined factors Fi .

Examples

1. AQCO is used to connect the AQ1 aquifer in the Z+ direction to the base of the 17th layer in a model.

AQCO AQ1 1* 1* 1* 1* 17 17 Z+

2. AQCO is used to connect the AQ1 aquifer in the X, Y and Z+ direction to layers 12-18 in a model. The
areal extent of the connection is described by a user-defined region array ASEC.
In the GRID section (typically an include file is used to import the definition of ASEC from another pro-
gram):

DEFI ASEC
'Aquifer connection region'

-- Define ASEC region array here

In the INIT section:

AQCO AQ1 1* 1* 1* 1* 12 18 X+X-Y+Y-Z+ ASEC

750 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.5 AQFE - Fetkovitch Aquifer

Location

INIT Section

Description

The AQFE keyword is used to specify the properties of a Fetkovitch aquifer. AQFE consists of six required
arguments and two optional ones, all of which should be entered in succession on the same line as the AQFE
keyword itself when used.

Definitions

1. Name of the aquifer


2. Datum depth of the aquifer
• Units: feet (Field), metres (Metric)
3. Initial pore volume of the aquifer, i.e. initial water content
• Units: stb (Field), sm3 (Metric)
4. Aquifer compressibility (sum of water and rock terms)
• Units: 1/psi (Field), 1/bar (Metric)
5. Aquifer productivity
• Units: stb/day/psi (Field), sm3 /day/bar (Metric)
6. Initial aquifer pressure
• Units: psia (Field), barsa (Metric)
• Default: This can be defaulted, in which case the aquifer will be placed into equilibrium with the
initial reservoir pressure. The initial reservoir pressure will be preserved through restarts.
7. Water pressure table index
• Default: 1
8. Salt concentration
• Units: lb/stb (Field), kg/sm3 (Metric)
• Default: 0.0
9. EQUI (optional) - the aquifer will be set up in equilibrium with the reservoir; has same effect as defaulting
the initial pressure.
10. NOBACK (optional) - used to ban water backflow (please see notes below for more information).

Notes

• Once the aquifer has been defined with AQFE, it should be connected to the reservoir using AQCO.
• Water backflow from the reservoir to the aquifer is permitted since MORE 6.2. However, to ban backflow
and obtain compatibility with earlier versions of MORE, the NOBACK argument may be used.
• The salt concentration has an effect only in Brine Tracking applications and should only be specified when
using this option.

9.5. AQFE - Fetkovitch Aquifer 751


Tempest MORE Help, Release 8.1

• See the Aquifer Modelling section of the MORE Technical Reference for more information regarding
Aquifer Modelling in Tempest.

Examples

1. AQFE is used to define a Fetkovitch aquifer named AQ1 with a depth of 7450, an initial pore volume of
2.3E10, a compressibility of 0.5E-5, and a productivity of 20200.

AQFE AQ1 7450 2.3E10 0.5E-5 20200

752 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.6 AQUT - Carter-Tracy Influence Function Table

Location

INIT Section

Description

The AQUT keyword is used to introduce a Carter-Tracy aquifer influence function table. The Carter-Tracy aquifer
model normally uses the radial flow, infinite reservoir, constant terminal rate influence function of van Everdingen
and Hurst (table 1,1 ). This is the default table, but users may wish to specify an alternative table of dimensionless
pressure vs. dimensionless time. AQUT may be used to enter a series of such tables.
Arguments for AQUT consist of a table with two required columns. This table should start on a separate line below
the AQUT keyword and data entry for AQUT must be terminated by a solitary slash (/) on its own line below the
last row of AQUT data.

Definitions

The following arguments should be entered in a tabular format:


• Time
• Pressure

Notes

• The use of one of the user-defined influence function tables is selected by specifying a non-default influence
function table as the 12th argument of the AQCT keyword.
• In the case of extrapolation MORE uses a scaled version of the default table (of van Everdingen and Hurst).
The scaling is such that the user-specified table is matched.

Examples

1. AQUT is used to define a Carter-Tracy influence function table.

AQUT
0 0
1.0E-2 0.19
2.0E-1 0.41
4.0E-1 0.62
1.0 0.82
1.5 0.92
4.0 1.30
10 1.65
50 2.38
100 2.73
500 3.51
1000 3.86
/

1 Carter, R.D. and Tracy, G.W., Trans., AIME SPE-1626-G, Vol. 219 (1960)

9.6. AQUT - Carter-Tracy Influence Function Table 753


Tempest MORE Help, Release 8.1

9.7 AQUW - Force 100% Water Saturation in Water Zone

Location

INIT Section

Description

The AQUW keyword is used to force 100% water saturation in the water zone of an aquifer. By default, MORE
sets water saturations below the water-oil transition zone to 1, even if an SWU value of less than 1 is entered.
AQUW allows this behaviour to be changed.
Arguments for AQUW consist of two optional arguments which should be entered on the same line as the AQUW
keyword itself if used. If no value is entered for these optional arguments, they will take on the default value.

Definitions

1. Operation mode (optional): ON or OFF


• ON (default) - force 100% water saturation in water zone
• OFF - do not force 100% water saturation in water zone
2. Option to set Swat=1 below the oil-water contact even if saturations set explicitly. For example, using
SWATINIT. Default is to use the explicitly set values.
• SWI - force 100% water saturation in water zone, below the oil-water contact, over-riding user-
specified values. Also, do not use values of water saturation greater than 0.9999 above the oil-water
contact

Notes

• YES and NO may be used as aliases for ON and OFF when forcing 100% water saturation in the water zone
on and off, respectively.
• When running under ECLIPSE tuning, the setting of water saturations to 100% in the water zone is turned
OFF - AQUW may be used to turn it back on if required.

Examples

1. AQUW with the ON option is used to force 100% water saturation in the water zone of an aquifer.

AQUW ON

2. AQUW with the OFF option is used to stop forcing 100% water saturation in the water zone of an aquifer.

AQUW OFF

3. AQUW with the ON and SWI option is used to force 100% water saturation below the Oil-Water Contact
when SWATINIT is specified.

AQUW ON SWI

754 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.8 AQWO - Aquifer Connection Weight Option

Location

INIT Section

Description

The AQWO keyword is used to set the defaults for the analytical aquifer connection influx coefficient and multi-
pliers. AQWO consists of one optional argument which should be entered on the same line as the AQWO keyword
itself. If no value is entered for this optional argument, it will take on the default value.
The fraction Fi of the total influx from an aquifer into the reservoir for every aquifer connection i is determined
by the product of the influx coefficient Ci and the influx multiplier Mi of that connection, i.e.
Ci Mi
Fi = P
i C i Mi

The influx coefficient and multipliers may be set using the 11th and 12th arguments of the AQCO keyword.

Definitions

1. Weight option (optional): EVEN, AREA, or KAREA


• EVEN (default) - influx coefficient = 1.0, influx multiplier = 1.0
• AREA - influx coefficient = cell face area, influx multiplier = 1.0
• KAREA - influx coefficient = cell face area, influx multiplier = cell permeability

Notes

• The AQWO settings have an effect only on aquifer connections where the influx coefficient and/or the influx
multiplier are not specified or defaulted.
• Weight option EVEN gives back compatibility with older versions of MORE.
• Weight option AREA gives compatibility with ECLIPSE.
• Weight option KAREA is the recommended option.

Examples

1. AQWO is used with the AREA option to specify that aquifer connection weighting will be dependent on
area.

AQWO AREA

9.8. AQWO - Aquifer Connection Weight Option 755


Tempest MORE Help, Release 8.1

9.9 GCPG - Allow or Not Allow Connate Oil in Gas Cap

Location

INIT Section

Description

The GCPG keyword is used to allow or not allow connate oil in gas cap. By default, MORE does not place a
connate oil saturation in the gas cap above the oil-gas transition zone. GCPG allows this behaviour to be changed.
GCPG takes one argument which should be entered on the same line as the GCPG keyword itself. If no value is
entered for this arguments, it will take the default value.

Definitions

1. Operation mode (optional): ON or OFF


• ON (default) - no connate oil in the gas cap
• OFF - connate oil in the gas cap

Notes

• YES and NO may be used as aliases for ON and OFF.


• When running under ECLIPSE tuning, the default becomes GCPG OFF. GCPG may be used to turn it back
on if required.

Examples

GCPG with the OFF option is used to allow connate oil in the gas cap.

GCPG OFF

756 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.10 INIT - Initialisation Section Header Line

Location

INIT Section

Description

The INIT keyword is used as a section header to indicate the beginning of the Initialisation section. The Initialisa-
tion section must begin with the INIT keyword before any other INIT section keywords can be used. Arguments
for INIT consist of one optional argument which should be entered on the same line as the INIT keyword itself if
used.
The Initialization section is used to define the initial conditions for the simulation. For more details on the Initiali-
sation section, please see the Initialisation Data Section Overview. Additionally, please also see the Discussion of
Equilibrium and Non-equilibrium Initialisation section and the Technical Reference Initial Conditions for more
information.

Definitions

1. System equilibrium status (optional): EQUI or NEQU


• EQUI (default) - specifies equilibrium initialisation
• NEQU - specifies non-equilibrium initialisation

Notes

• NONE may be used as an alias for NEQU to specify non-equilibrium initialisation.

Example

1. INIT is used to specify a non-equilibrium Initialisation section.

INIT NEQU

9.10. INIT - Initialisation Section Header Line 757


Tempest MORE Help, Release 8.1

9.11 OFIP - Original Fluids in Place

Location

INIT Section

Description

The OFIP keyword is used to provide original fluid in place values. OFIP is useful when the simulation does not
start at original reservoir conditions (e.g. when the simulation starts after primary depletion or when the simulation
starts at tertiary conditions.) In this situations, the OFIP keyword can be used to supply the true original fluids in
place.
Arguments for OFIP consist of a two records. The first record consists of one required argument which should
be entered on the same line as the OFIP keyword itself when used. The second record consists of up to three
arguments which should be entered on a separate line below the OFIP keyword when used.

Definitions

RECORD 1:
1. Name of region for which original fluid in place values apply
• ALL specifies the total reservoir
RECORD 2:
1. Original stock tank volume of oil
• Units: Mstb (Field), ksm3 (Metric)
• Default: the value at the start of the simulation
2. Original volume of gas at standard conditions
• Units: MMscf (Field), Msm3 (Metric)
• Default: the value at the start of the simulation
3. Original stock tank volume of water
• Units: Mstb (Field), ksm3 (Metric)
• Default: the value at the start of the simulation

Notes

n/a

Examples

1. OFIP is used to specify that material balance calculations for the entire reservoir should use a value of
30,000 for the original oil in place. The values for gas and water will be defaulted to those at the beginning
of the simulation.

OFIP ALL
30000

758 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

2. OFIP is used to specify that material balance calculations for the entire reservoir should use a value of
20,000 for the original oil in place and a value of 25,000 for the original water in place. The value for gas
will be defaulted to the value it has at the beginning of the simulation.

OFIP ALL
20000 1* 25000

9.11. OFIP - Original Fluids in Place 759


Tempest MORE Help, Release 8.1

9.12 PCSC - Set Options for Initial Capillary Pressure Scaling

Location

INPUt Section

Description

The PCSC keyword is used to set options for initial capillary pressure scaling when SWAT or SGAS are specified
in the INIT section. When using INIT EQUI with EQUI, PCSC can be used to scale the capillary pressure to
stabilise the initial solution while honouring an initial saturation distribution. PCSC is an alternative to PCSH ,
which applies a shift to the capillary pressures to achieve stability of the initial solution.
The keyword PCSH is recommended over PCSC.
Typically, when initial water or gas saturations are specified using SWAT or SGAS keywords, PCSC may be used to
ensure the initial solution is stable, so there is no flow in the absence of any well production or injection. Capillary
pressure scalings for XPCG, XPCW are calculated for each grid cell in the model and are applied throughout the
simulation.
For example, in the oil-water case, an additional scaling P cowScale is calculated for each grid cell. The oil-water
capillary pressure P cow used by MORE during the simulation is then
P cow = P cowLookup (Sw) × P cowScale ,
where P cowLookup (Sw) is the capillary pressure data taken from the KRWO table (and with any user-defined
end-point scaling). The additional scaling P cowScale in P cog is applied analogously.
Arguments for PCSC consist of one optional argument which should be entered on the same line as the PCSC
keyword itself if used. If no value is entered for this optional argument, it will take on the default value.

Definitions

1. Scaling option (optional): MIN, LIMI, FULL, or OFF


• MIN (default) - adds a minimal set of scalings to cells in which two phases are mobile. This is the
default and is recommended.
– P cog shifts are only applied in the oil-gas transition zone between the highest depth of mobile oil
in gas and the lowest depth of mobile gas
– P cow shifts are only applied in the oil-water transition zone between the highest depth of mobile
water and the lowest depth of mobile oil in water
• LIMI - the same as MIN but does not apply to all cells in which two phases are mobile:
– P cog scalings only calculated for cells below the gas-oil contact entered with EQUI
– P cow scalings are only calculated for cells above the water-oil contact depth interval
• FULL - scales the capillary pressures of all the cells in the reservoir so that all phases lie on their
hydrostatic pressure curves. This ensures the solution is stable, but makes it easy for water to rise and
gas to sink in the reservoir.
• OFF - turns off the capillary pressure scaling. The initial solution will not generally be static and
it may be worth running the reservoir for a period with no production or injection to allow transient
efforts to resolve.

760 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

Notes

• PCSC is typically used whenever initial water (and gas) saturations SWAT (and SGAS) are specified. If
SWAT (and SGAS) are specified, then they must be specified for each active cell in the grid in order for
PCSC to have an effect. In some cases, one may wish to honour an initial saturation distribution (such
as SWAT in the oil-water transition zone) without knowledge of the oil-water capillary pressure curves
P cow: Use of the PCSC keyword will calculate the oil-water capillary pressure scalings to ensure the initial
solution is stable. These scalings are applied throughout the simulation.
• When specifying initial saturation distributions (SWAT and SGAS) in the INIT section, use the keyword
EQUI to specify the contact depths. PCSC will then instruct MORE to calculate oil-water (for SWAT) and
gas-oil (for SGAS) capillary pressure scalings (XPCW, XPCG) such that the initial solution is stable: there
will be no (or minimal) movement of fluids on initialisation in the absence of well production and injection.
MORE will first construct hydrostatic phase pressure curves given the data in EQUI and then calculate the
capillary pressures which would be required to support the initial saturation distribution.
For example, to support an initial SWAT distribution, the oil-water capillary pressure scaling P cowScale in
the mobile oil-water region will be calculated from the relation

P o − P w = P cowLookup (SW AT ) × P cowScale ,

using phase pressures P o for oil, P w for water, and the entered oil-water capillary pressure P cowLookup
(taken from the KRWO table and with any user-defined end-point scaling). Similarly, to support an initial
SGAS distribution, the gas-oil capillary pressure shift P cogScale is calculated from the relation

P g − P o = P cogLookup (SW AT ) × P cogScale .

• If the oil-water capillary pressure is defaulted (or is zero) in KRWO (for a given saturation region) and the
PCSC keyword is used (or if initial water saturation SWAT is specified in the INIT section), MORE will
first modify the oil-water capillary pressure table to be

P cowLookup = 1 atm

before calculating the capillary pressure scaling P cowScale for each active grid cell in the reservoir. Oth-
erwise it would not be possible to apply any end point scaling. The oil-water capillary pressure used by
MORE in the simulation is then P cow = P cowLookup × P cogScale for the duration of the run.
• If the gas-oil capillary pressure is defaulted (or is zero) in KRWG (for a given saturation region) and the
PCSC keyword is used (or if initial gas saturation SGAS is specified in the INIT section), MORE will first
modify the tabular gas-oil capillary pressure to be

P cogLookup = 1 atm

before calculating the capillary pressure scaling P cogScale for each active grid cell in the reservoir. The
gas-oil capillary pressure used by MORE in the simulation is then P cog = P cogLookup × P cogScale for the
duration of the run.
• When using the MIN or LIM options, MORE will enable end-point scaling of capillary pressures (XPCW,
XPCG) to do calculate the scale factors. For example
Po − Pw
XP CW = P cowScale = ,
P cowLookup (Sw)

where P cowLookup (Sw) is the oil-water capillary pressure entered in KRWG at the given water saturation
Sw specified by SWAT, accounting for any user-defined capillary scalings in SWL etc.
When using the MIN or LIM options, the capillary pressure scalings are set to achieve a stable initial
solution only in regions described above. Outside of this depth range, the scalings are taken to be those at
the nearest end point of the given depth range in order to ensure continuity of the capillary pressures.

9.12. PCSC - Set Options for Initial Capillary Pressure Scaling 761
Tempest MORE Help, Release 8.1

• The PCSH keyword is recommended over the PCSC keyword because any end-point scaling arrays XPCW,
XPCG are left unchanged. When an initial water saturation Sw < 1 is specified via SWAT below the oil-
water contact specified in EQUI, the P cow shift may be negative, which is quite correct, but could lead to
a sign change in XPCW when converting shifts (P cowShift ) to scalings using PCSC. MORE does not allow
sign changes in XPCW when using PCSC, and will reset XP CW = 1 whenever this occurs. The XPCW
scaling required for stability is only set when water saturation Sw < 1, and the XPCG scaling is only set
when Sg < 1.
• PCSC may also be used in conjunction with end-point scaling on P cow (keywords SWL SWU and XPCW)
or P cog (keywords SGL, SGU and XPCG)
• The scaled end-points (P cowScale (P cogScale ) required to achieve a stable initial solution with capillary
pressure scaling for P cow (P cog) may be output with mnemonic XPCW (XPWG) for 3D visualisation
using Tempest VIEW, when XPCW (XPCG) is given as an argument to the STOR keyword.

762 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.13 PCSH - Set Options for Initial Capillary Pressure Shifts

Location

INIT Section

Description

The PCSH keyword is used to set options for initial capillary pressure shifts when SWAT or SGAS are specified
in the INIT section. When using INIT EQUI with EQUI, PCSH can be used to add shifts to the capillary pressure
to stabilise the initial solution while honouring an initial saturation distribution. PCSH is an alternative to PCSC,
which scales the capillary pressures to achieve stability of the initial solution.
Typically, when initial water or gas saturations are specified using SWAT or SGAS keywords, PCSH may be used to
ensure the initial solution is stable, so there is no flow in the absence of any well production or injection. Capillary
pressure shifts are calculated for each grid cell in the model and are applied throughout the simulation.
For example, when SWAT is specified and the model has oil and water, a shift P cowShif t is calculated for all grid
cells. The oil-water capillary pressure P cow used by MORE during the simulation is then

P cow = P cowLookup (Sw) + P cowShif t ,

where P cowLookup (Sw) is the capillary pressure data taken from the KRWO table and with any user-defined
endpoint scaling). Similarly, when SGAS is specified, a shift in P cog is calculated and the gas-oil capillary
pressure P cog used by MORE during the simulation is then

P cog = P cogLookup (Sg) + P cogShif t .

Arguments for PSCH consist of one optional argument which should be entered on the same line as the PCSH
keyword itself if used. If no value is entered for this optional argument, it will take on the default value.

Definitions

1. Shift option (optional): MIN, LIMI, FULL, or OFF


• MIN (default) - adds a minimal set of shifts to cells in which two phases are mobile. This is the default
and is recommended.
– Pcog shifts are only applied in the oil-gas transition zone between the highest depth of mobile oil
in gas and the lowest depth of mobile gas
– Pcow shifts are only applied in the oil-water transition zone between the highest depth of mobile
water and the lowest depth of mobile oil in water
• LIMI - the same as MIN but does not apply to all cells in which two phases are mobile:
– Gas-oil capillary pressure (P cog) shifts are only calculated for cells below the gas-oil contact
entered with EQUI
– Oil-water capillary pressure (P cow) shifts are only calculated for cells above the water-oil contact
depth interval
– The stabilisation shifts with LIMI will generally be less than those generated with the MIN option,
but there may be some initial state movement for cells outside the chosen contact depth interval.
• FULL - shifts the capillary pressures of all the cells in the reservoir so that all phases lie on their
hydrostatic pressure curves. This ensures the solution is stable, but makes it easy for water to rise and
gas to sink in the reservoir.

9.13. PCSH - Set Options for Initial Capillary Pressure Shifts 763
Tempest MORE Help, Release 8.1

• OFF - turns off the capillary pressure stabilisation shifts. The initial solution will not generally be
static and it may be worth running the reservoir for a period with no production or injection to allow
transient efforts to resolve. Using this will disable the PCSH MIN default which is applied when an
initial SWAT distribution is specified without any PCSH keyword.
Note that FULL is back compatible with MORE 6.0.

Note: If initial saturations (SWAT or SGAS) are specified and neither PCSH or PCSC are specified, then PCSH
will be switched on by default with the MIN argument.

Examples

1. PCSH is used with the LIMI option to specify limited initial capillary pressure stabilisation shifts should be
applied. The initial solution will then be quiescent.
PCSH LIMI

2. PCSH is used with the OFF option to turn off initial capillary pressure stabilisation shifts. In this case the
initial solution may not be quiescent and some flows may occur in the absence of any wells or aquifers.
PCSH OFF

Notes

• PCSH is typically used to ensure a stable initial solution whenever initial water (and gas) saturations SWAT
(and SGAS) are specified together with the EQUI keyword. If SWAT (and SGAS) are specified, then they
must be specified for each active cell in the model in order for PCSH to have an effect.
• Using keyword PCSH will then instruct MORE to calculate oil-water (and gas-oil) capillary pressure shifts
such that the initial solution is stable: there will be no (or minimal) movement of fluids on initialization
in the absence of well and aquifer flows. MORE will construct hydrostatic phase pressure curves given
the data in EQUI and then calculate the capillary pressures which would be required to support the initial
saturation distribution. For example, to support a given initial SWAT distribution, the oil-water capillary
pressure shift P cowShif t will be calculated for each cell in the mobile region using

P o − P w = P cowLookup (Sw) + P cowShif t ,

using phase pressures P o for oil, P w for water, and the tabular oil-water capillary pressure P cowLookup (Sw)
(taken from the KRWO table and with any user-defined endpoint scaling).
• If the oil-water capillary pressure is defaulted (or is zero) in KRWO (for a given saturation region) and the
PCSH keyword is used (or if initial water saturation SWAT is specified in the INIT section), MORE will
first modify the oil-water capillary pressure table to be

P cowLookup (Sw) = (1 − Sw) × 1atm

before calculating the capillary pressure shift P cowShif t for each active grid cell in the reservoir.
This modification is required when a zero initial tabular P cowLookup is given, in order for PCSH to determine
a stable initial solution, otherwise the P cow in each cell would be constant for all water saturations. It
is then possible to honour the initial SWAT distribution when no P cow table data is available, although
entering a non-zero initial P cow curve is encouraged. The oil-water capillary pressure used by MORE in
the simulation is then P cowLookup (Sw) + P cowShif t for the duration of the run.
• If the gas-oil capillary pressure is defaulted (or is always zero) in KRGO (for a given saturation region) and
the PCSH keyword is used (or if initial gas saturation SGAS is specified in the INIT section), MORE will
first modify the gas-oil capillary pressure table to be

P cogLookup (Sg) = Sg × 1atm

764 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

before calculating the capillary pressure shift P cogShif t for each active grid cell in the reservoir. This
is done for the reasons explained above for Pcow. The gas-oil capillary pressure used by MORE in the
simulation is then P cogLookup (Sg) + P cogShif t for the duration of the run.
• When using the MIN or LIM options, the capillary pressure shifts are set to achieve a stable initial solution
only in regions described above. Outside of this depth range, the shifts are taken to be those at the nearest
end point of the given depth range in order to ensure continuity of the capillary pressures. A constant value
extrapolation is taken outside the initial range.
For example, when using the MIN option, the oil-water capillary pressure shifts (P cowShif t ) are calculated
in the mobile oil-water transition zone Swcr < Sw < 1−Sowcr between the highest depth of mobile water
(dtmw) where Sw = Swcr and the lowest depth of mobile oil in water (dbmow) where So = Sowcr. The
mobile oil in water transition zone is then dtmw < d < dbmow.
Above the highest depth of mobile water, d < dtmw, where Sw < Swcr, the shift P cowShif t is constant,

P cowShif t (d) = P cowShif t (dtmw) for d < dtmw.

Similarly, below the lowest depth of mobile oil in water (dbmow), where So < Sowcr, the shift is constant,

P cowShif t (d) = P cowShif t (dbmow) for d > dbmow.

When the oil-water contact depth dcow specified in the EQUI keyword is below the calculated value of
dbmow, then the transition zone is extended to include dcow, which ensures quiescence with the water
pressure following the hydrostatic curve for depths d > dcow.
Analogously, when using the MIN option for P cogShif t , gas-oil capillary pressure shifts to achieve a stable
initial solution will be calculated in the mobile oil-gas transition zone Sgcr < Sg < 1 − Sogcr between the
highest depth of mobile oil in gas (dtmog) where So = Sogcr , and the lowest depth of mobile gas (dbmg)
where Sg = Sgcr.
Above the highest mobile oil in gas, d < dtmog, with So < Sogcr, the shift is constant,

P cogShif t (d) = P cogShif t (dtmog) for d < dtmog.

Similarly, below the lowest depth of mobile gas, d > dbmg, where Sg < Sgcr, the shift is constant

P cogShif t (d) = P cogShif t (dbmg) for d > dbmg.

• PCSH may also be used in conjunction with endpoint scaling for P cog (keywords SGL, SGU and XPCG)
or P cow (keywords SWL, SWU and XPCW). MORE applies the scaled endpoints XPCW, XPCG to P cow,
P cog before adding the shifts P cowShif t , P cogShif t .
• When AQUW ON has been used to force 100% water saturation in the water zone, any SWAT values are
reset to Sw = 1 below the oil-water contact depth, and any SWAT values Sw > 0.9999 above the oil-water
contact depth are reset to equilibrated values.
• The PCSH keyword is preferred over the PCSC keyword because any end-point scaling arrays XPCW,
XPCG are left unchanged.
• The capillary pressure shifts P cowShif t (P cogShif t ) for P cow (P cog) may be output for 3D visualisation
in Tempest VIEW with mnemonic PCWS (PCGS), when PCWS (PCGS) is given as an argument to the
STOR keyword.

9.13. PCSH - Set Options for Initial Capillary Pressure Shifts 765
Tempest MORE Help, Release 8.1

9.14 TMVD - Temperature Variation of Reservoir Temperature for


Equation of State Modelling

Location

INIT Section

Description

The TMVD keyword is used to specify temperature variation of reservoir temperature for equation-of-state mod-
elling. It allows for a depth dependent temperature gradient to be imposed on an equation-of-state run.
Arguments for TMVD consist of two records. The first record consists of one optional argument which, if used,
should be entered on the same line as the TMVD keyword itself. The second record consists of a table with two
columns which should start on a separate line below the TMVD keyword. Following the final row of TMVD data
in the table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Index of region number to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depths
2. Temperatures
• Units: o R (Field), o C (Metric)

Notes

• The EOST option should be selected on the FLUI keyword if TMVD is used.
• If TMVD is used, the temperature on the first TEMP keyword in the FLUI section can be omitted.

Examples

1. TMVD is used to provide temperature variation data for the reservoir temperature in an equation-of-state
model.

TMVD
1200 203
8000 208
/

766 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.15 EQUI - Depths and Pressures for Equilibration

Location

INIT Section

Description

The EQUI keyword is used to specify equilibration depths and pressures for a system under equilibrium initiali-
sation (specified by using the EQUI option with the INIT keyword). The EQUI keyword allows the user to supply
the locations of the gas-oil and water-oil contacts, the capillary pressure at the contacts, and the depth and pressure
at a reference location.
EQUI has three optional arguments, EXWR, PREC and PCWD.
Arguments for the EQUI keyword consist of a table with six columns containing different depth and pressure
values.

Definitions

The following arguments should be entered in a tabular format:


1. Reference depth
• Units: feet (Field), metres (Metric)
2. Pressure at the reference depth
• Units: psi (Field), bar (Metric)
3. Depth specifying the gas-oil contact
• Default: the depth of the top cell in the reservoir
• Units: feet (Field), metres (Metric)
4. Gas-oil capillary pressure at the gas-oil contact depth
• Default: 0
• Units: psi (Field), bar (Metric)
5. Depth specifying the water-oil contact
• Default: the depth of the bottom cell in the reservoir
• Units: feet (Field), metres (Metric)
6. Oil-water capillary pressure at the water-oil contact depth
• Default: 0
• Units: psi (Field), bar (Metric)
7. Number of sub-levels used in equilibration (default 0, meaning no sublevels)
The EXWR argument may be used on the same line as the EQUI keyword to request the extended water region
option. This allows a transition zone water saturation greater than the connate saturation to exist in the gas zone.
The PRECise argument may be used on the same line as the EQUI keyword to request a true-geometry area
calculation. This is only relevant when the number of sub-levels used in equilibration is specified and greater than
1.
The PCWD argument may be used on the same line as the EQUI keyword to request that a run with water
capillary pressure hysteresis is initialised using the drainage curve (the second column of capillary pressure data
in the KRWO data). PCWD is automatically selected if water capillary pressure hysteresis is set up using the
ECLIPSE IMBNUM keyword.

9.15. EQUI - Depths and Pressures for Equilibration 767


Tempest MORE Help, Release 8.1

Notes

• The number of sub-levels can be set to an integer value greater than one, in which case multi-level equi-
libration will be used. In multi-level equilibration the cell is divided into Nlev depth intervals, each one
equilibrated at its own depth, and then the overall grid block saturation is obtained by summation. In the
single level case the saturation obtained at the cell centre is applied throughout the entire cell. Multi-level
equilibration can yield a more precise fluid in place when the grid is coarse in the vertical direction, at the
cost of a potential slight initial movement in the solution, as the summed saturations do not yield capillary
pressures which precisely honour the hydrostatic phase pressure vs. depth curves.

Examples

1. EQUI is used to specify a reference depth of 5000 ft., a reference pressure of 2307.43 psia, a gas-oil contact
of 5200 ft., an oil-water contact of 5800 ft, and no capillary pressure at the fluid contacts for a system that
is initially in equilibrium. See EQUI_Ex1.dat for complete example:

EQUI
5000.00 2307.43 5200.00 0.00000 5800.00 0.00000

When the ternary property is plotted in 3D for this grid, we will be able to see the distinct gas-oil and
oil-water contacts that we have specified, as follows:

2. In this example, we have a grid with 4 different equilibration regions, as specified by the equilibration table
numbers assigned to each region using the EQUI keyword in the GRID section. Then, the EQUI keyword
in the INIT section can be used to assign different equilibration data to each of the 4 equilibration regions,
as follows. See
EQUI_Ex2.dat for complete example:

EQUI
5100.00 2307.43 5100.00 0.00000 5200.00 0.00000 /Equilibration
,→Region 1

5200.00 2307.43 5200.00 0.00000 5400.00 0.00000 /Equilibration


,→Region 2

5300.00 2307.43 5300.00 0.00000 5600.00 0.00000 /Equilibration


,→Region 3

5400.00 2307.43 5400.00 0.00000 5800.00 0.00000 /Equilibration


,→Region 4

Below, we have displayed the equilibration regions and the ternary property for the grid to demonstrate the
different gas-oil and oil-water contacts that we have specified in each region.

768 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.15. EQUI - Depths and Pressures for Equilibration 769


Tempest MORE Help, Release 8.1

9.16 CONS - Constant Equilibrium Initial Conditions

Location

INIT Section (when the EQUI option is used)

Description

The CONS (constant) keyword is used to specify the initial temperature, pressure, gas and water saturations, and
compositions for a system that is initially in equilibrium.
Arguments for CONS consist of two records. The first record consists of one optional argument which should
be entered on the same line as the CONS keyword itself if used. The number of arguments required for the
second record varies depending on whether a black oil or equation-of-state system is used. For a black oil system,
CONS consists of two required arguments. For an equation-of-state system, CONS consists of three required
arguments. In both cases, these required arguments should be entered in succession on a separate line below the
CONS keyword when used.

Definitions

RECORD 1
1. Index of equilibration region to which this data applies (optional)
• Default: If this value is not supplied, the data applies to the entire grid
RECORD 2:
The following arguments should be entered in a tabular format.
1. Initial temperature for fluid properties (for black oil systems only)
• Units: o F (Field), o C (Metric)
2. Initial saturation pressure (for black oil systems only)
• Units: psi (Field), bar (Metric)
• For black oil systems, the initial saturation pressure is the oil bubble point, Pbub . If Pbub is set higher
than the initial pressure P, Pbub will be reset to P.
• For equation-of-state systems, the initial saturation pressure is not used - this is determined from the
composition.
3. Initial composition (for equation-of-state systems only)
• The initial composition may be set by either:
– Entering the name of a known composition (see SCMP keyword)
– Or, by entering a series of mole fractions which must sum to 1. Default values are 0.
• An initial composition is not required in the black oil case, as the composition is a unique function of
the bubble point.

Notes

• Even though a value for the initial temperature and saturation pressure arguments are not required for
equation-of-state systems, a placeholder is still needed for these arguments so that the initial composition
argument can be read in the proper position. In this case, a simple 2* argument can be used as a placeholder
for these two arguments. Please see Examples #2 and #3 below for more information.

770 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

Examples

1. For a black oil system, CONS is used to set an initial temperature of 200 and an initial saturation pressure
of 4015.

CONS
200 4015

2. For an equation-of-state system, CONS is used to set an initial composition as defined by the SCMP keyword
as ROIL in the INPU (Input) or RECU (Recurrent) sections.

CONS
2* ROIL

3. For an equation-of-state system, CONS is used to set an initial composition using a series of mole fractions
adding up to 1.

CONS
2* 0.65 0.22 0.05 0.08

9.16. CONS - Constant Equilibrium Initial Conditions 771


Tempest MORE Help, Release 8.1

9.17 F(DE - Depth Dependent Equilibrium Initial Conditions

Location

INIT Section (when the EQUI option is used)

Description

The F(DE (function of depth) keyword is used to specify depth dependent initial conditions for a system that is
initially in equilibrium.
Arguments for F(DE consist of two records. The first record consists of one optional argument. If this optional
argument is used, it should be entered on the same line as the F(DE keyword itself. The second record consists
of a table with four columns. Data entry for this record should start on a separate line below the F(DE keyword
itself. Following the final row of F(DE data in the table, a solitary slash (/) on its own line is required to terminate
the data entry for this keyword.

Definitions

RECORD 1:
1. Index of the equilibration region for which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Temperature for fluid properties (for black oil systems only)
• Units: o F (Field), o C (Metric)
3. Initial saturation pressure (for black oil systems only)
• Units: psi (Field), bar (Metric)
• For black oil, the initial saturation pressure is the oil bubble point, Pbub . If Psub is set higher than the
initial pressure P, Pbub will be reset to P.
• For equation-of-state systems, the initial saturation pressure is not used - this is determined from the
composition.
4. Initial composition (for equation-of-state systems only)
• The initial composition may be set by either:
– Entering the name of a known composition (see SCMP keyword)
– Or, by entering a series of mole fractions which must sum to 1. Default values are 0.
• An initial composition is not required in the black oil case, as the composition is a unique function of
the bubble point.

Notes

• PBVD can be used to provide a simple alternative to F(DE for setting up bubble point variation with depth
in the oil zone for a system in equilibrium.

772 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

• RSVD also offers an alternative to PBVD and F(DE for setting up oil zone bubble point variation with depth
for a system in equilibrium.

Examples

1. In a black oil system at equilibrium, F(DE is used to provide different initial temperatures and pressures as a
function of depth. In this system, the bubble point pressure of the oil varies from 6300 at the gas-oil contact
to 5500 at the water-oil contact.

EQUI ho po hgoc pcgoc hwoc pcwoc


5900 6300 5900 0 6500 3

F(DE depth temp psat


4000 1* 6300
5900 1* 6300
6500 1* 5500
/

2. In an equation of state system at equilibrium, F(DE is used to set the initial composition as a function of
depth. The composition will be set to RESG, which has been previously specified using the SCMP keyword.
This composition will be set at a depth of 7300.

F(DE depth temp psat composition


7300 1* 1* RESG
/

9.17. F(DE - Depth Dependent Equilibrium Initial Conditions 773


Tempest MORE Help, Release 8.1

9.18 GOCX - Use Oil Composition at the Gas-Oil Contact to Define


Gas Composition

Location

INIT Section (when the EQUI option is used)

Description

The GOCX keyword is used to specify that the oil composition should be used to define the gas composition at
the gas-oil contact for an equation-of-state system that is initially in equilibrium. GOCX consists of two optional
arguments which should be entered in succession on the same line as the GOCX keyword itself if used.

Definitions

1. Index of equilibration region to which this data applies (optional)


• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
2. Set reference pressure to oil saturation pressure (optional): PSET

Notes

• GOCX will only have an effect in an equation of state model.


• If using the PSET option, the gas-oil contact should be at the same depth as the equilibrium reference depth.

Examples

1. GOCX is used to specify that the oil composition should be used to define the gas composition at the gas-oil
contact in an equation of state system.

GOCX

2. GOCX is used to specify that the oil composition should be used to define the gas composition at the gas-oil
contact in an equation of state system. This data will be applied to equilibration region #2 and the PSET
option will also be included to indicate that the reference pressure is to be set to the oil saturation pressure.

GOCX 2 PSET

774 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.19 GOCY - Use Gas Composition at the Gas-Oil Contact to Define


Oil Composition

Location

INIT Section (when the EQUI option is used)

Description

The GOCY keyword is used to specify that the gas composition should be used to define the oil composition at
the gas-oil contact for an equation-of-state system that is initially in equilibrium. GOCY consists of two optional
arguments which should be entered in succession on the same line as the GOCY keyword itself if used.

Definitions

1. Index of equilibration region to which this data applies (optional)


• Default:If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
2. Set reference pressure to gas saturation pressure (optional): PSET

Notes

• GOCY will only have an effect in an equation of state model.


• If using the PSET option, the gas-oil contact should be at the same depth as the equilibrium reference depth.

Examples

1. GOCY is used to specify that the gas composition should be used to define the oil composition at the gas-oil
contact in an equation of state system.

GOCY

2. GOCY is used to specify that the gas composition should be used to define the oil composition at the gas-oil
contact in an equation of state system. This data will be applied to equilibration region #2 and the PSET
option will also be included to indicate that the reference pressure is to be set to the gas saturation pressure.

GOCY 2 PSET

9.19. GOCY - Use Gas Composition at the Gas-Oil Contact to Define Oil Composition 775
Tempest MORE Help, Release 8.1

9.20 GCRI - Initial Gas Content of Coal

Location

INIT Section

Description

The GCRI keyword is used to populate the cells in a grid with initial gas contents of coal in a coal bed methane
system. It can be used in black oil simulations as an alternative to PDSI . When GCRI is used, the coal bed
methane option must be turned on using the CBM keyword in the INPU or FLUI sections. Arguments for the
GCRI keyword consist of an array of values for the initial gas content of coal in each cell.
Cells will be populated in the x-direction first, followed by the y-direction, and then the z-direction last. For
repeated values, an asterisk can be used to assign a value to a specified number of cells (i.e. 150*102.8 can be
used to assign a value of 102.8 to 150 cells).

Definitions

1. Initial gas content of coal


• Units: scf/ton (Field), sm3 /tonne (Metric)
• Default: 0

Notes

• A metric tonne is 1000kg. A field unit ton is a short (USA) ton of 2000lb.
• The keyword defining an array can be followed by an array sub-keyword which defines the layer format.
Please see the CONS, F(DE, F(PO, FUNC, INTE, LINE, MODI, REPL, VARI, or ZVAR keywords for further
information.
• The VARI processing method is the default. For example, if you supply an array name and then supply
numerical values without a grid processing sub-keyword, the simulator will use the VARI option. If the
simulator encounters no grid processing sub-keyword after reading a layer of values, the VARI option will
be used again. This process is repeated until all layers are specified.
• When sub-keywords are used to specify values for a number of layers, a different method could be used in
each layer. The ZVAR sub-keyword is somewhat different from the others because it is used to specify the
values for all layers at once.

Examples

1. GCRI is used to populate a 10x10x3 grid with 300 values for the initial gas content of coal.

GCRI
100*85
100*90
100*95

The addition of the GCR option to the STOR keyword will then allow the gas content of coal array to appear
in the Recurrent section of the results to be displayed in 3D, as follows:

776 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.20. GCRI - Initial Gas Content of Coal 777


Tempest MORE Help, Release 8.1

9.21 AGVD - Initial Variation of API Gravity with Depth

Location

INIT Section (when the EQUI option is used)

Description

The AGVD keyword is used for setting up API gravity variation with depth in the oil zone for a system that is
initially in equilibrium.
Arguments for AGVD consist of two records. The first record consists of one optional argument which should
be entered on the same line as the AGVD keyword itself if used. The second record consists of a table with two
columns which should start on a separate line below the AGVD keyword. Following the final row of AGVD data
in the table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Oil API
• Units: dimensionless

Notes

• See the API Tracking section of the MORE Technical Reference for more information regarding API track-
ing in Tempest.

Examples

1. AGVD is used to set the initial variation of API gravity as a function of depth in a black oil system at
equilibrium.

AGVD
6000.0 35.0
6990.0 33.0
7150.0 32.0
8000.0 20.0
/

778 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.22 MFVD - Initial Variation of Composition with respect to Depth

Location

INIT Section (when the EQUI option is used)

Description

The MFVD keyword is used to set up the initial variation of composition as a function of depth in a system that is
initially in equilibrium.
Arguments for MFVD consist of two records. The first record consists of one optional argument which should
be entered on the same line as the MFVD keyword itself if used. The second record consists of a table with at
least two columns which should start on a separate line below the MFVD keyword. The number of columns in the
table depend on the number of components specified in the system using the CNAM keyword in the INPU section.
Following the final row of MFVD data in the table, a solitary slash (/) on its own line is required to terminate the
data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default:If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Composition (list of compositions for each component)

Notes

n/a

Examples

1. MFVD is used to set the initial variation of composition as a function of depth in an equation of state
system at equilibrium. The composition of 5 different components will be given to be interpolated between
the depths of 2000 and 4000.

MFVD
2000 0.1 0.2 0.1 0.5 0.2 /
4000 0.1 0.2 0.2 0.4 0.2 /
/

9.22. MFVD - Initial Variation of Composition with respect to Depth 779


Tempest MORE Help, Release 8.1

9.23 PBVD - Initial Variation of Bubble Point with Depth

Location

INIT Section (when the EQUI option is used)

Description

The PBVD keyword is used to provide a simple alternative to F(DE for setting up a bubble point variation with
depth in the oil zone for a system that is initially in equilibrium.
Arguments for PBVD consist of two records. The first record consists of one optional argument which should
be entered on the same line as the PBVD keyword itself if used. The second record consists of a table with two
columns which should start on a separate line below the PBVD keyword. Following the final row of PBVD data
in the table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Bubble point pressure
• Units: psia (Field), barsa (Metric)

Notes

• For black oil systems, the initial saturation pressure is the oil bubble point, Pbub . If Pbub is set higher than
the initial pressure P, Pbub will be reset to P.
• For equation of state systems, the initial saturation pressure is not used - this is determined from the com-
position.
• The values supplied with PBVD are only used below the gas-oil contact. Above the gas-oil contact, the oil
is assumed to be saturated.
• RSVD also offers an alternative to PBVD and F(DE for setting up oil zone bubble point variation with depth
for a system in equilibrium.

Examples

1. PBVD is used to set the initial variation of bubble point pressures as a function of depth in a black oil system
at equilibrium.

PBVD
1200 3467
8000 3654
/

780 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.24 PDVD - Initial Variation of Dew Point with Depth

Location

INIT Section (when the EQUI option is used)

Description

The PDVD keyword is used to set the dew point of a condensate case run in non-equation of state mode.
Arguments for PDVD consist of two records. The first record consists of one optional argument which should
be entered on the same line as the PDVD keyword itself if used. The second record consists of a table with two
columns which should start on a separate line below the PDVD keyword. Following the final row of PDVD data
in the table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Dew point pressure
• Units: psia (Field), barsa (Metric)

Notes

• For equation of state systems, the initial dew point pressure is not used - this is determined from the com-
position.
• The values supplied with PDVD are only used above the gas-oil contact.
• RVVD also offers an alternative to PDVD.

Examples

1. PDVD is used to set the initial variation of dew point pressures as a function of depth.

PDVD
1200 2467
8000 2654
/

9.24. PDVD - Initial Variation of Dew Point with Depth 781


Tempest MORE Help, Release 8.1

9.25 RSVD - Initial Variation of Solution Gas-Oil Ratio with Depth

Location

INIT Section (when the EQUI option is used)

Description

The RSVD keyword is used to provide an alternative to PBVD and F(DE for setting up bubble point pressure
variation with depth in the oil zone for a system that is initially in equilibrium.
Arguments for RSVD consist of two records. The first record consists of one optional argument which should
be entered on the same line as the RSVD keyword itself if used. The second record consists of a table with two
columns which should start on a separate line below the RSVD keyword. Following the final row of RSVD data
in the table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default:If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Solution gas-oil ratio
• Units: mscf/stb (Field), ksm3 /sm:sup:3 (Metric)

Notes

• The metric units for the solution gas-oil ratio are the normal MORE units (ksm3 /sm3 ), not sm3 /sm3 as used
by ECLIPSE and some other simulators.

Examples

1. RSVD is used to set the initial variation of solution gas-oil ratios as a function of depth in a black oil system
at equilibrium.

RSVD
1200 1.25
8000 1.32
/

782 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.26 RVVD - Initial Variation of Vapour Oil-Gas Ratio with Depth

Location

INIT Section (when the EQUI option is used)

Description

The RVVD keyword is used to set up the initial variation of the vapour oil-gas ratio as a function of depth in a
system that is initially in equilibrium. Arguments for RVVD consist of two records. The first record consists of
one optional argument which should be entered on the same line as the RVVD keyword itself if used. The second
record consists of a table with two columns which should start on a separate line below the RVVD keyword.
Following the final row of RVVD data in the table, a solitary slash (/) on its own line is required to terminate the
data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default:If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Vapour oil-gas ratio
• Units: stb/Mscf(Field), sm3 /1000sm3 (Metric)

Notes

• The values supplied with the RVVD keyword are only used above the gas-oil contact. Below the gas-oil
contact, the reservoir vapour is assumed to be saturated.

Examples

1. RVVD is used to set the initial variation of vapour oil-gas ratios as a function of depth in a black oil system
at equilibrium. The values provided are in metric units.

RVVD
1200 1.021
8000 1.132
/

9.26. RVVD - Initial Variation of Vapour Oil-Gas Ratio with Depth 783
Tempest MORE Help, Release 8.1

9.27 SCVD - Initial Variation of Salt Concentration with Depth

Location

INIT Section (when the EQUI option is used)

Description

The SCVD keyword is used for setting up salt concentration variation with depth for a system that is initially in
equilibrium.
Arguments for SCVD consist of two records. The first record consists of one optional argument which should
be entered on the same line as the SCVD keyword itself if used. The second record consists of a table with two
columns which should start on a separate line below the SCVD keyword. Following the final row of SCVD data
in the table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Salt concentration
• Units: lb/stb (Field), kg/sm3 (Metric)

Notes

• See the Brine Tracking section of the MORE Technical Reference for more information regarding brine
tracking in Tempest.

Examples

1. SCVD is used to set the initial variation of salt concentration as a function of depth in a system at equilib-
rium.

SCVD
5000.0 5.0
5200.0 6.7
5400.0 8.3
5500.0 9.0
/

784 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.28 THPD - Threshold Pressures Between Equilibration Regions

Location

INIT Section

Description

The THPD keyword is used to specify threshold pressures between pairs of equilibration regions (specified by
using the EQLN keyword together with the INIT keyword).
The threshold pressure ∆p is used to supply a minimum potential difference before flow occurs between pairs of
equilibration regions. If the potential difference in the simulation exceeds ∆p, the flow between thse regions is
then calculated by reducing the actual potential difference by the amount ∆p.
Each row of the THPD keyword has three required arguments and two additional optional arguments.

Definitions

The following required arguments should be entered after the THPD keyword:
1. Index of first equilibration region (I)
2. Index of second equilibration region (J)
3. Threshold pressure (∆p) for flows between the pair of equilibration regions I and J
• Default: -1.0
• Units: psi (Field), bar (Metric)
If a negative value is entered for ∆p, or item 3 is defaulted, then the initial threshold pressure is calculated
by the code to ensure there is no initial flow between regions I and J. This is done at initialisation of the
reservoir. The value of ∆p used by MORE is then the maximum potential difference for all connections
between equilibration regions I and J, over all phases with a non-zero saturation in the upstream cell. This
option is useful for ensuring the initial state of the reservoir is quiescent in the presence of multiple contacts
specified using the EQUI keyword in the INIT section.
Optional arguments may also be used on the same line of the table after the required arguments.
1. IRRE
The IRRE argument may be used on the same line as the THPD keyword to specify that the threshold
pressure is irreversible. Then the threshold pressure ∆p only applies for flows from I to J and not for flows
from J to I.
The default is that the threshold pressure is reversible, and the same pressure difference is applied to flows
from I to J as well as from J to I.
2. ONPD
The ONPD argument modifies the behaviour of the THPD keyword, similar to the ONPD argument with
the NNC keyword. In this case, as soon as the potential difference for any connection between equilibration
regions I and J exceeds ∆p in magnitude, the flow is calculated using the full potential difference. This
remains so even if the potential difference subsequently drops below ∆p. Therefore, this can be considered
as a break through pressure, where the potential difference ∆p is used to break an existing barrier, which is
then subsequently always open to flow.
The ONPD option may not be used together with the IRRE flag.

9.28. THPD - Threshold Pressures Between Equilibration Regions 785


Tempest MORE Help, Release 8.1

Functionality

Flows between any pairs of equilibration regions I and J not entered using the THPD keyword default has a
threshold pressure of 0.0, which means that the threshold pressure calculation between these regions is not active.
Consider Darcy flow between two cells i and j, which belong to equilibration regions I and J respectively. In the
absence of any threshold pressure or non-Darcy effects, the flow from cell i to j for a given phase p is given by

Fp,ij = Mp,ij (Pi − Pj − ρp g (di − dj ) + P cp,i − P cp,j ) = Mp,ij Φp,ij ,

where M , P , ρ, d and P c denote mobility, oil phase pressure, mass density, depth and capillary pressure, re-
spectively. Φp,ij is used as shorthand for the potential difference between cells i and j. Suppose that a threshold
pressure ∆PIJ is imposed between the equilibration regions I and J. Then the actual flow F p,ij used by MORE
is
(
max (Φp,ij − ∆PIJ , 0) if Φp,ij > 0
F p,ij = Mp,ij × .
− max (−Φp,ij − ∆PJI , 0) if Φp,ij < 0

When the threshold pressure PIJ between equilibration regions I and J is irreversible, then ∆PJI 6= ∆PIJ , else
they are equivalent, ∆PIJ = ∆PJI .
When the ONPD flag is specified with a break through pressure ∆PIJ between equilibration regions I and J,
then the actual flow F p,ij from i to j is zero until such time as |Φp,ij | > |∆Pp,ij | for any flowing phase p. At
subsequent times, the connection from i to j is always fully available for flow, the break through pressure ∆PIJ is
no longer used for that connection, and F p,ij = Fp,ij . The break through pressures ∆PIJ between equilibration
regions I and J are always reversible, so that ∆PIJ = ∆PJI .

Examples

1. In this example, we have a grid with 4 different equilibration regions, as specified by the equilibration table
numbers assigned to each region using the EQLN keyword in the GRID section. Then, the THPD keyword in
the INIT section can be used to assign different threshold pressures for flows between equilibration regions,
as follows.
THPD 1 2 1*
THPD 2 3 50.0 IRRE
THPD 3 2 70.0 ONPD
THPD 3 4 5.0 ONPD

Assuming Field units, the threshold pressures for flows between equilibration regions 1 and 2 are calculated
from the initial conditions of the reservoir. Flows from region 2 to region 3 use a threshold pressure of 50.0
psi, whereas any flows from region 3 to region 2 require a break through pressure of 70 psi. Flows between
regions 3 and 4 use a break through pressure of 5 psi.
2. Consider another example with 4 different equilibration regions, and the initial state of the reservoir is
equilibrated using the EQUI keyword in the INIT section, with different contact depths specified in each
equilibration region. Due to the different contact depths, the initial state of the reservoir is not quiescent if
there are flow paths between the equilibration regions (that is, there is likely to be flow between equilibration
regions in the absence of any wells or aquifers). However, specifying THPD with defaulted threshold pres-
sures instructs MORE to calculate initial threshold pressures so as to make the initial state of the reservoir
quiescent.
-- Specify fluid contacts
-- Dref(ft) Pref(psia) GOC(ft) Pcgo(psi) OWC(ft) Pcow(psi)
EQUI
5100.00 2307.43 5100.00 0.00000 5200.00 0.00000 --Equilibration
,→Region 1

5200.00 2307.43 5200.00 0.00000 5400.00 0.00000 --Equilibration


,→Region 2

5300.00 2307.43 5300.00 0.00000 5600.00 0.00000 --Equilibration


,→Region 3

786 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

5400.00 2307.43 5400.00 0.00000 5800.00 0.00000 --Equilibration


,→Region 4
/
-- Assign threshold pressures between equilibration regions to achieve
,→quiescence

THPD 1 2 1*
THPD 1 3 1*
THPD 1 4 1*
THPD 2 3 1*
THPD 2 4 1*
THPD 3 4 1*

MORE reports the initial threshold pressures which are determined to achieve a quiescent initial solution in
the .out file as follow:

Threshold pressures

Equilibration Equilibration Threshold Irreversible ONPD


region region pressure flag flag
------------- ------------- --------- ------------ ---------
psia
------------- ------------- --------- ------------ ---------
1 2 64.201 false false
1 3 0.0 false false
1 4 0.0 false false
2 1 64.201 false false
2 3 64.172 false false
2 4 0.0 false false
3 1 0.0 false false
3 2 64.172 false false
3 4 64.147 false false
4 1 0.0 false false
4 2 0.0 false false
4 3 64.147 false false
------------- ------------- --------- ------------ ---------

9.28. THPD - Threshold Pressures Between Equilibration Regions 787


Tempest MORE Help, Release 8.1

9.29 TRIM - Reset the Composition of Saturated Cells in the Gas


Zone to Prevent Oil Appearance at the Start of a Run

Location

INIT Section (when the EQUI option is used)

Description

The TRIM keyword is used to reset the composition of saturated cells in the gas zone to prevent oil appearance at
the start of a run for systems that are initially in equilibrium. TRIM only has an effect on equilibrated equation of
state runs.
If a cell in the gas zone (that is, above the gas-oil contact depth) has a zero oil saturation after equilibration, TRIM
checks that the gas is not super-saturated. A super-saturated cell has a saturation pressure (or dew point pressure,
for a gas) greater than the cell pressure and so, drops out a small amount of oil when the run starts. With TRIM,
the composition of such a cell is modified so that is is just saturated and so it is not unstable once the run starts.
TRIM does not require any arguments when it is used.

Examples

1. TRIM is used to reset the composition of saturated cells in the gas zone to prevent oil appearance at the start
of a run for an equation-of-state system that is initially in equilibrium.

TRIM

788 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.30 XMFV - Initial Variation of Oil Composition with respect to


Depth

Location

INIT Section (when the EQUI option is used)

Description

The XMFV keyword is used to set up the initial variation of the oil composition as a function of depth in a system
that is initially in equilibrium. XMFV is only required for equation of state runs in which the gas-oil contact is
within the reservoir.
Arguments for XMFV consist of two records. The first record consists of one optional argument which should
be entered on the same line as the XMFV keyword itself if used. The second record consists of a table with at
least two columns which should start on a separate line below the XMFV keyword. The number of columns in the
table depend on the number of components specified in the system using the CNAM keyword in the INPU section.
Following the final row of XMFV data in the table, a solitary slash (/) on its own line is required to terminate the
data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Oil composition (list of oil compositions for each component)

Examples

1. XMFV is used to set the initial variation of the oil composition as a function of depth in an equation of
state system at equilibrium. The oil composition of 6 different components will be given to be interpolated
between the depths of 2000 and 4000.

XMFV
2000 0.50 0.03 0.07 0.20 0.15 0.05 /
4000 0.50 0.03 0.07 0.20 0.15 0.05 /
/

9.30. XMFV - Initial Variation of Oil Composition with respect to Depth 789
Tempest MORE Help, Release 8.1

9.31 YMFV - Initial Variation of Gas Composition with respect to


Depth

Location

INIT Section (when the EQUI option is used)

Description

The YMFV keyword is used to set up the initial variation of the gas composition as a function of depth for a system
that is initially in equilibrium. YMFV is only required for equation of state runs in which the gas-oil contact is
within the reservoir.
Arguments for YMFV consist of two records. The first record consists of one optional argument which should
be entered on the same line as the YMFV keyword itself if used. The second record consists of a table with at
least two columns which should start on a separate line below the YMFV keyword. The number of columns in the
table depend on the number of components specified in the system using the CNAM keyword in the INPU section.
Following the final row of YMFV data in the table, a solitary slash (/) on its own line is required to terminate the
data entry for this keyword.

Definitions

RECORD 1:
1. Index of equilibration region to which this data applies (optional)
• Default: If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Gas composition (list of gas compositions for each component)

Notes

n/a

Examples

1. YMFV is used to set the initial variation of the gas composition as a function of depth in an equation of
state system at equilibrium. The gas composition of 9 different components will be given to be interpolated
between the depths of 7000 and 8000.

YMFV
2000 0.0121 0.0194 0.7099 0.0869 0.0491 0.0767 0.0372 0.0053 0.0034 /
4000 0.0118 0.0184 0.7166 0.0858 0.0481 0.0745 0.0371 0.0048 0.0029 /
/

790 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.32 CONS - Constant Non-Equilibrium Initial Conditions

Location

INIT Section (when the NEQU option is used)

Description

The CONS (constant) keyword is used to specify the initial temperature, pressure, gas and water saturations, and
compositions for a system that is not in equilibrium initially.
Arguments for CONS consist of two records. The first record consists of one optional argument which should be
entered on the same line as the CONS keyword itself if used. The number of arguments required for the second
record varies depending on whether a black oil or equation-of-state system is used. For a black oil system, CONS
consists of five required arguments. For an equation-of-state system, CONS consists of six required arguments. In
both cases, these required arguments should be entered in succession on a separate line below the CONS keyword
when used.

Definitions

RECORD 1
1. Index of equilibration region to which this data applies (optional)
• Default: If this value is not supplied, the data applies to the entire grid
RECORD 2
1. Initial temperature for fluid properties
• Units: o F (Field), o C (Metric)
2. Initial pressure
• Units: psi (Field), bar (Metric)
3. Initial bubble point pressure
• Units: psi (Field), bar (Metric)
4. Initial gas saturation
5. Initial water saturation
• Default: Swc
6. Initial composition (for equation-of-state systems only)
• The initial composition may be set by either:
– Entering the name of a known composition (see :SCMP keyword)
– Or, by entering a series of mole fractions which must sum to 1. Default values are 0.
• An initial composition is not required in the black oil case, as the composition is a unique function of
the bubble point.

Examples

1. CONS is used to set initial conditions for a non-equilibrium black oil system.

CONS
1* 3000 1* 0.0 0.25

9.32. CONS - Constant Non-Equilibrium Initial Conditions 791


Tempest MORE Help, Release 8.1

2. CONS is used to set an initial conditions for a non-equilibrium equation of state system. The temperature
and bubble point pressure will be given default values while the pressure will be assigned a value of 3550.
The initial gas and water saturations will be set to 0.80 and 0.20, respectively, while the initial composition
will be defined as RESG. Compositions contained in RESG are defined by the SCMP keyword in the INPU
(Input) or RECU (Recurrent) sections.

CONS
1* 3550 1* 0.8 0.2 RESG

3. CONS is used to set an initial conditions for a non-equilibrium equation of state system. The temperature
and bubble point pressure will be given default values while the pressure will be assigned a value of 3550.
The initial gas and water saturations will be set to 0.80 and 0.20, respectively, while the initial composition
will be defined with a series of mole fractions adding up to 1.

CONS
1* 3550 1* 0.8 0.2 0.65 0.22 0.05 0.08

792 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.33 F(DE - Depth Dependent Non-Equilibrium Initial Conditions

Location

INIT Section (when the NEQU option is used)

Description

The F(DE (function of depth) keyword is used to specify depth dependent initial conditions for a system that is
not in equilibrium initially. Arguments for F(DE consist of two records. The first record consists of one optional
argument. If this optional argument is used, it should be entered on the same line as the F(DE keyword itself. The
second record consists of a table with seven columns. Data entry for this record should start on a separate line
below the F(DE keyword itself. Following the final row of F(DE data in the table, a solitary slash (/) on its own
line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Number of the equilibration region for which this data applies (optional)
• Default:If not supplied or if only one equilibration region exists, the data is applied to the entire grid.
RECORD 2:
The following arguments should be entered in a tabular format.
1. Depth
• Units: feet (Field), metres (Metric)
2. Temperature
• Units: o F (Field), o C (Metric)
3. Initial pressure
• Minimum: 1
• Units: psi (Field), bar (Metric)
4. Initial bubble point pressure
• Maximum: P
• Units: psi (Field), bar (Metric)
5. Initial gas saturation
6. Initial water saturation
• Default: Swc
7. Initial composition + The initial composition may be set by either:
• Entering the name of a known composition (see SCMP keyword)
• Or, by entering a series of mole fractions which must sum to 1.
• Default values are 0.

Notes

n/a

9.33. F(DE - Depth Dependent Non-Equilibrium Initial Conditions 793


Tempest MORE Help, Release 8.1

Examples

1. In a non-equilibrium system, F(DE is used to provide initial conditions as a function of depth.

F(DE depth temp press Pbub Sg Sw


8395.0 1* 4312.5 4312.5 0.93 0.20 /
8575.0 1* 4334.0 4334.0 0.76 0.20 /
8576.0 1* 4334.4 4334.3 0.00 0.20 /
/

2. In a non-equilibrium system, F(DE is used to provide initial conditions as a function of depth. An initial
composition is provided as RESG, which is defined by the SCMP keyword in the INPU or RECU sections.

F(DE depth temp press Pbub Sg Sw Composition


7300.0 1* 3550.0 1* 0.93 0.20 RESG /
7500.0 1* 3550.0 1* 0.76 0.20 RESG /
/

794 Chapter 9. Tempest MORE init section keywords


Tempest MORE Help, Release 8.1

9.34 TMF - Total Mole Fraction

Location

RECU Section (when the NEQU option is used)

Description

The TMF keyword is used to set the total mole fractions for each component in each cell for an equation-of-state
system that is not in equilibrium initially. Arguments for TMF consist of a table of total mole fractions for each
component. The number of mole fractions required for each component is equal to the number of grid cells in
simulation. This table should start on a separate line below the TMF keyword itself when entered.

Definitions

1. Table of mole fractions for each hydrocarbon component present in the system
• The number of mole fractions required for each component is: Nx *Ny *Nz where Nx is the number of
grid cells in the x-direction, Ny is the number of grid cells in the y direction and Nz is the number of
grid cells in the z direction.

Notes

n/a

Examples

1. In a 10x10x5 grid with 5 components, TMF is used to provide total mole fractions for each component in
each cell.

TMF
0.0231 499*0.0121 / mole fractions for hydrocarbon component 1
0.0094 499*0.0194 / mole fractions for hydrocarbon component 2
500*0.7412 / mole fractions for hydrocarbon component 3
500*0.1682 / mole fractions for hydrocarbon component 4
500*0.0591 / mole fractions for hydrocarbon component 5

9.34. TMF - Total Mole Fraction 795


Tempest MORE Help, Release 8.1

796 Chapter 9. Tempest MORE init section keywords


CHAPTER

TEN

TEMPEST MORE RECURRENT SECTION KEYWORDS

10.1 ALLX - Set Crossflow On or Off for All Wells

Location

RECU Section

Description

The ALLX keyword is used to set the crossflow on or off for all wells. By default, crossflow is on for all wells and
in this case, fluid is allowed to flow from high pressure layers to low pressure layers through cross-flowing wells.
When crossflow is turned off, the flow of material from layer to layer is stopped in the wells.
ALLX consists of one optional argument which, if used, should be entered on the same line as the ALLX keyword
itself. If no optional argument is entered, the ALLX keyword will default to ‘ON’ to set the crossflow to be on for
all wells.

Definitions

1. ON or OFF
• ON (default) - turn crossflow on for all wells
• OFF - turn off crossflow for all wells

Notes

• YES and NO may be used as aliases for ON and OFF when turning the crossflow for all wells on and off,
respectively.
• The location of the ALLX keyword in the RECU section is significant, and crossflow can be turned on and
off multiple times in a run.
• To turn on/off crossflow for one well, use XFLO event.
• A recommended alternative to this keyword is GXFLO event for group ALL.

Examples

1. ALLX is used to turn on crossflow for all wells in the following example. As shown in the grid below, we
have two sets of layers, separated by permeability barrier. An injector is used to pressure up the bottom
region whilst a producer, WPRD1, lowers the pressure of the entire grid. Well WPRD2 also joins up all the
layers in the grid but only produces oil for 2 years, after which it is stopped.

797
Tempest MORE Help, Release 8.1

ALLX is then used to turn on crossflow for all wells, as follows:

ALLX ON

With ALLX ON, we can see that the WPRD2 well allows for crossflow, as depicted in the final oil saturation
image and wellbore plot of the cumulative oil flow shown below. See ALLX_ON.dat for complete example:

798 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

2. In this example, ALLX is used to turn off crossflow for all wells using the same grid in Example #1 above.
Here, we use ALLX with the OFF option, as follows:

ALLX OFF

As a result, no crossflow is allowed, as depicted in the final oil saturation image and wellbore plot of the
cumulative oil flow shown below. See ALLX_OFF.dat for complete example:

10.1. ALLX - Set Crossflow On or Off for All Wells 799


Tempest MORE Help, Release 8.1

800 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.2 ARRA - Detailed Array Output

Location

RECU Section

Description

The ARRA (array) keyword is used to control the detailed array output for the initial and recurrent 3D data. The
ARRA keyword must be present and accompanied by the GENE keyword in a simulation run for 3D data output
to occur.
Arguments for ARRA consist of two records. The first record consists of three optional arguments which should
be entered on the same line as the ARRA keyword itself. The second record consists of an array of time or date
outputs which should be entered on a separate line below the ARRA keyword. This record must be present when
the ARRA keyword is used. The data entry for this record must be terminated with a slash (/). On a line below
this, any number of ARRA subkeywords, such as GENE, STOR, FLIP, can be used to request additional array
data output.

Definitions

Optional arguments on same line as keyword:


• Units of incremental time: DAYS, MONT, YEAR, or DATE
– DAYS - times are given in days
– MONT - times are given in months
– YEAR - times are given in years
– DATE (default) - times are given in date format
EQUA (optional) - output at equal time intervals (only a single incremental time is read)
END (optional) - output at the end of the simulation (in addition to other times)
Following keyword:
• Array of times (or dates) for data output
– If the EQUA option has been used, only a single incremental time should be supplied; otherwise,
specific output times should be specified.
– This list must be terminated with a slash (/).

Notes

• For recurrent grid data to be created for plotting in 3D, the GENE keyword must be used with ARRA.
• When ARRA is used without GENE, MORE will issue a warning when the dataset is run denoting: “Warn-
ing 815 (Needs GENE with ARRA in RECU section for restarts or Tempest plots) has occurred” and no
recurrent array output will appear in the Recurrent tab of the results section.
• The SATU, DENS, VISC, RELK, MOBI subkeywords can also be used with ARRA to request the output of
phase saturations, densities, viscosities, relative permeabilities, and mobilities, but it is recommended that
the more common approach of applying GENE or STOR to request these properties be used.
• When streamline displays are activated using the STRE keyword in the INPU section, the initial time step for
the displayed recurrent array data will be one day after the initial date of the simulation set using IDAT in the
INPU section. This one day reporting delay is due to the nature of the calculations needed for streamlines.
To get recurrent array data output on the initial date of the simulation, the user can either specify a very tiny

10.2. ARRA - Detailed Array Output 801


Tempest MORE Help, Release 8.1

time step in the time interval array for record two of the ARRA keyword, or if streamline displays are not
required, remove the STRE keyword in the INPU section. Please see Example #4 for more information.
• The initial time step for the recurrent array data in restart runs will not be affected by the presence of the
STRE keyword and the initial time step reported will be the same as the date specified by the SDAT keyword
in the INPU section.

Examples

1. ARRA is used to specify data output in years and an array of times is given to indicate the specific time
intervals between output. GENE is also used to request that fluid-in-place summaries will be written to the
output file and restart information will be written to the MORE file system to drive Tempest at the times
specified by the ARRA keyword.

ARRA YEAR
0 2 4 6 8 10 12 14 /
GENE REST FLIP

Looking in the Recurrent tab of the Results, we will see that array data has been output for 3D visualisation
at the intervals specified. See ARRA.dat for complete example:

2. This example is similar to the one above except that the EQUA argument will be added to the ARRA
keyword to specify that array data will be output at equal time intervals of 2 years. In this case, only one
value is needed for the array of time intervals.

ARRA YEAR EQUA


2.0 /
GENE REST FLIP

Looking in the Recurrent tab of the Results, we will see that array data has been output for 3D visualisation
at exactly 2 year intervals. See ARRA_EQUA.dat for complete example:

802 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. This example is also similar to the ones above except that the END argument will be added to the ARRA
keyword to specify that array data will also be output at the end of the simulation.
ARRA YEAR EQUA END
2.0 /
GENE REST FLIP

Looking in the Recurrent tab of the Results, we will see that array data has been output for 3D visualisation
at exactly 2 year intervals and also at the end of the simulation (i.e. January 1, 2015). See ARRA_END.dat
for complete example:

4. We can see that all of the recurrent data output for the three examples above have an initial time step on
January 2, 2000 while the initial date of simulation for these examples was specified at January 1, 2000.
This will always be the case when streamlines displays are enabled. If it is desired to have recurrent data
output on the initial date of the simulation vs. one day after the initial date of the simulation, one of two
procedures can be followed:
(1) If streamline displays are not required, we can remove the STRE keyword from the INPU section to
disable streamline displays.
We will then see the following time step outputs in the Recurrent tab of the results. See
ARRA_NoStream.dat for complete example:

If streamline displays are desired,


(2) We can specify a very small (i.e. 0.000001) time step in the time interval array of the second record of
the ARRA keyword. Note that it is important to remember not to use the EQUA option with the ARRA
keyword when using such a small time step to avoid taking up too much disk space.
ARRA YEAR
0.000001 2 4 6 8 10 12 14 /
GENE REST FLIP

We will then see that the first time step displayed in the Recurrent tab of the results start on Jan-
uary 1, 2000 instead of January 2, 2000, and streamline displays and data will still be available. See

10.2. ARRA - Detailed Array Output 803


Tempest MORE Help, Release 8.1

ARRA_InitialTimeStep.dat for complete example:

804 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.3 ATRC - Sets the Injection Concentration for an Aquifer

Location

RECU Section

Description

The ATRC (aquifer tracer) keyword is used to set the tracer injection concentration for an aquifer. This keyword
consists of three required arguments which should be entered in succession on the same line as the ATRC keyword
itself when used.

Definitions

1. Name of the aquifer with tracer


2. Tracer name
3. Tracer concentration associated with injection from aquifer (fractional value)

Notes

• The name of the component which carries the tracer must be one of the components that are listed under the
CNAM keyword in the INPU section.
• It is possible to define one or more named tracers using the TRAC keyword. A tracer is transported by a
named component. The concentration of a tracer injected by a well may be defined using WTRC or the
TRAC event. The concentration of a tracer in water injected by an aquifer may be defined using the ATRC
keyword.

Examples

1. ATRC is used to assign the BRIN tracer to the AQ1 aquifer at a concentration of 100%. To do this, we must
first define a tracer named BRIN in the FLUI section as follows:

TRAC BRIN WATR

The BRIN tracer can now be used with the ATRC keyword in the RECU section:

ATRC AQ1 BRIN 1.0

With the presence of a tracer, a tracer icon will appear in the Recurrent tab of the results which will allow
you to plot the concentration of the tracer in the reservoir with time in 3D. In the figure below, we can see
the distribution of the BRIN tracer in the reservoir from the AQ1 aquifer after 20 years. See ATRC.dat for
complete example.

10.3. ATRC - Sets the Injection Concentration for an Aquifer 805


Tempest MORE Help, Release 8.1

806 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.4 BCKT - Set back-tracking Newton iteration

Location

RECU Section

Description

The BCKT keyword is used to request back-tracking Newton iterations when solving each timestep.
Typically this keyword will only used for debugging by MORE developers.

Definitions

1. LINE (optional) - request a linearity check of the Jacobian used in the Newton iteration

Example

1. BCKT is used to set up a back-tracking Newton iteration without a linearization check

BCKT

10.4. BCKT - Set back-tracking Newton iteration 807


Tempest MORE Help, Release 8.1

10.5 BRAN - Define a Branch Structure for a Set of Tracks

Location

RECU Section
The BRAN (branch) keyword is used to define a branch structure for a set of tracks. It sets the parent track for a
child track and sets the measured depth at which the child track kicks off from the parent track. BRAN consists of
three required arguments and one optional one which should all be entered in succession on the same line as the
BRAN keyword.

Definitions

1. Child track name


2. Parent track name
3. Measured depth offset
• Units: feet (Field), metres (Metric)
4. Name of radius and roughness table defined by RRTA (optional)

Notes

• Parent and child trajectories must first be defined using the TTAB, ENDT or TFIL well track definition
format before the BRAN keyword can be used.
• If the BRAN and CRAT arguments of the RATE keyword are also entered in the RECU section, the resulting
branch and completion summary vectors created can be seen in the Wells tab of the Results section, as
shown in example 1. Note that the plotted measured depths along a branch may be shifted in order to yield
consistent values at the branch point between the child and parent trajectories.
• If used with the WSEG keyword, Well Track Table and Well Event Table must first be defined using TTAB
ENDT and ETAB ENDE respectively before the WSEG keyword can be used.

Examples

1. BRAN is used to add a branch to the P-1 well trajectory at a measured depth of 5500. To do this, one must
first ensure that the parent (P-1)and child (P-1:1) branch trajectories are both defined using the TTAB format.

--* Specify well trajectory in true xyz space


TTAB
--*x y z md
P-1
2500 5500 5000 5000
2500 5500 6000 6000

P-1:1
2500 5500 5500 5500
8000 5500 5500 11000
ENDT

We then introduce the BRAN keyword to define the branch structure for P-1 and P-1:1.

BRAN P-1:1 P-1 5500

We may use the PERF event, to add completions to P-1 and P-1:1, as follows. See BRAN.dat for complete
example:

808 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5800 6000 0.5 0 10
01/Jan/2000 PERF 9000 11000 0.5 0 10 BRANCH 1
01/Jan/2000 LPT 5000
01/Jan/2000 BHPT 1500
ENDE

The resulting completed branch will then appear on the 3D Viewer as follows. Measured depths are marked
on this image for clarity.

The well P-1 in the wells tab can also be expanded to show the completions of each branch, as shown below.

2. In this example, BRAN is used to create a fishbone structure of branches.

--* Specify well trajectory in true xyz space


TTAB
--* x y z md
fish
5000 1000 5500 5500
5000 9000 5500 13500

fish:1
5000 2000 5500 6500
6000 3000 5500 7910

fish:2
5000 2000 5500 6500
4000 3000 5500 7910

fish:3
5000 4000 5500 8500
6000 5000 5500 9910

fish:4
5000 4000 5500 8500

10.5. BRAN - Define a Branch Structure for a Set of Tracks 809


Tempest MORE Help, Release 8.1

4000 5000 5500 9910

fish:5
5000 6000 5500 10500
6000 7000 5500 11910

fish:6
5000 6000 5500 10500
4000 7000 5500 11910

fish:7
5000 8000 5500 12500
6000 9000 5500 13910

fish:8
5000 8000 5500 12500
4000 9000 5500 13910
ENDT

We then introduce the BRAN keyword to define the branch structure. See BRAN_fishbone.dat for complete
example:

BRAN fish:1 fish 6500


BRAN fish:2 fish 6500
BRAN fish:3 fish 8500
BRAN fish:4 fish 8500
BRAN fish:5 fish 10500
BRAN fish:6 fish 10500
BRAN fish:7 fish 12500
BRAN fish:8 fish 12500

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

fish
01/Jan/2000 PROD
01/Jan/2000 PERF 7000 8000 0.5 0 10
01/Jan/2000 PERF 9000 10000 0.5 0 10
01/Jan/2000 PERF 11000 12000 0.5 0 10
01/Jan/2000 LPT 5000
01/Jan/2000 BHPT 1500
01/Jan/2000 PERF 7500 7910 0.5 0 10 BRANCH 1
01/Jan/2000 PERF 7500 7910 0.5 0 10 BRANCH 2
01/Jan/2000 PERF 9500 9910 0.5 0 10 BRANCH 3
01/Jan/2000 PERF 9500 9910 0.5 0 10 BRANCH 4
01/Jan/2000 PERF 11500 11910 0.5 0 10 BRANCH 5
01/Jan/2000 PERF 11500 11910 0.5 0 10 BRANCH 6
01/Jan/2000 PERF 13500 13910 0.5 0 10 BRANCH 7
01/Jan/2000 PERF 13500 13910 0.5 0 10 BRANCH 8
ENDE

The resulting completed branches will then appear on the 3D Viewer as follows:

810 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

The well “fish” in the wells tab can also be expanded to show the completions of each branch, as shown
below.

10.5. BRAN - Define a Branch Structure for a Set of Tracks 811


Tempest MORE Help, Release 8.1

3. In this example, BRAN is used to create a branch of a branch structure.

--* Specify well trajectory in true xyz space


TTAB
--* x y z md
bb
2000 2000 5000 5000
2000 2000 6000 6000

bb:1
2000 2000 5800 5800
7000 2000 5800 10800

bb:2
3000 2000 5800 6800
3000 8000 5800 12800

bb:3
3000 4000 5800 8800
8000 4000 5800 13800

bb:4
4000 4000 5800 9800
4000 9000 5800 14800

812 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

bb:5
4000 6000 5800 11800
9000 6000 5800 16800

We then introduce the BRAN keyword to define the branch structure. See BRAN_BranchOfBranch.dat for
complete example:

BRAN bb:1 bb 5800


BRAN bb:2 bb:1 6800
BRAN bb:3 bb:2 8800
BRAN bb:4 bb:3 9800
BRAN bb:5 bb:4 11800

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

bb
01/Jan/2000 PROD
01/Jan/2000 PERF 5800 6000 0.5 0 10
01/Jan/2000 LPT 5000
01/Jan/2000 BHPT 1500
01/Jan/2000 PERF 8800 10800 0.5 0 10 BRANCH 1
01/Jan/2000 PERF 10800 12800 0.5 0 10 BRANCH 2
01/Jan/2000 PERF 11800 13800 0.5 0 10 BRANCH 3
01/Jan/2000 PERF 12800 14800 0.5 0 10 BRANCH 4
01/Jan/2000 PERF 14800 16800 0.5 0 10 BRANCH 5
ENDE

The resulting branches will then appear on the 3D Viewer as follows. Measured depths are marked on this
image for clarity.

10.5. BRAN - Define a Branch Structure for a Set of Tracks 813


Tempest MORE Help, Release 8.1

The well ‘bb’ in the wells tab can also be expanded to show the completions of each branch, as shown
below.

814 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

4. In this example, BRAN is used with the WSEG (multi-segmented well) option.

10.5. BRAN - Define a Branch Structure for a Set of Tracks 815


Tempest MORE Help, Release 8.1

--* Specify well trajectory in true xyz space


TTAB
--*x y z md
P-1
1500 4500 5000 5000
1500 4500 6000 6000

P-1:1
1500 4500 5500 0
6000 4500 5500 4500
ENDT

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5600 5800 0.5 0 10
01/Jan/2000 PERF 3500 4500 0.5 0 10 BRANCH 1
01/Jan/2000 OPT 5000
01/Jan/2000 BHPT 1500
ENDE

We introduce the BRAN, WSEG, and RRTA keywords to define the branch structure, multi-segmented well
option and a roughness and radius table respectively. See BRAN_WSEG.dat for complete example:

RRTA RTAB1
--MD Rad Roughness
5000 0.10 0.01
5500 0.50 0.05
/

RRTA RTAB2
--MD Rad Roughness
0 0.60 0.55
1000 0.70 0.56
2000 0.80 0.57
3000 0.90 0.58
4000 0.99 0.59
/

WSEG P-1 500 5000 0.45 RTAB1


BRAN P-1:1 P-1 5500 RTAB2

The resulting completed branches will appear on the 3D Viewer as follows.

816 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

If the argument SEGM under the GENE keyword in the RECU section is entered, the segment properties
can be viewed in the PRINT file and a plot using Tempest VIEW, as shown below:

10.5. BRAN - Define a Branch Structure for a Set of Tracks 817


Tempest MORE Help, Release 8.1

818 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.6 CMPR - Set up a Compressor Table

Location

RECU Section

Description

The CMPR (compressor) keyword is used to set up a multi-stage compressor. Arguments for CMPR consist of
two records. The first record consists of one required argument and two optional ones which should all be entered
in succession on the same line as the CMPR keyword itself when used. The second record consists of at least three
rows of data for each stage of the compressor. The very final row of data for CMPR must be terminated by a slash
(/) to complete the data entry for CMPR.

Definitions

RECORD 1:
1. Compressor name
2. Number of compressor stages (optional)
• Default: 1
3. Gas or oil surface volume (optional): SGAS or SOIL
• SGAS (default) - gas surface volume
• SOIL - oil surface volume
RECORD 2: (For each stage)
1. Input pressure values (Np)
• Data entry for input pressure values must be terminated by a slash (/).
• Units: psia (Field), bars (Metric)
2. Flow rate values (Nq)
• Units:
– for SGAS - mscf/day (Field), ksm3 /day (Metric)
– for SOIL - stb/day (Field), sm3 /day (Metric)
3. Pressure gain values (Np*Nq)
• Units: psia (Field), bars (Metric)

Notes

• If there are Np pressure values and Nq flow values, then Np*Nq pressure gain values will be expected. The
ordering is that the pressure values change fastest - i.e. the first Np pressure gain values correspond to the
first flow rate values.

Examples

1. CMPR is used to set up a compressor named COMPRES with 2 stages. Each stage of this compressor will
have 2 inflow pressures (Np) and 2 flow rates (Nq) which in turn require 4 (Np*Nq) pressure gain values in
total.

10.6. CMPR - Set up a Compressor Table 819


Tempest MORE Help, Release 8.1

CMPR COMPRES 2
1000 2000 / inflow pressures for stage 1
0 1000 / flow rates for stage 1
20 30 -- pressure gains for the two pressures, flow rate 1, stage 1
30 50 / pressure gains for the two pressures, flow rate 2, stage 1

1000 2000 / inflow pressures for stage 2


0 1000 / flow rates for stage 2
40 50 -- pressure gains for the two pressures, flow rate 1, stage 2
60 90 / pressure gains for the two pressures, flow rate 2, stage 2

820 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.7 CNAC - Completions in Numerical Aquifer Cells

Location

RECU Section (after the WELL keyword)

Description

The CNAC sub-keyword of WELL is used to provide a simple means of completing a well in a numerical aquifer.
As a sub-keyword of WELL , CNAC can only be used after the WELL keyword is specified.
If the Events format is used to enter well data, please use the CNAC event to enter completions in numerical
aquifers.

Definitions

1. Name of the numerical aquifer


2. Cell for completion (counting from the end of the aquifer which attaches to the reservoir)
3. Wellbore radius
• Default: 0.5 feet (field), 0.152 metres (metric)
4. Connection multiplier (optional)
• Default: 1 but may be entered to modify the calculated connection factor by a factor of M
5. Skin factor
• Default: 0
6. Product of connection cell permeability and distance (KH)
• Default: grid block value
• NOTE: Aquifer connections are always regarded as vertical.
7. Saturation table number for the connection (optional)
• Default: defaults to the saturation table number for the grid cell containing the connection

Notes

• A recommended alternative to this keyword is CNAC event.


• The saturation table used to calculate the connection mobilities is normally taken from the grid cell contain-
ing the conection. This may be overriden by specifying a non-default value for the 7th argument. The same
saturation table number applies when hysteresis is present and the saturation tables (e.g. KRGO, KRWG and
KRWO) are specified with columns for both drainage and imbibition processes.
When the saturation table has been specified in the 7th argument and End Point Scaling is used, keyword
WEPS may be used to control whether the end points for the connection mobility calculation are taken from
this saturation table or from the grid cell containing the connection.

Examples

1. CNAC is used to complete wells P-1 and P-2 in the 4th and 3rd cells of aquifers A1 and A2 respectively. See
aqnw.dat for complete example:

10.7. CNAC - Completions in Numerical Aquifer Cells 821


Tempest MORE Help, Release 8.1

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

WELL P-1 PROD LIQU QLIM=100 PMIN=100


CNAC A1 4 /
/
WELL P-2 PROD LIQU QLIM=100 PMIN=100
CNAC A2 3 /
/

This will be shown in the 3D viewer as follows:

822 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.8 DEBJ - Set Jacobian Print Debug

Location

RECU Section

Description

The DEBJ keyword is used to request output of the reservoir Jacobian (including any non-neighbour connections)
to the debug file for specific cells of the global or local grids. This keyword is directly followed by eight required
arguments which describe which grid cells are output.
Typically this keyword will only used for debugging by MORE developers. See also the DEBR keyword to print
the reservoir residual.

Definitions

1. Lower ix-limit for the debug output


2. Upper ix-limit for the debug output
3. Lower iy-limit for the debug output
4. Upper iy-limit for the debug output
5. Lower iz-limit for the debug output
6. Upper iz-limit for the debug output
7. Level for the debug (a higher integer number creates more output; a zero disables it)
8. Name of the local grid (previously entered with the LGRD keyword) to which the first 6 items refer, or
‘global’ to refer to the global grid.

Notes

• DEBJ for the global grid only may be also controlled by setting items 1 and 6 to 10 in the DEBU keyword.

Example

1. Using DEBJ to report the Jacobian both in the part of the global grid and within the local grid MyLGR1:

DEBJ 2 3 8 10 10 10 3 global

DEBJ 1 3 2 5 3 3 3 MyLGR1

10.8. DEBJ - Set Jacobian Print Debug 823


Tempest MORE Help, Release 8.1

10.9 DEBR - Set Residual Print Debug

Location

RECU Section

Description

The DEBJ keyword is used to request output of the reservoir residual (including any non-neighbour connections)
to the debug file for specific cells of the global or local grids. This keyword is directly followed by eight required
arguments which describe which grid cells are output.
Typically this keyword will only used for debugging by MORE developers. See also the DEBJ keyword to print
the reservoir Jacobian.

Definitions

1. Lower ix-limit for the debug output


2. Upper ix-limit for the debug output
3. Lower iy-limit for the debug output
4. Upper iy-limit for the debug output
5. Lower iz-limit for the debug output
6. Upper iz-limit for the debug output
7. Level for the debug (a higher integer number creates more output; a zero disables it)
8. Name of the local grid (previously entered with the LGRD keyword) to which the first 6 items refer, or
‘global’ to refer to the global grid.

Notes

• DEBR for the global grid only may be also controlled by setting items 1 and 6 to 10 in the DEBU keyword.

Example

1. Using DEBR to report the residual both in the part of the global grid and within the local grid MyLGR1:

DEBR 2 3 8 10 10 10 3 global

DEBR 1 3 2 5 3 3 3 MyLGR1

824 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.10 DEBW - Set Well Print Debug

Location

RECU Section

Description

The DEBW keyword is used to request debug output from the well solver. This keyword is directly followed by a
list of well names.
Typically this keyword will only used for debugging by MORE developers.

Notes

• Debug output for all wells may also be set using item 5 in the DEBU keyword.
• The well list is reset by each subsequent use of DEBW.

Example

1. DEBW is used to create debug output for individual wells PROD1, PROD2 and INJE1.

DEBW PROD1 PROD2 INJE1

10.10. DEBW - Set Well Print Debug 825


Tempest MORE Help, Release 8.1

10.11 DELT - Set Next Time Step Size

Location

RECU Section

Description

The DELT keyword is used to set the next time step size for running a simulation. DELT consists of one optional
argument which should be entered in succession on the same line as the DELT keyword itself if used.

Definitions

1. Size of the next time step (optional)


• Initial: 0.1
• Default: current value
• Units: Days

Notes

• DELT will override the default initial time step.


• A recommended alternative to this keyword is DELT event.

Examples

1. DELT is used to set a time step of 5 days. See DELT.dat for complete example:

DELT 5

826 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.12 DENS - Density Output

Location

RECU Section (after the ARRA or ESOL keywords)

Description

The DENS keyword is used to request that density data be output by MORE, either to the .out file or to ECLIPSE
solution files.

Syntax

DENS may be followed by all or any of four possible arguments:


1. OIL - requests output of oil phase densities
2. GAS - requests output of gas phase densities
3. WAT - requests output of water phase densities
4. SOLV - requests output of solvent phase densities

Notes

• To output 3D arrays for visualisation through Tempest VIEW, use STOR rather than DENS.
• Printed output of cell values to the .out file is not normally useful except for small cases

Example

DENS OIL WATer

10.12. DENS - Density Output 827


Tempest MORE Help, Release 8.1

10.13 DTMX - Set Maximum Time Step Controls

Location

RECU Section

Description

The DTMX keyword is used to set maximum time step controls. Arguments for DTMX consists of two records.
The first record consists of two optional arguments that should be entered in succession on the same line as the
DTMX keyword itself if used. The second record consists of a table with up to seven columns of values that reflect
the time step controls. Of the seven columns, only the first three columns of values are required while the last four
columns are optional. Following the final row of DTMX data in the table, a solitary slash (/) on a separate line is
required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Units of time for time when the supplied values become effective (Column 1 in Record 2) (optional) -
DAYS, MONT, YEAR, or DATE
• DAYS - time given in days
• MONT - time given in months
• YEAR - time given in years
• DATE (default) - time given as a date
2. Units of time for maximum allowed timestep size (Column 2 of Record 2) (optional): DAYS, MONT, or
YEAR
• DAYS (default) - time given in days
• MONT - time given in months
• YEAR - time given in years
RECORD 2:
1. Time when the supplied values become effective
• Default: 0
2. Maximum allowed timestep size
• Default: 32 days
3. Target saturation change
• Default: 0.15
4. CFL tolerance, used in ADAP and IMPES modes (optional)
• Default: 1.0
5. Maximum allowed time step after a well control change (optional)
• Default: 10 days
6. Target pressure change (optional)
• Default: 100 atm
7. Target temperature change (optional)

828 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• Default: 50o F

Notes

• CFL stands for Courant-Friedrich-Lewy factor. It is essentially the throughput ratio: the ratio of the amount
of a fluid flowing through a grid cell in a time step to the amount in the grid cell. IMPES runs become
unstable when the throughput ratio is greater than 1, but instability can sometimes be seen for lower values
of throughput value, depending on the shape of the relative permeability curves and the capillary pres-
sures. Reducing the CFL tolerance is often a good move in an IMPES run if time steps are chopping or if
oscillations in the GOR or water cut are seen.
• Recommended alternatives to 2nd , 3rd , 5th , 6th and 7th arguments of the 2nd record are TSMX, TSDS, TSWM,
TSDP and TSDT events respectively.

Examples

1. DTMX is used to specify a maximum time step of one month and a maximum saturation change of 5% for
the first two years; at 2 years, the limits are changed to a maximum time step of two months and a maximum
saturation change of 10%.

DTMX YEAR MONT


0 1.0 0.05
2 2.0 0.10
/

10.13. DTMX - Set Maximum Time Step Controls 829


Tempest MORE Help, Release 8.1

10.14 EFIL - Well Event Data in an Include File

Location

RECU Section

Description

The EFIL keyword is used to include a file which contains event data. EFIL has a single argument, the name of
the file which should be included. The file name must be entered on a separate line below the EFIL keyword.

Definitions

1. Event data include file name

Notes

• ETAB provides an alternative means of specifying the entering the events without using an include file.
• The input format of event data is defined by the EFOR keyword.
• The units convention for events may be set using EUNI.
• EVENTS EXACT may be used to require that simulation steps match event times exactly.
• Please also see the ETAB, EFOR, and EUNI keywords for more information regarding the input of well
event data for a simulation.
• For a detailed description of the events that can be used in MORE, please see the Working with Events and
the List of Events sections.

Examples

1. EFIL is used to include a ‘wells.event’ file, which includes well event data, in a simulation.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


EFIL
'wells.event'

The event data is contained in the file ‘wells.event’ and must follow the format specified with the EFOR
keyword. The file ‘wells.event’ could look as follows

WINJ 01/Jan/2000 INJE


WINJ 01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
WINJ 01/Jan/2000 WIT 2000.00
WINJ 01/Jan/2000 BHPT 1.00000e+04

WPRD 01/Jan/2000 PROD


WPRD 01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
WPRD 01/Jan/2000 OPT 2000.00

830 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.15 EFOR - Format Definition for Well Event Data

Location

RECU Section

Description

The EFOR keyword is used to provide the format definition for well event data entered using either ETAB or EFIL.
EFOR can have up to nine arguments, of which one is required. These arguments should all be entered on the
same line as the EFOR keyword.

Definitions

1. WELL (optional) - its presence indicates that the name of the event owner will be specified on each record.
2. Date format
• The date format specification consists of the components DD, MM/MMM, YYYY and a delimiter
– DD implies an integer in the range 1 to 31
– MM implies an integer in the range 1 to 12
– MMM implies a three-letter month name: {jan, feb,...,dec}
– YYYY implies a four digit year
– Any non-alphanumeric character can serve as a delimiter
• The date format is specified by writing the three components in the desired order with the chosen
delimiter in-between. Moreover, the date format must be enclosed in quotes.
Example: if the format is ‘MMM:DD:YYYY’, MORE expects event dates of the form Jan:01:1947.
• An alternative date format is DAYS, in which case event times have to be specified in days from the
initial date of the simulation.
3. Optional column identification data associated with events PERF and SQUE: MDL, MDU, RAD, DIAM,
SKIN, and/or MULT
• MDL - first measured depth
• MDU - second measured depth
• RAD - radius
• DIAM - diameter
• SKIN - skin value
• MULT - multiplier; this is the zonal multiplier used in the well index calculation (see Well Index
Calculations in the MORE Technical Reference for more information)

Notes

• The EFOR keyword can be used several times in the same run. When MORE reads an ETAB or EFIL the
format settings of the last preceding EFOR keyword will be applied.
• If the EFOR keyword has not been used, MORE assumes a default format equivalent to

EFOR 'DD/MMM/YYYY' MDL MDU RAD SKIN MULT

when it reads an ETAB or EFIL.

10.15. EFOR - Format Definition for Well Event Data 831


Tempest MORE Help, Release 8.1

• The optional column identification data affects only the event data of the events PERF and SQUE.
It is possible to specify a different order of the event data, for example, by
EFOR 'DD/MMM/YYYY' MDL MULT MDU SKIN RAD

In event tables following this EFOR statement, MORE assumes the order MDL, MULT, MDU, SKIN, RAD
when reading event data of PERF and SQUE.
It is also possible to reduce the event data to be specified, for example, with
EFOR 'DD/MMM/YYYY' MDL MDU SKIN

In event tables following this EFOR statement, MORE assumes that PERF or SQUE events provide only
MDL, MDU, and SKIN (in this order) as event data while the missing event data is to be defaulted. Note
that there are no default values for MDL and MDU.
Moreover, if the optional column data is left out, e.g.
EFOR 'DD.MMM.YYYY'

only the date format for the following event tables is adjusted. For the optional column data the last re-
ordered/reduced format (or the default format, if it has never been modified) is assumed.
• For a detailed description of the events that can be used in MORE, please see the Events Overview and the
List of Events sections.
• Please also see the EFIL, ETAB, and EUNI keywords for more information regarding the input of well event
data for a simulation.

Examples

The following four examples demonstrate the use of the WELL option and different date formats. Apart from that
all four examples are equivalent.
1. EFOR is used to specify a date format of DD/MMM/YYYY. The option WELL says that any record starts
with the owner of the event. In this example the well w_1 and the group g_1 are owners.
EFOR WELL 'DD/MMM/YYYY' MDL MDU DIAM MULT SKIN
ETAB
w_1 01/Jan/1975 PERF 0 1000 0.05 1.0 0.0
w_1 01/Jan/1975 OPT 750
g_1 01/Jan/1975 GOPT 1000
ENDE

2. In this example the option WELL is not present. This indicates that owner names have to be put on separate
lines. Moreover, each line with an owner name on it starts a block and all the events of this block belong to
that owner. Here, the events PERF and OPT are in the same block and belong to owner w_1.
EFOR 'DD/MMM/YYYY' MDL MDU DIAM MULT SKIN
ETAB
w_1
01/Jan/1975 PERF 0 1000 0.05 1.0 0.0
01/Jan/1975 OPT 750
g_1
01/Jan/1975 GOPT 1000
ENDE

3. This example demonstrates the use of a different date-format ‘MMM:DD:YYYY’.


EFOR 'MMM:DD:YYYY' MDL MDU DIAM MULT SKIN
ETAB
w_1

832 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Jan:01:1975 PERF 0 1000 0.05 1.0 0.0


Jan:01:1975 OPT 750
g_1
Jan:01:1975 GOPT 1000
ENDE

4. An alternative format for specifying event times is DAYS. When using this format event-times have to be
specified in days from the initial date, not as calendar dates. Assuming the 1st Jan 1975 as the initial date,
the example below is equivalent to others.

EFOR WELL DAYS MDL MDU DIAM MULT SKIN


ETAB
w_1 0 PERF 0 1000 0.05 1.0 0.0
w_1 0 OPT 750
g_1 0 GOPT 1000
ENDE

10.15. EFOR - Format Definition for Well Event Data 833


Tempest MORE Help, Release 8.1

10.16 ETAB - In-line Event Data in a Table

Location

RECU Section

Description

The ETAB keyword is used to place event data directly into the RECU section. The data input for an ETAB
follows the same rules as the data input in a file included by the EFIL keyword. In contrast to EFIL, which is
terminated by end-of-file, an ETAB is terminated by using the ENDE keyword.

Definitions

n/a

Notes

• The input format of event data is defined by the EFOR keyword.


• The units convention for events may be set using EUNI.
• EVENTS EXACT may be used to require that simulation steps match event times exactly.
• Please also see the EFIL, EFOR, and EUNI keywords for more information regarding the input of well event
data for a simulation.
• For a detailed description of the events that can be used in MORE, please see the Working with Events and
the List of Events sections.

Examples

1. In this example, ETAB is used to provide in-line production data for the WINJ injection well and the WPRD
production well. EFOR is used to define the format of the ETAB data and the well name will be entered on
each line in this case.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT

ETAB

WINJ 01/Jan/2000 INJE


WINJ 01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
WINJ 01/Jan/2000 WIT 2000.00
WINJ 01/Jan/2000 BHPT 1.00000e+04

WPRD 01/Jan/2000 PROD


WPRD 01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
WPRD 01/Jan/2000 OPT 2000.00

ENDE

Alternatively, another format we can use to enter the same data as shown above is demonstrated below.
Here, we will just specify the well names once and all relevant event data is listed below it. Thus, in this
case, EFOR and ETAB will take the following format:

834 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

EFOR 'DD/MM/YYYY' MDL MDU RAD SKIN MULT

ETAB

WINJ
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 2000.00
01/Jan/2000 BHPT 1.00000e+04

WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

ENDE

10.16. ETAB - In-line Event Data in a Table 835


Tempest MORE Help, Release 8.1

10.17 ENDE - End of the ETAB Event Table

Location

RECU Section

Description

The ENDE keyword terminates an event table specified with the keyword ETAB. There are no arguments for
ENDE.

Definitions

n/a

Notes

• Please also see the EFIL, ETAB, and EUNI, and EFOR keywords for more information regarding the input
of well event data for a simulation.
• For a detailed description of the events that can be used in MORE, please see the Events Overview section.

Examples

1. ENDE is used to terminate the reading of event data from the current ETAB table.

EFOR WELL 'YYYY:MMM:DD' MDL MDU SKIN MULT

ETAB
P-1 2010:JLY:01 LTAB TAB1
P-1 2010:JLY:02 PROD
P-1 2010:JLY:20 THPT 1200
P-1 2010:JLY:20 OPT 5000
ENDE

836 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.18 ENDH - Terminate Historical Well Data Input

Location

RECU Section (after the HTAB keyword)

Description

The ENDH keyword is used to indicate the end of historical well data that has been input using the HTAB keyword.
ENDH must be paired with HTAB to terminate that table when the well names in the table are entered on separate
lines. There are no arguments for ENDH.

Definitions

n/a

Notes

n/a

Examples

1. HTAB is used to provide the historical oil, gas, and water rates and bottom hole pressures for two wells,
WPRDA and WPRDB. HUNI is also used to define the units of the rates and HFOR is used to define the
format of the historical data given in HTAB . In this case, the well names are entered on separate lines so
ENDH must be used to terminate the table.

HUNI
stb/day Mscf/day 2* psia

HFOR DAYS QOIL QGAS QWAT BHP

HTAB
WPRDA
0 1172 934.5 3.68 2300
35 1238 982.9 4.73 2294
74 1194 952.2 7.23 2292
110 1182 944.0 6.41 2286
128 1195 957.6 5.21 2281
175 1172 930.4 8.41 2279

WPRDB
0 823 617.3 2.35 2299
30 827 613.9 5.49 2287
65 796 587.2 3.23 2285
93 784 556.1 1.14 2283
120 788 521.0 2.52 2281
170 751 515.7 0.21 2279
ENDH

This historical tabulated data will then automatically appear in the Wells tab of the results in Tempest View
for plotting. When this data is plotted with the calculated data, we can produce the following plots:

10.18. ENDH - Terminate Historical Well Data Input 837


Tempest MORE Help, Release 8.1

838 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.19 ENDO - End of an OPERation Definition

Location

RECU Section

Description

The ENDO keyword is used to terminate the definition of an Operation (OPER). There are no required arguments
for ENDO.

Definitions

n/a

Notes

• See also the OPER keyword and the Operations in the MORE Technical Reference for more information
regarding using Operations in Tempest.

Examples

1. ENDO is used to terminate the definition of an Operation (OPER).

OPERATION changeWellRate

WELL P-1 PROD liq QLIM=150 PMIN=100


WELL P-2 PROD liq QLIM=150 PMIN=100

ENDO

10.19. ENDO - End of an OPERation Definition 839


Tempest MORE Help, Release 8.1

10.20 ENDT - Terminate Welltrack Input

Location

RECU Section (after the TTAB keyword)

Description

The ENDT keyword is used to indicate the end of welltrack data that has been input using the TTAB keyword.
ENDT must always be paired with TTAB when it is used. There are no arguments for ENDT.

Definitions

n/a

Notes

n/a

Examples

1. TTAB and ENDT are used to enter in well tracks for wells WP_A and WP_B.

TTAB
WP_A
-- X Y Z MD
23613.4 764512.0 100.0 100.0
23620.7 764839.0 4300.0 4300.0
23731.2 765193.0 5000.0 5300.0
23782.7 765921.0 5000.0 6300.0

WP_B
-- X Y Z MD
24107.3 764313.0 0.0 0.0
24098.2 764298.0 4510.0 4510.0
24052.7 765213.0 5056.0 5457.0
24008.9 765103.0 5065.0 6437.0
ENDT

2. TTAB and ENDT are used to enter in well tracks for wells I-1 and P-1 with the NORO option.

TTAB NORO
I-1
-- X Y Z MD
2500.00 3500.00 5000.00 5000.00
2500.00 3500.00 6000.00 6000.00

P-1
-- X Y Z MD
7500.00 9500.00 5000.00 5000.00
7500.00 9500.00 6000.00 6000.00
ENDT

These wells will then appear as follows in the 3D grid:

840 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. TTAB and ENDT are used to define the welltrack for a horizontal well, P_HORIZ.

TTAB
P_HORIZ
-- X Y Z MD
1500.000 500.000 5000.00 5000.00
1500.000 500.000 5400.00 5400.00
8500.000 500.000 5400.00 6000.00
ENDT

This welltrack will then be displayed on the 3D grid as follows:

Note: Perforations for the well were specified using the PERF event.

10.20. ENDT - Terminate Welltrack Input 841


Tempest MORE Help, Release 8.1

10.21 EUNI - Units for Perforation Events

Location

RECU Section

Description

The EUNI keyword is used to define the units for the events PERF and SQUE. EUNI has two required arguments
which must both be entered on the same line as the EUNI keyword.

Definitions

1. Units for measured depth: FEET or METRES


• Defaults: FEET (Field) or METRES (Metric)
2. Units for radius or diameter: FEET, INCHES, METRES or CMS
• Defaults: FEET (Field) or METRES (Metric)

Notes

• The EUNI keyword can be used several times in the same run. When MORE reads an ETAB or EFIL the
unit settings of the last preceding EUNI keyword will be applied.
• If EUNI is not used, the units are either FEET or METRES depending on the unit system of the simulation,
see keyword UNIT.
• See also the ETAB, EFIL, and EFOR keywords for more information regarding the input of well event data
for a simulation.
• See the Working with Events section for a detailed description of the events that can be used in MORE.

Examples

1. EUNI is used to specify that measured depths will be entered in METRES and well diameters will be entered
in CMS.

EUNI METRES CMS

EFOR WELL 'DD/MM/YYYY' MDL MDU DIAM

ETAB
P-104 01/01/2001 PROD
P-104 01/01/2001 PERF 4354 4386 10
ENDE

842 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.22 ESOL - Request ECLIPSE Solution (restart) Files

Location

RECU Section

Description

The ESOL keyword is used to write out ECLIPSE format restart files. The content of the ECLIPSE files will
follow that of the MORE file system files. The syntax for ESOL is very similar to that for the ARRA keyword.
Arguments for ESOL consist of two records. The first record consists of three optional arguments which should
be written on the same line as the ESOL keyword itself. The second record consists of an array of time or date
outputs written on the line below the ESOL keyword. This record must be present when the ESOL keyword is
used. The data entry for this record must be terminated with a slash (/). On a line below this, any number of ESOL
subkeywords, which include GENE with the PRES option, or the SATU, DENS, VISC, RELK, MOBI subkeywords,
can be used to request additional array data output.

Definitions

RECORD 1:
1. Units of incremental time: DAYS, MONT, YEAR, or DATE
• DAYS - times are given in days
• MONT - times are given in months
• YEAR - times are given in years
• DATE (default) - times are given in date format
2. EQUA (optional) - output at equal time intervals (only a single incremental time is read)
3. END (optional) - output at the end of the simulation (in addition to other times)
RECORD 2:
1. Array of times (or dates) for data output
• If the EQUA argument is used in Record One, only a single incremental time should be supplied;
otherwise, specific output times should be specified.
• This list must be terminated with a slash (/).

Notes

• Please also see EGRI for writing grid and init data and ESUM for summary rate data. The file will have the
same root as the input file unless the ECLI option on the OPEN keyword has been set.
• The subkeywords which can be used with ESOL include:
– GENE PRES
– SATU OIL, WATR, and/or GAS
– VISC OIL, WATR, and/or GAS
– DENS OIL, WATR, and/or GAS
– RELK OIL, WATR, and/or GAS
– MOBI OIL, WATR, and/or GAS

10.22. ESOL - Request ECLIPSE Solution (restart) Files 843


Tempest MORE Help, Release 8.1

Examples

1. ESOL is used to specify data output in years and an array of times is given to indicate the specific time
intervals between output. GENE is also used to request that a pressure map be printed into the ECLIPSE
restart file that is created. SATU is also used with OIL to request that oil saturations be output to the
ECLIPSE .unrst file also.

ESOL YEAR
0 2 4 6 8 10 12 14 /
GENE PRES
SATU OIL

When this example is run, the user should see a .unrst file created in the directory where the example file
is located, for use in ECLIPSE.
2. This example is similar to the one above except that the EQUA argument will be added to the ESOL keyword
to specify that array data will be output at equal time intervals of 2 years. In this case, only one value is
needed for the array of time intervals. See ESOL.dat for complete example:

ESOL YEAR EQUA


2.0 /
GENE PRES
SATU OIL

When this example is run, the user should see a .unrst file created in the directory where the example file
is located, for use in ECLIPSE.

844 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.23 ESUM - Request ECLIPSE Format Summary Files

Location

RECU Section

Description

The ESUM keyword is used to write out ECLIPSE format summary files. When ESUM is present in a simulation,
MORE will create a .smspec file for use in ECLIPSE. This file can be found in the same folder where the MORE
dataset is saved.
Arguments for ESUM consist of two records. The first record consists of one required argument and a variety of
optional ones. The summary package options that can be used with ESUM are further described below. All of
these arguments should be entered on the same line as the ESUM keyword itself when used.
On a separate line underneath ESUM, the second record consists of a series of the times or dates should be listed.
This list must be terminated by a slash (/).

Definitions

RECORD 1:
1. EQUA (optional)- specifies ECLIPSE format summary data to be written out at equal time intervals
2. Units of the time interval: DAY, MONTH, YEAR, or DATE
• DAY - time interval in days
• MONTH - time interval in months
• YEAR - time interval in years
• DATE - time interval given in dates; must be in the form of day month year, where year may have 2 or
4 digits (1900 will be added in the 2 digit case.)
3. END (optional) - if END is specified, a final ESUM record will always be written at the end of the run
4. Summary package options (optional) - any number of these packages may be requested
• STAT - statistics for the field
• STAG - statistics for the groups
• FIELD - quantities for the whole field
• GROUP - quantities for groups of wells
• WELL - quantities for wells
• BRAN - quantities for the branches
• SLIM - special output for slim-tube studies
• GROSS - gross well rates
• OIL - oil injection rates
• REGIONS - regional data (see notes section below for more information)
• ITER - details of simulation iterations
• RRF - region-to-region flows
• NETW - network model output
• RECY - recycle quantities

10.23. ESUM - Request ECLIPSE Format Summary Files 845


Tempest MORE Help, Release 8.1

• MATB - material balance


• PFLO - phase flows (free oil, solution (vapourised) oil, solution gas and free gas) flows and potentials
in field, group and well packages
RECORD 2:
1. Series of times or dates
• If the EQUA option is used, only a single time interval is required.

Notes

• The contents of the summary packages above as the same as for the RATE keyword, with one extra package,
the REGIONS package. If the REGIONS package is requested, and fluid-in-place region numbers have been
specified using the FIPN keyword, then the following items will be added to the summary file data for each
region index:

Mnemonic Description
rpr Hydrocarbon volume pressure average
rprp Pore volume weighted average pressure
rprd Datum-corrected hydrocarbon volume pressure average
rprpd Datum-corrected pore volume weighted average pressure
rrrv Pore volume at reference conditions
rrpv Pore volume at reservoir conditions
rhpv Hydrocarbon pore volume at reservoir conditions
roip Oil in place
roipl Oil in place in liquid phase
roipg Oil in place in gas phase
rgip Gas in place
rgipl Gas in place in liquid phase
rgipg Gas in place in gas phase
ragip Adsorbed gas in place
rfgip Free gas in place
rwip Water in place
rosat Oil saturation
rgsat Gas saturation
rwsat Water saturation
rovis Oil viscosity
rgvis Gas viscosity
rwvis Water viscosity
roden Oil density
rgden Gas density
rwden Water density
rppo Oil potential
rppg Gas potential
rppw Water potential
ropr Oil production rate
rgpr Gas production rate
rwpr Water production rate
rlpr Liquid production rate
roir Oil injection rate
rgir Gas injection rate
rwir Water injection rate
ropt Oil production total
rgpt Gas production total
rwpt Water production total
Continued on next page

846 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Table 10.1 – continued from previous page


Mnemonic Description
rlpt Liquid production total
roit Oil injection total
rgit Gas injection total
rwit Water injection total
rmoip Mobile oil in place
rmgip Mobile gas in place
rmwip Mobile water in place
rmoipw Mobile oil in place wrt water
rmoipg Mobile oil in place wrt gas

• Please also see EGRI for writing grid and initial data and ESOL for recurrent data. The file will have the
same root as the input file unless the ECLI option on the OPEN keyword has been set.

Examples

1. ESUM is used to request that ECLIPSE summary data be written out at equal 6 month intervals with the
FIELD and WELLS summary package data. See ESUM.dat for complete example:

ESUM EQUA MONTHS FIELD WELLS


6 /

2. ESUM is used to request that ECLIPSE summary data be written out at 1, 10, 1000, and 2000 days.

ESUM DAYS FIELD


1 10 1000 2000 /

3. ESUM is used to request that ECLIPSE summary data be written out at specific dates with the REGIONS
summary package.

ESUM DATES REGIONS


1 Jan 2000 1 Jul 2000 1 Aug 2000 1 Jan 2001 /

10.23. ESUM - Request ECLIPSE Format Summary Files 847


Tempest MORE Help, Release 8.1

10.24 FLIP - Fluid In Place and Material Balance Output

Location

RECU Section (after the ARRA keyword)

Description

The FLIP keyword is used to request output reporting for one or more fluid-in- place region. FLIP is a subkeyword
of ARRA and it must be used with ARRA to obtain FLIP output in the .out file.
Arguments for FLIP consist of a list of fluid-in-place regions which have been defined in the GRID section using
the DEFI keyword. This list of fluid-in-place regions should be written on the same line as the FLIP keyword
itself when used.

Definitions

1. List of fluid-in-place region names

Notes

• FLIP region arrays are defined in the GRID section (see DEFI and array).

Examples

1. FLIP is used to output fluid in place and material balances for the fluid in place regions ABCD and EFGH
in the MORE .out file at yearly intervals as specified by the ARRA keyword. See FLIP.dat for complete
example:

ARRA YEAR EQUA


1.0 /

FLIP ABCD EFGH

Fluid-in-place data for each fluid-in-place region specified under FLIP will then be output to the MORE
.out file which can be viewed under the Print tab of the results in Tempest View. This data will appear in
the FLIP section of the Print file at yearly intervals, an example of which is shown below:

FLIP===========================================================================
Fluid in place at 1 Jan 2002, 731.0 days
===============================================================================

Fluid in place region:ABCD

Pore volume average pressure 2505.09 psia


Hydrocarbon average pressure 2504.95 psia

Datum corrected pore volume average pressure 2260.88 psia


Datum corrected hydrocarbon average pressure 2290.99 psia

Reservoir volume Surface volume


------- ---------------- ------------------
Oil 572.6537E6 rb 369368.955 mstb
Gas 0.0 rb 295495.164 mmscf
Water 145.0990E6 rb 138172.515 mstb
------- ---------------- ------------------

848 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Surf. vol in res. oil Surf vol in res gas


---- ------------------------- -----------------------
Oil 369368.955 mstb 0.0 mstb
Gas 295495.164 mmscf 0.0 mmscf
---- ------------------------- -----------------------
Total pore volume: 717.7527E6 rb
Total reference volume: 1.7811E9 rb

Mobile Surface Volume


------- ---------------------
Oil 369368.955 mstb
Gas 295495.164 mmscf
Water 1474.797 mstb
------- ---------------------

Phase Original Current Injection Production Units


----- ------------ ------------ ------------ ------------ ---------
Oil 370548.040 369368.955 0.0 0.0 mstb
Gas 296438.432 295495.164 0.0 0.0 mmscf
Water 136710.433 138172.515 1462.000 0.0 mstb
----- ------------ ------------ ------------ ------------ ---------

Fluid in place region:EFGH

Pore volume average pressure 2371.44 psia


Hydrocarbon average pressure 2371.44 psia

Datum corrected pore volume average pressure 2280.22 psia


Datum corrected hydrocarbon average pressure 2291.47 psia

Reservoir volume Surface volume


------- ---------------- ------------------
Oil 860.9386E6 rb 553279.200 mstb
Gas 1748.587 rb 442623.345 mmscf
Water 215.2602E6 rb 204904.825 mstb
------- ---------------- ------------------
Surf. vol in res. oil Surf vol in res gas
---- ------------------------- -----------------------
Oil 553279.200 mstb 0.0 mstb
Gas 442622.033 mmscf 1.312334 mmscf
---- ------------------------- -----------------------
Total pore volume: 1.0762E9 rb
Total reference volume: 1.7811E9 rb

Mobile Surface Volume


------- ---------------------
Oil 553279.200 mstb
Gas 442623.346 mmscf
Water 19.076127 mstb
------- ---------------------

Phase Original Current Injection Production Units


----- ------------ ------------ ------------ ------------ ---------
Oil 553562.115 553279.200 0.0 1462.000 mstb
Gas 442849.692 442623.345 0.0 1169.531 mmscf
Water 204904.919 204904.825 0.0 0.15566E-3 mstb
----- ------------ ------------ ------------ ------------ ---------
==============================================================================

10.24. FLIP - Fluid In Place and Material Balance Output 849


Tempest MORE Help, Release 8.1

10.25 FREQ - Frequency of Output

Location

RECU Section (after the RATE keyword)

Description

The FREQ keyword is used to specify the frequency of the summary output as defined by the RATE keyword.
FREQ must always be used with RATE.
Arguments for FREQ consists of three optional arguments which should all be entered on the same line as the
FREQ keyword itself if used.

Definitions

1. Frequency of the summary output to the standard output unit (the runtime monitor)
• Minimum: 0
• Default: 0
2. Frequency of the summary output to the alternate output unit (the .out file)
• Minimum: 0
• Default: 0
3. Frequency of the well and group output to the RATE file for post processing (the .rat file)
• Minimum: 0
• Default: 1000000 (or previous value)

Notes

• A positive frequency is treated as a multiple of the incremental time between rate reports specified by the
first argument of the RATE keyword.
• A frequency of 0 will cause output at every time step.
• A frequency of -1 will cause output at each ARRA time (when restarts are written).
• A frequency of -2 will cause output only after each RATE card is read.
• Calculation of historical cumulatives in Tempest View:
In some cases, historical rate values but no historical cumulatives are supplied to MORE. In this case,
Tempest View will calculate the historical cumulatives (wopt etc.) using the rate values reported by MORE
in the rate file. The time spacing of these values is controlled by the RATE and FREQ keywords.
If the true historical rates change more frequently than the reported rates, then the cumulatives reported in
Tempest View may be inaccurate. For example, historical rates may be specified in HTAB weekly, but the
simulator will output monthly and the cumulative values will be based on the instantaneous rate values at
the end of each month.
If this is a concern, users should calculate the historical cumulatives outside of the simulator and supply the
values alongside the rate values in HTAB.
• The output of data to the .out file is controlled by the GENE keyword. Packages specified in the RATE
keyword control output to the files used by Tempest View.

850 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. FREQ is used with RATE to specify that summary output be written to the standard output unit (the runtime
monitor) at one month intervals, to the alternate unit (the .out file) at 3 month intervals, and to the RATE
file for post processing at 6 month intervals. See FREQ_1.dat for complete example:

RATE 1 MONTH
FREQ 1 3 6

In the standard output, we will then see summary output at one month intervals:

And in the .out file, we will see output at three month intervals:

Finally, for the RATE file, we will see all 2D data being plotted every six months. For example, when we
plot the bottom hole pressure for a producer well, we will see data points every six months, as shown below:

10.25. FREQ - Frequency of Output 851


Tempest MORE Help, Release 8.1

2. In this example, FREQ is used with RATE to specify that summary output be written to the standard output
unit (the runtime monitor) at every time step, to the alternate output unit (the .out file) at one month
intervals, and to the RATE file for post processing at each ARRA time, which will be every year in this case.
See FREQ_2.dat for complete example:

RATE 1 MONTH
FREQ 0 1 -1

ARRA YEAR EQUA


1 /

In the standard output, we will then see summary output at every time step:

852 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

And in the .out file, we will see output at one month intervals:

And as the last argument of FREQ is set to -1 so that the rate file output matches the one year time intervals
specified by ARRA, we will see all 2D data being plotted every year, as shown below:

3. FREQ is used with RATE to specify that summary output be written to all output units only after each RATE
card is read. See FREQ_3.dat for complete example:

RATE 1 MONTH
FREQ -2 -2 -2

In the standard output, we will then only see summary output at the point after the RATE card is read:

10.25. FREQ - Frequency of Output 853


Tempest MORE Help, Release 8.1

And in the .out file, we see similar output:

Finally, for the RATE file, we will see all 2D data being plotted at the point after the RATE card is read.
For example, when we plot the bottom hole pressure for a producer well, we will see only one data point to
indicate the point after the RATE card has been read, as shown below:

854 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.25. FREQ - Frequency of Output 855


Tempest MORE Help, Release 8.1

10.26 GCOM - Set Up Action to be Taken if Group Pipeline Limit


Cannot be Met

Location

RECU Section

Description

The GCOM keyword sets up a limit so that if pipeline pressure falls below a given value, or if oil or gas flow rate
is too low, then a compressor (defined by the CMPR keyword) will be switched on or have another remedial action
taken. GCOM consists of at least five required arguments which should all be entered in succession on the same
line as the GCOM keyword itself when used.

Definitions

1. Group name
2. Limit type: PIN, POUT, OIL, or GAS
• PIN - inlet pressure
• POUT - outlet pressure
• OIL - oil flow rate
• GAS - gas flow rate
3. Limit value
4. Limit action: COMP, PUMP, LIFT, or ALQS
• COMP - use compressor table
• PUMP - use pipeline pump table (set up with PLPU)
• LIFT - use artificial lift table
• ALQS - use well artificial lift values
5. Action details:
• For COMP - compressor name
• For PUMP - pipeline pump name
• For LIFT - lift table name
• For ALQS - ALQ shift & maximum number of shifts

Notes

• Note that, unlike other production limits such as those imposed by GLIM, GCOM always sets a MINIMUM
limit, i.e. they trigger if the pressure or rate is too low. There is currently no option to impose GCOM limits
as maximum or hold limits.
• For more information regarding the use of the limit actions COMP, PUMP, LIFT, and ALQS, please see
please see the CMPR, PLPU, LIFT, or ALQ keywords, respectively.
• A recommended alternative to this keyword is GCOM event.

856 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. GCOM is used to request up to two ALQ increments of 200 if the gas rate of group DC falls below 120000
ksm3/day.

GCOM DC GAS 12000 ALQS 200 2

10.26. GCOM - Set Up Action to be Taken if Group Pipeline Limit Cannot be Met 857
Tempest MORE Help, Release 8.1

10.27 GENE - General Output

Location

RECU Section (after the ARRA keyword)

Description

The GENE keyword is used to request specific data to be output by MORE. GENE is a subkeyword of ARRA and
it must be used with ARRA in order to obtain recurrent data for 3D visualisation. GENE is also used to control the
data that is written out to the .out file in MORE.
Any number of optional arguments can be used with GENE and they all must be listed on the same line as the
GENE keyword itself in any order. Each option will produce different data output in the MORE .out file which
can be directly viewed under the Print tab of the results in Tempest View.

Definitions

1 AQUI requests output of aquifer status reports


2 CMPL requests output of completion properties, flows, and totals for each well
3 CPLY requests output of polymer concentrations (for the polymer option POLY)
4 CPU requests output of CPU time and memory summary
5 GLAY requests output of summary of group layer flows and totals
6 GROUPrequests output of group statuses and totals summary
7 FIELD requests output of field statuses and totals summary
8 FLIP requests output of fluid in place and material balances
9 NONE requests no array reports
10 PCPU requests output of CPU time by processor
11 PRES requests output of pressure maps
12 PROB requests a problem report (unconverged flashes etc...)
13 REST output information to the MORE file system to be used for restart runs and for driving Tempest.
REST is required if the user wishes to view recurrent data in Tempest View.
14 RTEM requests output of reservoir cell temperatures (for the thermal option THER)
15 SEGM requests segmented well reports
16 TARG requests output of well targets if used together with WELL
17 WELL requests output of well statuses and totals summary
18 WLAY requests output of well layer flows and totals summary
19 X_NN requests output of the oil phase mole fraction of the NNth component in an equation of state
simulation (FLUI)
20 Y_NN requests output of the gas phase mole fraction of the NNth component in an equation of state
simulation (FLUI)
21 Z_NN requests output of total hydrocarbon mole fraction of the NNth component in an equation of
state simulation (FLUI)
22 AQUC requests output of aquifer connections
23 CMPC requests output of completion molar rates for each well
24 SEPA requests output of separator configuration

Notes

• Using GENE with ARRA will drive the .out file


• Using GENE with ESOL will drive the ECLIPSE esol files. In this case the FLOW argument may be used
to output items like FLOOILX+ to the esol files. These contain the normal connection intercell flow rates.

858 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• For the X_NN, Y_NN, and Z_NN arguments, the NN should be replaced with a number indicated the NNth
component when used. For example, X_02, Y_02, and Z_02 would request the output of the oil phase, gas
phase, and total hydrocarbon mole fractions of the second component, respectively. X_11 would request
the output of the oil phase mole fraction for the 11th component, and so on. Please see Example #2 below
for more information.
• For large runs, printed array maps in the output file may be difficult to read and use a lot of disk space. In
these cases, using REST with GENE and viewing the results using Tempest View may be best.
• All of the arrays that can be output for 3D visualisation using STOR can also used with the GENE keyword
to be written to the .out file or ECLIPSE esol files if desired.
• The pressure reported is the oil phase pressure in a run which contains oil, the gas pressure in a gas-water
run, and the phase pressure in a run with just one phase present.

Examples

1. GENE is used with REST, FLIP, PRES, and CMPL to request the output of recurrent data to Tempest View
for 3D visualisation, and fluids in place data and pressure maps to the .out file of MORE. See GENE.dat
for complete example:

GENE REST FLIP PRES

Taking a look at the .out file which can be seen in the Print tab of the results, we will see the following
data output at each time step:

FIPA======================================================================================
Fluid in place at 2 Jan 2000, 1.0 days
==========================================================================================

Fluid in place region:all

Pore volume average pressure 2440.79 psia


Hydrocarbon average pressure 2440.79 psia

Reservoir volume Surface volume


------- ---------------- ------------------
Oil 1.4352E9 rb 924108.120 mstb
Gas 0.0 rb 739286.496 mmscf
Water 358.8097E6 rb 341617.340 mstb
------- ---------------- ------------------
Surf. vol in res. oil Surf vol in res gas
---- ------------------------- -----------------------
Oil 924108.120 mstb 0.0 mstb
Gas 739286.496 mmscf 0.0 mmscf
---- ------------------------- -----------------------
Total pore volume: 1.7940E9 rb
Total reference volume: 1.7811E9 rb

Mobile Surface Volume


------- ---------------------
Oil 924108.120 mstb
Gas 739286.496 mmscf
Water 2.116181 mstb
------- ---------------------

Comp Original Current Injection Production Units


,→ Matbal Recovery(%)
-------- ------------ ------------ ------------ ------------ ---------
,→ -------- --------
Oil 924110.155 924108.120 0.0 2.000000 mstb
,→ 1.000 0.0

10.27. GENE - General Output 859


Tempest MORE Help, Release 8.1

Gas 739288.124 739286.496 0.0 1.600000 mmscf


,→ 1.000 0.0
Water 341615.352 341617.340 2.000000 0.05357E-6 mstb
,→ 1.000 0.0
-------- ------------ ------------ ------------ ------------ ---------
,→ -------- --------
==========================================================================================

...

MAP=======================================================================================
Map of PRES at 2 Jan 2000, 1.0 days
==========================================================================================

Layer iz= 1
ix= : 1 2 3 4 5 6 7
,→ 8 9 10
Row iy= 1: 2335.1 2334.5 2334.2 2334.1 2334.1 2334.1 2334.0
,→2334.0 2334.0 2334.0
Row iy= 2: 2334.5 2334.3 2334.2 2334.1 2334.1 2334.1 2334.0
,→2334.0 2334.0 2334.0
Row iy= 3: 2334.2 2334.2 2334.1 2334.1 2334.1 2334.1 2334.0
,→2334.0 2334.0 2334.0
Row iy= 4: 2334.1 2334.1 2334.1 2334.1 2334.1 2334.0 2334.0
,→2334.0 2334.0 2334.0
Row iy= 5: 2334.1 2334.1 2334.1 2334.1 2334.0 2334.0 2334.0
,→2334.0 2334.0 2334.0
Row iy= 6: 2334.1 2334.1 2334.1 2334.0 2334.0 2334.0 2334.0
,→2334.0 2334.0 2334.0
Row iy= 7: 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0
,→2334.0 2334.0 2333.9
Row iy= 8: 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0
,→2334.0 2333.9 2333.7
Row iy= 9: 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0
,→2333.9 2333.6 2332.9
Row iy= 10: 2334.0 2334.0 2334.0 2334.0 2334.0 2334.0 2333.9
,→2333.7 2332.9 2328.9

...

Layer iz= 5
ix= : 1 2 3 4 5 6 7
,→ 8 9 10
Row iy= 1: 2551.2 2548.5 2547.9 2547.8 2547.7 2547.7 2547.7
,→2547.7 2547.7 2547.7
Row iy= 2: 2548.5 2548.0 2547.8 2547.7 2547.7 2547.7 2547.7
,→2547.7 2547.7 2547.7
Row iy= 3: 2547.9 2547.8 2547.8 2547.7 2547.7 2547.7 2547.7
,→2547.7 2547.7 2547.7
Row iy= 4: 2547.8 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7
,→2547.7 2547.7 2547.7
Row iy= 5: 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7
,→2547.7 2547.7 2547.7
Row iy= 6: 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7
,→2547.7 2547.7 2547.7
Row iy= 7: 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7
,→2547.7 2547.6 2547.6
Row iy= 8: 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7
,→2547.6 2547.5 2547.4
Row iy= 9: 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7 2547.6
,→2547.5 2547.3 2547.0
Row iy= 10: 2547.7 2547.7 2547.7 2547.7 2547.7 2547.7 2547.6
,→2547.4 2547.0 2546.1

860 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

As seen above, fluid in place data will be output in the .out file, along with pressure map data for every
cell of the 10x10x5 grid used in this example.
2. GENE is used with X_05, Y_05, and Z_05 to output the oil phase, gas phase, and total hydrocarbon mole
fractions of the 5th component in a compositional simulation. See GENE_EOS.dat for complete example:

GENE REST X_05 Y_05 Z_05

Taking a look at the .out file which can be seen in the Print tab of the results, we will see the maps of the oil
phase, gas phase, and total hydrocarbon mole fractions output at every time step:

MAP=======================================================================================
Map of X_05 at 1 Jan 2001, 366.0 days
==========================================================================================

Layer iz= 1
All values are 0.040
Layer iz= 2
All values are 0.040
Layer iz= 3
All values are 0.040
Layer iz= 4
All values are 0.040
Layer iz= 5
All values are 0.040
==========================================================================================

MAP=======================================================================================
Map of Y_05 at 1 Jan 2001, 366.0 days
==========================================================================================

Layer iz= 1
All values are 0.040
Layer iz= 2
All values are 0.040
Layer iz= 3
All values are 0.040
Layer iz= 4
All values are 0.040
Layer iz= 5
All values are 0.040
==========================================================================================

MAP=======================================================================================
Map of Z_05 at 1 Jan 2001, 366.0 days
==========================================================================================

Layer iz= 1
All values are 0.040
Layer iz= 2
All values are 0.040
Layer iz= 3
All values are 0.040
Layer iz= 4
All values are 0.040
Layer iz= 5
All values are 0.040
==========================================================================================

As the REST option was also used with GENE, these mole fractions will also appear in the Recurrent tab
of Tempest View for 3D visualisation.

10.27. GENE - General Output 861


Tempest MORE Help, Release 8.1

3. GENE used with WELL and TARG to output the well targets, rates, and totals. For injectors, the first and
secondary targets, which apply to WAG, are shown. Targets in brackets (..) are inactive during the interval
of the WAG sequence in which the targets are reported.
WELL======================================================================================
Well summary at 2 Sep 2014, 1.0 days
==========================================================================================

Well targets: active and (inactive) targets shown


Well Prod Oil targets Gas Targets Water Targets
,→Liquid Targets Voidage Targets Bhp Targets Thp Targets
,→Drawdown

Name Inje first , second first , second first , second


,→first , second first , second first , second first , second
,→Target

stb/day mscf/day stb/day


,→stb/day rb/day psia psia
,→psia

862 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

---------------- ---- ----------------- ----------------- -----------------


,→----------------- ----------------- ----------------- ----------------- -
,→-------

WINJ Inje ( unset), unset ( unset), 800.346 ( 0.0), unset


,→( unset), unset ( unset), unset ( 14696), 14696.0 ( 14696), 14696.0
,→ unset

WPROD Prod unset 800.346 unset


,→ unset unset 146.960 14.696
,→ unset

---------------- ---- ----------------- ----------------- -----------------


,→----------------- ----------------- ----------------- ----------------- -
,→-------

Well status:
Well Prod Open Control Pbhp Pthp Oil Pre Gas
,→ Water Liquid Resv GOR WCT dref
Gas lift Alq
Name Inje Shut Mode rate rate
,→ rate rate rate rate
psia psia psia stb/day mscf/
,→day stb/day stb/day rb/day mscf/stb feet mscf/day
---------------- ---- ---- --------- -------- -------- -------- -------- ------
,→-- -------- -------- -------- -------- -------- -------- -------- --------

WINJ Inje Open Gas rate 2336.4 2336.4 2334.1 0.0 800.
,→346 0.0 0.0 1007.7 0.0 0.0 5100.0 0.0 0.0
WPROD Prod Open Gas rate 2329.5 2329.5 2332.8 1000.4 800.
,→346 0.002 1000.4 1553.8 0.800 0.002E-3 5100.0 0.0 0.0
---------------- ---- ---- --------- -------- -------- -------- -------- ------
,→-- -------- -------- -------- -------- -------- -------- -------- --------

Well totals:
Well Open Oil Gas Water Liquid Resv Oil
,→Gas Water Resv
Name shut prod prod prod prod prod inj
,→inj inj inj
total total total total total total
,→total total total
mstb mmscf mstb mstb mrb mstb
,→mmscf mstb mrb
---------------- ---- -------- -------- -------- -------- -------- -------- ---
,→----- -------- --------

WINJ Open 0.0 0.0 0.0 0.0 0.0 0.0


,→0.800 0.0 1.008
WPROD Open 1.000 0.800 0.001E-3 1.000 1.554 0.0
,→ 0.0 0.0 0.0
---------------- ---- -------- -------- -------- -------- -------- -------- ---
,→----- -------- --------

10.27. GENE - General Output 863


Tempest MORE Help, Release 8.1

10.28 GFUEL - Group Fuel Requirement

Location

RECU Section

Description

Set the fuel requirement for a group. Both a fraction of the group gas production and a gas rate may be set.

Syntax

GFUEL Group Rate Frac

Definitions

1. Group name
2. The fuel rate for the group
• Units: (mscf/day) (Field) or (ksm:sup:3/day) (Metric)
• Default:0
3. The fuel fraction for the group
• Default: 0

Notes

• The fractional subtraction is made first, then the rate subtraction.


• The maximum amount of fuel that can be taken is the group gas rate.
• A recommended alternative to this keyword is GFUEL event.

Example

--Take 20% of the gas rate of group GW13 as fuel,


--then take a further 101 mscf/day if there is sufficient gas left
GFUEL GW13 101 0.2

864 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.29 GLIF - Optimise the Lift Value for a Group

Location

RECU Section

Description

The GLIF keyword is used to request that the amount of artificial lift be set to optimise the production of a group.
GLIF consists of two required arguments and two optional ones which should all be entered in succession on the
same line as the GLIF keyword itself when used.

Definitions

1. Group name
2. The maximum amount of lift that may be applied to the group (liftmax)
• Units: mscf/day (Field) or (ksm:sup:3/day (Metric)
• Default: 0
3. The minimum oil rate improvement per unit lift gas added (optional)
• Default: 1.0E-6
4. The size of gas rate packet to be added at each step of the optimisation (optional)
• Units: mscf/day (Field) or ksm3 /day (Metric)
• Default: 0.05*liftmax

Notes

• The distribution of the lift gas is done by adding packets of gas to the wells in the group, giving the packet
to the well which shows the greatest improvement in oil production rate. This continues until the maximum
gas lift is reached, or adding more gas lift becomes unproductive. If there are a large number of wells in a
group, the default packet size may be too large, and it may be best to enter a smaller packet size. As the
packet is the unit in which lift gas is added, it should be small compared to the typical amount of lift gas
expected per well.
• To be used with GLIF, wells in the group to which lift is applied must have an associated TUBI table with a
range of artificial lift (ALQ) values or have a lift table with some gas rate dependence. The ALQ value will
be used in preference if both are present.
• If the ALQ is used, then ALQ will be regarded as the lift gas rate; otherwise, the gas rate at which the well
is operated will be displaced from the actual production rate by the lift gas rate. GLIF will request that the
lift operating point for each well which meets these conditions is set by partitioning the available lift gas for
the group. The available lift gas is split into packets, each being assigned to the well which shows the best
oil rate improvement. Group lift values from zero to liftmax will be tested, increasing the lift value within
this range until the well is operating on a bhp or rate target.
• If a well has been shut because the well could not operate at the current thp target, GLIF will attempt to
open the well by adding lift.
• If the third argument of the GLIF keyword (the minimum oil rate improvement per unit lift gas added) has
been specified, lift will only be added whilst the improvement, measured d(Qo)/d(Lift), is greater than the
value entered for this argument.
• A recommended alternative to this keyword is GLIF event.

10.29. GLIF - Optimise the Lift Value for a Group 865


Tempest MORE Help, Release 8.1

Examples

1. GLIF is used to request that the maximum amount of lift that may be applied to the group G100 is 1000
with a minimum oil rate improvement per unit lift gas added of 1.34.

GLIF G100 1000 1.34

866 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.30 GLIM - Group Production Control

Location

RECU Section (after a group (GROU) definition)

Description

The GLIM keyword is used to define group production limits. GLIM consists of three required arguments and up
to two optional ones, which are further defined in the Definitions section below. All of these arguments should be
entered in succession on the same line as the GLIM keyword itself when used.

Definitions

1. Group containing the production wells to be controlled/monitored


2. Name of the limit:
• OIL - oil production target for all producers in the group
• GAS - gas production target for all producers in the group
• WAT - water production target for all producers in the group
• RESV - reservoir volume production target for all producers in the group
• LIQ - liquid production target for all producers in the group
• GOR - gas-oil ratio for all producers in the group
• OGR - oil-gas ratio for all producers in the group
• WCT - water cut for all producers in the group
• WOR - water-oil ratio for all producers in the group
• GWR - gas-water ratio for all producers in the group
• WGR - water-gas ratio for all producers in the group
• GLR - gas-liquid ratio for all producers in the group
• LGR - liquid-gas ratio for all producers in the group
3. Value for the group limit
4. Option 1 (optional): MIN, MAX, or HOLD
• MIN - is a minimum limit
• MAX - is a maximum limit
• HOLD - is a target (TARG is an alias for HOLD); HOLD can only be applied with rate limits (OIL,
GAS etc.) and not ratios (GOR, WOR)
5. Option 2 (optional): STIM, WORK, DRIL, GRED, SHUT, or STOP
• STIM - production wells in the group will be stimulated if a group ratio or minimum rate limit is
violated
• WORK - perform a workover operation on the wells in the group. The actual type of workover may
be set using the WRKA, WRKS, and WRKW arguments with WRKA being the default.
– WRKW - workover the worst well in the group
– WRKS - shut the worst well the in group
– WRKA (default) - workover all the wells in the group

10.30. GLIM - Group Production Control 867


Tempest MORE Help, Release 8.1

• DRIL - a producer from the drilling queue belonging to this group will be drilled to meet a group
minimum rate limit violation
• GRED - redefine one or more wells in the group when limit violation occurs
• SHUT - shut all the wells in the group when limit violation occurs
• STOP - the simulation will be stopped as a result of the group limit violation (MAX and MIN cases
only)

Notes

• A group can only have one limit value for a given pair of limit type and action (e.g. OIL & STIM). If a new
limit value is specified for an existing pair (e.g. OIL & STIM), it replaces the existing value. If a new limit
value is specified for a new pair (e.g. OIL & DRIL), then it will define an additional limit.
• There is a difference between the treatment of MAX/MIN and HOLD limits:
– The MAX and MIN limits define events at which actions are taken
– The HOLD option defines a continuous adjustment of the group to meet a rate target
• In case of DRIL actions the wells to be drilled must be put in the drill queue. Setting up the drill queue is
described in the well management section of the Tempest MORE Technical Reference.
• A recommended alternative to this keyword is GPLIM event.

Examples

1. GLIM is used to specify a target oil rate limit of 10000 for all production wells. If the rate exceeds this limit,
the production wells will be controlled to meet the group target. This action is specified using the HOLD
option.

GLIM ALL OIL 10000 HOLD

2. GLIM is used to specify a minimum oil rate of 4000. If this limit event occurs, a well will be activated from
the drilling queue. This action is specified using the DRIL option.

GLIM ALL OIL 4000 MIN DRIL

3. GLIM is used to stop a run is the group oil rate falls below 100.

GLIM ALL OIL 100 MIN STOP

868 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.31 GLOP - Gas lift optimisation settings

Location

RECU Section

GLOP wellOptimisationInterval groupOptimisationInterval

Definitions

Argument Description Default


wellOptimisationInterval Minimum time between well gas lift optimisations Zero days
groupOptimisationInterval Minimum time between group gas lift optimisations 30 days

Description

GLOP sets non-default intervals for well and group gas lift optimisations.

Example

GLOP 1.0 90.0

10.31. GLOP - Gas lift optimisation settings 869


Tempest MORE Help, Release 8.1

10.32 GNEW - Use New Group Control Algorithm

Location

RECU Section

Description

Use the new group control algorithm (introduced in MORE 6.7). This only limits wells controlled by a given
group limit when that group actually starts acting. This produces a sharp transition when the active limit changes
- for example from a group oil limit to a group liquid limit.
GNEW is generally more precise than the previous method (selected with GOLD). With GNEW the wells are not
backed off as the group limit is approached.

Syntax

GNEW

870 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.33 GOLD - Use Old Group Control Algorithm

Location

RECU Section

Description

Use the old group control algorithm, rather than the new one introduced in MORE 6.7, selected using GNEW.
GNEW only limits wells controlled by a given group limit when that group actually starts acting. This produces a
sharp transition when the active limit changes - for example from a group oil limit to a group liquid limit.
GNEW is generally more precise than the previous method. With GOLD the wells are backed off as the group
limit is approached, so that the imposition of the group limit does not cause such a sharp change in the well rates.

Syntax

GOLD

10.33. GOLD - Use Old Group Control Algorithm 871


Tempest MORE Help, Release 8.1

10.34 GPAL - Set Group Pipe Artificial Lift Value

Location

RECU Section

Description

The GPAL keyword is used to specify a group artificial lift quantity for the pipe attached to a group. This only
has an effect when the group has a pipe condition which has been characterised using a table with an artificial lift
variable. Please see the TUBI keyword for details of entering tubing tables with artificial lift.
GPAL consists of two required arguments which should both be entered in succession on the same line as the
GPAL keyword itself when used.

Definitions

1. Group name
2. Group artificial lift quantity

Notes

• See the Network Model section of the MORE Technical Reference For more information regarding network
models.
• A recommended alternative to this keyword is GPAL event.

Examples

1. GPAL is used to set a group artificial lift quantity of 39.0 to the group GROUP_SOUTH.

GPAL GROUP_SOUTH 39.0

872 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.35 GPIP - Attach a Pipe to a Group

Location

RECU Section

Description

The GPIP (group pipe) keyword is used to attach a named pipe to a group of wells. This keyword enables the
pressure drop between one network node group and the parent network node group to be calculated. GPIP consists
of two required arguments and one optional one. These arguments should all be entered on the same line as the
GPIP keyword itself when used.

Definitions

1. Group name
2. Pipe name
3. OFF (optional) - stops further pipe calculations for the group

Notes

• A recommended alternative to this keyword is GPIP event.

Examples

1. GPIP is used to attach the pipe PT-13 to the group GrA14.

GPIP GrA14 PT-13

The OFF option is then introduced to stop further pipe calculations for the group, as follows:

GPIP GrA14 1* OFF

10.35. GPIP - Attach a Pipe to a Group 873


Tempest MORE Help, Release 8.1

10.36 GPMI - Set Minimum Pressure for a Network Node Group

Location

RECU Section

Description

The GPMI (group pressure minimum) keyword is used to set the minimum pressure for a node in the network.
If the node pressure attempts to fall below this value, it will be held at the specified pressure and so increase the
pressure of nodes further down the network. This will have the effect of limiting the production of thp controlled
wells.
GPMI consists of two required arguments and one optional one which should all be entered on the same line as
the GPMI keyword itself when used.

Definitions

1. Group name
2. Minimum pressure value
• Units: psi (Field), bars (Metric)
3. OFF (optional) - specifies that the minimum pressure will no longer be used

Notes

• A recommended alternative to this keyword is GPMI event.

Examples

1. GPMI is used to set a minimum pressure of 1200 for the network node group GrA14

GPMI GrA14 1200

The OFF option is then introduced to specify that the minimum pressure for the group will no longer be
used, as follows:

GPMI GrA14 1* OFF

874 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.37 GPUM - Attach a Pipeline Pump to a Network Group

Location

RECU Section

Description

The GPUM (group pump) keyword is used to attach a pipeline pump to a group. This enables a rate-dependent
pressure difference to be added to the current network group pressure to match the pipe inflow pressure. GPUM
consists of two required arguments and one optional one, all of which should be entered on the same line as the
GPUM keyword itself when used.

Definitions

1. Group name
2. Pump name
3. OFF (optional) - stops further pipeline pump calculations for the group

Notes

• A recommended alternative to this keyword is GPUM event.

Examples

1. GPUM is used to attach the pump PUMP13 to the group GrA14.

GPUM GrA14 PUMP13

The OFF option is then introduced to stop further pipeline pump calculations for the group (effectively
remove the pump), as follows:

GPUM GrA14 1* OFF

10.37. GPUM - Attach a Pipeline Pump to a Network Group 875


Tempest MORE Help, Release 8.1

10.38 GPRI - Group Prioritisation Control

Location

RECU Section (after a group (GROU) definition)

Description

The GPRI keyword is used to set prioritisation group limits. When a group prioritisation limit is operating, wells
in the group will be closed in priority order to meet the group target. The lowest priority wells will be closed first.
The well priority is determined by the coefficients set by PRIO. GPRI consists of three required arguments which
should be entered in succession on the same line as the GPRI keyword itself when used.

Definitions

1. Group containing the production wells to be controlled


2. Name of the limit:
• OIL - oil production target for all producers in the group
• GAS - gas production target for all producers in the group
• WAT - water production target for all producers in the group
• RESV - reservoir volume production target for all producers in the group
• LIQ - liquid production target for all producers in the group
3. Value for the group limit

Notes

• A recommended alternative to this keyword is GPRI event.

Examples

Example on the usage of the GPRI event can be accessed here.

876 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.39 GRED - Well Redefinition for Group Limit Events

Location

RECU Section (after the GLIM or ILIM keyword)

Description

The GRED keyword is used to redefine wells in the group limit events defined by GLIM or ILIM. GRED consists
of five required arguments which should all be entered in succession on the same line as the GRED keyword itself
when used.

Definitions

1. Well name in the group where the specified limit event may occur
2. Fluid name
• For PRODUCERS: the name of the well’s primary rate limit -
– OIL - oil production rate
– GAS - gas production rate
– WAT - water production rate
– LIQU - liquid production rate
– Note: This must be a rate limit and not a ratio limit, such as the gas-oil ratio (GOR) or the water-oil
ratio (WOR).
• For INJECTORS:
– GAS - gas injection rate
– WAT - water injection rate
3. Maximum rate for injector or production
• Units:
– For Liquid - stb/day (Field), sm3 /day (Metric)
– For Gas - Mscf/day (Field), km3 /day (Metric)
4. Minimum producing pressure or maximum injection pressure
• Note: These pressures correspond to the datum (DATU) depths
• Units: psi (Field), bar (Metric)
5. BHP or a Tubing head pressure table name
• BHP (the initial value) (default)- to indicate the limiting pressure is a bottom hole pressure (corrected
to datum depth (see: DATU)
• Tubing head pressure table name - the name of a tubing head pressure (see TUBI) to indicate that the
limiting pressure is a tubing head pressure

Notes

• The rate and pressure targets are actually delimited by the “=” signs, but a comment may appear to the left
of these signs to improve readability.
• Recommended alternatives to this keyword are GPRED and GIRED events.

10.39. GRED - Well Redefinition for Group Limit Events 877


Tempest MORE Help, Release 8.1

Examples

1. GRED is used to redefine the limits set by GLIM for wells in the PTRN group. When the WOR from the
group of wells in PTRN exceeds 99.0, the injection wells K12 and L11 are set to 1000 stb/day while L13,
M10, M12, and M11 are shut.

GLIM PTRN WOR 99.0 1.0 GRED


GRED K12 WATR QLIM=1000.0 PLIM=9601
GRED L11 WATR QLIM=1000.0 PLIM=9601
GRED L13 WATR QLIM= 0.0 PLIM=5000
GRED M10 WATR QLIM= 0.0 PLIM=5000
GRED M12 WATR QLIM= 0.0 PLIM=5000
GRED M11 WATR QLIM= 0.0 PLIM=5000

878 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.40 GROU - Well Group Definition

Location

RECU Section

Description

The GROU keyword is used to define a well group. GROU consists of two required arguments and one optional
argument which should all be entered in succession on the same line as the keyword itself when used.

Definitions

1. Name to be assigned to the group of wells


2. FRAC (optional) - option to indicate that subsequent wells contribute a fraction of their rate to the group
rate
3. Fraction of well rate that contributes to the group rate (only needed if FRAC is used)
4. List of the names of wells in the group

Notes

• FRAC may be set more than once on a line, and applies to all following wells upto the next FRAC argument.
Please see example below for more information.
• The group fraction is reset to 1 at the start of a new GROU keyword.
• The first 16 characters of the group name must be uniquely defined.

Examples

1. GROU is used to assign six wells (well I-1, I-2, I-3, P-1, P-2, and P-3) to a group named PILOT. The wells
contribute totally to the group. See GROU_Pilot.dat for complete example:
GROU PILOT I-1 I-2 I-3 P-1 P-2 P-3

The PILOT group will then appear under the Group tab of the results for 2D plotting.

Given the following oil production targets for each production well:
• P-1 = 1000 stb/day
• P-2 = 300 stb/day

10.40. GROU - Well Group Definition 879


Tempest MORE Help, Release 8.1

• P-3 = 500 stb/day


We should have a total oil production rate of 1800 stb/day, as seen in the plot below where the oil production
rate has been plotted for the PILOT group along with the individual well oil production rates.

Note: Injection targets will also behave in the same fashion; however, just an example of the production
rates are shown in this example.
2. In this example, we add a new well, P-4, to the PILOT group in example 1 after 5 years of simulation. Well
P-4 will be specified to contribute half of its flow capacity to the group by using the FRAC option before it
is listed in the GROU keyword. See GROU_Pilot2.dat for complete example:

GROU PILOT I-1 I-2 I-3 P-1 P-2 P-3

READ 5 YEARS

GROU PILOT FRAC 0.5 P-4

Given that P-4 has an oil production target of 400 stb/day, a total flow of 2200 stb/day would be expected
if P-4 was allowed to contribute all of its flow to the PILOT group. However, as the FRAC 0.5 option was
used, P-4 will only contribute half of its flow ( 400/2 = 200 stb/day) to the oil production rate of the PILOT
group, and when we plot this in 2D, we should see the oil production rate for the PILOT group increase
from 1800 stb/day to 2000 stb/day after 5 years due to the addition of the P-4 well:

880 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. In this example, we will change the well fractions for the wells in the PILOT group in example 2 to contribute
different fractions of well flow rates to the group. Wells P-1 and P-4 will contribute 60%, P-2 will contribute
20%, and P-3 will continue to contribute all of its flow rate to the group flow rate after 5 years of simulation.
This can all be specified using the GROU keyword as follows. See GROU_Pilot3.dat for complete example:

GROU PILOT I-1 I-2 I-3 P-1 P-2 P-3

READ 5 YEARS

GROU PILOT FRAC 0.60 P-1 P-4 FRAC 0.20 P-2 FRAC 1 P-3

Given the oil production targets in Example #1, after 5 years of simulation, we have:
• P-1 and P-4 contributing a total of 1000*0.60 = 600 stb/day and 400*0.60 = 240 stb/day of oil, respec-
tively, to the PILOT group.
• P-2 contributing a total of 300*0.20 = 60 stb/day of oil
• P-3 contributing total of 500*1.00 = 500 stb/day of oil
This should give us a total oil production rate of 600+240+60+500 = 1400 stb/day for the PILOT group.
When we plot the oil production rate for PILOT with the oil production rate for the individual wells, we
observe that the results are in line with the description above.

10.40. GROU - Well Group Definition 881


Tempest MORE Help, Release 8.1

882 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.41 GSAL - Group Sales Requirement

Location

RECU Section

Description

Set the gas sales requirement for a group. Both a fraction of the group gas production and a gas rate may be set.

Syntax

GSAL Group Rate Frac

Definitions

1. Group name
2. The sales rate for the group
• Units: mscf/day (Field) or ksm3 /day (Metric)
• Default: 0
3. The sales fraction for the group
• Default: 0

Notes

• The fractional subtraction is made first, then the rate subtraction.


• The maximum amount of sales gas that can be taken is the group gas rate.
• A recommended alternative to this keyword is GSALE event.

Example

--Take 50% of the field gas production as sales gas; the remainder is available
,→for reinjection etc.

GSAL ALL 0.0 0.5

10.41. GSAL - Group Sales Requirement 883


Tempest MORE Help, Release 8.1

10.42 GSET - Set up a set of groups

Location

RECU Section

Description

The GSET keyword is used to construct a set of groups which can be used in group keywords to represent more
than one group.

Syntax

GSET Name Operation Group-names

Definitions

1. Name (required): a name for the group set


2. Operation (required): one of +, -, clear
Operation Description
+ add the specified group-names to the set
- remove the specified group-names from the set
clear remove all group-names from the set
3. Group-names (optional): one or more group names or group name template, e.g. ‘G*’

Notes

1. The name of the group set must not be the name of an already existing well, group, or well set.
2. The name of the group set must not contain *, i.e. a wild card character.
3. The operations + and clear will create the group set if it does not exist already.

884 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.43 GSPC - Set Group Separator Conditions

Location

RECU Section

Description

The GSPC (Group Separator Conditions) keyword is used to attach a separator to a group. GSPC consists of two
required arguments, which should be entered on the same line as the GSPC keyword itself when used.

Definitions

1. Group name
2. Separator conditions name

Notes

• A recommended alternative to this keyword is GSPC event.

Examples

GSPC is used to attach separator conditions to the group AAA and so to the well P-1.

GROUP AAA P-1


GROUP BBB P-2

SEPA XXX EOS ZFAC / Reset first stage separator pressure for separator XXX
60 14.7 /
/

--Define wells and start run...

READ 5.0 YEARS

GSPC AAA XXX -- At 5 years, reset separator conditions for wells in group AAA to
,→XXX

READ 10.0 YEARS

For the full dataset see GSPC.dat

10.43. GSPC - Set Group Separator Conditions 885


Tempest MORE Help, Release 8.1

10.44 GTAR - Set Options for Group Targets

Location

RECU Section (will apply to entire run whenever entered)

Description

The GTAR keyword is used to define how group targets are treated in the simulation. GTAR takes up to two
optional arguments entered on the same line as the keyword itself.

Definitions

1. Argument: NET or GROSS


• NET - specifies that group targets are to be applied respecting the well efficiency factors
• GROSS (default) - specifies that group targets are to be applied irrespective of the well efficiency
factors
2. Argument: POT or CCF
• POT - specifies that potentials are to be used for guide rates
• CCF - specifies that completion connection factor totals are to be used for guide rates

Notes

• The default second argument is CCF unless the improved well fracture model has been used, in which case
the POT method is used irrespective of the second argument.
• Without the net option the actual group rate will be lower if non-unity efficiency factors are present. Gener-
ally, NET is recommended for most runs.
• POT requires an extra well potential calculation to define the group guide rates. This treatment of guide
rates is compatible with the default treatment in ECLIPSE.

Examples

1. GTAR is used to specify that group targets are to be calculated based on CCF totals and applied in terms of
gross rates. See GTAR.dat for complete example:
GTAR GROSS CCF
GROU XX WPRD1 WPRD2

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
XX
01/Jan/2000 GOPT 2000
WPRD1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 3
01/Jan/2000 OPT 10000
01/Jan/2000 WEF 0.5
WPRD2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 5000
ENDE

886 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Note that well WPRD1 and WPRD2 have the same perforation length but the former has a CCF multiplier
of 3 while the latter has that of 1. Hence it is expected that the production targets of the two wells will also
be set in the same ratio of 3 to 1 to satisfy the group production target of 2000 stb/day. This is confirmed by
looking at the targets under the well summary section in the PRINT file:
WELL======================================================================================
Well summary at 1 Jan 2001, 366.0 days
==========================================================================================

Well targets: active and (inactive) targets set for next timestep - "G"
,→indicates target set by group

Well Prod Oil Targets Gas Targets Water Targets


Name Inje first , second first , second first , second
stb/day mscf/day stb/day
---------------- ---- ----------------- ----------------- -----------------
WPRD1 Prod 1500.0 G unset unset
G=XX
WPRD2 Prod 500.00 G unset unset
G=XX
---------------- ---- ----------------- ----------------- -----------------

However, because the well WPRD1 operates with an efficiency factor of 50%, the well produces at 50% of
the target value.

2. This example is the same as the first example except that GTAR GROSS CCF is replaced with GTAR NET
CCF. See GTAR_NET_CCF.dat for complete example:
GTAR NET CCF

Following well targets are set in this example:


WELL======================================================================================
Well summary at 1 Jan 2001, 366.0 days
==========================================================================================

Well targets: active and (inactive) targets set for next timestep - "G"
,→indicates target set by group

Well Prod Oil Targets Gas Targets Water Targets


Name Inje first , second first , second first , second
stb/day mscf/day stb/day

10.44. GTAR - Set Options for Group Targets 887


Tempest MORE Help, Release 8.1

---------------- ---- ----------------- ----------------- -----------------


WPRD1 Prod 3000.0 G unset unset
G=XX
WPRD2 Prod 500.00 G unset unset
G=XX
---------------- ---- ----------------- ----------------- -----------------

Note that higher production targets are set in such a way that when efficiency factors are taken into account,
the original guide rates based on CCF totals are applied in order to meet the group production target of 2000
stb/day.

3. GTAR is used to specify that group targets are to be applied in gross terms and guide rates are calculated
using well potentials. See GTAR_POT.dat for complete example:

GTAR POT
GROU XX WPRD1 WPRD2

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
XX
01/Jan/2000 GOPT 10
WPRD1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 3
01/Jan/2000 OPT 400
WPRD2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 100
ENDE

Plotting the oil potential production rates for the two wells shows that the potential for WPRD1 is approxi-
mately 6 times that of WPRD2.

888 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Hence, it is also expected that the production targets of the two wells will also be set in the same ratio of 6
to 1 to satisfy the group production target of 10 stb/day:

WELL======================================================================================
Well summary at 1 Jan 2001, 366.0 days
==========================================================================================

Well targets: active and (inactive) targets set for next timestep - "G"
,→indicates target set by group

Well Prod Oil Targets Gas Targets Water Targets


Name Inje first , second first , second first , second
stb/day mscf/day stb/day
---------------- ---- ----------------- ----------------- -----------------
WPRD1 Prod 8.5723 G unset unset
G=XX
WPRD2 Prod 1.4277 G unset unset
G=XX
---------------- ---- ----------------- ----------------- -----------------

10.44. GTAR - Set Options for Group Targets 889


Tempest MORE Help, Release 8.1

4. This example is the same as the third example except that GTAR POT is replaced with GTAR CCF. See
GTAR_CCF.dat for complete example:

GTAR CCF

Note that well WPRD1 and WPRD2 have the same perforation length but the former has a CCF multiplier
of 3 while the latter has that of 1. Hence, it is expected that the production targets are set in the same ratio
rather than the potentials (ratio 6 to 1) calculated in the third example.

WELL======================================================================================
Well summary at 1 Jan 2001, 366.0 days
==========================================================================================

Well targets: active and (inactive) targets set for next timestep - "G"
,→indicates target set by group

Well Prod Oil Targets Gas Targets Water Targets


Name Inje first , second first , second first , second
stb/day mscf/day stb/day
---------------- ---- ----------------- ----------------- -----------------
WPRD1 Prod 7.5000 G unset unset
G=XX
WPRD2 Prod 2.5000 G unset unset
G=XX
---------------- ---- ----------------- ----------------- -----------------

890 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.44. GTAR - Set Options for Group Targets 891


Tempest MORE Help, Release 8.1

10.45 GTOL - Group Limit Tolerance

Location

RECU Section

Description

Set the required tolerance for a group limit. An example would be if a group is to be cut back if a water limit is
exceeded. If the limit is exceeded by more than the allowed tolerance, the step is repeated. A maximum number
of step repeats may be specified - after that the simulation will proceed.

Syntax

GTOL Group Tolerance Nrepeat

Definitions

1. Group name
2. Fractional tolerance allowed
• Default: unlimited
3. Number of repeated steps allowed to achieve required tolerance
• Default: 1

Notes

• A recommended alternative to this keyword is GTOL event.

Example

--Repeat step if a group limit is exceeded by more than 1%. Allow up to 2 repeated
,→steps.

GTOL 0.01 2

892 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.46 GUGR - Set Group User Guide Rate

Location

RECU Section (after group definition)

Description

The GUGR keyword is used to set a group guide rate for a specific group. A group guide rate enables a parent-
group target to be shared between groups in the same parent group. GUGR consists of two required arguments
and one optional one. Arguments must be entered in succession on the same line as the GUGR keyword.

Definitions

1. Group for which guide rate is to be set


2. Value for the guide rate
• Default: sum of the guide rates of all the group members.
3. Guide rate mode:
• Default: ALL - apply guide rate to all wells
• Other Options:
– PROD - apply guide rate to producers only
– INJE - apply guide rate to injectors only
– OP - apply guide rate to oil producers only
– GP - apply guide rate to gas producers only
– WP - apply guide rate to water producers only
– LP - apply guide rate to liquid producers only
– VP - apply guide rate to voidage production only
– OI - apply guide rate to oil injectors only
– GI - apply guide rate to gas injectors only
– WI - apply guide rate to water injectors only
– VI - apply guide rate to voidage injection only
– GVI - apply guide rate to gas voidage injection only
– WVI - apply guide rate to water voidage injection only

Notes

• The PARE keyword may be used to make a group a member (sub-group) of a parent group. Otherwise,
groups have ALL as their parent group.
• If a group contains only wells the WUGR keyword has to be used on the contained wells to share the group’s
targets.
• If a group contains wells and sub-groups a mix of WUGR and GUGR keywords may be used. See example
below.
• A recommended alternative to this keyword is GUGR event.

10.46. GUGR - Set Group User Guide Rate 893


Tempest MORE Help, Release 8.1

Examples

1. In this example we have two groups AAA and BBB with common parent group ALL. GUGR is used to
assign guide rates to groups AAA and BBB. The guide rates in turn will be used by MORE to derive targets
for groups AAA and BBB from the targets of their parent ALL. See GUGR_keyword.dat for complete
example:

-- set up groups
GROUP AAA WINJ1 WINJ2 WPRD3 -- AAA contains 2 injectors and 1 producer,
,→parent group is ALL

GROUP BBB WPRD1 WPRD2 WINJ3 -- BBB contains 1 injector and 2 producers,
,→parent group is ALL

-- set up guide rates for producers


GUGR AAA 75 PROD -- producers in AAA get a share of 75% of the production
,→targets of parent ALL

GUGR BBB 25 PROD -- producers in BBB get a share of 25% of the production
,→targets of parent ALL

-- set up guide rates for injectors


GUGR AAA 25 INJE -- injectors in AAA get a share of 25% of the injection
,→targets of parent ALL

GUGR BBB 75 INJE -- injectors in BBB get a share of 75% of the injection
,→targets of parent ALL

-- set up production and injection targets for parent group ALL using events
EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GOPT 3500
01/Jan/2000 GWIT 3500
ENDE

2. Alternatively, GUGR events (c.f. Tempest MORE events) can be used to specify group guide rates. The
following set up is equivalent to that of above example. See GUGR_event.dat for complete example:

894 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

-- set up groups
GROUP AAA WINJ1 WINJ2 WPRD3 -- AAA contains 2 injectors and 1 producer,
,→parent group is ALL

GROUP BBB WPRD1 WPRD2 WINJ3 -- BBB contains 1 injector and 2 producers,
,→parent group is ALL

EFOR 'dd/mmm/yyyy'
ETAB
-- set up production and injection targets for parent group ALL using events
ALL
01/Jan/2000 GOPT 3500
01/Jan/2000 GWIT 3500

-- set up guide rates for group AAA


AAA
01/Jan/2000 GUGR 75 MODE PROD -- producers in AAA get a share of 75% of
,→the production targets of parent ALL

01/Jan/2000 GUGR 25 MODE INJE -- injectors in AAA get a share of 25% of


,→the injection targets of parent ALL

-- set up guide rates for group BBB


BBB
01/Jan/2000 GUGR 25 MODE PROD -- producers in BBB get a share of 25% of
,→the production targets of parent ALL

01/Jan/2000 GUGR 75 MODE INJE -- injectors in BBB get a share of 75% of


,→the injection targets of parent ALL

ENDE

3. In this example two wells (P-3 and P-4) and one group (GXX) have a common parent in group GG. Group
GXX contains wells P-1 and P-2. GG is set an oil production target rate of 1000 stb/d. Since group GG
contains wells and a sub-group, we have to use a mix of WUGR and GUGR keywords/events to specify the
respective guide rates. See GUGR_WUGR.dat for complete example:

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
GG
01/Jan/2000 GOPT 1000

GXX
01/Jan/2000 GOPT 1000
01/Jan/2000 GUGR 10 MODE PROD

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000

P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000

P-3
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000
01/Jan/2000 WUGR 40

P-4
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000

10.46. GUGR - Set Group User Guide Rate 895


Tempest MORE Help, Release 8.1

01/Jan/2000 WUGR 50
ENDE

896 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.47 HADD - Add Columns of Data in Historical Rate Tables

Location

RECU Section

Description

The HADD keyword allows data in one or more historical rates tables to be added to a base table. Only matching
columns are added, and only within the time range of the base table.
The basic method is to sample the tables being added at the time points in the base table, interpolating in the tables
being added, and incrementing the values in the base tables. So the addition process does not add extra lines to
the base table.

Syntax

HADD BaseTable AddTable1 AddTable2..

Definitions

1. BaseTable - name of historical rate table to be added to. This will usually have the name of the well that
uses this table.
2. AddTable1 - name of first table to be added
3. AddTable2 - name of second table to be added

Notes

Up to 99 tables can be added. However, the normal case will be to add one table.
The addition operations are done during the pre-simulation scan of the RECU section data. So all HADD opera-
tions in the RECU section will be performed before the actual simulation starts.

Examples

HADD WEST1 EXTRA1

10.47. HADD - Add Columns of Data in Historical Rate Tables 897


Tempest MORE Help, Release 8.1

10.48 HFIL - Well Historical Data File

Location

RECU Section

Description

The HFIL (Historical File) keyword is used to direct MORE to read a file containing historical well data. The
series of wells and their time based historical data should be specified in one or more include files, which are
read by the HFIL keyword. HFIL should be preceded by the HFOR keyword which defines the format for the
subsequent set of well and time based data contained within the include file(s).
The HFIL keyword consists of one optional and one required argument. The optional argument should be entered
on the same line as the HFIL keyword itself if it is used. HFIL’s required argument is the name of the historical
well data file which should be entered on a separate line below the HFIL keyword.

Definitions

1. EXACT (optional) - used when it is required that simulation steps match historical rate times exactly.
• See Example #2 for more information.
2. Name of the file containing the historical well data

Notes

• The HOURS argument may be used to add a specified number of hours to the time of line of data in HFIL.
Please see Example #4 below for more information.
• Entered data does not need to be in chronological order. If data for the same time as a previous entry is
found, the later data is used and a warning message issued.
• A well can be instructed to use its historical tabulated quantity using special targets such as HOIL when
specified using the WELL keyword. Please see Example #4 in the WELL keyword page for more informa-
tion. Alternatively, if the events format is being used to specify a well’s activities, the HOIL, HGAS, HWAT,
HLIQ, HRES, HBHP, HTHP, and HWEF historical well target events can be used to instruct a well to use
its historical tabulated quantity given in HFIL or HTAB .
• Historical data is assumed to be forward looking. That is, a QOIL value of 1000 stb/day given on 1st January
2000 means that the rate changes to 1000 stb/day on 1st January 2000 and continues to be 1000 stb/day after
this date (until the next user value).
• Historical data for a well may be entered over several HTAB tables: internally, MORE will generate the
union of all the user tables. If, for a given time, there is some missing data for a particular quantity, MORE
will take the nearest user value prior to this time.
• Evaluation of historical data outside the table limits: For historical rates, cumulatives, and pressures at times
before the first table time MORE assumes a value of zero. For the historical WEFA at times before the first
table time MORE assumes a value of one. For historical rates, pressures and WEFA at times after the last
table time MORE uses the value at the last table time. Historical cumulatives grow linearly after the last
table time.
• The HTAB keyword provides an alternative means of specifying the historical data by allowing historical
data to be placed in-line directly after the HTAB keyword.
• Please also see the HUNI and HFOR keywords for more information regarding the input of historical data
into a dataset.

898 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. HFIL is used to include a histAB.hst file which contains historical oil, gas, and water rates and bottom
hole pressures for two wells, WPRDA and WPRDB. HUNI is also used to define the units of the rates and
pressures and HFOR is used to define the format of the historical data in the histAB.hst file.
Using HUNI , the units for the liquid rates (oil (QOIL) and water (QWAT)) and the gas rates (QGAS) are to
be in stb/day and Mscf/day, respectively, while the cumulative totals for liquids and gases are assigned their
default values and pressure (BHP) is given the units of psia.
Input to include this historical data would appear as follows. See HFIL_Ex1.dat for complete example:

HUNI
stb/day Mscf/day 2* psia

HFOR WELL DAYS QOIL QGAS QWAT BHP

HFIL
'histAB.hst'

The histAB.hst file contains the following data:

WPRDA 0 1172 934.5 3.68 2300


WPRDA 35 1238 982.9 4.73 2294
WPRDA 74 1194 952.2 7.23 2292
WPRDA 110 1182 944.0 6.41 2286
WPRDA 128 1195 957.6 5.21 2281
WPRDA 175 1172 930.4 8.41 2279

WPRDB 0 823 617.3 2.35 2299


WPRDB 30 827 613.9 5.49 2287
WPRDB 65 796 587.2 3.23 2285
WPRDB 93 784 556.1 1.14 2283
WPRDB 120 788 521.0 2.52 2281
WPRDB 170 751 515.7 0.21 2279

This historical tabulated data will then automatically appear in the Wells tab of the results in Tempest View
for plotting. When this data is plotted with the calculated data, we can produce the following plots:

10.48. HFIL - Well Historical Data File 899


Tempest MORE Help, Release 8.1

2. Now, adding on to Example #1 above, if it is required that the simulation steps match historical rate
times exactly, the EXACT option may be used as an argument with HFIL, as shown below. See
HFIL_Ex1_EXACT.dat for complete example:

HUNI
stb/day Mscf/day 2* psia

HFOR WELL DAYS QOIL QGAS QWAT BHP

HFIL EXACT
'histAB.hst'

As a result, both historical and calculated data points will be output on the exact day that is specified in the
historical file, as shown below:

900 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Please note that when HFIL is used with EXACT, it is recommended that the FREQ keyword have its third
argument as 0 to ensure that data will be output to the RATE file for post processing at every time step. For
example, FREQ was specified as follows for this example:
FREQ
0 0 0

3. In this example, HFIL is used to include a hist_well.hst file which contains historical cumulative
liquid (oil and water) rates, and well efficiency factors. HUNI is also used to define the units of the rates
and HFOR is used to define the format of the historical data in the hist_well.hst file.
Using HUNI, the liquid and gas rates are assigned their default units while the cumulative liquid totals ((oil
(COIL) and water (CWAT)) are assigned units of ksm3. And finally, the units for cumulative gas totals and
pressures are assigned their default values as well.
Input to include this historical data would appear as follows:
HUNI
2* ksm3 2*

HFOR 'MM.DD.YYYY' COIL CWAT WEF

HFIL
'hist_well.hst'

The hist_well.hst file contains the following data:


WP1
01.01.1982 247 18 0.55
02.01.1982 643 62 0.52
03.01.1982 997 102 0.52
04.01.1982 1347 143 0.51
WP2
01.01.1982 333 87 0.56
02.01.1982 1002 242 0.54
03.01.1982 1447 347 0.52

Note the absence of the WELL argument from the HFOR keyword in this example and its effect on the
format of the table in the hist_well.hst file.

10.48. HFIL - Well Historical Data File 901


Tempest MORE Help, Release 8.1

4. In this example, HFIL is used to include a hist_P1_HOURS.hst file that includes historical oil rates at
given hours. Thus, the HOURS argument is used in the to add a specified number of hours to the time for
each line of data in the hist_P1_HOURS.hst file. Historical well rates are set every 3 hours on the 1st
of January for the oil rate of well P-1, as shown below:

HFOR 'DD/MMM/YYYY' QOIL

HFIL
'hist_P1_HOURS.hst'

The hist_P1_HOURS.hst file contains the following data:

P-1
01/Jan/2000 2183
01/Jan/2000 2180 HOURS 3
01/Jan/2000 2181 HOURS 6
01/Jan/2000 2182 HOURS 9
01/Jan/2000 2185 HOURS 12
01/Jan/2000 2187 HOURS 15
01/Jan/2000 2184 HOURS 18

When plotted with the calculated oil production rate, we will obtain the following plot:

Please note that for this example, the output frequencies on the RATE and ARRA keywords in the RECU
section will need to be updated to plot hourly rate data. To obtain the graph we have plotted above, we
have modified the RATE and ARRA keywords to output data every 3 hours by changing the incremental time
between reports to be 0.125 days, as follows:

RATE 0.125 DAYS


FREQ 0 0 1

ARRA DAYS EQUA


0.125 /

902 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.49 HFOR - Column Headers and Units for Well Historical Data

Location

RECU Section

Description

The HFOR keyword is used to specify the column headers and units for historical well data provided by HFIL
or HTAB. HFOR consists of one optional argument and at least two required ones which should all be entered in
succession on the same line as the HFOR keyword itself when used.

Definitions

1. WELL: (optional)
The WELL argument is used to indicate that a well name will be provided for each line of data in the
historical data file or table
The WELL argument is optional. If present, it implies that both the well name and the time will be specified
on each line of historical data. If not present, the well name will be written to a line by itself to be followed
by a block of data whose first item on each line will be the time.
See Examples #1 and #3 below for more information.
2. Time Definition:
The date format may be specified as a date using the following components:

DD MM/MMM YYYY

The three components can come in any order. DD must be an integer in the range 1-31. If MM is specified,
it must be an integer in the range 1-12. If MMM is specified, it must be the set {Jan, Feb,...,Dec}. YYYY
is the year specification.
The three components should be written with an optional delimiter between them and the composite string
should be enclosed in quotes. If a delimiter is specified, the same delimiter will be required in the subsequent
date formats.
For example, if the following data format was specified:

'MMM:DD:YYYY'

Then the dates must be entered as:

Jan:01:1947
Feb:01:1947

where the ”:” (colon) has been specified and used as the delimiter.
Times may also be entered as days by specifying DAYS as the date format. For example:

HFOR WELL DAYS QOIL

HTAB
WPRD 0 1000
WPRD 200 2000
WPRD 300 1500
ENDH

10.49. HFOR - Column Headers and Units for Well Historical Data 903
Tempest MORE Help, Release 8.1

3. HOLE and Hole Value: (optional)


The HOLE argument and hole value are optional. If present, the hole value may be used to indicate that a
default or missing value is present. The hole value is equivalent to a default 1* value. If used, the hole value
should be set to a number which will not be used as a genuine data value. When the HOLE and hole value
arguments are used, they must be specified right after the time definition. Please see Example #3 below for
more information.
4. Quantities:
A number of quantities with optional unit specifications as defined by HUNI can now follow the HFOR
keyword. A maximum of 10 quantities can be defined, but in practice, only 3 or 4 will usually be used.
Either rate or cumulative information can be specified. Rates should begin with the letter Q and cumulative
specifications with a C.

Quantity: Rates: Cumulative:


----------- -------- -------------
Oil QOIL COIL
Gas QGAS CGAS
Water QWAT CWAT
Liquid QLIQ CLIQ
Reservoir volume QRES CRES
Gas Injection QGIN CGIN
Water Injection QWIN CWIN
Reservoir Volume Injection QRIN CRIN

Top Hole Pressure THP


Bottom Hole Pressure BHP
Well Reservoir Pressure WRP
Well Efficiency Factor WEFA

5. Additional options:
Normally, well rates are entered in gross terms (not including well efficiency factors) and well totals in net
terms (including well efficiency factors). However, it is possible to override this convention with the extra
arguments:
• QGRO - Specify well rates in gross terms (default)
• QNET - Specify well rates in net terms
• CGRO - Specify well totals in gross terms (would be unusual)
• CNET - Specify well totals in net terms (default)

Notes

• The usual gas and water rates, QGAS and QWAT, can be used for producers or injectors. For an injector,
QGAS is assumed to be an injection rate, and for a producer, QGAS is assumed to be a production rate. This
can be awkward if a well switches from injection to production, so the alternative QGIN and QWIN may
be used to set up a table of injection rates. In that case, the QGAS rates will only be used for production
periods and the QGIN rates will only be used for injection periods. Injection rates will always be obtained
from QGIN, QWIN, CGIN, and CWIN if these are present.
• Different include files could be preceded by different HFOR cards. For example, the production wells may
be included in one file where they have oil, water and gas rates recorded, whereas the (gas) injection wells
could be written to a separate file where only gas rates are defined.
• Please also see the HUNI, HFIL, and HTAB keywords for more information regarding the input of historical
data into a dataset.
• A well can be instructed to use its historical tabulated quantity using special targets such as HOIL when
specified using the WELL keyword; see Example #4 in the WELL keyword page for more information.
Alternatively, if the events format is being used to specify a well’s activities, the HOIL, HGAS, HWAT,

904 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

HLIQ, HRES, HBHP, HTHP, and HWEF historical well target events can be used to instruct a well to use
its historical tabulated quantity given in HFIL or HTAB.
• The well reservoir pressure quantity, WRP, is for reporting and comparison purposes only. No operating
target can be set for this historical quantity.

Examples

1. HFIL is used to include a histAB.hst file which contains historical oil, gas, and water rates and bottom
hole pressures for two wells, WPRDA and WPRDB. HUNI is also used to define the units of the rates and
pressures and HFOR is used to define the format of the historical data in the histAB.hst file. In this
case, the WELL option is used in HFOR to indicate that a well name will be defined on all records in the
histAB.hst file.
Using HUNI, the units for the liquid rates (oil (QOIL) and water (QWAT)) and the gas rates (QGAS) are to
be in stb/day and Mscf/day, respectively, while the cumulative totals for liquids and gases are assigned their
default values and pressure (BHP) is given the units of psia.
Input to include this historical data would appear as follows. See HFIL_Ex1.dat for complete example:

HUNI
stb/day Mscf/day 2* psia

HFOR WELL DAYS QOIL QGAS QWAT BHP

HFIL
'histAB.hst'

The histAB.hst file contains the following data:

WPRDA 0 1172 934.5 3.68 2300


WPRDA 35 1238 982.9 4.73 2294
WPRDA 74 1194 952.2 7.23 2292
WPRDA 110 1182 944.0 6.41 2286
WPRDA 128 1195 957.6 5.21 2281
WPRDA 175 1172 930.4 8.41 2279

WPRDB 0 823 617.3 2.35 2299


WPRDB 30 827 613.9 5.49 2287
WPRDB 65 796 587.2 3.23 2285
WPRDB 93 784 556.1 1.14 2283
WPRDB 120 788 521.0 2.52 2281
WPRDB 170 751 515.7 0.21 2279

Alternatively, if we had defined HFOR without the WELL option, the histAB.hst file would have a
different format where the well name will only be input once before its historical data is entered. Thus, in
this case, the example above would look like the following:

HUNI
stb/day Mscf/day 2* psia

HFOR DAYS QOIL QGAS QWAT BHP

HFIL
'histAB.hst'

The histAB.hst file contains the following data:

WPRDA
0 1172 934.5 3.68 2300
35 1238 982.9 4.73 2294
74 1194 952.2 7.23 2292

10.49. HFOR - Column Headers and Units for Well Historical Data 905
Tempest MORE Help, Release 8.1

110 1182 944.0 6.41 2286


128 1195 957.6 5.21 2281
175 1172 930.4 8.41 2279

WPRDB
0 823 617.3 2.35 2299
30 827 613.9 5.49 2287
65 796 587.2 3.23 2285
93 784 556.1 1.14 2283
120 788 521.0 2.52 2281
170 751 515.7 0.21 2279

In both cases, this historical tabulated data will then automatically appear in the Wells tab of the results in
Tempest View for plotting for either case. When this data is plotted with the calculated data, we can produce
the following plots:

2. HTAB is used to provide historical cumulative liquid (oil and water) rates, and well efficiency factors for
two wells, WP1 and WP2. HUNI is also used to define the units of the rates and HFORis used to define the
format of the historical data in the HTAB table.
Using HUNI, the liquid and gas rates are assigned their default units while the cumulative liquid totals (oil
(COIL) and water (CWAT)) are assigned units of ksm3 . And finally, the units for cumulative gas totals and
pressures are assigned their default values as well.
Input to include this historical data would appear as follows:

HUNI
2* ksm3 2*

906 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

HFOR 'MM.DD.YYYY' COIL CWAT WEF

HTAB
WP1
01.01.1982 247 18 0.55
02.01.1982 643 62 0.52
03.01.1982 997 102 0.52
04.01.1982 1347 143 0.51
WP2
01.01.1982 333 87 0.56
02.01.1982 1002 242 0.54
03.01.1982 1447 347 0.52
ENDH

Please note that as HFOR does not use the WELL option in this example, this signifies that a well’s name
will only be specified once before its historical data input in HTAB. As a result, in order to terminate the
data entry for HTAB, the ENDH keyword must be used.
Alternatively, if HFOR did use the WELL option, one would need to include the well name on each line of
data in HTAB and data entry for HTAB would need to be terminated with a slash (/) instead of ENDH, as
shown below:

HUNI
2* ksm3 2*

HFOR WELL 'MM.DD.YYYY' COIL CWAT WEF

HTAB
WP1 01.01.1982 247 18 0.55
WP1 02.01.1982 643 62 0.52
WP1 03.01.1982 997 102 0.52
WP1 04.01.1982 1347 143 0.51

WP2 01.01.1982 333 87 0.56


WP2 02.01.1982 1002 242 0.54
WP2 03.01.1982 1447 347 0.52
/

3. In the example below, HFOR is used with the HOLE and a hole value of -999 to assign a default value
to the quantity it appears for. The hole value acts in the same fashion as a 1* default value does. See
HFOR_HOLE.dat for complete example:

HUNI
stb/day Mscf/day 2* psia

HFOR WELL DAYS HOLE -999 QOIL

HTAB
WPRDA 0 1200
WPRDA 35 1*
WPRDA 74 1185
WPRDA 110 1170
WPRDA 128 -999
WPRDA 175 -999
/

With the use of 1* for the QOIL value at 35 days, the oil rate will remain at its previously assigned value of
1200 stb/day by default. Similarly, with the use of -999 for the QOIL value at 128 and 175 days, this acts
in the same fashion as 1* and the oil rate will remain at its previously assigned value of 1170 stb/day from
110 days on, as shown in the plot below.

10.49. HFOR - Column Headers and Units for Well Historical Data 907
Tempest MORE Help, Release 8.1

908 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.50 HUNI - Units for Historical Data

Location

RECU Section

Description

The HUNI (Historical Units) keyword is used to define the units for the values specified using HFIL or HTAB for
the historical well quantities defined by HFOR. HUNI consists of up to five arguments which should be entered in
succession on a separate line below the HUNI keyword itself when used.

Definitions

1. Units for liquid rates


• Field: stb/day (default) or Mstb/day
• Metric: sm3 /day (default) or ksm3 /day
2. Units for gas rates
• Field: scf/day or Mscf/day (default)
• Metric: sm3 /day or ksm3 /day (default)
3. Units for liquid totals
• Field: Mstb (default) or MMstb
• Metric: ksm3 (default) or Msm3
4. Units for gas totals
• Field: Mscf or MMscf (default)
• Metric: ksm3 or Msm3 (default)
5. Units for pressures
• Field: psia (default) or psig
• Metric: bara (default) or barg
6. Units for reservoir volume rates
• Field: rb/day (default) or Mrb/day
• Metric: rm3 /day (default) or krm3 /day
7. Units for reservoir volume totals
• Field: Mrb (default) or MMrb
• Metric: krm3 (default) or Mrm3

Notes

• Each quantity specified in HFOR must have its units defined by HUNI. For example, liquid rates in stb/day
or sm3 /day, cumulative gas totals in MMscf or ksm3 etc. Bottom hole pressures can be defined via BHP and
its corresponding unit if required.
• Please also see the HFIL, HFOR, and HTAB keywords for more information regarding the input of historical
data into a dataset.

10.50. HUNI - Units for Historical Data 909


Tempest MORE Help, Release 8.1

• A well can be instructed to use its historical tabulated quantity using special targets such as HOIL when
specified using the WELL keyword. Please see Example #4 in the WELL keyword for more information.
Alternatively, if the events format is being used to specify a well’s activities, the HOIL, HGAS, HWAT,
HLIQ, HRES, HBHP, HTHP, and HWEF historical well target events can be used to instruct a well to use
its historical tabulated quantity given in HFIL or HTAB.

Examples

1. HFIL is used to include a histAB.hst file which contains historical oil, gas, and water rates and bottom
hole pressures for two wells, WPRDA and WPRDB. HFOR is used to define the format of the historical data
in the histab.dat file and HUNI is used to define the units for quantities given in the histAB.hst
file.
Using HUNI, the units for the liquid rates (oil (QOIL) and water (QWAT)) and the gas rates (QGAS) are to
be in stb/day and Mscf/day, respectively, while the cumulative totals for liquids and gases are assigned their
default values and pressure (BHP) is given the units of psia.
Input to include this historical data would appear as follows. See HFIL_Ex1.dat for complete example:

HUNI
stb/day Mscf/day 2* psia

HFOR WELL DAYS QOIL QGAS QWAT BHP

HFIL
'histAB.hst'

The histAB.hst file contains the following data:

WPRDA 0 1172 934.5 3.68 2300


WPRDA 35 1238 982.9 4.73 2294
WPRDA 74 1194 952.2 7.23 2292
WPRDA 110 1182 944.0 6.41 2286
WPRDA 128 1195 957.6 5.21 2281
WPRDA 175 1172 930.4 8.41 2279

WPRDB 0 823 617.3 2.35 2299


WPRDB 30 827 613.9 5.49 2287
WPRDB 65 796 587.2 3.23 2285
WPRDB 93 784 556.1 1.14 2283
WPRDB 120 788 521.0 2.52 2281
WPRDB 170 751 515.7 0.21 2279

This historical tabulated data will then automatically appear in the Wells tab of the results in Tempest View
for plotting. When this data is plotted with the calculated data, we can produce the following plots:

910 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

2. HTAB is used to provide historical cumulative liquid (oil and water) rates, and well efficiency factors for
two wells, WP1 and WP2. HUNI is also used to define the units of the rates and pressure and HFOR is used
to define the format of the historical data in the HTAB table.
Using HUNI, the liquid and gas rates are assigned their default units while the cumulative liquid totals (oil
(COIL) and water (CWAT)) are assigned units of ksm3 . And finally, the units for cumulative gas totals and
pressures are assigned their default values as well.
Input to include this historical data would appear as follows:

HUNI
2* ksm3 2*

HFOR 'MM.DD.YYYY' COIL CWAT WEF

HTAB
WP1
01.01.1982 247 18 0.55
02.01.1982 643 62 0.52
03.01.1982 997 102 0.52
04.01.1982 1347 143 0.51
WP2
01.01.1982 333 87 0.56
02.01.1982 1002 242 0.54
03.01.1982 1447 347 0.52
ENDH

10.50. HUNI - Units for Historical Data 911


Tempest MORE Help, Release 8.1

10.51 HTAB - In-line Well Historical Data

Location

RECU Section

Description

The HTAB keyword is used to place historical well data directly in-line into the RECU section. Rather than place
historical well data in a separate file, it can be placed directly after the HTAB keyword.
Arguments for HTAB consist of two records. The first record consists of one optional argument which should be
entered on the same line as the HTAB keyword itself if used. The second record consists a table of historical well
data values whose columns are defined by the HFOR keyword. When the well names are entered on each line, the
table is terminated using a solitary slash (/) located on its own separate line directly following the last historical
well data value entry. When the well names are entered on separate lines, the data entry for HTAB is terminated
using the ENDH keyword. Otherwise, the format of HTAB is the same as that of HFIL.

Definitions

RECORD 1:
1. EXACT (optional) - used when it is required that simulation steps match historical rate times exactly.
RECORD 2:
1. Table of historical well data - columns as defined by HFOR

Notes

• The HOURS argument may be used to add a specified number of hours to the time of line of HTAB data.
Please see Example #3 below for more information.
• Entered data does not need to be in chronological order. If data for the same time as a previous entry is
found, the later data is used and a warning message issued.
• A well can be instructed to use its historical tabulated quantity using special targets such as HOIL when
specified using the WELL keyword. Please see Example #4 in the WELL keyword for more information.
Alternatively, if the events format is being used to specify a well’s activities, the HOIL, HGAS, HWAT,
HLIQ, HRES, HBHP, HTHP, and HWEF historical well target events can be used to instruct a well to use
its historical tabulated quantity given in HFIL or HTAB.
• Historical data is assumed to be forward looking. That is, a QOIL value of 1000 stb/day given on 1st January
2000 means that the rate changes to 1000 stb/day on 1st January 2000 and continues to be 1000 stb/day after
this date (until the next user value).
• Historical data for a well may be entered over several HTAB tables: internally, MORE will generate the
union of all the user tables. If, for a given time, there is some missing data for a particular quantity, MORE
will take the nearest user value prior to this time.
• Evaluation of historical data outside the table limits: For historical rates, cumulatives, and pressures at times
before the first table time MORE assumes a value of zero. For the historical WEFA at times before the first
table time MORE assumes a value of one. For historical rates, pressures and WEFA at times after the last
table time MORE uses the value at the last table time. Historical cumulatives grow linearly after the last
table time.
• The HFIL keyword provides an alternative means of specifying the historical data by allowing historical
data to be placed in a separate file.

912 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• Please also see the HUNI and HFIL keywords for more information regarding the input of historical data
into a dataset.

Examples

1. HTAB is used to provide the historical oil, gas, and water rates and bottom hole pressures for two wells,
WPRDA and WPRDB. HUNI is also used to define the units of the rates and HFOR is used to define the
format of the historical data given in HTAB. In this case, the well name is defined on all records and data
entry for HTAB is terminated by a slash (/).
Using HUNI, the units for the liquid rates (oil (QOIL) and water (QWAT)) and the gas rates (QGAS) are to
be in stb/day and Mscf/day, respectively, while the cumulative totals for liquids and gases are assigned their
default values and pressure (BHP) is given the units of psia.
Input to include this historical data would appear as follows:

HUNI
stb/day Mscf/day 2* psia

HFOR WELL DAYS QOIL QGAS QWAT BHP

HTAB
WPRDA 0 1172 934.5 3.68 2300
WPRDA 35 1238 982.9 4.73 2294
WPRDA 74 1194 952.2 7.23 2292
WPRDA 110 1182 944.0 6.41 2286
WPRDA 128 1195 957.6 5.21 2281
WPRDA 175 1172 930.4 8.41 2279

WPRDB 0 823 617.3 2.35 2299


WPRDB 30 827 613.9 5.49 2287
WPRDB 65 796 587.2 3.23 2285
WPRDB 93 784 556.1 1.14 2283
WPRDB 120 788 521.0 2.52 2281
WPRDB 170 751 515.7 0.21 2279
/

This historical tabulated data will then automatically appear in the Wells tab of the results in Tempest View
for plotting. When this data is plotted with the calculated data, we can produce the following plots:

10.51. HTAB - In-line Well Historical Data 913


Tempest MORE Help, Release 8.1

2. HTAB is used to provide historical cumulative liquid (oil and water) rates, and well efficiency factors for
two wells, WP1 and WP2. HUNI is also used to define the units of the rates and HFOR is used to define the
format of the historical data in the HTAB table.
Using HUNI, the liquid and gas rates are assigned their default units while the cumulative liquid totals (oil
(COIL) and water (CWAT)) are assigned units of ksm3 . And finally, the units for cumulative gas totals and
pressures are assigned their default values as well.
Input to include this historical data would appear as follows:

HUNI
2* ksm3 2*

HFOR 'MM.DD.YYYY' COIL CWAT WEF

HTAB
WP1
01.01.1982 247 18 0.55
02.01.1982 643 62 0.52
03.01.1982 997 102 0.52
04.01.1982 1347 143 0.51
WP2
01.01.1982 333 87 0.56
02.01.1982 1002 242 0.54
03.01.1982 1447 347 0.52
ENDH

Please note that due to the format of HFOR used in this example, in order to terminate the data entry for
HTAB, the ENDH keyword needs to be used instead of a slash (/).

914 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. In this example, HTAB is used with the HOURS argument to add a specified number of hours to the time of
line of HTAB data. Historical well rates are set every 3 hours on the 1st of January for the oil rate of well
P-1, as shown below:

HFOR 'DD/MMM/YYYY' QOIL

HTAB
P-1
01/Jan/2000 2183
01/Jan/2000 2180 HOURS 3
01/Jan/2000 2181 HOURS 6
01/Jan/2000 2182 HOURS 9
01/Jan/2000 2185 HOURS 12
01/Jan/2000 2187 HOURS 15
01/Jan/2000 2184 HOURS 18
ENDH

When plotted with the calculated oil production rate, we will obtain the following plot:

Please note that for this example, the output frequencies on the RATE and ARRA keywords in the RECU
section will need to be updated to plot hourly rate data. To obtain the graph we have plotted above, we
have modified the RATE and ARRA keywords to output data every 3 hours by changing the incremental time
between reports to be 0.125 days, as follows:

RATE 0.125 DAYS


FREQ 0 0 1

ARRA DAYS EQUA


0.125 /

10.51. HTAB - In-line Well Historical Data 915


Tempest MORE Help, Release 8.1

10.52 ILIM - Group Injection Control

Location

RECU Section (after a group (GROU) definition)

Description

The ILIM keyword is used to define group injection limits. ILIM consists of three required arguments and up to
two optional ones, which are further defined in the Definitions section below. All of these arguments should be
entered in succession on the same line as the ILIM keyword itself when used.

Definitions

1. Group containing the injection wells to be controlled/monitored


2. Name of the injection fluid stream:
• OIL - oil injection target for all injectors in the group
• GAS - gas injection target for all injectors in the group
• WAT - water injection target for all injectors in the group
• RESV - reservoir volume injection target for all injectors in the group
• RVG - reservoir volume injection target for all gas injectors in the group
• RVW - reservoir volume injection target for all water injectors in the group
3. Value for the group injection limit
4. Option 1 (optional): MIN, MAX, or HOLD
• MIN - is a minimum limit
• MAX (default) - is a maximum limit
• HOLD - is a target (TARG is an alias for HOLD)
5. Option 2 (optional): STIM, DRIL, GRED, SHUT, or STOP
• STIM - injection wells in the group will be stimulated if limit is violated
• DRIL - an injector from the drilling queue will be activated if limit is violated
• GRED - one or more wells in the group will be redefined if limit is violated
• SHUT - shut all the wells in the group when limit violation occurs
• STOP - the simulation will be stopped as a result of the group limit violation (MAX and MIN cases
only)

Notes

• A group can only have one limit value for a given pair of limit type and action (e.g. GAS & STIM). If a new
limit value is specified for an existing pair (e.g. GAS & STIM), it replaces the existing value. If a new limit
value is specified for a new pair (e.g. WAT & DRIL), then it will define an additional limit.
• There is a difference between the treatment of MAX/MIN and HOLD limits:
– The MAX and MIN limits define events at which actions are taken
– The HOLD option defines a continuous adjustment of the group to meet a rate target

916 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• When a target is applied to a gas, it affects all the gas injectors in a group. When a target is applied to water,
it affects all the water injectors in a group. Note that it is possible for a group to have injection gas and
injection water targets acting simultaneously.
• In case of DRIL actions the wells to be drilled must be put in the drill queue. Setting up the drill queue is
described in the well management section of the Tempest MORE Technical Reference.
• A recommended alternative to this keyword is GILIM event.

Examples

1. ILIM is used to specify a gas injection rate of 50000 into the group GCAP. This rate will be maintained
(as specified by using the HOLD option) as long as the wells in the group have sufficient injection capacity
whilst remaining within their individual well targets and limits.

ILIM GCAP GAS 50000 HOLD

2. ILIM is used to specify that when the A943 group reaches a minimum water injection rate of 10000, the
injection wells in the group will be stimulated.

ILIM A943 WAT 10000 MIN STIM

3. ILIM is used to specify that when the CW-45 group reaches a maximum water injection rate of 45000, all
of the wells in the group will be shut.

ILIM CW-45 WAT 45000 MAX SHUT

10.52. ILIM - Group Injection Control 917


Tempest MORE Help, Release 8.1

10.53 INVO - Invoke an operation with arguments

Location

RECU Section

Description

The INVO keyword invokes an operation previously defined using the OPER keyword. For details of how to set
up and use operations see the operations section of the Technical Reference Manual.
The operation is followed by its arguments, all of which should be entered on the same line as the INVO keyword
itself. These depend on the operation definition.

Syntax

INVO operation argument1 argument2..

Definitions

1. operation - name of operation.


2. argument1 - first operation argument
3. argument2 - second operation argument

Notes

• The pre-defined arguments MEXE, DAY, MONTH and YEAR set the maximum number of times an oper-
ator invocation can execute and the interval between execution times in days, months or years.
• The current number of executions of a given operator instance is stored in the automatically defined variable
&NEXE and is preserved across restarts.
• If two operations with MEXE>1 have identical parameters, MORE is unable to distinguish them, which
may lead to unexpected results in restarts. In this case, MORE will give a warning. To avoid problems,
the user should distinguish the two invocations by either re-naming an identical copy of the operation, or
adding a dummy variable to the operation. See Example 2 below.
• A recommended alternative to this keyword is INVO event.

Examples

1. Example of invoking an operation with two arguments:

INVO changeWellRate well=P-1 rate=250

2. Example of distinguishing multiple invocations of same operation by using a dummy variable:

OPERATION changeWellRate well rate id=0


ETAB
&well
0 LPT &rate
ENDE
ENDO

918 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

TIME 1 YEAR
INVO changeWellRate well=P-1 rate=250 id=1 MEXE=2 MONT=1

TIME 2 YEAR
INVO changeWellRate well=P-1 rate=250 id=2 MEXE=2 MONT=1

10.53. INVO - Invoke an operation with arguments 919


Tempest MORE Help, Release 8.1

10.54 IPRL - Modify Limits of Inflow Performance Tables

Location

RECU Section

Description

The IPRL keyword may be used to modify the limits of the inflow performance tables calculated for each well.
IPRL consists of three required arguments, all of which should be entered on the same line as the IPRL keyword
itself when used.

Definitions

1. Well name
2. Type of limit
• Options: minP, maxP, minQoil, maxQoil, minQgas, maxQgas, minQwat, maxQwat
• Units: psi or mscf/day (Field), bars or ksm3 /day (Metric)
3. Limit value

Notes

• IPR tables are requested using the IPR keyword.


• When the type of limit is a flow rate, MORE will calculate the pressure corresponding to that flow rate. The
intermediate table points are based on pressure values spanning the pressure range.
• The default IPR table limits are
1. Oil/gas/water flow rate of 1.0E-4, depending on the well type
2. 10 atm (producers), 1000 atm (injectors)

Examples

1. IPRL is used to request that the IPR table of producer well P-1 uses a lower pressure limit of 70.0 and an
upper pressure limit corresponding to a gas flow rate of 2.0.

IPRL P-1 minP 70.0


IPRL P-1 minQgas 2.0

920 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.55 KILL - Stop a Simulation on a Timestep Reduction

Location

RECU Section

Description

The KILL keyword stops a simulation when a timestep reduction occurs. This can be a useful tool for investigating
problem runs, particularly if used with MONI. KILL would not normally be used in production work.

Syntax

KILL Nchop

Definitions

1. Nchop - run will stop after Nchop timestep chops.

Example

--Stop after 100 timestep chops

KILL 100

10.55. KILL - Stop a Simulation on a Timestep Reduction 921


Tempest MORE Help, Release 8.1

10.56 KMOD - Modify Permeability during Simulation

Location

RECU Section

Description

The KMOD keyword is used to modify permeabilities during a simulation. Arguments for KMOD consists two
records. The first record consists of six required arguments and two optional ones which should all be entered
in succession on the same line as the KMOD keyword itself when used. The second record consists of a list of
permeability modifiers which should be entered on a separate line directly below the KMOD keyword.

Definitions

RECORD 1:
1. Lower i-location of box of cells which permeability modification will be applied to
• Default: 1
2. Upper i-location of box of cells which permeability modification will be applied to
• Default: Nx
3. Lower j-location of box of cells which permeability modification will be applied to
• Default: 1
4. Upper j-location of box of cells which permeability modification will be applied to
• Default: Ny
5. Lower k-location of box of cells which permeability modification will be applied to
• Default: 1
6. Upper k-location of box of cells which permeability modification will be applied to
• Default: Nz
7. SCALAR (optional) - used to indicate that one factor is entered and applies to the whole box
8. Name of local grid to apply permeability modifiers (optional)
RECORD 2:
1. List of permeability modifiers
• The factors entered with KMOD are applied to the initial permeabilities and act as multipliers for those
values.
• The number of permeability modifiers in this list must equal the number of cells included in the box
specified by the first 6 arguments in Record 1 above unless the SCALAR option is used, in which case,
only one value is required and it will be applied to the entire box.

Notes

• The index values given in Record 1 apply to global grid cells. Local cell KMOD values are set to the
corresponding global cell values.
• The permeability modification is applied to normal transmissibilities, fault transmissibilities, and well con-
nection factors.
• Using a scalar value of 1 will restore the original permeability values to the grid.

922 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• If a local grid name is entered, the box of cells will apply to that local grid. Otherwise, local grids will
inherit values from the global grid.

Examples

1. In a 10x10x5 grid, KMOD is used to change the permeabilities in a block of cells ranging from (4,8,1) to
(6,10,2) after 2 years of simulation. A total of 18 KMOD values will be required.

READ 2 YEARS

KMOD 4 6 8 10 1 2
0.50 0.65 0.42
0.75 0.94 0.56
0.61 0.88 0.35
0.45 0.42 0.51
0.69 0.78 0.95
0.99 0.85 0.62

A KMOD (“Permeability Modification Factor”) array will then appear in the Recurrent tab of the results for
display in 3D, as shown below:

2. In this example, we will use the same block of cells with KMOD as the example above, but this time, we
will use the optional SCALAR argument to indicate that just one factor will be entered to be applied to the
whole box after 4 years of simulation. We will use a scalar value of 0.80 to reduce the permeability by 20%
with respect to the initial permeability.

READ 4 YEARS

KMOD 4 6 8 10 1 2 SCALAR
0.80

The resulting KMOD array will then appear in 3D as follows:

10.56. KMOD - Modify Permeability during Simulation 923


Tempest MORE Help, Release 8.1

After 6 years of simulation, we then want to restore the original permeability values, and this can be done
by applying a scalar value of 1.0 to the grid block, as follows. See KMOD.dat for complete example:

READ 6 YEARS

KMOD 4 6 8 10 1 2 SCALAR
1.0

The resulting KMOD array will then appear in 3D as follows:

924 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.57 LIMI - Define Custom Well Limit

Location

RECU Section (before any well data using the limit)

Description

The LIMI keyword is used to define a custom well limit. This keyword must appear before any well data that uses
this limit. LIMI consists of two records. The first record consists of one required argument and two optional ones
which should all be entered in succession on the same line as the LIMI keyword itself when used. The second
record consists of a list of coefficients in the constraint equation which should be entered on a separate line below
the LIMI keyword.

Definitions

RECORD 1:
1. Name of the limit
2. Limit constraint (optional): RATI, MIN or MAX
• RATI - limit is a ratio constraint
• MIN - limit is a minimum rate constraint
• MAX (default) - limit is a maximum rate constraint (RATE is an alias for MAX)
3. (used only for RATI) Ratio to liquid rate: GAS, WAT, or OIL
• GAS - ratio is to the gas rate
• WAT - ratio is to the water rate
• OIL (default) - ratio is to the oil rate
RECORD 2:
1. Coefficients in the constraint equation.

Notes

• For a rate limit, the defined limit is:


3
X
Qlim = wi qi
i=1

• For a ratio limit, the defined limit is:


3
X wi qi
Qlim =
qr
i6=1

where: i = OIL, GAS, WATR, qi is the volumetric production rate of stream i, r is the stream the ratio is to,
e.g., OIL for GOR.
• There is much less need to use custom limits in MORE 6 as the standard limits (OIL, WAT, LIQ, GAS) can
be used in MIN, MAX, and HOLD modes.

10.57. LIMI - Define Custom Well Limit 925


Tempest MORE Help, Release 8.1

Examples

LIMI is used to set a minimum rate limit named “qomn” with a value of 1.0 for first coefficient to indicate that it
is an oil minimum rate limit. The value of the minimum rate is specified using the WLIM well sub-keyword. The
minimum oil rate is set at 100 stb/day. See LIMI.dat for complete example:

LIMI qomn MIN


1.0 0.0 0.0 /

WELL pw01 PRODUCES OIL QLIM=2000 PLIM=500


WLIM 100 qomn /

926 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.58 LSOL - Linear Solver Controls

Location

INPU or RECU Sections

Description

The LSOL keyword is used set linear solver controls. This keyword consists of four optional arguments which
should all be entered in succession on the same line as the keyword itself if used.

Syntax

LSOL MITER TARGI TARGA [MGS] [CGS] [SCGS]

Definitions

1. Maximum number of linear solver iterations (optional)


• Default: 40
2. Target improvement in linear solver (optional)
• Default: 1.0E-05
3. Target absolute linear solver error (optional)
• Default: 1.0E-10
4. Maximum stack size for the linear solver (optional)
• Default: The maximum number of linear solver iterations entered above
Optional arguments:
• MGS Use Modified Gram Schmidt orthogonalisation
• CGS Use Classical Gram Schmidt orthogonalisation
• SCGS Use Semi Classical Gram Schmidt orthogonalisation

Notes

• The maximum number of linear solver iterations is the same as the number specified in the first argument
(the number of linear solver search directions held by the GMRES solver) of the LSOL keyword
• It is generally best to use the default convergence targets.
• However, if one finds that the linear solver count in the LS column of the runtime output is continually
hitting the maximum default number of iterations (40), as shown below:

In this case, it would be worth increasing the number of linear solvers.

10.58. LSOL - Linear Solver Controls 927


Tempest MORE Help, Release 8.1

• The maximum number of linear solvers recommended for use would be about 120. As the cost of the linear
solver goes like the square of the stack size, it is not worth going much beyond 120.
• If the default linear solver still won’t solve, it is worth trying the multigrid linear solver by introducing the
MGLS and MGVB keywords to the simulation.
• The three options for the Gram-Schmidt orthogonalisation are simply three ways of organising the GM-
RES (Generalised Minimum RESidual) linear solver acceleration. Modified Gram-Schmidt was used in
versions of MORE prior to 7.0. In perfect arithmetic the three methods would be identical. Gram-Schmidt
orthogonalisation involves orthogonalisation of a new search direction against a stack of previous ones.
Each orthogonalisation involves calculation of a coefficient and vector subtraction using that coefficient. In
classical Gram-Schmidt all the coefficients are calculated, then all the subtractions are done. In modified
Gram-Schmidt the coefficient is found and the subtraction done immediately for each stack element. In the
semi-classical case a block of coefficients is found and the subtractions are done for that block. Modified
Gram-Schmidt is slightly more stable, but involves re-reading the new search direction from memory for
every operation. With the semi-classical method, one of the vectors can be kept in cache for all the opera-
tions in a block, and this typically yields a performance gain of 9/16 (for a 8-element block). SCGS is the
default for MORE 7.0.
• A recommended alternative to the 1st and 2nd arguments of this keyword are MXL and CNVL events respec-
tively.

Example

1. LSOL is used to set number of linear solver search directions to 80 for a tough problem (i.e. when the
linear solver count was continually hitting the maximum default number of iterations (40) as seen in the LS
column of the runtime output.)

LSOL 80

928 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.59 MASS - Force the use of mass variables with the Appleyard
chop

Location

RECU Section

Description

This is a developer keyword which forces the use of mass variables in black-oil runs. It consists of one optional
argument which allows the Appleyard chop to be switched off.
As this is a keyword for program developers, the general user is strongly advised not to use this keyword.

Definitions

1. NOAC: do not use Appleyard chop (optional).

Example

MASS

10.59. MASS - Force the use of mass variables with the Appleyard chop 929
Tempest MORE Help, Release 8.1

10.60 MOBI - Mobility Output

Location

RECU Section (after the ARRA or ESOL keywords)

Description

The MOBI keyword is used to request that mobility data be output by MORE, either to the .out file or to ECLIPSE
solution files.
The mobility of a phase is,
Krp
Mp =
Bp × µp

Where,
• Krp is the phase relative permeability,
• Bp is the phase formation volume factor, and
• µp is the phase viscosity.

Syntax

MOBI may be followed by all or any of four possible arguments:


1. OIL - requests output of oil phase mobilities
2. GAS - requests output of gas phase mobilities
3. WAT - requests output of water phase mobilities
4. SOLV - requests output of solvent phase mobilities

Notes

• To output 3D arrays for visualisation through Tempest/VIEW, use STOR rather than MOBI.
• Printed output of cell values to the .out file is not normally useful except for small cases

Example

MOBI OIL WATer

930 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.61 NOPI - No Pivoting (for Implicit compositional runs).

Location

RECU Section

Description

This keyword stops MORE from eliminating the volume balance equation in compositional fully implicit mode.
The keyword is mainly for development purposes - it will generally increase the run-time slightly whilst having
no event on the results.
Example

NOPI

10.61. NOPI - No Pivoting (for Implicit compositional runs). 931


Tempest MORE Help, Release 8.1

10.62 OPER - Define an Operation

Location

RECU Section

Description

The OPER keyword is used to denote the start of an Operation definition


An operation definition is terminated with an
• ENDO

Notes

• Please see the Operations section of the MORE Technical Reference for more information regarding Oper-
ations
• Other keywords associated with Operations include:
– ENDO - end of Operation definition
– INVO - invoke an Operation
• Events associated with Operations include:
– INVO - invoke an Operation

Examples

All examples can found in the Operations Examples page.

932 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.63 PARE - Define Parent Group for a Group

Location

RECU Section

Description

The PARE keyword is used to define a parent group for a group. PARE consists of two required arguments which
should all be entered in succession on the same line as the PARE keyword itself when used.

Definitions

1. Name of the group to be assigned to a parent


2. Name of the parent group

Notes

• If a parent group is not specified, the default group is ALL.


• Using the PARE keyword, a hierarchy of groups may be constructed.

Examples

1. PARE is used to assign the groups G_SW and G_SE to the parent group G_South.

PARE G_SW G_South


PARE G_SE G_South

10.63. PARE - Define Parent Group for a Group 933


Tempest MORE Help, Release 8.1

10.64 PBAL - Production Balancing

Location

RECU Section (after a group (GROU) definition)

Description

The PBAL keyword is used to set production balancing group limits. Production balancing imposes a group
production limit on producers in a group such that a fraction of the injection achieved by the injectors in the same
or another group is produced. PBAL consists of four optional arguments which should all be entered in succession
on the same line as the PBAL keyword itself if used.

Definitions

1. Group containing the production wells (optional)


• Default: ALL
2. Group containing the injection wells (optional)
• Default: ALL
3. Production balancing factor (optional)
• Default: 1
4. Fluid used in production balancing (optional): GAS, WAT, or RVOL
• GAS - balance gas production
• WAT - balance water production
• RVOL (default) - balance reservoir volume production

Notes

• A recommended alternative to this keyword is PBAL event.

Examples

1. PBAL is used to balance production for the group GR1 so that the produced reservoir volume equals the
injected reservoir volume. See PBAL.dat for complete example:

GROU GR1 WINJ1 WINJ2 WPRD1 WPRD2

PBAL GR1 GR1 1.0

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

WINJ1
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 1000.00
01/Jan/2000 BHPT 1.00000e+04

WINJ2

934 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 3000.00
01/Jan/2000 BHPT 1.00000e+04

WPRD1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 1500.00

WPRD2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

ENDE

In this example, the wells in group GR1 have a total water injection rate of 4000 stb/day and a total oil
production rate of 3500 stb/day. With the presence of PBAL, we inject a total of 4000 stb/day of water and
the equivalent produced oil in reservoir volume will be approximately 2705 stb/day. These rates are evident
when the oil production rate and water injection rates are plotted together, as shown below:

If we then change the PBAL production balancing factor to 0.50 so that the produced reservoir volume
equals half of the injected reservoir volume by modifying PBAL, as follows:

PBAL GR1 GR1 0.50

We should then expect that the oil production rate will become half of the previous rate of 2705 stb/day,
and thus, we should see an oil production rate of approximately 2705/2 = 1352.5 stb/day. When the oil
production rate is plotted with the water injection rate, we will see that the PBAL production balancing
factor of 0.5 has indeed been applied to the simulation, as evidenced in the following plot:

10.64. PBAL - Production Balancing 935


Tempest MORE Help, Release 8.1

936 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.65 PBDT - Maximum Rate of Change of Bubble Point Pressure

Location
RECU Section

Description

The PBDT keyword may be used to control the rate at which gas solution in undersaturated oil occurs.

Definitions

PBDT has a single argument:


1. Maximum rate of change of bubble point pressure
• Units: psi/day (Field), bar/day (Metric)

Notes

Example

1. Set maximum resaturation rate of 0.2 bar/day. See PBDT.dat for complete example:

PBDT 0.2

10.65. PBDT - Maximum Rate of Change of Bubble Point Pressure 937


Tempest MORE Help, Release 8.1

10.66 PIPE - Characterise a Pipe for the Network Model

Location

RECU Section

Description

The PIPE keyword is used to characterise a pipe. This may be done by attaching a pipe table to the pipe (the table
should be specified using PTAB). Alternatively, the pressure drop coefficients for oil, gas, and water flows can be
specified to characterise the pipe instead. These coefficients are overall pressure drop vs. oil, gas, and water rates
in surface volume terms.
Arguments for PIPE depend on whether a pipe table is used to characterise the pipe or if pressure drop coefficients
are used instead.
In the case in which a table is required, PIPE consists of three required arguments which should be entered on the
same line as the PIPE keyword itself when used. PIPE should be followed by the pipe name, the word TABLE,
and then the required table name.
In the case in which an analytical form is required, PIPE consists of four required arguments which should also
be entered on the same line as the PIPE keyword itself when used. In this case, the arguments consist of the pipe
name followed by the three pressure coefficients.
An optional argument, USEL, which is used to specify that lift gas is to be added to the gas rate when calculating
pressure drops associated with the pipe, may also be added to the end of either the pipe table or analytical format
options.

Definitions

For the case in which a table is required:


1. Pipe name
2. TABLE
3. Table name
4. USEL (optional) - specifies lift gas to be added to the gas rate when calculating pressure drops associated
with this pipe.
For the case in which an analytical form is required:
1. Pipe name
2. Pressure drop coefficient for oil
• Units: stb/day (Field), sm3 /day (Metric)
3. Pressure drop coefficient for gas
• Units: mscf/day (Field), ksm3 /day (Metric)
4. Pressure drop coefficient for water
• Units: stb/day (Field), sm3 /day (Metric)
5. USEL (optional) - specifies lift gas to be added to the gas rate when calculating pressure drops associated
with this pipe.

938 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Notes

• The optional argument USEL (Use Lift Gas) may be added in either case, after the required arguments.
USEL specifies that any lift gas specified by the LIFT keyword for the well is to be added to the gas rate
when calculating pressure drops associated with this pipe. If USEL is specified, the lift gas will also be
added to the gas rate for any pipeline pumps associated with this pipe.
• Recommended alternatives to this keyword are PIPEC and PIPET events.

Examples

1. PIPE is used to characterise the pipe PIPE45 using the P_TAB_12 pipe table.

PIPE PIPE45 TABLE P_TAB_12

2. PIPE is used to characterise the pipe EAST_PIPE_1 using the EAST_T pipe table. The USEL option will
also be used with this pipe to specify that lift gas will be added to the gas rate when calculating pressure
drops with this pipe.

PIPE EAST_PIPE_1 TABLE EAST_T USEL

3. PIPE is used to characterise the pipe PIPE46 using pressure drop coefficients.

PIPE PIPE46 0.001 0.045 0.006

10.66. PIPE - Characterise a Pipe for the Network Model 939


Tempest MORE Help, Release 8.1

10.67 PLPU - Pipeline Pump Performance Table

Location

RECU Section (before wells which use this pump performance table)

Description

The PLPU (Pipeline Pump) keyword is used to define a pipeline pump performance table. A pipeline pump
performance table must be defined before it can be used by a well. Arguments for PLPU consist of two records.
The first record consists of one required argument and one optional one which should be entered on the same line
as the PLPU keyword itself when used. The second argument consists of a table with two columns of data defining
the pipeline pump performance. Following the final row of PLPU data in the table, a solitary slash (/) on its own
line is required to terminate the data entry for this keyword.

Definitions

Record 1:
1. Name of the pump performance table
2. Surface volume rate: SLIQ or SGAS (optional)
• SLIQ - surface liquid volume rates are specified
• SGAS - surface gas volume rates are specified
Record 2:
1. Overall pump intake rate at reservoir conditions
2. Developed pressure differential
• Units: psi (Field), bars (Metric)

Notes

• The WPUM or GPUM events are used to associate a pipeline pump with the flow from a well or group into
a pipeline.

Examples

1. PLPU is used to supply a performance table for the PUMPTAB42 pipeline table at reservoir conditions.
PLPU PUMPTAB42
100 1000
200 800
500 600
800 500
1500 150
/

2. PLPU is used to supply a performance table for the P7-PUMP1 pipeline table for different liquid surface
volume rates by using the SLIQ option.
PLPU P7-PUMP1 SLIQ
100 1450
5000 1250
10000 440

940 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

20000 0
/

10.67. PLPU - Pipeline Pump Performance Table 941


Tempest MORE Help, Release 8.1

10.68 PMOD - Modify Porosity during Simulation

Location

RECU Section

Description

The PMOD keyword is used to modify porosities during a simulation. Arguments for PMOD consists two records.
The first record consists of six required arguments and two optional ones which should all be entered in succession
on the same line as the PMOD keyword itself when used. The second record consists of a list of porosity modifiers
which should be entered on a separate line directly below the PMOD keyword.

Definitions

RECORD 1:
1. Lower i-location of box of cells which porosity modification will be applied to
• Default: 1
2. Upper i-location of box of cells which porosity modification will be applied to
• Default: Nx
3. Lower j-location of box of cells which porosity modification will be applied to
• Default: 1
4. Upper j-location of box of cells which porosity modification will be applied to
• Default: Ny
5. Lower k-location of box of cells which porosity modification will be applied to
• Default: 1
6. Upper k-location of box of cells which porosity modification will be applied to
• Default: Nz
7. SCALAR (optional) - used to indicate that one factor is entered and applies to the whole box
8. Name of local grid to apply porosity modifiers (optional)
RECORD 2:
1. List of porosity modifiers
• The factors entered with PMOD are applied to the original porosities and act as multipliers for those
values.
• The number of porosity modifiers in this list must equal the number of cells included in the box
specified by the first 6 arguments in Record 1 above unless the SCALAR option is used, in which
case, only one value is required and it will be applied to the entire box.

Notes

• The index values given in Record 1 apply to global grid cells. Local cell PMOD values are set to the
corresponding global cell values.
• Each instance of PMOD will over-write the modifications done to the porosity from previous PMOD key-
words. Every instance of PMOD will be applied to the original porosity values and not to the porosity values
modified by PMOD.

942 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• Using a scalar value of 1 will restore the original porosity values to the grid.
• If a local grid name is entered, the box of cells will apply to that local grid. Otherwise, local grids will
inherit values from the global grid.

Examples

1. In a 10x10x5 grid, PMOD is used to change the porosities in a block of cells ranging from (4,8,1) to (6,10,2)
after 2 years of simulation. A total of 18 PMOD values will be required.

READ 2 YEARS

PMOD 4 6 8 10 1 2
0.85 0.96 1.58
1.24 0.81 0.89
1.50 1.62 0.75
0.93 1.42 1.14
0.77 0.64 0.89
1.22 1.54 1.60

A PMOD (“Porosity Modification Factor”) array will then appear in the Recurrent tab of the results for
display in 3D, as shown below:

2. In this example, we will use the same block of cells with PMOD as the example above, but this time, we
will use the optional SCALAR argument to indicate that just one factor will be entered to be applied to the
whole box after 4 years of simulation. We will use a scalar value of 0.60 to reduce the porosity by 40% with
respect to the initial porosity.

READ 4 YEARS

PMOD 4 6 8 10 1 2 SCALAR
0.60

The resulting PMOD array will then appear in 3D as follows:

10.68. PMOD - Modify Porosity during Simulation 943


Tempest MORE Help, Release 8.1

After 6 years of simulation, we then want to restore the original porosity values, and this can be done by
applying a scalar value of 1.0 to the grid block, as follows. See PMOD.dat for complete example:

READ 6 YEARS

PMOD 4 6 8 10 1 2 SCALAR
1.0

The resulting PMOD array will then appear in 3D as follows:

944 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.69 POTN - Periodic Well Potential Calculations

Location

RECU Section

Description

The POTN keyword is used to request periodic well potential calculations. POTN consists of two required argu-
ments which should be entered in succession on the same line as the POTN keyword itself. By default, if POTN
is not specified, potentials are when the well is defined or changed (e.g. a new completion activated).

Definitions

1. Incremental time between well potential calculations


2. Unit of time for value given in argument 1: DAYS, MONT, or YEAR
• DAYS - incremental time is specified in days
• MONT - incremental time is specified in months
• YEAR - incremental time is specified in years

Notes

• If a zero time interval is specified, well potentials are calculated after every time step.
• If a negative time interval is specified, well potentials will not be calculated.
• A recommended alternative to this keyword is POTN event.

Example

1. POTN is used to request well potential calculations to be performed every 6 months.

POTN 6 MONT

2. POTN is used to request well potential calculations to be performed after every time step.

READ JAN 1 1989


POTN 0.0

10.69. POTN - Periodic Well Potential Calculations 945


Tempest MORE Help, Release 8.1

10.70 PRIN - Printing Options for Recurrent Section

Location

RECU Sections

Description

The PRIN (print) keyword in the Recurrent section is used request a printed table of the well trajectory entered
with TFIL or TTAB in the TRAC section of the MORE .out file which can be viewed under the Print tab when
results are viewed in Tempest View. The PRIN keyword consists of one optional argument which should be
entered on the same line as the keyword itself if used.

Definitions

1. NONE, ALL or TRACK


• NONE (default) - print no well trajectories to the .out file
• ALL - print all well trajectories to the .out file
• TRACK - print the well trajectory to the .out file

Notes

n/a

Example

1. PRIN is used with the TRACK option to request that the well trajectories be printed out in the .out file
under the TRAC section.
PRIN TRACK

The TRACK options is also equivalent to the ALL option:


PRIN ALL

Both of the options above will result in the following data output in the print and .out files:
TRAC===========================================================================

Trajectory for track WINJ


X Y Z mD
------------- ------------- ------------- -------------
500.000000 500.000000 5000.000 5000.000
500.000000 500.000000 6000.000 6000.000
------------- ------------- ------------- -------------

Cell intersections for track WINJ


ix iy iz iLG x,y,z direction fractions md(lower) md(upper)
,→porosity pressure oil satn gas satn wat satn

------ ------ ------ -------- ------------------------- --------- --------- --


,→------ -------- -------- -------- --------

1 1 1 global 0.0 0.0 1.000 5000.0 5200.0


,→ 0.100 2334.0 0.800 0.0 0.200
1 1 2 global 0.0 0.0 1.000 5200.0 5400.0
,→ 0.100 2387.3 0.800 0.0 0.200

946 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

1 1 3 global 0.0 0.0 1.000 5400.0 5600.0


,→ 0.100 2440.7 0.800 0.0 0.200
1 1 4 global 0.0 0.0 1.000 5600.0 5800.0
,→ 0.100 2494.2 0.800 0.0 0.200
1 1 5 global 0.0 0.0 1.000 5800.0 6000.0
,→ 0.100 2547.7 0.800 0.0 0.200
------ ------ ------ -------- ------------------------- --------- --------- --
,→------ -------- -------- -------- --------

Trajectory for track WPRD


X Y Z mD
------------- ------------- ------------- -------------
9500.000 9500.000 5000.000 5000.000
9500.000 9500.000 6000.000 6000.000
------------- ------------- ------------- -------------

Cell intersections for track WPRD


ix iy iz iLG x,y,z direction fractions md(lower) md(upper)
,→porosity pressure oil satn gas satn wat satn

------ ------ ------ -------- ------------------------- --------- --------- --


,→------ -------- -------- -------- --------

10 10 1 global 0.0 0.0 1.000 5000.0 5200.0


,→ 0.100 2334.0 0.800 0.0 0.200
10 10 2 global 0.0 0.0 1.000 5200.0 5400.0
,→ 0.100 2387.3 0.800 0.0 0.200
10 10 3 global 0.0 0.0 1.000 5400.0 5600.0
,→ 0.100 2440.7 0.800 0.0 0.200
10 10 4 global 0.0 0.0 1.000 5600.0 5800.0
,→ 0.100 2494.2 0.800 0.0 0.200
10 10 5 global 0.0 0.0 1.000 5800.0 6000.0
,→ 0.100 2547.7 0.800 0.0 0.200
------ ------ ------ -------- ------------------------- --------- --------- --
,→------ -------- -------- -------- --------

10.70. PRIN - Printing Options for Recurrent Section 947


Tempest MORE Help, Release 8.1

10.71 PRIO - Group Prioritisation Coefficients

Location

RECU Section

Description

The PRIO keyword is used to set prioritisation coefficients for use by the group prioritisation limits set by GPRI.
When a group prioritisation limit is operating as defined by GPRI, wells in the group will be closed in priority
order to meet the group target. The lowest priority wells will be closed first. The well priority is determined by
the coefficients set by PRIO.
PRIO consists of nine required arguments which should be entered in succession on the same line as the PRIO
keyword itself.

Definitions

1. Time interval for which well priorities are calculated


• Units: days
• Default: 92.25 days (well priorities will be calculated every 92.25 days)
2. Coefficient C1
3. Coefficient C2
4. Coefficient C3
5. Coefficient C4
6. Coefficient C5
7. Coefficient C6
8. Coefficient C7
9. Coefficient C8

Notes

• The priority of a well is determined by:

P = (C1 + C2*qo + C3*qg + C4*qw)/(C5 + C6*qo + C7*qg + C8*qw)

where qo, qg, and qw are the well oil, gas, and water rates, respectively

• At least one of the coefficients from C1 to C4 and one of the coefficients from C5 to C8 must have a non-zero
value.
• The order of the coefficients follows the MORE standard of oil, gas, water - this may differ from other
simulators. For example, ECLIPSE uses oil, water, gas.
• To set individual well priorities, WPRI can be used. The well priority set for a well using WPRI will
over-ride the default calculation defined using PRIO. Please see the WPRI keyword for more information.
• A recommended alternative to this keyword is PRIO event.

948 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

Example on the usage of the PRIO event can be accessed here.

10.71. PRIO - Group Prioritisation Coefficients 949


Tempest MORE Help, Release 8.1

10.72 PUMP - Downhole Pump Performance Table

Location

RECU Section (before wells which use this pump performance table)

Description

The PUMP keyword is used to define a downhole pump performance table. PUMP must be defined before the
wells which use this pump performance table are defined.
Arguments for PUMP consists of two records. The first record consists of one required argument which should be
entered on the same line as the PUMP keyword itself when used. The second record consists of a table with two
columns that hold the pump intake rate and its corresponding head. Following the final row of PUMP data in the
table, a solitary slash (/) on a separate line is required to terminate the data entry for this keyword.

Definitions

RECORD 1:
1. Name of the pump performance table
RECORD 2:
1. Overall pump intake rate at reservoir conditions
• Units: rb/day (Field), rm3 /day (Metric)
2. Developed head
• Units: feet (Field), meters (Metric)

Notes

• Record 2 of the pump arguments consist of flow rates as a reservoir volume (not a surface volume rate) and
the pressure difference developed as a head of water (not a pressure difference in psi or bars)

Examples

1. PUMP is used to define a pump performance table named PMP1 for different reservoir volume fluid intake
rates.

PUMP PMP1
100 1450
5000 1250
10000 440
20000 0
/

The LIFT subkeyword of WELL is then used to associated PUMP with a well. For example:

LIFT PMP1

The effect of the pump is to increase the effective bottom hole pressure seen by the lift table, and thus,
increase the resulting top hole pressure.

950 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.73 PTAB - Enter a Pipe pressure TABle

Location

RECUrrent Section
PIPE tables are similar to TUBI tables, and allow the user to specify the pressure drop across a pipe as a function
of the fluid flow through the pipe and, optionally, the exit pressure. No reference depth is required.
In a pipe table the OUTP sub-keyword (the pipe outflow pressure) takes the place of the THP values on a TUBI
table, and the DELP subkeyword (pressure drop across the pipe) takes the place of the BHP values in a TUBI
table.

Example

PTAB PTAB1 LONG


FLOW oil
1000 5000 10000 20000 /
OUTP
500 1000 /
RATI gor
1.2 3.0 5.0 10. /
RATI WOR
0.0 0.5 /
DELP GOR 1.2 WOR 0.0
1.260 1.000 1.750 1.840
2.000 2.480 2.480 2.640
DELP GOR 3.0 WOR 0.0
1.080 1.160 1.380 2.020
1.820 1.800 1.920 2.420
DELP GOR 5.0 WOR 0.0
1.000 1.100 1.400 2.000
1.740 1.790 2.200 2.420
DELP GOR 10.0 WOR 0.0
0.800 1.000 1.600 1.950
1.540 1.780 2.400 2.410
DELP GOR 1.2 WOR 0.5
1.250 0.995 1.745 1.835
1.990 2.470 2.470 2.630
DELP GOR 3.0 WOR 0.5
1.075 1.155 1.375 2.015
1.810 1.790 1.910 2.410
DELP GOR 5.0 WOR 0.5
0.995 1.095 1.395 1.995
1.730 1.780 2.190 2.410
DELP GOR 10.0 WOR 0.5
0.795 0.995 1.595 1.945
1.530 1.770 2.390 2.400
/

10.73. PTAB - Enter a Pipe pressure TABle 951


Tempest MORE Help, Release 8.1

10.74 RATE - Rate Output Control

Location

RECU Section

Description

The RATE keyword is used to control the rate output. The RATE keyword must be present and accompanied by
the FREQ keyword in a simulation run for 2D data output to occur.
Arguments for RATE consist of three optional arguments and many summary package output options, as will be
further described in the Definitions section below. The first three arguments should appear on the same line as the
RATE keyword in succession if they are used and these can be followed by any number of the summary package
options in any order. All of the arguments and options chosen should be entered on the same line as the RATE
keyword itself when used.

Definitions

1. Incremental time between rate reports (optional)


• Default: 10 days
2. Units of incremental time: DAYS, MONT, or YEAR (optional)
• DAYS (default) - time is in days
• MONT - time is in months
• YEAR - time is in years
3. EXACT (optional) - select time steps so that the precise rate times are observed
4. Summary package options (optional) - any number of these can be used and they can be entered in any order
• STAT - request ‘Statistics’ package of reporting quantities for the field
• STAG - request ‘Statistics’ package of reporting quantities for the groups
• FIELD - request ‘Field’ package of reporting quantities
• GROU - request ‘Group’ package of reporting quantities
• WELL - request ‘Well’ package of reporting quantities
• BRAN - request ‘Branch’ package of reporting quantities
• SLIM - request ‘Slim tube’ package of reporting quantities
• GROS - request ‘Gross’ package of reporting quantities
• OIL - request ‘Oil’ package of oil injection rates
• ITER - request ‘Iteration’ package of simulation iteration counts
• RRF - request ‘RRF’ package of region-to-region flows. These appear on the Summary tab in Tempest
View.
• NETW - request ‘Network’ package of network data for pipe and pumps
• RECY - request ‘Recycle’ package of reporting quantities
• MATB - request material balance information
• CRAT - request reporting of well rates and totals by completion
• LRAT - request reporting of well rates and totals by layer

952 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• POT - request reporting of potentials in field, group and well packages


• PFLO - request reporting of phase flows (free oil, solution (vapourised) oil, solution gas and free gas
flows). Phase potentials in field, group and well packages are only reported if POT package is also
used.
• COMP - compress completion output
• MONI - request reporting of additional convergence information for wells and fluid behaviour
• VOID - request additional reporting of phase voidage rates
• MOBI - request output of additional mobile fluid volumes
• END - output at END of simulation (in addition to other times)

Notes

• If EXACT is not used, MORE will report at the end of the first simulation step after a rate time.
• CRAT and LRAT may result in big rate files for runs with a very large number of wells.
• The summary period is the time between summary file writes (set with FREQ).
• The FIELD package will report mobile oil, gas, and water-in-place for black oil runs. In calculating mobile
fluid-in-place, a saturation of Sp-Spcr is used, where Spcr is the critical saturation for phase p. In the three-
phase case, the oil mobile saturation is obtained using the minimum of the critical saturation with respect
to gas and with respect to water. For more details, see the Technical Reference. The MOBI package may be
used to request that the mobile oil saturation is reported individually with respect to both water and gas.
• The COMP package groups output from completions at the same measured depth. This can be useful when
using WFRA to model well fractures, which can result in a lot of well completions. Then COMP will report
just the number of original completions, summing the flows from the additional fracture completions into
the original completions. COMP is purely an output operation - the simulator calculations are not effected
at all.
• By default, the RECY package is switched on for equation of state runs.
• The contents of the various summary packages are as follows:
• Default
– Wells

* WBHP, WTHP, WPDD - Well bottom hole, top hole pressure and drawdown pressure
* WBPR - Reservoir pressure at the external well radius
* WCTLMODE - Well control mode
* WDEN - Wellbore fluid density
* WSTA - Well producer/injector status
* WSHUTR - Shut reason code
* WGIR, WGIT - Well gas injection rate and total
* WWIR, WWIT - Well water injection rate and total
* WOPR, WOPT - Well oil production rate and total
* WGPR, WGPT - Well gas production rate and total
* WWPR, WWPT - Well water production rate and total
– Groups

* FIPO, FIPG, FIPW - Field oil in place, gas in place and water in place
* PAVH - Hydrocarbon average pressure

10.74. RATE - Rate Output Control 953


Tempest MORE Help, Release 8.1

* GGIR, GGIT - Group gas injection rate and total


* GWIR, GWIT - Group water injection rate and total
* GOPR, GOPT - Group oil production rate and total
* GGPR, GGPT - Group gas production rate and total
* GWPR, GWPT - Group water production rate and total
* GLPR, GLPT - Group liquid production rate and total
– Layers

* LWCT, LGOR, LGWR - Layer water cut, gas-oil and gas-water ratio
* LGIR, LGIT - Layer gas injection rate and total
* LWIR, LWIT - Layer water injection rate and total
* LVIR, LVIT - Layer reservoir volume injection rate and total
* LVPR, LVPT - Layer reservoir volume production rate and total
* LOPR, LOPT - Layer oil production rate and total
* LGPR, LGPT - Layer gas production rate and total
* LWPR, LWPT - Layer water production rate and total
* LLPR, LLPT - Layer liquid production rate and total
• The WELL Package
– WVPR, WVPT - Well reservoir voidage production rate and total
– WVIR, WVIT - Well reservoir voidage injection rate and total
– WGLIR, WGLIT - Gas lift injection rate and total
– WUT, WUTF - Well uptime and uptime fraction
– WBP - Reservoir pressure in the completion cells
– WTEMP - Well temperature for thermal and steam injection cases
– WBP1, WBP4, WBP5, WBP9 - Reservoir pressure 1, 4, 5, and 9-point average (completion cells and
their neighbours)
– WPI1, WPI4, WPI5, WPI9 - Well voidage productivity index based on pressure in completion cells,
or 4-, 5-, and 9-point averages around completion cells
– WTCNTTTT - Well tracer TTTT concentration1
– WTORTTTT,WTOTTTTT - Well tracer TTTT oil production rate and total1
– WTGRTTTT,WTGTTTTT - Well tracer TTTT gas production rate and total1
– WTWRTTTT,WTWTTTTT - Well tracer TTTT water production rate and total1
– WTMRTTTT,WTMTTTTT - Well tracer TTTT molar production rate and total1
– WSCNSSSS - Well tracer set SSSS concentration1
– WSORSSSS,WSOTSSSS - Well tracer set SSSS oil production rate and total1
– WSGRSSSS,WSGTSSSS - Well tracer set SSSS gas production rate and total1
If potentials are requested, also:
– WOPP - Well oil potential production rate
– WGPP - Well gas potential production rate
– WWPP - Well water potential production rate
1 The strings TTTT and SSSS would actually contain the tracer or tracer set name.

954 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

– WLPP - Well liquid potential production rate


– WVPP - Well reservoir voidage potential production rate
– WOPI - Well oil potential injection rate
– WGPI - Well gas potential injection rate
– WWPI - Well water potential injection rate
– WVPI - Well reservoir voidage injection rate
For API tracking runs:
– WAPI - API gravity of oil in wellbore (only for producers)
For BRINE tracking runs:
– WSALTPR - Well salt production rate
– WSALTPT - Well salt production total
– WSALTIR - Well salt injection rate
– WSALTIT - Well salt injection total
– WBSALTC - Salt concentration in the wellbore
For multiple equations of state using EOSN:
– WEOSIND - Index of surface equation of state used to flash the well
– WSEPAIND - Index of separator used to flash the well
• The GROU Package
– GVPR, GVPT - Group reservoir voidage production rate and total
– GVIR, GVIT - Group reservoir voidage injection rate and total
– GAUT, GAUTF - Group average uptime and uptime fraction
– GAUTP, GAUTI - Group average uptime for producers and injectors
– GTCNTTTT- Group tracer TTTT concentration1
– GTORTTTT,GTOTTTTT-Group tracer TTTT oil production rate and total1
– GTGRTTTT,GTGTTTTT - Group tracer TTTT gas production rate and total1
– GTWRTTTT,GTWTTTTT - Group tracer TTTT water production rate and total1
– GTMRTTTT,GTMTTTTT- Group tracer TTTT molar production rate and total1
– GTOIPTTTT - Group tracer TTTT oil in place1
– GTGIPTTTT - Group tracer TTTT gas in place1
– GTWIPTTTT - Group tracer TTTT water in place1
– GTMIPTTTT - Group tracer TTTT molar in place1
– GSCNSSSS - Group tracer set SSSS concentration1
– GSORSSSS,GSOTSSSS - Group tracer set SSSS oil production total1
– GSGRSSSS,GSGTSSSS - Group tracer set SSSS gas production total1
– GSOIPSSSS - Group tracer set SSSS oil in place1
– GSGIPSSSS - Group tracer set SSSS gas in place1
If potentials are requested, also:
– GOPP - Group oil potential production rate
– GGPP - Group gas potential production rate

10.74. RATE - Rate Output Control 955


Tempest MORE Help, Release 8.1

– GWPP - Group water potential production rate


– GLPP - Group liquid potential production rate
– GVPP - Group reservoir voidage potential production rate
– GOPI - Group oil potential injection rate
– GGPI - Group gas potential injection rate
– GWPI - Group water potential injection rate
– GVPI - Group reservoir voidage injection rate
If the group is a fluid in place region, also:
– GPRP - Pore volume weighted pressure average
– GPRPD - Datum-corrected pore volume weighted pressure average
– GPRHD - datum-corrected hydrocarbon volume pressure average
– GRRV - Pore volume at reference conditions
– GRPV - Pore volume at reservoir conditions
– GHPV - Hydrocarbon pore volume at reservoir conditions
– GAGIP - Adsorbed gas in place
– GFGIP - Free gas in place
For BRINE tracking runs:
– GSALTPR - Group salt production rate (for well groups)
– GSALTPT - Group salt production total (for well groups)
– GSALTIR - Group salt injection rate (for well groups)
– GSALTIT - Group salt injection total (for well groups)
– GSALTIP - Group salt in place (for fluid in place groups)
For multiple equations of state using EOSN:
– GSEPAIND - Index of separator used to flash the wells in the group
• The FIELD Package
– Summaries requested with the GROU package are reported but with field rates and totals (i.e. FOPR
etc...) instead of group rates and totals (i.e. GOPR etc...)
– Additionally, the following field summaries are requested:

* FIPOM - Field mobile oil in place


* FIPGM - Field mobile gas in place
* FIPWM - Field mobile water in place
For BRINE tracking runs:
– FSALTPR - Field salt production rate
– FSALTPT - Field salt production total
– FSALTIR - Field salt injection rate
– FSALTIT - Field salt injection total
– FSALTIP - Field salt in place
• The STAT Package
– FNWT - Number of wells in total

956 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

– FNWO - Number of wells which are open


– FNWS - Number of wells which are shut
– FNOP - Number of open producers
– FNOI - Number of open injectors
– FNSP - Number of shut producers
– FNSI - Number of shut injectors
– FNOSP - Number of open or shut producers
– FNSOI - Number of open or shut injectors
– FNEWW - Number of brand new wells opened this summary period
– FNEWP - Number of brand new producers opened this period
– FNEWI - Number of brand new injectors opened this period
– FSHUTW - Number of wells shut this period
– FSHUTP - Number of producers shut this period
– FSHUTI - Number of injectors shut this period
– FREOPW - Number of wells re-opened this period
– FREOPP - Number of producers re-opened this period (includes shut producers and shut injectors
opened as producers)
– FREOPI - Number of injectors re-opened this period (includes shut producers and shut injectors
opened as injectors)
– FSP2I - Number of shut producers converted to injectors this period
– FOP2I - Number of open producers converted to injectors this period
– FSI2P - Number of shut injectors converted to producers this period
– FOI2P - Number of open injectors converted to producers this period
– FPPUMP - Number of wells with associated pumps
– FPLIFT - Number of wells with gas lift
• The STAG Package
– As for field, but with group rates and totals (i.e. GNWT etc...) instead of field rates and totals (i.e.
FNWT etc...)
• The BRAN Package
– BPRE - Branch pressure at external radius
– BPR4, BPR5, BPR9 - Branch pressure at external radius (4-, 5-, and 9-point averages)
• The SLIM Package
– FOEW - Oil recovery fraction
– FPVI - Pore volumes injected
• The GROS Package
– WGOPR - Well gross oil production rate
– WGGPR - Well gross gas production rate
– WGWPR - Well gross water production rate
– WGLPR - Well gross liquid production rate
– WGVPR - Well gross voidage production rate

10.74. RATE - Rate Output Control 957


Tempest MORE Help, Release 8.1

– WGGIR - Well gross gas injection rate


– WGWIR - Well gross water gas injection rate
– WGVIR - Well gross voidage injection rate
– WGOPRH - Well historical gross oil production rate
– WGGPRH - Well historical gross gas production rate
– WGWPRH - Well historical gross water production rate
– WGLPRH - Well historical gross liquid production rate
– WGGIRH - Well historical gross gas injection rate
– WGWIRH - Well historical gross water injection rate
• The OIL Package
– FOIR - Field oil injection rates
– FOIT - Field oil injection totals
– GOIR - Group oil injection rates
– GOIT - Group oil injection totals
– WOIR - Well oil injection rates
– WOIT - Well oil injection totals
– WGOIR - Well gross oil injection rates (if GROSS package is also selected)
• The ITER Package
– NEWTON - Number of Newton iterations/step
– NLINEARS - Average number of linear iterations/step
– MSUMNEWT - Total number of Newton iterations
– MSUMLINS - Total number of linear iterations
– NSTEPS - Total number of time steps
– NCHOPS - Total number of time step chops
– TCPU - CPU time in seconds (averaged over processors if a parallel run)
– ELAPSED - Elapsed time in seconds
• The MATB Package
– MATBO - Oil material balance
– MATBG - Gas material balance
– MATBW - Water material balance
– MATBS - Solvent material balance
– MATBH - Heat material balance
– MATBP - Polymer material balance
– MATBXX - Component XX material balance
• The RRF Package
– ROFR - Region-to-region oil flow rate
– ROFT - Region-to-region oil flow total
– RGFR - Region-to-region gas flow rate
– RGFT - Region-to-region gas flow total

958 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

– RWFR - Region-to-region water flow rate


– RWFT - Region-to-region water flow total
– REFR - Region-to-region energy flow rate
– REFT - Region-to-region energy flow total
– RRFRXX - Region-to-region flow of component XX
– RRFRXX - Region-to-region flow total of component XX
• The NETW Package
– WPIN - Well pipeline inflow pressure
– WPOU - Well pipeline outflow pressure
– WPDI - Well pipeline pressure loss
– WDPU - Well pipeline pump pressure gain
– GPIN - Group pipeline inflow pressure
– GPOU - Group pipeline outflow pressure
– GDPI - Group pipeline pressure loss
– GDPU - Group pipeline pump pressure gain
• The RECY Package
– FFUELR, FFUELT - Field gas fuel rate and total
– FMAKER, FMAKET - Field gas makeup rate and total
– FRECYR, FRECYT - Field gas recycle rate and total
– FREINR, FREINT - Field gas reinjection rate and total
– FSALER, FSALET - Field gas sales rate and total
– FSDOP - Field produced oil stock tank density
– FSDGP - Field produced gas stock tank density
– FSDGI - Field injected gas surface density
– GFUELR, GFUELT - Group gas fuel rate and total
– GMAKER, GMAKET - Group gas makeup rate and total
– GRECYR, GRECYT - Group gas recycle rate and total
– GREINR, GREINT - Group gas reinjection rate and total
– GSALER, GSALET - Group gas sales rate and total
– GSDOP - Group produced oil stock tank density
– GSDGP - Group produced gas stock tank density
– GSDGI - Group injected gas surface density
• The MONI Package
– WAVINNER, WAVOUTER - Average number of well inner and outer iterations
– WAVFAILINNER, WAVFAILOUTER - Average number of well inner and outer iteration failures
– WFAILINNER, WFAILOUTER - Total number of well inner and outer iteration failures
– WFAILSLIP - Total number of slip iteration failures for multi-segmented wells
– NRRFAILUTES - Number of Rachford-Rice flash failures
– FLASHFAILURES - Number of EoS flash failures

10.74. RATE - Rate Output Control 959


Tempest MORE Help, Release 8.1

– STEAMFAILURES - Number of steam flash failures


• The VOID Package
– WROVPR, WROVPT - Well oil voidage rate and total
– WRGVPR, WRGVPT - Well gas voidage rate and total
– WRWVPR, WRWVPT - Well water voidage rate and total
– GROVPR, GROVPT - Group oil voidage rate and total
– GRGVPR, GRGVPT - Group gas voidage rate and total
– GRWVPR, GRWVPT - Group water voidage rate and total
– FROVPR, FROVPT - Field oil voidage rate and total
– FRGVPR, FRGVPT - Field gas voidage rate and total
– FRWVPR, FRWVPT - Field water voidage rate and total
• The MOBI Package
– FMOIP - Field mobile volumes of oil in place will be output by default (for black oil models only)
– GMOIP - Group mobile volumes of oil in place will be output by default(for black oil models only)
– FMOIPW, FMOIPG - Field mobile volumes of oil in place with respect to water and gas (for black oil
models only)
– GMOIPW, GMOIPG - Group mobile volumes of oil in place with respect to water and gas (for black
oil models only)
• Derived quantities such as water cut and liquid rates are not output by MORE, but they are derived and
displayed by Tempest VIEW:
– Wells

* WWCT, WGOR, WGWR - Well water cut, gas-oil and gas-water ratio
* WLPR, WLPT - Well liquid production rate and total
– Groups

* GWCT, GGOR, GGWR - Group water cut, gas-oil ratio and gas-water ratio
* GBHP, GPBHP, GWIBHP - Group bottom hole pressure, group of producers bottom hole pressure
and group of water injection wells bottom hole pressure

* GTHP, GPTHP, GWITHP - Group tubing head pressure, group of producers tubing head pressure
and group of water injection wells tubing head pressure

* GGE, GOE - Group gas recovery and oil recovery


* GMWPR - Number of production wells currently flowing

Examples

1. RATE is used to specify an incremental time for rate output of one month.

RATE 1.0 MONT


FREQ 0 0 1

2. RATE is used to specify an incremental time for rate output of 10 days and request the WELL and CRAT
summary package data to be output.

RATE 10 DAYS WELL CRAT


FREQ 0 0 1

960 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. RATE is used to specify an incremental time for rate output of 30 days days and request the WELL, GROU,
FIELD and ITER package data to be output. The output is to the standard output as well as the .out and
.rat files.

RATE 30 DAYS WELL GROU FIELD ITER


FREQ 1 1 1

10.74. RATE - Rate Output Control 961


Tempest MORE Help, Release 8.1

10.75 READ (or TIME or DATE) - Time to Read Recurrent Data

Location

RECU Section

Description

The READ keyword is used to specify the time at which to read recurrent data. READ consists of one required
argument and two optional ones which should all be entered in succession on the same line as the READ keyword
itself when used.

Definitions

1. Simulate to this time


2. Units of time (optional): DAYS, MONT, YEAR, or DATE
• DAYS - time given in days
• MONT - time given in months
• YEAR - time given in years
• DATE (default) - time given by date
3. HOUR and hour value (optional):
• An additional number of hours can be entered using the optional HOUR argument
• Please note that the required value comes after the HOUR argument is entered.

Notes

• TIME and DATE may be used as aliases for READ.


• The date format is the same as that used by IDAT, DD MMM YYYY. If two digits are supplied for the year,
a 20th century date is assumed (i.e. 87 is regarded as 1987).

Examples

1. READ is used to simulate data to 01 JAN 1998.

READ 1 JAN 1998

This is also equivalent to:

TIME 1 JAN 1998

or

DATE 1 JAN 1998

2. READ is used to simulate data to 3.5 years.

READ 3.5 YEAR

3. READ is used to simulate data to 1 day and 12 hours.

962 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

READ 1 DAY HOURS 12

10.75. READ (or TIME or DATE) - Time to Read Recurrent Data 963
Tempest MORE Help, Release 8.1

10.76 RECU - Recurrent Section Header Line

Location

RECU Section

Description

The RECU keyword is used as a section header line to indicate the beginning of the Recurrent section. The
Recurrent section must begin with the RECU keyword before any other RECU section keywords can be used.
RECU does not require any arguments.
The Recurrent section defines data that can be changed during the simulation. Recurrent data consists of the
specification of the production system, requests for output, and requests for simulation to specified times.
For more details on the Recurrent section, please see the Recurrent Data Section Overview .

Definitions

n/a

Notes

n/a

Example

1. RECU is used to indicate the beginning of the Recurrent section.

RECU

964 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.77 RELK - Relative Permeability Output

Location

RECU Section (after the ARRA or ESOL keywords)

Description

The RELK keyword is used to request that relative permeability data be output by MORE, either to the .out file or
to ECLIPSE solution files.

Syntax

MOBI may be followed by all or any of four possible arguments:


1. OIL - requests output of oil relative permeabilities
2. GAS - requests output of gas relative permeabilities
3. WAT - requests output of water relative permeabilities
4. SOLV - requests output of solvent relative permeabilities

Notes

• To output 3D arrays for visualisation through Tempest VIEW, use STOR rather than MOBI.
• Printed output of cell values to the .out file is not normally useful except for small cases

Example

RELK OIL WATer

10.77. RELK - Relative Permeability Output 965


Tempest MORE Help, Release 8.1

10.78 RPM - Regional Pressure Maintenance

Location

RECU Section

Description

The RPM keyword is used to set up regional pressure maintenance. RPM links a group to a fluid in place region
and selects a group control to be used to attempt to maintain that pressure.

Definitions

1. Target pressure for the region


2. Group containing the production wells to be controlled
3. Name of the fluid in place region which defines the pressure
4. Fipnum index value
5. Control mode: one of
• OP - oil production
• GP - gas production
• WP - water production
• LP - liquid production
• VP - voidage production
• VR - voidage replacement
• OI - oil injection
• GI - gas injection
• WI - water injection
• VI - voidage injection
• GVI - gas voidage injection
• WVI - water voidage injection
• PB - production balancing
6. Coefficient C1 for the correction based on the fractional pressure error
• Default: 0.5
7. Coefficient C2 for the correction based on the fractional pressure error time derivative
• Default: 250.0
8. Swing low non-dimensional rate: this is rate (in units compatible with the set target) imposed on an injector
if the pressure is high or a producer if it is too low
• Default: 0.0
9. Swing high non-dimensional rate: this is the rate (in units compatible with the set target) imposed on an
injector if the pressure is low or a producer if it is too high (effectively, the maximum the group wells can
achieve)
• Default: 10000.0

966 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Notes

• One of arguments 3 or 4 must be set. If not, the pressure control group will default to ALL
• The control strategy applied to the group’s flow target is as follows:
– If the target is too low or too high by more than 5%, the swing high or swing low rates will be used to
get back into the +/- 5% band as quickly as possible.
– Once within this range, the control theory method uses a proportional + differential controller, i.e. the
flow target is multiplied by the factor

∂e
F = 1 − C1 e − C2
∂t
where the coefficients C1 and C2 are defined by arguments 6 and 7, e is the target pressure relative
error, and a first-order approximation is used for the error derivative with respect to time ∂e/∂t.
• When the VR or PB options are used, the voidage replacement or production balancing factor is used as the
target, rather than a production/injection rate. Hence it is recommended to change the swing high and low
rates to reflect this.

Examples

1. RPM is used to reach and maintain a reservoir pressure of 300 bars by controlling the group water injection
rate. See RPM_WI.dat for complete example:

RPM 300 ALL ALL 1* WI

In this example, the initial reservoir pressure is 329 bars, hence initially the group water injection rate is
kept at zero (the swing low rate). As the pressure decreases, the injection rate gradually increases to control
the pressure, until the required target is attained. The resulting pressure and injection rates in the reservoir
can be observed in the plot displayed in the following figure:

10.78. RPM - Regional Pressure Maintenance 967


Tempest MORE Help, Release 8.1

10.79 RRTA - Radius and Roughness Table for a Well (Used by Seg-
mented Well Model)

Location

RECU Section

Description

The RRTA keyword is used to set the diameter and roughness for a well track. These values are used by the
multi-segment well model. Arguments for the RRTA keyword consists of two records. The first record consists
of one required argument which should be entered on the same line as the RRTA keyword itself when used. The
second record consists of a table with three columns which starts on a separate line below the RRTA keyword.
Following the final row of RRTA data in the table, a solitary slash (/) on a separate line is required to terminate the
data entry for this keyword.

Definitions

RECORD 1:
1. Table name
RECORD 2:
1. Measured depth
• Units: feet (Field), metres (Metric)
2. Radius
• Units: feet (Field), metres (Metric)
3. Roughness
• Units: feet (Field), metres (Metric)

Notes

• The RRTA table is looked up as a histogram - i.e. the values are not interpolated (as pipe diameters and
material properties do not generally change smoothly). So in the table below, for example, the pipe radius
will be 0.3 from 2000 ft to 3000ft and then change to 0.24 ft from 3000 ft to 4000 ft.
• Well Track Table and Well Event Table must first be defined using TTAB/ENDT and ETAB/ENDE respec-
tively before WSEG keyword can be used.
• It is recommended that the input data for radius and roughness is entered such that the relative roughness
(=Roughness/Radius) is less than 1. Otherwise, the input becomes unphysical and MORE’s well solver may
fail resulting in well iteration failures.

Examples

1. RRTA is used to define a radius and roughness table named RTAB1.


RRTA RTAB1
-- Measured Depth Radius Roughness
0 0.10 0.00050
1000 0.12 0.00051
2000 0.30 0.00052
3000 0.24 0.00053

968 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

4000 0.32 0.00054


/

2. In this example, BRAN is used with the WSEG (multi-segmented well) option.

--* Specify well trajectory in true xyz space


TTAB
--*x y z md
P-1
1500 4500 5000 5000
1500 4500 6000 6000

P-1:1
1500 4500 5500 0
6000 4500 5500 4500
ENDT

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5600 5800 0.5 0 10
01/Jan/2000 PERF 3500 4500 0.5 0 10 BRANCH 1
01/Jan/2000 OPT 5000
01/Jan/2000 BHPT 1500
ENDE

We introduce the BRAN, WSEG, and RRTA keywords to define the branch structure, multi-segmented well
option and a roughness and radius table respectively. See BRAN_WSEG.dat for complete example:

RRTA RTAB1
--MD Rad Roughness
5000 0.10 0.01
5500 0.50 0.05
/

RRTA RTAB2
--MD Rad Roughness
0 0.60 0.55
1000 0.70 0.56
2000 0.80 0.57
3000 0.90 0.58
4000 0.99 0.59
/

WSEG P-1 500 5000 0.45 RTAB1


BRAN P-1:1 P-1 5500 RTAB2

The resulting completed branches will appear on the 3D Viewer as follows.

10.79. RRTA - Radius and Roughness Table for a Well (Used by Segmented Well Model) 969
Tempest MORE Help, Release 8.1

If the argument SEGM under the GENE keyword in the RECU section is entered, the segment properties
can be viewed in the PRINT file and a plot using Tempest VIEW, as shown below:

970 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.79. RRTA - Radius and Roughness Table for a Well (Used by Segmented Well Model) 971
Tempest MORE Help, Release 8.1

10.80 RSDT - Maximum Rate of Change of Solution Gas-Oil Ratio

Location

RECU Section

Description

The RSDT keyword may be used to control the rate at which gas solution in undersaturated oil occurs.

Definitions

RSDT has a single argument:


• Maximum rate of change of solution gas-oil ratio
– Units: mscf/stb/day (Field), ksm3/sm3/day (Metric)

Notes

• The default rate is infinite - i.e. no restriction is placed on the rate at which the solution gas-oil ratio may
change.
• A recommended alternative to this keyword is DRSDT event.

Example

1. Set a maximum solution gas-oil change rate of 5.6 mscf/stb/day

--Set a maximum solution gas-oil change rate of 5.6 mscf/stb/day


RSDT 5.6

972 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.81 RVDT - Maximum Rate of Change of Vapour Oil-Gas Ratio

Location

RECU Section

Description

The RVDT keyword may be used to control the rate at which oil vapourisation into undersaturated gas occurs.

Definitions

RVDT has a single argument:


1. Maximum rate of change of vapour oil-gas ratio
• Units: stb/mscf/day (Field), sm3/ksm3/day (Metric)

Notes

• The default rate is infinite - i.e. no restriction is placed on the rate at which the vapour oil-gas ratio may
change.
• A recommended alternative to this keyword is DRVDT event.

Example

RVDT 0.0002

10.81. RVDT - Maximum Rate of Change of Vapour Oil-Gas Ratio 973


Tempest MORE Help, Release 8.1

10.82 SATU, DENS, VISC, RELK, MOBI - Phase Properties

Location

RECU Section (after the ARRA keyword)

Description

The SATU, DENS, VISC, RELK, and MOBI keywords are used to request the output of phase saturations, densi-
ties, viscosities, relative permeabilities, and mobilities, respectively, when used with the ARRA or ESOL keywords.
However, a more common approach to requesting these properties when using ARRA would be to use the GENE
and STOR keywords to control output to the .out and .ara files, respectively.
Each keyword can have up to three arguments which should be entered on the same line as the SATU, DENS,
VISC, RELK, or MOBI keywords themselves when used.

Definitions

1. Phase: OIL, GAS, and/or WATR


• OIL - oil phase output
• GAS - gas phase output
• WATR - water phase output

Notes

• If the four-phase Todd-Longstaff solvent option is being used, DENS, VISC, and RELK may also take SOLV
in addition to OIL, GAS, and WATR. Please see the Solvent section of the MORE Technical Reference for
more information about this option.
• As the examples given below in the Examples section all demonstrate the use of SATU, DENS, VISC,
RELK, and MOBI with the ARRA keyword only, it should be noted these keywords are used in the same
fashion with the ESOL keyword for those users wishing to apply these keyword to ESOL.

Examples

1. SATU is used with ARRA to request that oil and gas saturations are output to the MORE .out file every
year. See SATU.dat for complete example:

ARRA YEAR EQUA


1.0 /

SATU OIL GAS

A search for “MAP” in the .out file, which can be viewed under the Print tab of the results in Tempest
View, will reveal the phase saturations requested above using SATU. For a 5x5x2 grid, the results will
appear as follows:

MAP=======================================================================================
Map of soil at 2 Jan 2000, 1.0 days
==========================================================================================

Layer iz= 1
ix= : 1 2 3 4 5
Row iy= 1: 0.800 0.800 0.800 0.800 0.800

974 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Row iy= 2: 0.800 0.800 0.800 0.800 0.800


Row iy= 3: 0.800 0.800 0.800 0.800 0.800
Row iy= 4: 0.800 0.800 0.800 0.800 0.800
Row iy= 5: 0.800 0.800 0.800 0.800 0.800

Layer iz= 2
ix= : 1 2 3 4 5
Row iy= 1: 0.800 0.800 0.800 0.800 0.800
Row iy= 2: 0.800 0.800 0.800 0.800 0.800
Row iy= 3: 0.800 0.800 0.800 0.800 0.800
Row iy= 4: 0.800 0.800 0.800 0.800 0.800
Row iy= 5: 0.800 0.800 0.800 0.800 0.800

==========================================================================================

MAP=======================================================================================
Map of sgas at 2 Jan 2000, 1.0 days
==========================================================================================

Layer iz= 1
All values are 0.0
Layer iz= 2
All values are 0.0
==========================================================================================

In the same example, DENS and RELK are used with ARRA to request that the oil density, and the oil, gas,
and water relative permeabilities are output to the MORE .out file every year.

ARRA YEAR EQUA


1.0 /

DENS OIL
RELK OIL GAS WATR

A search for “MAP” in the .out file, which can be viewed under the Print tab of the results in Tempest
View, will reveal a map of the oil density and the oil, gas, and water relative permeabilities, as requested
above using DENS and RELK. For a 5x5x2 grid, the results will appear as follows:

MAP=======================================================================================
Map of deno at 2 Jan 2000, 1.0 days
==========================================================================================

Layer iz= 1
ix= : 1 2 3 4 5
Row iy= 1: 38.388 38.387 38.387 38.387 38.387
Row iy= 2: 38.387 38.387 38.387 38.387 38.387
Row iy= 3: 38.387 38.387 38.387 38.387 38.387
Row iy= 4: 38.387 38.387 38.387 38.387 38.387
Row iy= 5: 38.387 38.387 38.387 38.387 38.385

Layer iz= 2
ix= : 1 2 3 4 5
Row iy= 1: 38.529 38.529 38.528 38.528 38.528
Row iy= 2: 38.529 38.528 38.528 38.528 38.528
Row iy= 3: 38.528 38.528 38.528 38.528 38.528
Row iy= 4: 38.528 38.528 38.528 38.528 38.528
Row iy= 5: 38.528 38.528 38.528 38.528 38.527

==========================================================================================

MAP=======================================================================================

10.82. SATU, DENS, VISC, RELK, MOBI - Phase Properties 975


Tempest MORE Help, Release 8.1

Map of kro at 2 Jan 2000, 1.0 days


==========================================================================================

Layer iz= 1
ix= : 1 2 3 4 5
Row iy= 1: 1.000 1.000 1.000 1.000 1.000
Row iy= 2: 1.000 1.000 1.000 1.000 1.000
Row iy= 3: 1.000 1.000 1.000 1.000 1.000
Row iy= 4: 1.000 1.000 1.000 1.000 1.000
Row iy= 5: 1.000 1.000 1.000 1.000 1.000

Layer iz= 2
ix= : 1 2 3 4 5
Row iy= 1: 1.000 1.000 1.000 1.000 1.000
Row iy= 2: 1.000 1.000 1.000 1.000 1.000
Row iy= 3: 1.000 1.000 1.000 1.000 1.000
Row iy= 4: 1.000 1.000 1.000 1.000 1.000
Row iy= 5: 1.000 1.000 1.000 1.000 1.000

==========================================================================================

MAP=======================================================================================
Map of krg at 2 Jan 2000, 1.0 days
==========================================================================================

Layer iz= 1
All values are 0.0
Layer iz= 2
All values are 0.0
==========================================================================================

MAP=======================================================================================
Map of krw at 2 Jan 2000, 1.0 days
==========================================================================================

Layer iz= 1
All values are 0.0
Layer iz= 2
All values are 0.0
==========================================================================================

976 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.83 SEPA - Define a Separator

Location

INIT or RECU Sections

Description

The SEPA keyword is used to define a separator. Arguments for SEPA consist of two records. The first record
consists of one required argument and two optional ones which should all be entered in succession on the same
line as the SEPA keyword itself when used. The second record consists of a list of values that depend on the flash
option chosen in the first record. The second record should start on a separate line below the SEPA keyword.

Definitions

RECORD 1:
1. Name of separator (or group to whch the separator applies)
2. Flash calculation option (optional): K-VA, EOS or SPLI
• K-VA - specified K-values to be used for flash calculations
• EOS - equation-of-state to be used for flash calculations
• SPLI (default) - use split factors rather than flash calculations
3. Separator oil density calculation option (optional): ZFAC or IDEA
• ZFAC - equation-of-state Z-factor used for separator oil density
• IDEA (default) - ideal mixing used for separator oil density
RECORD 2:
1. Table of separator values
• For K-Values (K-VA), the equilibrium K-values for each component are supplied. For multiple stages,
the K-values for each stage must be supplied in separate records.
• For EOS split (EOS), each record must contain the temperature and absolute pressure of the separator
stage. After the temperature and pressure values, it is possible to specify the destination of the output
of the stage and optionally the EoS equation of state number. Each record should then contain the
temperature and absolute pressure of the separator stage, followed by the destination of the liquid
output from this stage and the destination of the vapour output by this stage and optionally the equation
of state index.
– Pressure for the separator stage
Units: psia (Field), barsa (Metric)
– Temperature for the separator stage
Units: o F (Field), o C (Metric)
– Destination for liquid output from this stage may be one of:

* -1: add this fluid to the stock tank total


* 0: make this the feed for the next stage (default for liquid output from this stage)
* >0: add this fluid to the feed for this later stage with specified index
– Destination for vapour output from this stage may be one of:

* -1: add this fluid to the stock tank total (default for vapour output from this stage)

10.83. SEPA - Define a Separator 977


Tempest MORE Help, Release 8.1

* 0: make this the feed for the next stage


* >0: add this fluid to the feed for this later stage with specified index
– Index for the Surface Equation of State for the separator stage (optional)

* This should only be specified when using multiple Equations of State together with EOSN.
It is recommended to specify this item when using multiple Equations of State.
The index should lie between 1 and the number of surface equations of state specified using
TEMP SURF in the FLUI section.
If this item is not specified, then the flash will use the surface EoS set for the well according
to the relevant EOSN region or the WEOS keyword. For more details, see the Technical
Reference.
• For Split Factors (SPLI) - one record should be supplied containing the fraction of each component
in the gas stream. Defaults for SPLI are zero.

Notes

• The SEPA condition for ALL may be placed in the INIT section. This will then be used for fluid-in-place
calculations. If the field separator (specified with ALL) is not specified in the INIT section, then a default
separator (ALL) is set up for the initial fluid-in-place calculations, using a single stage flash to standard
conditions (60o F or 15o C and 14.69 psi or 1.01 barsa), with the EOS and ZFAC options.
• The equation of state index may be specified for EOS runs when using multiple equation of state regions. If
it is not specified, the equation of state data is chosen to be that with the nearest temperature to the separator
temperature, when using keyword TEMP. If TEMP is not specified and only one set of equation of state data
is entered, this will be used by the separator. Typically, the equation of state index is only required when
using multiple Equations of State, and the index for the EoS calculation cannot be obtained unambiguously
by matching the stage temperature with the temperatures defined by the TEMP keyword.
• By default, the name specified in item 1 is the name of the group to which the separator applies.
It is possible to identify separators using a name in item 1 (which may not be the name of an actual group),
and then to associate named separators with groups using the GSPC keyword or event. Wells may also be
associated with separators using the WSPC keyword or event, of required, but the default is for all wells to
use the separator conditions associated with their group.
• The separator index associated with a well or group may be reported using the mnemonics WSEPAIND and
GSEPAIND when using the WELL and GROUP packages of the RATE keyword. Each time a separator is
defined, it is assigned an index starting from one, and the field separator wil have an index of 1.
• The separator may be re-defined at any time just by re-specifying the keyword for a given separator name.
• The separator configuration will be reported to the .out file when GENE SEPA is entered.

Examples

1. SEPA is used to specify a separator that uses the equation of state model for flash calculations and oil
density.

SEPA ALL EOS ZFAC


80 815
80 65
60 14.7

2. SEPA is again used to specify a separator that uses the equation of state model for flash calculations and oil
density, when there are multiple EoS regions specified using EOSN. We suppose there are two EoS regions
and two groups: group G1 has wells in EoS region 1 and G2 has wells in EoS region 2. Suppose also that
there are also four surface equations of state specified using TEMP SURF, with surface indices 1 to 4.

978 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

SEPA SEP1 EOS ZFAC / Specify separator SEP1


110 815 2* 1
80 65 2* 3
60 14.7 2* 3

SEPA SEP2 EOS ZFAC / Specify separator SEP2


120 830 2* 2
80 75 2* 4
60 14.7 2* 4

GSPC G1 SEP1 / Assign separator SEP1 to group G1

GSPC G2 SEP2 / Assign separator SEP2 to group G2

10.83. SEPA - Define a Separator 979


Tempest MORE Help, Release 8.1

10.84 SEQU - Store a WAG sequence

Location

RECU Section

Description

Enter a WAG sequence to be used by the WAG event WWAG. This is a series of WAG fractions, as may be entered
using WWAG keyword.

SEQU sequenceName N
V1 V2.....VN

Definitions

sequenceName Name of this sequence


N Total number of items in this sequence (including gas and water fractions).

Note

• A warning will be issued if the first or the second fluid fractions do not sum to 1.
• An additional example for this keyword can be found here in the WWAG help.

Examples

1. Specifies a tapered WAG sequence in which 50% of the first injection fluid target is injected in the first
period, then 50% of the second injection fluid target in the second period, then 25% of the first injection
fluid target is injected in the third period.

SEQU WS4 6
0.5 0.5 0.25 0.25 0.25 0.25

980 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.85 SERV - IMPES Volume Balance Error Servo Criteria

Location

RECU Section

Description

This is a developer keyword which resets the criteria used to limit the growth of the volume balance error in
IMPES runs. The keyword and its defaults may be changed at any time.
This keyword should generally only be used by MORE developers. However it may be used in rare cases when
convergence fails due to volume balance errors, as explained in the Technical Reference.

Syntax

SERV cellCriterion fieldCriterion

Definitions

1. Single cell criterion


• Default: 0.05
2. Field absolute sum criterion
• Default: 0.001

Notes

• Specifying a zero value for either criterion will zero the volume error. This may cause repeated time step
chops. A recommended alternative for ensuring zero volume balance errors is to use the IMPQ ON option.
• Specifying a negative value will turn the appropriate limit off. Turning both limits off gives back-
compatibility with MORE 7.1 and prevents volume balance errors leading to time-step reductions termi-
nating the run. However, volume balance errors are no longer limited.
• More information on the IMPES formulation may be found in the Technical Reference.

Example

1. Reset volume error servo field wise absolute sum limit to 1.0E-4.

SERV 1* 1.0E-4

2. Remove volume error servo limits, giving back-compatibility with MORE 7.1.

SERV -1 -1

10.85. SERV - IMPES Volume Balance Error Servo Criteria 981


Tempest MORE Help, Release 8.1

10.86 SOLV - Injected Solvent Concentration

Location

RECU Section (after the WELL keyword)

Description

The SOLV keyword is used to specify the solvent concentration in the injected gas stream of a well when the
SOLV (solvent) option has been turned on in the FLUI (Fluid) section. If SOLV is not specified, injected gas is
pure reservoir gas. SOLV is a WELL sub-keyword and can only be used after the WELL keyword is specified.
SOLV consists of one required argument which should be entered on the same line as the SOLV keyword itself
when used.

Definitions

1. Solvent concentration
• Units: fraction

Notes

• The solvent concentration should be specified as a mole fraction, which is calculated as follows: (solvent
gas volume)/(total solvent + reservoir gas volume).
• A recommended alternative to this keyword is SOLV event.

Examples

1. SOLV is used to specify a solvent concentration of 50% for the injection well I-1. See SOLV.dat for complete
example:

WELL I-1 INJE GAS QLIM=50000 PMAX=500


SOLV 0.5

Solvent fractions, and injection and production rates and totals can then be plotted in 2D from the Wells tab
of the results, as follows:

Plotting the solvent fraction for the well I1, the following plot is obtained:

982 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Solvent phase saturation data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

10.86. SOLV - Injected Solvent Concentration 983


Tempest MORE Help, Release 8.1

10.87 STMO - Modify Saturation Table During Simulation

Location

RECU Section

Description

The STMO keyword is used to modify saturation table indices during a simulation. Arguments for STMO consists
two records.
• The first record consists of six required arguments and one optional one which should all be entered in
succession on the same line as the STMO keyword itself when used.
• The second record consists of a list of new saturation table indices which should be entered on a separate
line directly below the STMO keyword.
The new saturation table numbers should lie between 1 and NST, where NST is the number of saturation tables
entered into the simulation.
Saturation tables are integer values; if a fractional value is entered the nearest whole number is used.

Definitions

RECORD 1:
1. Lower i-location of box of cells to which the new saturation indices are applied.
• Default: 1
2. Upper i-location of box of cells to which the new saturation indices are applied.
• Default: Nx
3. Lower j-location of box of cells to which the new saturation indices are applied.
• Default: 1
4. Upper j-location of box of cells to which the new saturation indices are applied.
• Default: Ny
5. Lower k-index of box of cells to which the new saturation indices are applied.
• Default: 1
6. Upper k-location of box of cells to which the new saturation indices are applied.
• Default: Nz
7. SCALAR (optional) - used to indicate that one new saturation table index is entered and this applies to the
whole box
8. Name of local grid to apply saturation table indices (optional)
RECORD 2:
1. List of saturation tables indices
• The number of saturation table indices in this list must equal the number of cells included in the box
specified by the first six arguments in Record 1 above unless the SCALAR option is used, in which
case, only one index is required and it is applied to the entire box.

984 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Notes

• The index values given in Record 1 apply to global grid cells. Local cell STMO values are set to the
corresponding global cell values.
• An entirely analogous keyword, PTMO, allows the pressure table indices to be changed. This must be used
with caution, as pressure functions determine the fluid density and so the fluid in place. The only really
safe use for PTMO is to modify viscosity values only; that is, PTMOD should only rest cell pressure table
indices to tables with the same density values.
• If a local grid name is entered, the box of cells will apply to that local grid. Otherwise, local grids will
inherit values from the global grid.

Examples

In a 10x10x5 grid, STMO is used to change the saturation tables in the second layer of cells to saturation table 3
after 2 years of simulation.

READ 2 YEARS

STMOD 4* 2 2 SCALAR
3 /

10.87. STMO - Modify Saturation Table During Simulation 985


Tempest MORE Help, Release 8.1

10.88 SRV - Stimulated Reservoir Volume

Location

RECU Section

Syntax

SRV x y z da db dc theta permF tau [VARI] [CONS] [MATR] [FRAC]

Definitions

Argument number Argument Units Description


x Feet or metres x-location of SRV.
1.

y Feet or metres y-location of SRV.


2.

z Feet or metres z-location of SRV.


3.

da Feet or metres Length of SRV ellipsoid


4.

db Feet or metres Width of SRV ellipsoid


5.

dc Feet or metres Height of SRV ellipsoid


6.

theta Degrees Orientation of length di-


7.
rection of SRV with x-
direction
permF Permeability multiplica-
8.
tion factor (within SRV)
tau Days SRV time constant
9.

kl Lower layer index (de-


10.
fault is no limit)
ku Upper layer index (de-
11.
fault is no limit)

If VARI is specified the permeability modification varies from the centre of the SRV to the edge.
If CONS is specified the permeability modification is constant throughout the SRV.
If MATR is specified the permeability modification only applied to the matrix cells in a dual permeability run.
If FRAC is specified the permeability modification only applied to the fracture cells in a dual permeability run.

Notes

If the time constant is not entered the permeability multiplication factor is constant.

986 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Example

SRV 8000 1000 2550 300 1000 40 34 1.0E11 365

10.88. SRV - Stimulated Reservoir Volume 987


Tempest MORE Help, Release 8.1

10.89 SRVW - Stimulated Reservoir Volume along a Trajectory

Location

RECU Section

Description

The SRVW keyword is used to specify the location, size, orientation, permeability multiplication factor and time
constant of the ellipsoidal stimulated reservoir volume. SRVW consists of six required arguments and five optional
ones, all of which should be entered on the same line as the SRVW keyword itself when used.

Syntax

SRVW trajectory md da db dc theta FK tau kl ku [VARI] [CONS] [MATR] [FRAC]

Definitions

Argument number Argument Units Description


trajectory Name of trajectory upon
1.
which the SRV lies
z Feet or metres Measured depth location
2.
of the SRV
da Feet or metres Length of SRV ellipsoid
3.

db Feet or metres Width of SRV ellipsoid


4.

dc Feet or metres Height of SRV ellipsoid


5.

theta Degrees Orientation of length di-


6.
rection of SRV with x-
direction
FK Permeability multiplica-
7.
tion factor within SRV
tau Days SRV time constant
8.
(TSRV )
kl Lower layer index (de-
9.
fault is no limit)
ku Upper layer index (de-
10.
fault is no limit)
permM Permeability modifi-
11.
cation mode: VARI
(default)
If VARI is specified the permeability modification varies from the centre of the SRV to the edge.
If CONS is specified the permeability modification is constant throughout the SRV.
If MATR is specified the permeability modification only applied to the matrix cells in a dual permeability run.

988 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

If FRAC is specified the permeability modification only applied to the fracture cells in a dual permeability run.

Notes

• F K is a multiplication factor — the original permeability may be extremely small, but must be non-zero
for the SRV permeability enhancement to have an effect. If the base permeability is zero then the SRV
permeability will also be zero.
• If the time constant is not entered the permeability multiplication factor is constant. If the SRV time constant
is set, the permeability factor improvement will decay like
 
T
F K(T ) = F K(TSRV ) × exp 1 −
TSRV
See example.
• The SRV ellipsoid can be limited to certain layers using the lower and upper layer index. See example.
• Please note that example datasets referenced below are run on fine grid so can take a long time to finish.
• A recommended alternative to this keyword is SRVW event.

Examples

1. SRVW is used to add a SRV along a well trajectory at a measured depth of 5500 feet. The ellipsoidal volume
is given dimensions of da, db, dc and theta to be 200 feet, 1000 feet, 400 feet and 20 degrees respectively.
See SRVW_20.dat for complete example:
-- traj md da db dc theta FK tau kl ku mod
SRVW P-1 5500 200 1000 400 20 10000 1* 1* 1* CONS

10.89. SRVW - Stimulated Reservoir Volume along a Trajectory 989


Tempest MORE Help, Release 8.1

F K stays constant at 10000mD within the SRVI as permM has been set to CONS:

FK also stays constant with time as tau has been defaulted:

2. SRVW is used to set the F K improvement to decay like


 
(T − TSRV )
F K(T ) = F K(TSRV ) × exp −
TSRV

with a tau = 2 days. See SRVW_20_tau_2.dat for complete example:

990 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

-- traj md da db dc theta FK tau kl ku mod


SRVW P-1 5500 200 1000 400 20 10000 2 1* 1* CONS

3. SRVW is used to limit the SRV effect between layers 26 and 75. The images below show the side view for
Grid K index for SRVW with kl and ku defaulted (ORIGINAL) and kl = 26 and kl = 75 (MODIFIED). See
SRVW_20_kl_26_ku_75.dat for complete example:

-- traj md da db dc theta FK tau kl ku mod


SRVW P-1 5500 200 1000 400 20 10000 1* 26 75 CONS

4. SRVW is used to taper F K quadratically from the centre of the ellipsoid to the boundary by entering the

10.89. SRVW - Stimulated Reservoir Volume along a Trajectory 991


Tempest MORE Help, Release 8.1

last argument as VARI. The permeability multiplication factor will be F K(1 − w), where “w” is:
 pa 2  2  pc 2
pb
w= + +
da db dc

boundary of the ellipsoid is w=1 and the centre is w=0; permeability increase will fall to zero at the boundary
of the ellipsoid. See SRVW_20_VARI.dat for complete example:

-- traj md da db dc theta FK tau kl ku mod


SRVW P-1 5500 500 1000 200 0 10000 1* 1* 1* VARI

The figure below shows the Permeability Modification Factor within the SRV.

For illustration, F K(P ) is illustrated below:


 2  2  2
250 650 0
w= + + = 0.6725
500 1000 200
F K(P ) = F K × (1 − w) = 10000 × (1 − 0.6725) = 3275 mD

5. SRVW is used to apply F K, throughout the SRV, in the VARI mode to matrix cells only in a dual perme-
ability run. The images below show the side view for Grid K index for SRVW. See SRVW_20_MATR.dat
for complete example:

-- traj md da db dc theta FK tau kl ku mod


SRVW P-1 5500 200 1000 400 20 10000 1* 1* 1* MATR

992 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

6. SRVW is used to apply F K, throughout the SRV, in the VARI mode to matrix cells only in a dual perme-
ability run. The images below show the side view for Grid K index for SRVW. See SRVW_20_FRAC.dat
for complete example:

-- traj md da db dc theta FK tau kl ku mod


SRVW P-1 5500 200 1000 400 20 10000 1* 1* 1* FRAC

10.89. SRVW - Stimulated Reservoir Volume along a Trajectory 993


Tempest MORE Help, Release 8.1

10.90 STOP - Stop the Simulation

Location

RECU Section

Description

The STOP keyword is used to stop the simulation. All data appearing after the STOP keyword will not be pro-
cessed. There are no required arguments for STOP.

Notes

• A recommended alternative to this keyword is END event.

Examples

1. STOP is used to stop the simulation after 10 years.

READ 10 YEARS

STOP

994 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.91 STOR - Output Array to File System

Location

RECU Section (after the ARRA keyword)

Description

The STOR keyword is used to output array data to the MORE output file system for 3D visualisation. STOR is a
subkeyword of ARRA and should only be used after the ARRA keyword has been specified. Array data requested
in STOR is written at the times specified by the ARRA keyword. STOR must also be used with GENE REST for
array output to be created in the Recurrent section of the results for 3D visualisation in Tempest View.
Any number of optional arguments can be used with STOR and they all must be listed on the same line as the
STOR keyword itself in any order. Each option produces different data output in the MORE output file system for
3D visualisation in Tempest View. Values are written at the times specified by the ARRA keyword.

Definitions

Mnemonics Output
VISO, VISG, VISW, VISS phase viscosities
KRO, KRG, KRW, KRS phase relative permeabilities
MOBO, MOBG, MOBW phase mobilities (Kr/visc)
DENO, DENG, DENW, DENS phase densities
DENF fluid density
POTO, POTG, POTW phase potentials with respect to datum depth
PCOG, PCOW oil-gas and oil-water capillary pressures
PVOL or AVOL actual pore volume
PVTN pressure table numbers
AQCO plots indices of connected aquifers (useful to see where the aquifers connect to grid)
GCR gas coal ratio
FVFO, FVFG, FVFW phase formation volume factors (volume in reservoir/volume at surface). FVFO and FVFG are o
FSHX, FSHY, FSHZ shearing factors in each direction for oil viscosity (OVPG), water viscosity (WVPG) or polymer
RS requests output of cell gas-oil ratios
ZMF requests output of total mole fractions in equation of state runs
CNLI, CLIN, ALIN CNLI is the number of iterations needed to converge each cell for the non-linear solver and CLI
CFL Courant-Friedrichs-Lewy factor (see Technical Reference) for IMPES or AIM runs
FNDX, FNDY, FNDZ non-Darcy factors in each direction when using Forchheimer non-Darcy flow
dV
CMPF Fluid compressibility, − V1f dPf , where Vf is the fluid volume in a cell
SOTO, SGTO, SWTO, SSTO Total phase saturations allowing for trapped oil
FLOW Inter-cell flow rates. These will appear as items like FOX+ in the .ara file, and may be visuali
PCGS, PCWS Oil-gas and oil-water capillary pressure stabilisation shifts (PCSH)
BOIL, BGAS, BWAT Oil, gas and water molar densities
CC Component molar densities: for each component, this is the number of moles per unit volume a
P Kr
MOBC Component mobilities for each component: p xc,p bmp µpp where xc,p is the component c in
P Krp
MOBV Reservoir voidage mobility: p µp over all phases p
VSUP Support volume for Impes
V v −V
VBR Converged and scaled volume balance residual when using mass variables, defined as r Vf p p
PRU Pressure update for this time step
FTEN Immiscibility fraction for gas-oil relative permeability interpolation when using the SURF keyw
FCLI Li correlation factor for state identification (F = TTcrit
abs
) when using the FCLI keyword

10.91. STOR - Output Array to File System 995


Tempest MORE Help, Release 8.1

Notes

• For the options above, the phase properties ending with O are for oil, G for gas, W for water, and S for
solvent when the four-phase Todd-Longstaff solvent option is being used.
• VISS, KRS, and DENS, and SSTO are for use with the four-phase Todd-Longstaff solvent option only.
Please see the Solvent Modelling section of the MORE Technical Reference for more information.
• Pressure table numbers can be added to STOR. These are functions of temperature (TEMP in F(DE ) values
set in the INIT section and so, are not available at the time the static grid data is written. They will not
change with timestep, but can be included in STOR as a means of checking the allocation of pressure tables
to cells.
• If a phase is absent, properties will not be reported for that phase (that is, MOBO does not plot in a run
which does not include oil).
• For STOR to have an effect, restart information must be written using the GENE keyword with the REST
option.
• All of the arrays listed above can also be used with the GENE keyword to output their values in the MORE
.out file.
• Dynamic grid property arrays may also be requested using STOR and output as recurrent arrays. This can
be useful to monitor time-dependent grid property effects generated, for example, by the TFUN keyword.
• Flows added by the FLOW argument are output for oil, water and gas components in a black oil run.
Currently, the oil and gas phase rates are not output for equation of state runs.

Examples

1. STOR is used with FVFO, FVFG, and FVFW to specify the storage of formation volume factors for oil, gas,
and water, respectively, into the restart file system for 3D visualisation. ARRA is also used to specify that
the formation volume factors will be output every year and GENE REST is used to ensure that the formation
volume factor array data gets written out to the restart file system for 3D visualisation.

ARRA YEAR EQUA


1 /

GENE REST

STOR FVFO FVFG FVFW

Once the project has been run, formation volume factor arrays for oil, gas, and water are then displayed in
the Recurrent tab of the results for 3D visualisation in Tempest View as illustrated in the following figure.

996 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.92 TEST - Periodic Well Test Control

Location

RECU Section

Description

The TEST keyword is used to perform periodic well tests. TEST consists of seven optional arguments which
should be entered on the same line as the TEST keyword itself if used.

Definitions

1. Incremental time between testing shut-in wells (optional)


• Default: 3 months
2. DAYS, MONT, or YEAR (optional) - unit of time for the value given in argument 1 (incremental time
between testing shut-in wells)
• DAYS (default) - time increment is in days
• MONT - time increment is in months
• YEAR - time increment is in years
3. EXACT (optional) - adjust time steps to match required TEST times
4. STEP/NOSTEP (optional) - force/do not force a time-step before checking well limits
5. THP (optional) - test wells shut because unable to operate at required top hole pressure
6. THPONLY (optional) - only test wells shut because unable to operate at required top hole pressure (that is,
do not test wells shut due to rate or ratio limits)
7. OFF (optional) - turn off well testing

Notes

• When the TEST keyword is specified, all producers shut-in due to rate or ratio limits are tested for possible
flow. If THP or THPONLY is used, wells shut because it was not possible to satisfy the required top hole
pressure are also tested.
• The wells are opened and those that are within the rate, ratio, and thp target limits will continue to produce,
while others are shut-in. By default, well limits are not checked after the first time-step, ensuring that tested
wells are switched on for at least a time-step. This behaviour may be overridden by using the NOSTEP
option.
• Unless using the EXACT flag, repeated well tests are performed at the first simulator timestep after the
specified test interval has elapsed since the last well test. Hence, the actual testing frequency can be lower
than the requested one.
• Well-specific test functionality is provided by the TEST event.

Examples

1. TEST is used to specify the testing of shut-in wells at 5 years and thereafter at six month intervals.

READ 5 YEAR
TEST 6 MONT

10.92. TEST - Periodic Well Test Control 997


Tempest MORE Help, Release 8.1

2. TEST is used to specify the testing of shut-in wells on Jan 01, 1989 and thereafter at the default of three
month intervals.

READ JAN 01 1989


TEST

3. TEST is used with a time interval of 99 years to effectively turn off the testing of wells.

TEST 99 YEAR

Alternatively, the OFF option may be used to TEST to turn off the testing of wells as well.

TEST OFF

998 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.93 TFIL - Well Track Definition File

Location

RECU Section

Description

The TFIL keyword is used to direct MORE to read a file containing well track data. Alternatively, TTAB /ENDT
allows the same data to be placed in-line directly after the TTAB keyword. The TFIL and TTAB/ENDT keywords
may be repeated as often as required to define the tracks for any number of wells.
The TFIL keyword consists of one optional argument and one required one. The optional NORO argument should
be entered on the same line as the TFIL keyword itself if it is used. The required argument is the name of the well
track definition file. This file name should be entered on a separate line below the TFIL keyword.

Definitions

1. NORO (optional) - do not apply ROTA rotation-translation to x and y (only required if the ROTA keyword
has been used)
2. MAP (optional) - apply MAPAXES transformation from external to internal coordinates to welltracks (only
required if the MAPAXES keyword has been used and welltracks are defined in external coordinates)
3. Name of the file containing the well track definition

Notes

• As ROTA and MAPAXES cannot be used together, either NORO or MAP should be used with TFIL.
• The track data in the well track definition file should take the form:

trackname
Xloc Yloc Zloc MD
: : : :
/

• The trackname can be the same name as the well name but need not be. The trackname must match the
name used by the COMP keyword.
• When used with perforation events, the trackname should match that of the well. However, multiple
branches may be specified by adding ”:n” to the end of the trackname, where n is the branch index. The
required branch may then be selected using BRANCH in a perforation event.
• “Zloc” is also known as true vertical depth (TVD). MD is the measured depth, being the length along the
track. If the first MD value is not entered, it is taken as Zloc. If further ones are not entered, they are
obtained by finding the distance between the current point and the last:
p
mi = (xi − xi−1 )2 + (yi − yi−1 )2 + (zi − zi−1 )2

• A table containing the computed measured depths and the cells intersected by the track may be obtained by
using the PRIN keyword with the TRACK option in the RECU section.

PRIN TRACK

• TFIL can be preceded by the optional TUNI keyword which defines the units of lengths used in TFIL. If
TUNI is not specified, it is assumed the depths are specified in the unit system selected for this simulation
model.

10.93. TFIL - Well Track Definition File 999


Tempest MORE Help, Release 8.1

• For more information regarding the reading of well track definition files in Tempest, see the Handling Well
Tracks and Well History Help page.

Examples

1. TFIL is used to define the track of two wells, WP_A and WP_B.

TFIL
'welltrackA.dat'
TFIL
'welltrackB.dat'

The welltrackA.dat file contains the following data:

WP_A
-- X Y Z MD
23613.4 764512.0 100.0 100.0
23620.7 764839.0 4300.0 4300.0
23731.2 765193.0 5000.0 5300.0
23782.7 765921.0 5000.0 6300.0

And the welltrackB.dat file contains:

WP_B
-- X Y Z MD
24107.3 764313.0 0.0 0.0
24098.2 764298.0 4510.0 4510.0
24052.7 765213.0 5056.0 5457.0
24008.9 765103.0 5065.0 6437.0

Once a well track has been entered, it can be used to define the completion of a well using the COMP well
subkeyword. For example:

WELL WP_A INJE GAS QLIM=750.0 PMAX=1378.95


COMP WP_A 2500 2600 0.05 0.0 1.0

This specifies that the completions of well WP_A are defined by a measured depth interval of 2500 to 2600
on the WP_A welltrack defined in the welltrackA.dat file. The well radius is 0.05 metres, the skin is
0.0, and the user multiplier is 1.0.
More than one completed section may be added on the well track. To get rid of a completed interval, the
measured depth interval should be re-specified with a user multiplier of 0.0.

1000 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.94 TPRO - Physical Properties of a Well Track

Location

RECU Section

Description

The TPRO keyword is used to specify physical properties of a well track. These values are used by a multi-segment
well model (WSEG). TPRO consists of three required arguments which should all be entered in succession on the
same line as the TPRO keyword itself.

Definitions

1. Name of well track


2. Well radius
3. Well roughness

Example

1. TPRO is used to specify a radius of 0.05 and a roughness for the WWWW:1 well track.

TPRO WWWW:1 0.05 0.004

10.94. TPRO - Physical Properties of a Well Track 1001


Tempest MORE Help, Release 8.1

10.95 TTAB - In-line Well Track Definition

Location

RECU Section

Description

The TTAB keyword is used to place the well track data directly into the RECU section rather than placing it in a
separate file using the TFIL keyword. The data format of the well tracks for TTAB is exactly the same as it is for
TFIL but an ENDT keyword is required to terminate the data.
The required arguments for TTAB consists of a table with four columns, as further described in the Definitions
section below. In addition, the optional arguments NORO and MAP may also be used, and should be entered on
the same line as the TTAB keyword itself.

Definitions

1. NORO (optional) - do not apply ROTA rotation-translation to welltracks (only required if the ROTA keyword
has been used)
2. MAP (optional) - apply MAPAXES transformation from external to internal coordinates to welltracks (only
required if the MAPAXES keyword has been used and welltracks are defined in external coordinates)
3. X-coordinate of the well track
• Units: feet (Field), metres (Metric)
4. Y-coordinate of the well track
• Units: feet (Field), metres (Metric)
5. Z-coordinate of the well track
• Units: feet (Field), metres (Metric)
6. Measured depth of the well track
• Units: feet (Field), metres (Metric)

Notes

• All notes regarding TFIL are also true for TTAB.


• As an alternative to TTAB, MORE can also read well trajectories using the legacy WELLTRACK format.
In this case, the syntax is the same as TTAB except that the well name is written in line:

WELLTRACK TP-A
-- X Y Z MD
9750 9750 5050 50
8750 8750 5100 100
7750 8750 5200 200

The columns are x,y, z, and MD as for TTAB. Unlike TTAB, only a single trajectory can be entered per
WELLTRACK keyword, and there is no need to end the table with ENDT.
• For more information regarding the reading of well track definition files in Tempest, please refer to the
Handling Well Tracks and Well History help page.

1002 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. TTAB and ENDT are used to enter in well tracks for wells WP_A and WP_B.

TTAB
WP_A
-- X Y Z MD
23613.4 764512.0 100.0 100.0
23620.7 764839.0 4300.0 4300.0
23731.2 765193.0 5000.0 5300.0
23782.7 765921.0 5000.0 6300.0

WP_B
-- X Y Z MD
24107.3 764313.0 0.0 0.0
24098.2 764298.0 4510.0 4510.0
24052.7 765213.0 5056.0 5457.0
24008.9 765103.0 5065.0 6437.0
ENDT

These wells are then displayed in the 3D grid as illustrated in the following figure.

2. TTAB and ENDT are used to enter in well tracks for wells I-1 and P-1 with the NORO option.

TTAB NORO
I-1
-- X Y Z MD
2500.00 3500.00 5000.00 5000.00
2500.00 3500.00 6000.00 6000.00

P-1
-- X Y Z MD
7500.00 9500.00 5000.00 5000.00
7500.00 9500.00 6000.00 6000.00
ENDT

These wells are then displayed in the 3D grid as illustrated in the following figure.

10.95. TTAB - In-line Well Track Definition 1003


Tempest MORE Help, Release 8.1

3. TTAB and ENDT are used to define the welltrack for a horizontal well, P_HORIZ.

TTAB
P_HORIZ
-- X Y Z MD
1500.000 500.000 5000.00 5000.00
1500.000 500.000 5400.00 5400.00
8500.000 500.000 5400.00 6000.00
ENDT

This welltrack is then displayed in the 3D grid as illustrated in the following figure.

Note: Perforations for the well were specified using the PERF event.

4. TTAB and ENDT are used to enter well tracks for wells WINJ and WPRD in external coordinates. The
option MAP tells MORE that the tracks in this table are in external coordinates.

TTAB MAP
-- X Y Z MD
WINJ
5049.03810344 41183.01270388 5000.00 5000.00
5049.03810344 41183.01270388 6000.00 6000.00
WPRD
8343.26671423 53477.24134417 5000.00 5000.00

1004 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

8343.26671423 53477.24134417 6000.00 6000.00


ENDT

The internal coordinates are those specified with the COOR keyword. The relationship between internal and
external coordinates for the MAP option is given by the MAPAXES keyword which must be specified in the
grid section. If the MAPAXES keyword has not been specified the MAP option is ignored. See the following
for a full example: TTAB_MAP.dat

10.95. TTAB - In-line Well Track Definition 1005


Tempest MORE Help, Release 8.1

10.96 TUNI - Units for Well Track Definition

Location

RECU Section (before the TFIL keyword)

Description

The TUNI (track units) keyword is used to specify the units of the welltracks defined in the TFIL keyword. TUNI
must precede the TFIL keyword for it to have an effect. If TUNI is not specified, it is assumed welltracks are
specified in the unit system selected for this simulation model.
TUNI consists of one required argument which should be entered on the same line as the TUNI keyword itself
when used.

Definitions

1. Units of the welltrack: FEET or METRES

Examples

1. TUNI is used to specify that well tracks provided in the welltrackA.dat file are defined in feet.

TUNI FEET
TFIL
'welltrackA.dat' /

1006 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.97 UPSI - Upstream Steam Injection Mobilities

Location

RECU Section

Description

The UPSI keyword is used to turn on the upstreaming of steam injection mobilities. When fluid injection is
considered, the mobility seen by the injector is usually that of the fluid in the injection cell. For steam injection,
this can create problems, as heavy oil in the injection cell may have a very high viscosity, and the injection process
never starts. Turning the upstreaming of steam injection mobility on uses the mobility of the steam in the wellbore
as the injection mobility. By default, there is no upstreaming of steam injection mobilities.
UPSI consists of up to two required arguments which should be entered on the same line as the UPSI keyword
itself when used.

Definitions

1. Upsteaming on or off: ON or OFF


• ON - turn on the upstreaming of steam injection mobilities
• OFF (default) - turn off the streaming of steam injection mobilities
2. Fraction of the mobility to be upstreamed (if ON is used in the first argument)

Notes

• YES and NO may be used as aliases for ON and OFF when turning the upstreaming of steam injection
mobilities on and off respectively.
• See the Steam/Thermal section of the MORE Technical Reference for more information regarding steam
modelling in Tempest.
• Other keywords associated with steam modelling in Tempest include:
– STEAMOPTION - enable steam modelling
– STEA - steam specification (subkeyword of WELL)
– STEAM event - steam injection properties
– SIT event - steam injection target
– SVIT event - steam voidage injection target

Examples

1. UPSI is used to specify a fraction of 0.1 of the steam injection mobility to be upstreamed. See UPSI.dat for
a complete example:

UPSI ON 0.1

Thus, this system has 90% of the normal injection cell mobility and 10% of the upstreamed mobility. This
is a good compromise as damage around the well means that there will be some opportunity for steam to
enter the formation, even when the existing fluid is viscous. However, controlling the steam mobility alone
may over-estimate the injection rate.

10.97. UPSI - Upstream Steam Injection Mobilities 1007


Tempest MORE Help, Release 8.1

10.98 VISC - Viscosity Output

Location

RECU Section (after the ARRA or ESOL keywords)

Description

The VISC keyword is used to request that viscosity data be output by MORE, either to the .out file or to
ECLIPSE solution files.

Syntax

VISC may be followed by all or any of four possible arguments:


1. OIL - requests output of oil phase mobilities
2. GAS - requests output of gas phase mobilities
3. WAT - requests output of water phase mobilities
4. SOLV - requests output of solvent phase mobilities

Notes

• To output 3D arrays for visualisation through Tempest VIEW, use STOR rather than MOBI.
• Printed output of cell values to the .out file is not normally useful except for small cases

Example

VISC OIL GAS

1008 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.99 VREP - Voidage Replacement

Location

RECU Section (after a group (GROU) definition)

Description

The VREP keyword is used to set voidage replacement group limits. Voidage replacement imposes a group
injection limit on a group of injectors such that a fraction of the reservoir volume production achieved by a group
of producers is injected. VREP consists of three required arguments and four optional arguments which, if used,
should all be entered in succession on the same line as the VREP keyword itself.

Definitions

1. Group containing the production wells


• Default: ALL
2. Group containing the injection wells
• Default: ALL
3. Voidage replacement factor
• Default: 1
4. NETG (optional) - water is injected net of gas injection
5. NETW (optional) - gas is injected net of water injection
6. SGAS (optional) - gas is injected at a given fraction of the gas production at surface conditions
7. SWAT (optional) - water is injected at a given fraction of the water production at surface conditions

Notes

• In the NETG and NETW cases, the current gas or water injection is allowed for when choosing the required
injection rate.
When replacing voidage from a group it is optionally possible to replace production net of gas or net of
water. If the replacement is net of gas, the reservoir volume production minus the reservoir volume of gas
injection is replaced. If the replacement is net of water, the reservoir volume production minus the reservoir
volume of water injection is replaced. These are useful in order to inject a known amount of one phase (for
example, gas), and maintain pressure by varying the injection rate of the other phase, (for example, water).
To do this water can be injected at a voidage replacement target net of gas.
• In the SGAS and SWAT cases, the reinjection rate is calculated at surface rather than reservoir conditions.
For SGAS and SWAT, the gas and water injection is done through the injection group’s gas and water
injectors, respectively. It is possible for simultaneous gas and water conditions to be applied to the same
group.
• A recommended alternative to this keyword is VREP event.

Examples

1. VREP is used to balance production for the group GR25 so that the injected reservoir volume equals the
produced reservoir volume. See VREP.dat for complete example:

10.99. VREP - Voidage Replacement 1009


Tempest MORE Help, Release 8.1

GROU GR25 WINJ1 WPRD1 WPRD2

VREP GR25 GR25 1.0

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

WINJ1
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 10000.00
01/Jan/2000 BHPT 1.00000e+04

WPRD1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 1000.00

WPRD2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

ENDE

In this example, the group GR25 has a total oil production rate of 3000 stb/day and a total water injection
rate of 10000 stb/day. The water injection rate target (WIT) is set to a high value to ensure that there is
enough water to provide voidage replacement for the produced oil. With the presence of VREP and an
oil production rate of 3000 stb/day, the total water injection rate is calculated to ensure that the injected
reservoir volume equals the produced reservoir volume, resulting in approximate pressure maintenance in
the reservoir. These resulting production and injection rates and the bottom hole pressure in the reservoir
can be observed in the plot displayed in the following figure.

1010 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.100 VTOL - Volume Error Tolerance

Location

INPU or RECU Sections

Description

The VTOL keyword is used set the volume error tolerance. This keyword consists of five optional arguments
which, if used, should all be entered in succession on the same line as the keyword itself.

Definitions

1. Maximum allowed error at any grid point (controls the convergence of the outer Newton-Raphson iteration
of the flow equations) (optional): errvmax1
• Default: 0.005
2. Maximum number of iterations allowed (optional): niter1
• Default: 15
3. Secondary maximum allowed error at any grid point (optional): errvmax2
• Default: 0.005
4. Secondary number of Newtons allowed (optional): niter2
• Default: 0
5. Minimum number of Newtons allowed (optional): minit
• Default: 1

Notes

• The actual number of non-linear iterations allowed is the sum of the maximum number of iterations allowed
(niter1) and the secondary number of Newtons allowed (niter2). The secondary maximum error is applied
for the last niter2 iterations.
• Recommended alternatives to the 1st and 2nd arguments of this keyword are CNVNL and MXNL events
respectively.

Example

1. VTOL is used to set the maximum volume error to 0.001.

VTOL 0.001

10.100. VTOL - Volume Error Tolerance 1011


Tempest MORE Help, Release 8.1

10.101 WABC - Well Skin and D-factor from A and B Coefficients

Location

RECU Section

Description

The WABC keyword provides a way of setting the skin and D-factor for a well from more easily measured A
and B coefficients which defines the linear and quadratic pressure response of the well. For details of the fitting
technique, please see AB well input chapter of the Technical Reference. The basic idea is to compare the A and
B coefficients with those of the same pressure dependence from the Russell-Goodrich model; once corresponding
coefficients have been found the required skin and D-factors may be determined.

Note: Use of this keyword is NOT recommended due to the assumptions made in the fitting technique. For
further details see the Technical Reference.

Definitions

1. Well name
2. A coefficient (psia2 /(mscf/day) or (bar2 /(ksm3 /day) )
3. B coefficient (psia2 /(mscf/day)2 ) or (bar2 /(ksm3 /day)2 )
4. lower measured depth (ft or metres)
5. upper measured depth (ft or metres)

Notes

• The lower and upper measured depths are not required. They are only needed if the A and B coefficients
entered are not for the entire well.
• A recommended alternative to this keyword is ABC event.

Example

WABC WAD-1 145 1.4

1012 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.102 WAGT - Set Tolerances for WAG Injection

Location

RECU Section

Description

The WAGT keyword is used to set tolerances for water-alternating-gas (WAG) injection. When injecting a given
volume of fluid using the WWAG keyword or WWAG event , the amount injected is checked at the end of the step.
If the amount exceeds the required injection, the time step is repeated. The tolerances may be reset using WAGT,
although this will not normally be required.
WAGT consists of two required arguments which should both be entered in succession on the same line as the
WAGT keyword itself when used.

Definitions

1. Volume target
• Default: 0.001
2. Time target
• Units: days
• Default: 0.01 days

Notes

• The volume target specifies an acceptable error when injecting a given volume of gas or water in a WAG
operation, as a fraction of the volume injected.
• The time target specifies the size in days of the minimum step which is adjusted when injecting a given
volume of gas or water in a WAG operation.

Examples

1. WAGT is used to set tighter WAG tolerances with a volume target of 0.0004 and a time target of 0.0001.

WAGT 0.0004 0.0001

10.102. WAGT - Set Tolerances for WAG Injection 1013


Tempest MORE Help, Release 8.1

10.103 WALQ - Set Well Artificial Lift Value

Location

RECU Section

Description

The WALQ keyword is used to specify a well artificial lift quantity. This only has an effect when the well has a
tubing table for which an ALQ variable has been defined (please see ALQ or TUBI keywords for details of entering
tubing tables with artificial lift.)
WALQ consists of two required arguments which should both be entered on the same line as the WALQ keyword
itself when used.

Definitions

1. Well name
2. Well artificial lift value

Notes

• A recommended alternative to this keyword is WALQ event.

Examples

1. WALQ is used to specify an artificial lift quantity of 0.85 for the well W100.

WALQ W100 0.85

1014 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.104 WCTL - Well settings controlling the THP shut-in behaviour

Location

RECU Section

Description

This is a developer keyword which specifies the behaviour of a well that fails to meet its THP limit. It takes three
optional arguments which affect all wells.
As this is a keyword for program developers the general user is strongly advised not to use this keyword. The
keyword and its defaults may be changed at any time.

Definitions

1. Maximum number of Newton iterations with well failure before well is shut, “-1” means no limit
• Default: -1
2. Shut well if it failed in converged Newton iteration, YES/NO
• Default: YES
3. Maximum number of consecutive time-steps failed wells are kept open
• Default: 0

Notes

• The default behaviour is to shut all wells that fail to solve under THP control in the converged Newton
iteration.
• The behaviour of MORE versions < 7.1.3 is

WCTL 3 NO 0

• Shutting a well after a number of Newton iterations speeds up the simulation but can lead to premature
shut-in as the well might have solved in the converged Newton iteration.
• Setting the second argument to NO may leave unsolvable wells open when the simulator converges in at
most the number of steps specified in the second argument.

Example

1. Only shut-in wells that have failed to THP-solve on more than three consecutive time-steps:

WCTL -1 YES 3

10.104. WCTL - Well settings controlling the THP shut-in behaviour 1015
Tempest MORE Help, Release 8.1

10.105 WCOM - Set Up Action to be Taken if Well Pipeline Limit


Cannot be Met

Location

RECU Section

Description

The WCOM keyword sets up a limit so that if pipeline pressure falls below a given value, or if oil or gas flow rate
is too low, then a compressor (defined by the CMPR keyword) will be switched on or have another remedial action
taken. WCOM consists of at least five required arguments which should all be entered in succession on the same
line as the WCOM keyword itself when used.

Definitions

1. Well name
2. Limit type: PIN, POUT, OIL, or GAS
• PIN - inlet pressure
• POUT - outlet pressure
• OIL - oil flow rate
• GAS - gas flow rate
3. Limit value
4. Limit action: COMP, PUMP, LIFT, or ALQS
• COMP - use compressor table
• PUMP - use pipeline pipe performance table (entered with PLPU)
• LIFT - use artificial lift table
• ALQS - use well artificial lift values
5. Action details:
• For COMP - compressor name
• For PUMP - pipeline pump name
• For LIFT - lift table name
• For ALQS - ALQ shift & number of shifts allowed

Notes

• Note that, unlike other production limits such as those imposed by LIMI, WCOM always sets a MINIMUM
limit; that is, they trigger if the pressure or rate is too low. There is currently no option to impose WCOM
limits as maximum or hold limits.
• For more information regarding the use of the limit actions COMP, PUMP, LIFT, and ALQS, please see
please see the CMPR, PLPU, LIFT, or ALQ keywords, respectively.
• A recommended alternative to this keyword is WCOM event.

1016 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. WCOM is used to request up to two ALQ increments of 200 if the gas rate of wells WPRD1 and WPRD2
falls below 6600 ksm3 /day.

WCOM WPRD1 GAS 6600 ALQS 200 2


WCOM WPRD2 GAS 6600 ALQS 200 2

10.105. WCOM - Set Up Action to be Taken if Well Pipeline Limit Cannot be Met 1017
Tempest MORE Help, Release 8.1

10.106 WFFC - Water Filled Cell Flash Criteria

Location

RECU Section

Description

This is a developer keyword which sets the criteria used in the equation of state flash calculation to determine if a
cell is water-filled. If a cell is filled with water, it is not required, or possible, to perform a flash of the hydrocarbon
components.
As this is a keyword for program developers: the general user is strongly advised not to use this keyword. The
keyword and its defaults may be changed at any time.

Syntax

WFFC NoWaterFilledStateOption WaterFilledCriterion MinimumMolarDensity

Definitions

1. NoWaterFilledStateOption
• Default: 0
2. WaterFilledCriterion
• Default: 1.0E-7
3. MinimumMolarDensity
• Default: 1.0E-9

Notes

• The value of NoWaterFilledStateOption should be set to either 0 or 1.


• The new values will be imposed at the point in the recurrent section at which the WFFC keyword appears.
• Both the second and third arguments are required to be positive and in a reasonable range (currently 0.001
to 1.0-12).

Example

1. Reset the water filled cell flash criteria, WFFC, to 1×10-6

--Reset WaterFilledCriterion to 1.0E-6.


WFFC 1* 1.0E-6

1018 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.107 WFOR - Well is to use Forchheimer Flow

Location

RECU Section

Definitions

• wellname - name of the well to use Forchheimer non-Darcy flow.

WFOR wellname

Notes

• This keyword is only required if the ALL argument is not used with the FORC keyword.
• A recommended alternative to this keyword is FORCH event.

Example

1. Apply Forchheimer non-Darcy flow to well “WEF-12”:

WFOR WEF-12

10.107. WFOR - Well is to use Forchheimer Flow 1019


Tempest MORE Help, Release 8.1

10.108 WFRA - Set up a Well Fracturing Operation

Location

RECU Section

Description

The WFRA (well fracture) keyword is used to set up a well fracturing operation. WFRA can have up to 17
arguments, of which the first seven are required. All of these arguments should be entered in succession on the
same line as the WFRA keyword itself when used. If it is desired to specify the seventeenth argument, then this
argument must be preceded by sixteen other arguments when WFRA is being specified.

Definitions

1. Well name
2. Angle of fracture in the xy plane (measured from the positive x-axis towards the positive y-axis)
• Units: degrees
3. First layer containing fracture (in global grid): kl
4. Last layer containing fracture (in global grid): ku
5. Length of fracture from well to tip (assumed same in both directions)
• Units: feet (Field), metres (Metric)
6. Permeability of fracture
• Units: mDarcy
7. Width of fracture
• Units: feet (Field), metres (Metric)
8. Conductivity of fracture (optional)
• Units: mDarcy-feet
9. Fracture time constant (optional)
• Units: days
10. Type of fracture: V or H (optional)
• V - vertical fracture type
• H - horizontal fracture type
11. Lower measured depth for horizontal fracture case (optional)
• Units: feet (Field), metres (Metric)
12. Upper measured depth for horizontal fracture case (optional)
• Units: feet (Field), metres (Metric)
13. Non-default options to request that well fractures connect to a specified range of layers or depths: LAYE or
DEPT (optional)
• LAYE - well fractures connect to a specified range of layers
• DEPT - well fractures connect to a specified range of depths
14. Lower layer (ll ) or depth (dl ) for use with LAYE or DEPT options, respectively, in argument 13 above

1020 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

15. Upper layer (lu ) or depth (du ) for use with LAYE or DEPT options, respectively, in argument 13 above
16. Other arm length (optional) - used to set second arm length for asymmetrical fracture
• Units: feet (Field), metres (Metric)
• Defaults: defaults to length set in Argument #5 above
17. Bend angle in fracture (optional)
• Units: degrees
• Default: 0
18. WFSP value for this well fracture (overrides that set with WFSP keyword) (optional). Should be in the
range zero to one.
19. BRANCH index specifying which branch to fracture; defaults to the main branch.
20. Weight w used in the ccf decay law below (optional). Must be in the range zero to one.

Notes

• If the conductivity is entered, the permeability and width need not be supplied.
• For vertical well fractures, all the completions in the index range kl to ku are fractured (mdl and mdu will
not be used).
• For horizontal well fractures, only the first completion in the measured depth (MD) range mdl to mdu is
fractured. A completion with associated MD interval Icell is considered inside the fracture MD range only if
the midpoint of Icell lies within this range.

Fig. 10.1: Sketch of completed cells along a trajectory segment (blue). Two WFRA measured depth ranges are
depicted in red. The first MD range on the left (WFRA 1) contains the midpoint A of the MD range for the
left-most completion, and a fracture has been created. The second WFRA MD range (WFRA 2) lies between the
two midpoints B and C, so no fracture has been created.

• Normally, fractures propagate outwards from each fractured completion in the grid layer containing the
completion. If LAYE ll lu is specified, then each fractured completion is connected to cells in the global
layer range ll to lu . If DEPT dl du is specified, then each fractured completion is connected to cells in the
depth range dl to du .
• After a fracturing operation, the extra fracture connections between the well and the grid decay in time, as
  
t − tfrac
ccf = ccf0 w + (1 − w) exp − ,
τ

where w is the weight defined above, t is time, tfrac is the fracturing time, and τ is the fracture time constant.
If τ is defaulted, then w = 1.0 and the extra fracture connections will not decay with time.

10.108. WFRA - Set up a Well Fracturing Operation 1021


Tempest MORE Help, Release 8.1

• The syntax for the WFRA event differs from the WFRA keyword in that the other arm length, the bend angle
and the shared path coefficient are specified using OTHER, BEND and SPCO arguments. In addition, the
measured depth range must precede the V/H fracture type.

Examples

1. WFRA is used to set up a well fracturing operation for the well WPRD using the most minimal amount of
information that can be specified, which consists of seven required arguments. It is desired for the fracturing
operation to have a fracture angle of 45o , start in the third layer, and end in the fourth layer. The fracture
is given a length of 5000, a permeability of 100000 mD, and a width of 0.01. See WFRA.dat for complete
example:

WFRA WPRD 45 3 4 5000 100000 0.01

When displayed in the 3D Viewer, an orange marker is used to indicate the cells in the grid that contain
fractures, as illustrated in the following figure.

A fractured well can also be identified in the Wells tab, where it is displayed with a fractured symbol, as
illustrated in the following figure.

2. In this example, we use the same WFRA settings as the preceding example but this time we add a bend
angle of 45o in the fracture, as follows. See WFRA_BEND.dat for complete example:

WFRA WPRD 45 3 4 5000 100000 0.01 5* LAYE 2* 1* 45

When displayed in the 3D Viewer, we can observe that a 45o angle has been added to the fracture.

1022 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. In this example, we use the same WFRA settings as Example #1 above, except this time, we create an
asymmetrical fracture with a other arm length of 2000. We do this by adding entering a value for the
sixteenth argument of WFRA, as follows. See WFRA_OTHER.dat for complete example:

WFRA WPRD 45 3 4 5000 100000 0.01 5* LAYE 2* 2000

When displayed in the 3D Viewer, we can observe that one of the fracture arm lengths has been cut down
to 2000.

4. In this example, the LAYE option is used with WFRA to connect the well fractures to a specified range of
layers. This well, P-FRAC1, is completed only in the first layer in a grid with five layers. WFRA is used to
specify a fracturing operation that creates fractures with a fracture angle of 45o . The fractures start in the
first layer and extend all the way to the fifth layer with a length of 5000, a permeability of 100000mD, and
a width of 0.01. The LAYE option of WFRA is then used to ensure that the fractures extend from the first
layer to the fifth layer. See WFRA_LAYER.dat for complete example:

WFRA P-FRAC1 45 1 5 5000 100000 0.01 5* LAYE 1 5

When we display the fractures in the 3D Viewer, we can observe that while the well is only completed in
the first layer (as marked in red on the well trajectory), the fractures are extended from the first layer all the
way to the fifth layer (as marked in orange), as specified by the LAYE option.

10.108. WFRA - Set up a Well Fracturing Operation 1023


Tempest MORE Help, Release 8.1

The DEPT option works in the same fashion as the LAYE option, except that for the DEPT option, lower
and upper depths should be entered instead of layers.

1024 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.109 WGPP - Well is to Use Gas Pseudo-Pressure

Location

RECU Section

Definitions

• wellname - name of the well to use Gas Pseudo-Pressure.

WGPP wellname

Notes

• This keyword is only required if the ALL argument is not used with the GPP keyword.
• An alternative to this keyword is GPP event.

Example

GPP WAA-1

10.109. WGPP - Well is to Use Gas Pseudo-Pressure 1025


Tempest MORE Help, Release 8.1

10.110 WLGA - Set Well Lift Gas Value

Location

RECU Section

Description

WLGA specifies sets a gas lift value for a well. This only has an effect when the well has a lift table. The way in
which the lift gas rate is used depends on the lift curve:
• If the table has an ALQ (artificial lift quantity) which is a gas rate, then the lift gas value is applied to the
ALQ.
• If not, the lift gas value is added to the gas production rate of the well when looking up the lift table.

Definitions

• The units of gas lift are Mscf/day or ksm3 /day.

WLGA wellname value

Notes

• A recommended alternative to this keyword is LIFT event.

Example

WLGA PROD_A 14500

1026 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.111 WLGO - Well Availability for Group Lift Gas Optimisation

Location

RECU Section

Description

The WLGO keyword is used to make a well available or unavailable for group lift gas optimisation. The default
is that a well is available.

Definitions

1. Well name
2. ON or OFF

Notes

• YES or NO can be used as alternatives to ON or OFF.

Examples

WLGO W100 No

10.111. WLGO - Well Availability for Group Lift Gas Optimisation 1027
Tempest MORE Help, Release 8.1

10.112 WLIF - Optimise the Lift Value for a Well

Location

RECU Section

Description

The WLIF (WLIFT) keyword is used to request that the amount of artificial lift be set to optimise the oil production
of a well. WLIF consists of four required arguments and one optional argument, all of which should be entered on
the same line as the WLIF keyword itself when used.

Definitions

1. Well name
2. The minimum amount of lift that may be applied to the well (liftmin)
• Units: mscf/day (Field), ksm3 /day (Metric)
• Default: 0
3. The maximum amount of lift that may be applied to the well (liftmax)
• Units: mscf/day (Field), ksm3 /day (Metric)
• Default: 0
4. The minimum oil rate improvement per unit lift gas added
• Units: (stb/day)/(mscf/day) (Field), (sm3 /day)/(ksm3 /day) (Metric)
• Default: 1.0E-6
5. The size of gas rate packet to be added at each step of the optimisation (packet) (optional)
• Units: mscf/day (Field), ksm3 /day (Metric)
• Default: 0.05*(liftmax-liftmin)

Notes

• To be used with WLIF, a well must have an associated liftable TUBI table.
• To be liftable, a table must either:
– Have a gas rate dependence, gas being the FLOW variable, or have gas dependent RATI variable, or
– Have an ALQ variable of type GLIF (the ALQ value is used in preference if both are present)
• When WLIF is used, the amount of gas lift will be adjusted at the start of each timestep, unless a well
optimisation interval is set with GLOP. The program tests lift values from liftmin to liftmax, increasing the
lift value in steps of packet within this range until the well is operating on a bottom hole pressure or rate
target. If using ALQ variation to represent lift, the well’s ALQ is changed; if not, the value of the gas rate
used in the lift curve lookup is displaced by the lift gas rate.
• If a well has been shut because the well could not operate at the current top hole pressure target, WLIF
attempts to open the well by adding lift.
• Lift is only added whilst improvement, measured as d(Qo)/d(Lift), is greater than the minimum oil rate
improvement specified in argument #4 of the WLIF keyword.
• To stop using gas lift optimisation, set liftmax to zero.

1028 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• The amount of lift gas used by the well is reported as the rate file quantity WLIF if the RATE WELL packet
is selected. The well lift rate is also accounted up through the group system, and can be included in pipeline
calculations if the USEL argument on the PIPE keyword is selected.
• If the ALQ variable is of type GLIF, it is reserved for gas lift: it cannot be set using WALQ.
• A recommended alternative to this keyword is WLIF event.

Examples

1. WLIF is used to optimise the lift value for the well W100.

WLIF W100 1.0 1000 1.34

10.112. WLIF - Optimise the Lift Value for a Well 1029


Tempest MORE Help, Release 8.1

10.113 WLOC - Well Location Input Options

Location

RECU Section (before any well locations specified by x,y coordinates or i,j grid block number)

Description

The WLOC keyword is used to define the default well location format. This keyword consists of one argument for
which there are two possible options where you can choose from either X-Y coordinate or I-J grid value formats.
This argument should be entered on the same line as the keyword itself if used. If no arguments are given, the
default areal well location specification is by x and y coordinates.

Definitions

1. Well location format (optional): X-Y or I-J


• X-Y (default) - well areal locations specifications default to x,y coordinates
• I-J - well areal locations specifications default to grid i,j values

Notes

• The WLOC keyword defines the default well location format - options for individual wells still allow ei-
ther approach to be selected on a well by well basis (please see the LOCA and HORI keywords for more
information.)

Examples

1. WLOC is used to specify that well areal location specifications will default to x-y coordinates for the wells
I-1 and P-1. See WLOC_XY.dat for complete example:

WLOC X-Y

WELL I-1 INJECTS WATR QLIM=2000 PMAX=14700


LOCA 3500 2500
RADI 0.25 /
ZONE SKIN
5*-1 /

WELL P-1 PRODUCES LIQU QLIM=2000 PMIN=1000


LOCA 6500 7500
RADI 0.25 /
ZONE SKIN
5*-1 /

The wells will then be located on the 3D grid as follows:

1030 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

2. WLOC is used to specify that well areal location specifications will default to grid i,j values for the wells
I-2 and P-2. See WLOC_IJ.dat for complete example:

WLOC I-J

WELL I-2 INJECTS WATR QLIM=2000 PMAX=14700


LOCA 4 3
RADI 0.25 /
ZONE SKIN
5*-1 /

WELL P-2 PRODUCES LIQU QLIM=2000 PMIN=1000


LOCA 7 8
RADI 0.25 /
ZONE SKIN
5*-1 /

The wells will then be located on the 3D grid as follows:

10.113. WLOC - Well Location Input Options 1031


Tempest MORE Help, Release 8.1

3. WLOC is used to specify that well areal location specifications default to x,y coordinates for the well I-3
and grid i,j values for the well P-3. See WLOC_XY_IJ.dat for a complete example:

WLOC X-Y

WELL I-3 INJECTS WATR QLIM=2000 PMAX=14700


LOCA 500 500
RADI 0.25 /
ZONE SKIN
5*-1 /

WLOC I-J
WELL P-3 PRODUCES LIQU QLIM=2000 PMIN=1000
LOCA 10 10
RADI 0.25 /
ZONE SKIN
5*-1 /

The wells are then located on the 3D grid as illustrated in the following figure.

1032 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.113. WLOC - Well Location Input Options 1033


Tempest MORE Help, Release 8.1

10.114 WLTA - Set Well Lift Table Addition

Location

RECU Section

Definitions

1. wellname - name of the well to which the lift table addition is to be applied.
2. value - Value of the lift curve addition (Bars or Psi)

WLTA wellname value

Notes

• The lift table addition is added to the bhp predicted after looking up the bhp for the well’s current thp.
• A recommended alternative to this keyword is WLTA event.

Example

WLTA PROD_A 413

1034 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.115 WLTM - Set Well Lift Table Multiplier

Location

RECU Section

Definitions

1. wellname - name of the well to which the lift table multiplier is to be applied.
2. value - Value of lift curve multiplier

WLTM wellname value

Notes

• A recommended alternative to this keyword is WLTM event.

Example

WLTM PROD_A 1.13

10.115. WLTM - Set Well Lift Table Multiplier 1035


Tempest MORE Help, Release 8.1

10.116 WMPG - Well is to Use Multi-phase Gas Pseudo-pressure

Location

RECU Section

Definitions

1. wellname - name of the well to use multi-phase gas pseudo-pressure.

WMPG wellname

Notes

• This keyword is only required if the ALL argument is not used with the MPGP keyword.
• An alternative to this keyword is MPGPP event.

Example

WMPG WEF-12

1036 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.117 WMUL - Overall Well Connection Factor Multiplier

Location

RECU Section

Description

The WMUL keyword is used to specify a single completion connection factor multiplier for all the connections of
a well.
WMUL consists of two required arguments which should both be entered on the same line as the WMUL keyword
itself when used.

Definitions

1. Well name
2. Well completion connection factor multiplier

Notes

• A recommended alternative to this keyword is WMUL event.

Example

1. WMUL is used halve the PI values of a well

WMUL W13A 0.5

10.117. WMUL - Overall Well Connection Factor Multiplier 1037


Tempest MORE Help, Release 8.1

10.118 WPAL - Set Well Pipe Artificial Lift Value

Location

RECU Section

Description

The WPAL keyword is used to specify a well artificial lift quantity for the pipe attached to a well. This only has
an effect when the group has a pipe condition which has been characterised using a table with an artificial lift
variable. Please see the TUBI keyword for details of entering tubing tables with artificial lift.
WPAL consists of two required arguments which should both be entered in succession on the same line as the
GPAL keyword itself when used.

Definitions

1. Well name
2. Well artificial lift quantity

Notes

• To set the artificial lift quantity value for a well (top hole pressure calculation), the WALQ keyword should
be used instead of WPAL. WPAL sets the value for a pipe attached to the well.
• For more information regarding network models, please see the Network Modelling section of the MORE
Technical Reference.
• A recommended alternative to this keyword is WPAL event.

Examples

1. WPAL is used to set a well artificial lift quantity of 14500 for the well PROD_A.

WPAL PROD_A 14500

1038 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.119 WPIP - Attach a Pipe to a Well

Location

RECU Section

Description

The WPIP (well pipe) keyword is used to attach a named pipe to a well. This enables the pressure drop between
the well head and a network node to be calculated. WPIP consists of two required arguments and one optional
one. These arguments should all be entered on the same line as the WPIP keyword itself when used.

Definitions

1. Well name
2. Pipe name
3. OFF (optional) - stops further pipe calculations for the well

Notes

• A recommended alternative to this keyword is WPIP event.

Examples

1. WPIP is used to attach the pipe PT-13 to the well Pr-10A.

WPIP Pr-10A PT-13

The OFF option is then introduced to stop further pipe calculations for the well, as follows:

WPIP Pr-10A 1* OFF

10.119. WPIP - Attach a Pipe to a Well 1039


Tempest MORE Help, Release 8.1

10.120 WPRI - Set Well Priority

Location

RECU Section

Description

The WPRI keyword is used to specify a well priority. This specification will override the default calculation
defined in the PRIO (Priority) keyword. WPRI consists of two required arguments, both of which should be
entered in succession on the same line as the WPRI keyword itself when used.

Definitions

1. Well name
2. Well priority value

Notes

• A recommended alternative to this keyword is WPRI event.

Examples

Example on the usage of the WPRI event can be accessed here.

1040 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.121 WPUM - Attach a Pipeline Pump to a Well

Location

RECU Section

Description

The WPUM (well pump) keyword is used to attach a pipeline pump to a well. This enables a rate-dependent
pressure difference to be added to the well top hole pressure before matching the pipe inflow pressure. WPUM
consists of two required arguments and one optional one, all of which should be entered on the same line as the
WPUM keyword itself when used.

Definitions

1. Well name
2. Pump name
3. OFF (optional) - stops further pipeline pump calculations for the well

Notes

• A recommended alternative to this keyword is WPUM event.

Examples

1. WPUM is used to attach the pump PUMP_23 to the well Pr-10A.

WPUM Pr-10A PUMP_23

The OFF option is then introduced to stop further pipeline pump calculations for the well (effectively remove
the pump), as follows:

WPUM Pr-10A 1* OFF

10.121. WPUM - Attach a Pipeline Pump to a Well 1041


Tempest MORE Help, Release 8.1

10.122 WRG - Well is to Use Russell-Goodrich

Location

RECU Section

Definitions

1. wellname - name of well to use Russell Goodrich.

WRG wellname

Notes

• This keyword is only required if the ALL argument is not used with the RG keyword.
• A recommended alternative to this keyword is RG event.

Example

WRG WEF-12

1042 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.123 WSEG - Requests that a Well be Modelled as a Multi-


Segmented Well

Location

RECU Section

Description

The WSEG keyword is used to request that a well be modelled using the multi-segmented well option. WSEG
consists of five required arguments which should all be entered in succession on the same line as the WSEG
keyword itself when used.

Definitions

1. Well name
2. Maximum segment length
3. Starting measured depth for segment modelling
• Default: the first completion
4. Well absolute roughness
• Default: 10-4 (field), 3 * 10-5 (metric)
• Units: feet (Field), metres (Metric)
5. Name of radius and roughness table entered with RRTA

Notes

• Either the number of segments or the maximum segment length should be specified. Extra segment breaks
will be inserted at completions and well branches.
• Well Track Table and Well Event Table must first be defined using TTAB/ENDT and ETAB/ENDE respec-
tively before WSEG keyword can be used.
• Roughness table using RRTA keyword gets preference over the absolute roughness.
• Detailed information on the multi-segment well model used by Tempest MORE may be found in the Tech-
nical Reference.
• A recommended alternative to this keyword is WSEG event.

Examples

1. WSEG is used to request that the well WPRD be modelled using the multi-segmented well option with a
maximum segment length of 100, a starting measured depth of 5000, and a well default absolute roughness
of 0.375E-4. See WSEG.dat for complete example:

WSEG WPRD 100 5000 0.375E-4

The multi-segmented WPRD well will then appear in the Wells tab of the results where it can be expanded
to show 4 segments with specific plottable 2D multi-segmented well data, as follows:

10.123. WSEG - Requests that a Well be Modelled as a Multi-Segmented Well 1043


Tempest MORE Help, Release 8.1

2. In this example, BRAN is used with the WSEG (multi-segmented well) option.
--* Specify well trajectory in true xyz space
TTAB
--*x y z md
P-1
1500 4500 5000 5000
1500 4500 6000 6000

P-1:1
1500 4500 5500 0
6000 4500 5500 4500
ENDT

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5600 5800 0.5 0 10
01/Jan/2000 PERF 3500 4500 0.5 0 10 BRANCH 1
01/Jan/2000 OPT 5000
01/Jan/2000 BHPT 1500
ENDE

We introduce the BRAN, WSEG, and RRTA keywords to define the branch structure, multi-segmented well
option and a roughness and radius table respectively. See BRAN_WSEG.dat for complete example:
RRTA RTAB1
--MD Rad Roughness
5000 0.10 0.01
5500 0.50 0.05
/

RRTA RTAB2
--MD Rad Roughness
0 0.60 0.55
1000 0.70 0.56
2000 0.80 0.57
3000 0.90 0.58
4000 0.99 0.59
/

1044 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

WSEG P-1 500 5000 0.45 RTAB1


BRAN P-1:1 P-1 5500 RTAB2

The resulting completed branches will appear on the 3D Viewer as follows.

If the argument SEGM under the GENE keyword in the RECU section is entered, the segment properties
can be viewed in the PRINT file and a plot using Tempest VIEW, as shown below:

10.123. WSEG - Requests that a Well be Modelled as a Multi-Segmented Well 1045


Tempest MORE Help, Release 8.1

1046 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.124 WSET - Set up a Set of Wells

Location

RECU Section

Description

The WSET keyword is used to construct a set of wells which can be used in well keywords to represent more than
one well.

Syntax

WSET Name Operation Well-names

Definitions

1. Name (required): a name for the well set


2. Operation (required): one of +, -, clear
Operation Description
+ add the specified well-names to the set
- remove the specified well-names from the set
clear remove all well-names from the set
3. Well-names (optional): one or more well names or well name template; for example, ‘P*’

Notes

1. The name of the well set must not be the name of an already existing well, group, or group set.
2. The name of the well set must not contain * (that is, a wild card character).
3. The operations + and clear create the well set if it does not exist already.
4. When a well keyword is applied to a set of wells, this keyword is applied to all matching wells that currently
exist.

Examples

WSET MYSET + P-1 P-2 'P*'

--Define wells P-1, P-2, P-3...>

--Set all wells matching the template MYSET to a rate of 250 stb/day
WELL MYSET PRODUCE LIQ QLIM=250 PMIN=100

READ 1 YEAR

--Now set well efficiency factors to 0.5


WWEF MYSET 0.5

READ 3 YEARS

For the full dataset see WSET.dat

10.124. WSET - Set up a Set of Wells 1047


Tempest MORE Help, Release 8.1

10.125 WSPC - Set Well Separator Conditions

Location

RECU Section

Description

The WSPC (Well Separator Conditions) keyword is used to attach a separator to a well. WSPC consists of two
required arguments, which should be entered on the same line as the WSPC keyword itself when used.

Definitions

1. Well name
2. Separator conditions name

Notes

• A recommended alternative to this keyword is WSPC event.

Examples

1. WSPC is used to attach the separator conditions XXX to the well P-1.

-- Define separator conditions (note XXX should not be the name of a group)

SEPA XXX EOS ZFAC /


60 14.7 /
/

--Define wells and run to 5 years..

READ 5.0 YEARS

--Reset the separator conditions for well P-1

WSPC P-1 XXX

READ 10.0 YEARS

For the full dataset see WSPC.dat

1048 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.126 WTOL - Well Limit Tolerance

Location

RECU Section

Description

Set the required tolerance for a well limit. An example would be if a well is to be cut back if a water limit is
exceeded. If the limit is exceeded by more than the allowed tolerance, the step is repeated. A maximum number
of step repeats may be specified; after that the simulation proceeds.

Syntax

WTOL Tolerance Nrepeat

Definitions

1. Fractional tolerance allowed


• Default: unlimited
2. Number of repeated steps allowed to achieve required tolerance
• Default: 1

Notes

• A recommended alternative to this keyword is WTOL event.

Example

1. Repeat step if a well limit is exceeded by more than 1%. Allow up to two repeated steps.

WTOL 0.01 2

10.126. WTOL - Well Limit Tolerance 1049


Tempest MORE Help, Release 8.1

10.127 WTRC - Set Tracer Concentration for an Injector Well

Location

RECU Section

Description

The WTRC keyword is used to set the tracer injection concentration for an injector well. WTRC consists of three
required arguments which should be entered on the same line as the WTRC keyword itself when used.

Definitions

1. Name of the well to inject tracer


2. Tracer name
3. Tracer concentration associated with injection well

Notes

• The name of the component to carry the tracer must be in the CNAM in the INPU section.
• Before setting its concentration, the tracer should first be defined using the TRAC keyword.
• The injection concentration for a tracer associated with an injection well may also be defined using the
TRAC event in the RECU section.
• The injection concentration for an aquifer may be defined using the ATRC keyword in the RECU section.
• Tracer dependent property multipliers may be defined with the TFUN keyword.
• A recommended alternative to this keyword is TRAC event.

Examples

1. TRAC is used to define a tracer named TRC1 to be associated with water.

TRAC TRC1 WATR

The TRC1 tracer can now be used with the WTRC keyword in the RECU section to set a tracer concentration
of one mole of tracer per mole of water for I-1 injection well. See WTRC.dat for complete example:

WTRC I-1 TRC1 1.0

The tracer concentration array is then displayed in the Recurrent tab of the results for display in 3D as
illustrated in the following figure where we can observe the distribution of the TRC1 tracer in the reservoir
after 10 years.

1050 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.127. WTRC - Set Tracer Concentration for an Injector Well 1051


Tempest MORE Help, Release 8.1

10.128 WUGR - Set Well User Guide Rate

Location

RECU Section

Description

The WUGR keyword is used to set well user guide rates. A well guide rate enables a group target to be shared
between wells and sub-groups. This keyword consists of two required arguments which should both be entered in
succession on the same line as the WUGR keyword itself.

Definitions

1. Well for which guide rate is to be set


2. Well guide rate

Notes

• Values assigned to the guide rates using WUGR may take on any value. Once all of the desired guide rates
are entered, MORE will sum up all of the guide rates together and then each well with a guide rate will be
assigned a fraction of the total according to their defined guide rates. Please see example below for more
information.
• A recommended alternative to this keyword is WUGR event.

Examples

1. In this example, we have two production wells, P-1 and P-2, which have oil production targets of 3000 and
5000 stb/day, respectively. Both of these wells belong in a group called PRODS and this group is given an
oil production target of 4000 stb/day, as follows. See WUGR_keyword.dat for complete example:

GROUP PRODS P-1 P-2

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 3000.00
P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 5000.00
PRODS
01/Jan/2000 GOPT 4000
ENDE

Once the simulation is run and we plot the oil production rates for P-1 and P-2, we will see that, by default,
the group target of 4000 stb/day for the oil production rate is split evenly between these two wells, with
2000 stb/day coming from each well.

1052 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Now, after 5 years, we introduce WUGR to the dataset and specify that well P-1 has a guide rate of 40 and
well P-2 has a guide rate of 60, as follows:

READ 5 YEARS

WUGR P-1 40
WUGR P-2 60

READ 10 YEARS

STOP

As a result, in 2005, the group oil production rate target of 4000 stb/day is then shared between the wells
according to their well guide rates. Now, well P-1 takes on 40/(40+60)=40% of 4000 stb day (or 1600
stb/day) while well P-2 takes on 60/(40+60)=60% of 4000 stb/day (or 2400 stb/day). When we plot the oil
production rates for these wells, we can observe that this is indeed the case.

10.128. WUGR - Set Well User Guide Rate 1053


Tempest MORE Help, Release 8.1

2. Alternatively, WUGR events (c.f. Tempest MORE events) can be used to specify well guide rates. The
following setup is equivalent to that of above example. See WUGR_event.dat for complete example:

GROUP PRODS P-1 P-2

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 3000.00
01/Jan/2005 WUGR 40
P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 5000.00
01/Jan/2005 WUGR 60
PRODS
01/Jan/2000 GOPT 4000
ENDE

1054 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.129 WVDK - Well is to use Velocity-Dependent Relative Perme-


abilities

Location

RECU Section

Definitions

1. wellname - name of well to use velocity-dependent relative permeabilities.

WVDK wellname

Notes

• This keyword is only required if the ALL argument is not used with the VDKR keyword.
• A recommended alternative to this keyword is VDKR event.

Example

WVDK WEF-12

10.129. WVDK - Well is to use Velocity-Dependent Relative Permeabilities 1055


Tempest MORE Help, Release 8.1

10.130 WWAG - Water and Gas Injection for a Well

Location

RECU Section

Description

The WWAG keyword is used to set up a well as a water alternating gas injector. This keyword consists of three
required arguments and many options, as is further discussed in the following Definitions section of this page. All
of the arguments and any options used should all be entered in succession on the same line as the keyword itself
when used.

Definitions

1. Name of the well to be set up for WAG injection


2. Injection period or volume to be injected for fluid 1
3. Injection period or volume to be injected for fluid 2

Options

• OFF - turn off WAG injection for this well


• A - when WAG is turned off, set well to injection fluid 1
• B - when WAG is turned off, set well to injection fluid 2
• LEAV - when WAG is turned off, leave well injecting fluid being injected at that time
• DAYS (default) - WAG injection is to be controlled by time in days.
• MONTHS - WAG injection is to be controlled by time in months.
• YEARS - WAG injection is to be controlled by time in years.
• SVOL - WAG injection is to be controlled by surface volume
• RVOL - WAG injection is to be controlled by reservoir volume
• RVFR - WAG injection is to be controlled by reservoir volume fraction
• SING - do one WAG sequence only
• NFRA - number of interval fractions to follow keyword (if NFRA>2)

Notes

• The two fluids to be alternately injected must previously have been defined using the AND qualifier of the
WELL keyword.
• If a second fluid is not specified using the AND option and WWAG is used, then the well switches between
injecting the specified fluid and being shut.
• Once the WWAG keyword has been read, the well alternates between two fluids indefinitely.
• At some point, it may be required to turn off the WAG operation and revert to normal operation. This may
be done with the OFF option.
• The default is option TIME and the WAG periods should be specified as time in days for this option.

1056 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• If SVOL is specified, injection volumes for P1 and P2 may be specified as surface volumes. The units in the
SVOL case are Mstb (field) or ksm3 (metric) for water and mmscf (field) or Msm3 (metric) for gas.
• If RVOL is specified, injection volumes P1 and P2 may be specified as reservoir volumes. The units in the
RVOL case are Mrb (field) or krm3 (metric).
• If RVFR is specified, the injection volumes P1 and P2 may be specified as fractions of the total reservoir
reference volume.
• If NFRA is specified with a value greater than 2, a series of weight fractions are expected after the keyword,
terminated with a slash (/) character. These take the form:

wa1 wb1 wa2 wb2...............wan wbn /

where wa1 = weight for the first injection period of injection fluid 1
wb1 = weight for the first injection period of injection fluid 2

n = number of interval fractions

The weights are the required fraction of the targets entered in the second and third arguments of the WWAG
keyword.
• Normally, the weights in the first sequence (wa1, wa2,..., wan) and the weights in the second sequence (wb1,
wb2,...,wbn) should each add up to unity. MORE issues a warning if this is not the case.
• WWAG is similar to the WSWI function but allows a well to be switched between primary and secondary
injection fluids on a time-period basis. WWAG specifies injection periods for the two fluids. The simulator
timesteps are controlled so that if a WAG transition is due, the time step is limited to align with it. This will
not be absolutely precise in the volume case as the amount injected is only known exactly after the time
step.
• A recommended alternative to this keyword is WWAG event.

Examples

1. The well I-1 is set up to have two injection fluids: gas and water. The WWAG keyword is then used to
introduce a WAG sequence which involves alternating between 30 days of gas injection and 30 days of
water injection. See WWAG_time.dat for complete example:

WELL I-1 INJECTS GAS Q=100 P=4000 BHP AND WATR Q=90 P=5000 BHP

WWAG I-1 30 30

READ 1 YEAR

When the gas and water injection rates are plotted on the same graph in 2D, the alternating gas and water
injection every 30 days is apparent.

10.130. WWAG - Water and Gas Injection for a Well 1057


Tempest MORE Help, Release 8.1

1058 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.131 WELL - Well Definition and Control

Location

RECU Section

Description

The WELL keyword is used to provide well definitions and controls. WELL consists of at least five required
arguments, all of which should be entered in succession on the same line as the WELL keyword itself when used.

Definitions

1. Well name
2. Well action: PROD, INJE, STOP, or SHUT
• PROD - specifies a production well
• INJE - specifies an injection well
• STOP - stop the well (zero surface rate but the possibility of cross-flow)
• SHUT - shut the well (remove well from simulation); can also be achieved by setting the rate limits to
zero
3. Well limit: name of the well primary rate limit
• For producer: OIL, WAT, GAS, LIQU, or RESV
• For injector: GAS, WAT, OIL (MORE 6 permits oil injection)
• Historical rate targets: HOIL, HGAS, HWAT, HLIQ, HRES, HRGI, HRWI
• Historical pressure targets: HBHP, HTHP
4. Flow rate limit:
• If a single value is supplied, it must be the value of the primary rate. If values for all of the wells
streams are supplied, the appropriate value for the chosen primary limit is used.
• Units: stb/d for liquids, Mscf/d for gas (Field); standard m3 /d for liquids, 1000 m3 /d for gas (Metric)
• Setting all rate limits to zero shuts the well (see above)
5. Pressure limit: PLIM
• Minimum producing pressure or maximum injection pressure
• Units: psi (Field); bar (Metric)
6. [Comments]
• Comments may appear to the left of the equal (=) signs to provide documentation and improved read-
ability.
• Normally, the first equal sign defines the rate and the second equal sign defines the pressure. However,
it is possible to override this convention:
– If the string before the equal sign starts with a Q (e.g. Q=40000), with no intervening blank, the
value is interpreted as a rate.
– If the string before the equal sign starts with a P (e.g. P=14.7), with no intervening blank, the
value is interpreted as a pressure.
7. Limiting pressure: BHP or name of a TUBI table

10.131. WELL - Well Definition and Control 1059


Tempest MORE Help, Release 8.1

• BHP - indicates limiting pressure is a bottom hole pressure


• name of a TUBI table - indicates limiting pressure is a tubing head pressure
8. AND - optional qualifier; used to input two injection fluids for use with WWAG and WSWI (WSWITCH)
keywords (see also the following Notes section).
9. HWEF - use historical well efficiency factors

Notes

• For producers, the target fluid RESV requests that a specified volume at reservoir conditions be removed
from the reservoir. The units are rb and m3 for field and metric units, respectively.
• The historical specifications expect that a table of historical data has been supplied with HFIL or HTAB.
Reservoir voidage (RESV) to match surface rates:
• RESV is a special option for a production well. It is common to have oil, gas, and water historical rates and
operate a well such that it matches the total reservoir volume of the three phases. This is often useful in the
early stages of a history match when the water cut and/or gas-oil ratios are incorrect but the correct overall
voidage should still be matched.
• MORE allows this to be done using the RESV well control, but specifying three rates, which are interpreted
as oil, gas, and water rates in surface units.

Note: this is the usual MORE order - oil, gas, water; not oil, water, gas as is used in ECLIPSE and other
simulators.

• Please see Example #3 for more information.


• If QRES is specified in the historical rate table, this is used instead of the combined rate mentioned above.
If controlling an injector by reservoir voidage rate, use HRGI or HRWI - so that the well knows which fluid
to inject.
The AND option for injection wells:
• It is possible to enter two well streams with a single WELL keyword using the AND qualifier, and then
switch between these streams using the WSWI (WSWITCH) keyword, or alternate periodically using the
WWAG keyword. Each fluid has its own rate target and its own bottom hole pressure or top hole pressure
limit.
• AND does not allow the simultaneous injection of the two fluids, but enables the well to be switched between
the two. If no other action is taken, the well injects the first fluid specified.
• When using AND, it is necessary to enter either BHP or the name of a tubing table (BHP is the default and
can usually be omitted, but it is required to prevent the AND being interpreted as a tubing table name). See
Example #2 below for more information.

Examples

1. WELL is used to define an oil producer with a maximum production rate of 1000 and a minimum pro-
ducing bottom hole pressure of 500 (at datum). For a complete well definition, LOCA is also used to
specify the location of the well in (x,y) coordinates, RADI is used to assign a wellbore radius of 0.5, and
ZONE_completion is used to assign completions to the well.

WELL WPRD PROD OIL Q=1000 PLIM=500


LOCA 9500 7500
RADI 0.5
ZONE MULT
1 1 0 0 0 /

1060 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

2. WELL is used with the optional qualifier AND to enter two well streams in a single WELL keyword. In
this example, we have an injector well with a water stream and a gas stream. WSWI (WSWITCH) is then
used to switch between these two streams every few years. See WELL_AND.dat for complete example:

WELL WINJ INJE WATR Q=1000 P=4000 BHP AND GAS Q=800 P=5000 BHP

TIME 1 YEAR
WSWI WINJ
TIME 2 YEARS
TIME 3 YEARS
WSWI WINJ
TIME 4 YEARS
WSWI WINJ
TIME 5 YEARS
STOP

When the gas and water injection rates are plotted for WINJ, we can see the well switch from water to gas
injection or vice versa with every instance of WSWI.

3. WELL is used to set up a history matching well with the RESV option.

WELL EK12 PROD RESV Q=4322.1 3252.0 2010.0 P=130.0

When this well specification is entered, MORE calculates the volume of 4322.1 stb oil, 3252.0 Mscf gas,
and 2010.0 stb water at the well BHP pressure of 130.0 and then run this well to produce this volume per
day. The actual production does not generally match the individual oil, gas, and water rates, but it represents
the same voidage production.
When this option is used, the historical well summary file items WOPRH, WGRPH, and WWPRH are filled
in with the numbers entered so that these can be compared with the calculated phase rates.
4. In this example, WELL is used with the HOIL and HWEF options to indicate that it should use its historical
tabulated quantities (given by either HFIL or HTAB) for its oil rate and well efficiency factor, respectively.

WELL P-1 PRODUCE HOIL HWEF QLIM=1000 PMIN=3000

10.131. WELL - Well Definition and Control 1061


Tempest MORE Help, Release 8.1

10.132 CIJK - Completions for Deviated Wells

Location

RECU Section (after the WELL keyword)

Description

The CIJK sub-keyword of WELL is used to provide a simple means of entering connection information for hori-
zontal wells. As a sub-keyword of WELL, CIJK can only be used after the WELL keyword is specified.
If the Events format is used to enter well data, please use the CIJK event to enter completions for deviated wells.
After the CIJK keyword is specified, each line of data provided below it will represent the data for one completion.
Each line of data can have up to twelve arguments, of which, the first eight arguments are required. Following the
final row of CIJK data in the table, a solitary slash (/) on its own line is required to terminate the data entry for this
keyword.

Definitions

1. i-coordinate of the completion


2. j-coordinate of the completion
3. k-coordinate of the completion
4. Direction of the completion within the grid block: X, Y, Z, FX, or FY
• X - completion in the x-direction
• Y - completion in the y-direction
• Z (default) - completion in the z-direction
• FX - fractured completion in the x-z plane (i.e. flow occurs into the completion in the cell y-direction)
• FY - fractured completion in the y-z plane (i.e. flow occurs into the completion in the cell x-direction)
5. Wellbore radius
• NOTE: may be defaulted if well value has been entered with RADI
6. Product of completion cell permeability and distance (KH)
• Default: grid block value
• NOTE: KH depends on the direction of the completion within the grid block as specified in argument
#4.
7. Skin factor
• Default: 0 or well default if skin has been entered with RADI
8. Cell equivalent radius (the radius used in the completion connection factor and the distance from the well at
which the average cell pressure is taken to act)
9. Connection multiplier (optional)
• Default: 1 but may be entered to modify the calculated connection factor by a factor of M
10. Local grid name (optional)
• Default: defaults to the global grid and only needs to be specified if a local grid completion is required
11. Fracture extent (optional)
• NOTE: only relevant when FX or FY completion directions are used in argument #4.

1062 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

12. D-factor for the completion (optional)


• Units: day/mscf (Field), day/ksm3
13. Saturation table number for the completion (optional)
• Default: defaults to the saturation table number for the grid cell containing the completion

Notes

• The effect of a D-factor is to increase the effective skin of the completion as a function of the gas flow rate.
• If the FX or FY completion direction is specified, the fracture is assumed by default to extend across the
cell in the x- or y- direction.
• If the fracture extent is specified, the fracture may be given a total length of 2*FractureExtent (i.e. it extends
by the specified distance in each direction.
• See Well Index Calculations for more information regarding D-factors and fractured completions.
• When the WELL keyword is used, well completions can also be specified using the HORI, DEVI, or COMP
keywords. If the events format is being used, well completions can be specified using the PERF or CIJK
events.
• The saturation table used to calculate the completion mobilities is normally taken from the grid cell con-
taining the completion. This may be overriden by specifying a non-default value for the 13th argument.
The same saturation table number applies when hysteresis is present and the saturation tables (e.g. KRGO,
KRWG and KRWO) are specified with columns for both drainage and imbibition processes.
When the saturation table has been specified in the 13th argument and End Point Scaling is used, keyword
WEPS may be used to control whether the end points for the completion mobility calculation are taken from
this saturation table or from the grid cell containing the completion.

Examples

1. CIJK is used to specify the completions for the horizontal well I-1. The completion will be completed in the
third layer of the grid in the X-direction, starting and ending in cell 2 to 9 in the i-direction, respectively. As
the well radius has been provided by RADI , the remaining 4 required arguments for CIJK can be defaulted.
See CIJK.dat for complete example:

WELL I-1 INJE WATR QLIM=10000 PMAX=5000


RADI 0.25
CIJK
2 10 3 X 3*
3 10 3 X 3*
4 10 3 X 3*
5 10 3 X 3*
6 10 3 X 3*
7 10 3 X 3*
8 10 3 X 3*
9 10 3 X 3*
/

The deviated well and its completions will then appear in the 3D Viewer as follows:

10.132. CIJK - Completions for Deviated Wells 1063


Tempest MORE Help, Release 8.1

Note: The well completion markers in red in the picture above are simply markers. They do not indicate the
true completion intervals of the horizontal well. They are markers that indicate the cells with completions
in them. For true completion intervals to be displayed in Tempest View, the well tracks should be entered
using the TTAB / ENDT or TFIL keywords instead of the CIJK well subkeyword. The well completions can
then be input using the well sub-keyword COMP or the events format should be used for well specifications,
using the PERF event to define completions. See the events section of the Tempest MORE documentation
for more information about the use of Events.

1064 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.133 COMP - Complete Well Along Welltrack

Location

RECU Section (after the WELL keyword)

Description

The COMP (complete) keyword is used to specify completions along a well whose welltrack has been specified
using the TFIL or TTAB / ENDT keywords. COMP is a WELL sub-keyword and can only be used after the WELL
keyword is specified.
COMP consists of up to seven required arguments and one optional argument which should all be entered in
succession on the same line as the COMP keyword itself when used.

Definitions

1. Name of the track table to be used as specified by TFIL or TTAB /ENDT


2. Measured depth at start of the completed interval
• Units: feet (Field), metres (Metric)
3. Measured depth at end of completed interval
• Units: feet (Field), metres (Metric)
4. Radius of well over this interval
• Default: 6 inches
5. Skin factor + Default: 0
6. Multiplying factor + Default: 1
7. Saturation table number for the completion (optional) + Default: defaults to the saturation table number for
the grid cell containing the completion
In addition, optional arguments may be specified after the previous arguments:
• Dual porosity and dual permeability run completions (optional): FRAC, MAT, or BOTH
– FRAC (default) - in dual porosity and dual permeability runs complete in fracture cells only
– MAT - in dual porosity and dual permeability runs complete in matrix cells only
– BOTH - in dual porosity and dual permeability runs complete in both fracture and matrix cells
– Please see Example #5 below for more information.

Notes

• It is possible to define more than one completion interval using COMP. Please see Example #2 below for
more information.
• If a new completion interval is set up, it is applied over any existing one. Please see Example #3 below for
more information.
• When the WELL keyword is used, well completions can also be specified using the HORI, DEVI, or CIJK
keywords. If the events format is being used, well completions can be specified using the PERF or CIJK
events.
• For more information about dual porosity and dual permeability grids, please refer to the DPOR and DPER
keywords respectively.

10.133. COMP - Complete Well Along Welltrack 1065


Tempest MORE Help, Release 8.1

• The saturation table used to calculate the completion mobilities is normally taken from the grid cell contain-
ing the completion. This may be overriden by specifying a non-default value for the 7th argument. The same
saturation table number applies when hysteresis is present and the saturation tables (e.g. KRGO, KRWG and
KRWO) are specified with columns for both drainage and imbibition processes.
When the saturation table has been specified in the 7th argument and End Point Scaling is used, keyword
WEPS may be used to control whether the end points for the completion mobility calculation are taken from
this saturation table or from the grid cell containing the completion.

Examples

1. COMP is used to specify a completion interval for the well WINJ based on the T-WINJ track table specified
in TTAB. The completion will start at a measured depth of 5800 and end at a measured depth of 6000 with
a radius of 0.25, no skin factor, and a multiplying factor of 1.
TTAB
--* x y z md
T-WINJ
500.000 500.000 5000.00 5000.00
500.000 500.000 6000.00 6000.00
ENDT

WELL WINJ INJE WATR Q=2000 PMAX=10000


COMP T-WINJ 5800 6000 0.25 0.0 1.0

The resulting completion will appear on the 3D Viewer as follows:

2. COMP is used to specify two completion intervals for the well WPRD, both based on the T-WPRD track
table specified in TTAB. The first completion will start at a measured depth of 5000 and end at 5200 with
a radius of 0.25, no skin factor, and a multiplying factor of 1. The second completion starts at a measured
depth of 5600 and ends at 5800, again with a radius of 0.25, no skin factor, and a multiplying factor of 1.
See COMP.dat for complete example:
TTAB
--* x y z md
T-WPRD
9500.00 9500.00 5000.00 5000.00
9500.00 9500.00 6000.00 6000.00
ENDT

WELL WPRD PROD OIL Q=2000 PMIN=500


COMP T-WPRD 5000 5200 0.25 0.0 1.0
COMP T-WPRD 5600 5800 0.25 0.0 1.0

1066 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

The resulting completions will appear on the 3D Viewer as follows:

3. This example demonstrates the application of a new completion interval over an existing one. First, COMP
is used to specify a completion interval for the well P-1. This completion uses the TP-1 track table and starts
at a measured depth of 5000 and ends at 6000 with a radius of 0.25, no skin, and a multiplying factor of 1.
See COMP_Ex3.dat for COMP_Ex3lete example:

TTAB
--* x y z md
TP-1
9500.00 500.00 5000.00 5000.00
9500.00 500.00 6000.00 6000.00
ENDT

WELL P-1 PROD OIL Q=2000 PMIN=500


COMP TP-1 5000 6000 0.25 0.0 1.0

READ 2 YEARS

Thus, the completion interval for P-1 will then appear in the 3D Viewer as follows:

Then, say after 2 years, we add a new completion interval to zero a portion of the first completion interval.
This time, COMP will be used again to specify a completion interval which starts and ends at a measured
depth of 5400 and 5800, respectively. It will have a radius of 0.25, no skin, and a multiplying factor of 0
this time to zero a portion of the first completion interval.

WELL P-1 PROD OIL Q=2000 PMIN=500


COMP TP-1 5400 5800 0.25 0.0 0.0

We will then see that a section of the original completion from 5400 to 5800 has been zeroed and the new
completion interval will appear as shown below:

10.133. COMP - Complete Well Along Welltrack 1067


Tempest MORE Help, Release 8.1

4. Completions for horizontal wells can also be specified using COMP. In this example, we specify a horizontal
trajectory for the well WPRD using TTAB and use COMP to specify two different completion intervals for
this well. Both completion intervals for this well will be based on the T-WPRD track table and have a
radius of 0.25, no skin factor, and a multiplying factor of 1. The first completion interval will range from a
measured depth of 5000 to 5200 while the second completion interval will range from 5500 to 5900. See
COMP_Horizontal.dat for COMP_Horizontallete example:

TTAB
--* x y z md
T-WPRD
9500.00 9500.00 5000.00 5000.00
9500.00 9500.00 5500.00 5500.00
9500.00 500.00 5500.00 6000.00
ENDT

WELL WPRD PROD OIL Q=2000 PMIN=500


COMP T-WPRD 5000 5200 0.25 0.0 1.0
COMP T-WPRD 5500 5900 0.25 0.0 1.0

The resulting completions will appear on the 3D Viewer as follows:

5. COMP is used to specify a completion interval for the well P-1 in a dual porosity (DPOR) grid. The
completion interval is based on the P-1 track table provided by TTAB and starts and ends at a measured
depth of 4000 and 4030, respectively. Its radius is specified as 0.25 with no skin factor and a multiplying
factor of 1.0. The BOTH option is also used with COMP to request that the completions are made in both
the fracture and matrix grids. (By default, completions are only made in the fracture grid in a dual porosity
or dual permeability run.) See dualporo_COMP.dat for dualporo_COMPlete example:

--* Specify well trajectory in true xyz space


TTAB
--* x y z md
P-1

1068 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

562.50 562.50 4000.00 4000.00


562.50 562.50 4030.00 4030.00
ENDT

WELL P-1 PROD LIQUID Q=210.00 P=1000.00


COMP P-1 4000.00 4030.00 0.2500 0.00 1.00 BOTH

As a result, the well P-1 will be completed in both the fracture and matrix grids, as shown below:

10.133. COMP - Complete Well Along Welltrack 1069


Tempest MORE Help, Release 8.1

10.134 CONV - Well Conversion Information

Location

RECU Section (after the WELL keyword)

Description

The CONV (conversion) keyword is used to define well conversion information for when the well is converted
due to a limit set by WLIM. CONV is a WELL sub-keyword and can only be used after the WELL keyword is
specified.
Arguments for CONV consist of three required arguments which should all be entered in succession on the same
line as the CONV keyword itself when used.

Definitions

1. Name of injection fluid


• The possible names are:
(a) a component name for injection of a component
(b) a standard composition name for injection of that composition
(c) if neither of the above, values of z-fluid must be supplied on the next line below the CONV
keyword (please also see Argument #4 below)
2. Maximum rate for injection (qlimit)
• Format: [comment] = qlimit
– Comments may appear to the left of the equal (=) sign to provide documentation and improved
readability.
• Units: stb/day for liquid, Mscf/day for gas (Field); standard m3 /day for liquid or gas (Metric)
3. Maximum injection pressure (plimit)
• Format: [comment] = plimit
– Comments may appear to the left of the equal (=) sign to provide documentation and improved
readability.
• Units: psi (Field), bar (Metric)
• Note: Pressures correspond to the datum depth, as specified by DATU.
4. List of z-fluid values (needed only if name of injection fluid in Argument #1 is not a component name or a
standard composition name)
• If Option #3 of Argument #1 is used (values of z-fluid), MORE will expect the user to provide a list
of z-fluid values on a separate line below the CONV keyword.

Notes

• A recommended alternative to this keyword is CONV event.

1070 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. CONV is used to convert the producer well P-1 into an injector well when its oil production rate falls below
1500 stb/day, as specified by WLIM. See CONV.dat for complete example:

WELL P-1 PRODUCE OIL QLIM=3179.75 PMIN=68.9475


LOCA 2895.6 2895.6
RADI 0.0762
ZONE MULT
1 1 1
WLIM 1500 OIL MIN CONV
CONV WATR QLIM=500 PMAX=10000

As a result, once the oil production rate goes below 1500 stb/day, P-1 is converted into an injector to start
injecting water at a rate of 500 stb/day and stop producing oil, as shown in the plot below.

Additionally, the conversion of the well from producer to injector will also be reflected in the well’s icon in
the Well tab of Tempest View, as follows:

10.134. CONV - Well Conversion Information 1071


Tempest MORE Help, Release 8.1

10.135 CPLY - Injected Polymer Concentration

Location

RECU Section (after the WELL keyword)

Description

The CPLY (polymer concentration) keyword is used to specify the polymer concentration of water injected by a
well when the POLY (polymer) option has been turned on in the INPU (Input) or FLUI (Fluid) sections. If CPLY
is not specified, water will be injected with zero polymer concentration. CPLY is a WELL sub-keyword and can
only be used after the WELL keyword is specified.
CPLY consists of one required argument which should be entered on the same line as the CPLY keyword itself
when used.

Definitions

1. Polymer concentration
• Units: lbs/stb (Field), kg/sm3 (Metric)

Notes

• A recommended alternative to this keyword is POLY event.

Examples

1. CPLY is used to specify a polymer concentration of 15% for the injection well I-1. See polymer.dat for
complete example:

WELL I-1 INJE WATR QLIM=4000 PMAX=10000


CPLY 0.15

Polymer injection and production rates and totals can then be plotted in 2D from the Wells tab of the results,
as follows:

Plotting the polymer injection rate for well I-1 for the first 5 years, the following plot is obtained:

1072 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Polymer concentration data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

10.135. CPLY - Injected Polymer Concentration 1073


Tempest MORE Help, Release 8.1

10.136 CWAG - Continuous Water and Gas Injection for a Well

Location

RECU Section

Description

The CWAG keyword is used to specify the continuous injection of water and gas for a well. CWAG consists of
three arguments, all of which should be entered in succession on the same line as the CWAG keyword itself when
used.

Definitions

1. Name of the well to be set up for WAG injection


2. Continuous gas-to-water ratio
3. OFF (optional) - turn off CWAG injection for this well

Notes

• The amount of gas is specified as a surface volume ratio to the water (i.e. Mscf/stb or ksm3 /sm:sup:3). Once
CWAG has been selected, both surface water rate and surface gas rate control modes are available. The well
will attempt to meet the target for whichever phase is controlled, and inject the associated amount of the
other phase. This will continue until CWAG mode is turned off. Once CWAG is turned off, the well reverts
to being a water injector.
• A recommended alternative to this keyword is CWAG event.

Examples

1. CWAG is used to set up well I-1 to inject 0.2 ksm3 of gas for every sm3 of water injected, and attempt to
inject 90sm3 /day of water. See CWAG.dat for complete example:

WELL I-1 INJE WATR Q=90 P=5000 BHP

CWAG I-1 0.2

READ 3 YEARS

Thus, a water injection rate of 90sm3 /day for well I-1 and a CWAG continuous gas-to-water ratio of 0.2 will
result in the injection of 90*0.2 = 18ksm3 /day of gas for well I-1. At some point, it may be required to turn
off the CWAG operation and revert to water injection. This may be done with the OFF argument:

CWAG I-1 1* OFF

READ 4 YEARS

The resulting water and gas injection from the CWAG specifications can be seen in the 2D plot below:

1074 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.136. CWAG - Continuous Water and Gas Injection for a Well 1075
Tempest MORE Help, Release 8.1

10.137 DEVI - Deviated Well Location

Location

RECU Section (after the WELL keyword)

Description

The DEVI (Deviated Well) keyword is used to define the well location for a deviated well. DEVI is a WELL
sub-keyword and can only be used after the WELL keyword is specified.
Arguments for DEVI consists of a table with three columns that represent the i-j-k coordinates of the well location.
The first i,j,k-location coordinates should be entered on the same line as the DEVI keyword itself. All other
subsequent i,j,k-location coordinates should be entered below this. Following the final row of DEVI data in the
table, a solitary slash (/) on its own line is required to terminate the data entry for this keyword.

Definitions

1. i-location of the well


2. j-location of the well
3. k-location of the well

Notes

• All grid blocks through which the deviated well passes have to be specified. CIJK and TFIL are usually
more convenient ways of entering deviated or horizontal wells.
• When the WELL keyword is used, well completions can also be specified using the COMP, HORI, or CIJK
keywords. If the events format is being used, well completions can be specified using the PERF or CIJK
events.

Examples

1. DEVI follows after the WELL keyword to specify the location is a deviated well. The grid locations where
the deviated well is completed are (2,5,1), (3,5,2), (4,5,3), (5,5,4), and (6,5,5). See DEVI.dat for complete
example:

WELL P-1 PROD LIQU QLIM=3000 PMIN=1500


DEVI 2 5 1
3 5 2
4 5 3
5 5 4
6 5 5
/

This deviated well will then appear as follows in the 3D Viewer:

1076 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Note: The well completion markers in red in the picture above are simply markers. They do not indicate the
true completion intervals of the deviated well. They are markers that indicate the cells with completions in
them. For true completion intervals to be displayed in Tempest View, the well tracks must be entered using
TTAB /ENDT or TFIL keywords instead of DEVI. The well completions can then be input using the well
sub-keyword COMP or the events format should be used for well specifications, using the PERF event to
define completions. Please see the Events section of the user guide for more information about the use of
Events in Tempest MORE.

10.137. DEVI - Deviated Well Location 1077


Tempest MORE Help, Release 8.1

10.138 DFAC - Well D-Factor

Location

RECU Section (after the WELL keyword)

Description

The DFAC (D-Factor) keyword is used to specify the D-factor for a well. The effect of a D-factor is to increase
the effective skin of the well completions as a function of the gas flow rate. DFAC is a WELL sub-keyword and
can only be used after the WELL keyword is specified.
DFAC consists of one required argument which should be written on the same line as the DFAC keyword itself
when used.

Definitions

1. D-factor value
• Units: day/mscf (Field), day/ksm3 (Metric)
• Default: 0

Notes

• It is also possible to specify the D-factor for an individual completion using the CIJK keyword.
• In metric units, MORE uses a D-factor specified in terms of a gas rate in ksm3 /day. Some simulators use
gas rates in sm3 /day, and so D-factors in day/sm3 .
• Please see the Well Index Calculations section of the MORE Technical Reference for more information
regarding D-factors.
• A recommended alternative to this keyword is DFAC event.

Examples

1. DFAC is used to specify a D-factor of 0.0021 for the well L415.

WELL L415 PROD OIL Q=100 P=50


LOCA 414 985
DFAC 0.0021

1078 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.139 DRAW - Set Drawdown Target

Location

RECU Section (after the WELL keyword)

Description

The DRAW keyword is used to apply a drawdown target to a well defined by the WELL keyword. The default in
MORE is to not apply drawdown target to wells. DRAW is a WELL sub-keyword and can only be used after the
WELL keyword is specified.
DRAW consists of one required argument which should be entered on the same line as the DRAW keyword itself
when used.

Definitions

1. Drawdown target
• Units: psi (Field), bars (Metric)

Notes

• The drawdown for the well is the average of the drawdown for each completion, weighted by the connection
factor for each completion.
• The drawdown for a completion is:

Pdd = Pcell − Pbhp − G × ρ × (dcell − dref )

where:
– Pdd is the drawdown pressure,
– Pcell is the cell pressure,
– Pbhp is the well bhp,
– dcell is the cell depth,
– dref is the bhp reference depth,
– ρ is the average wellbore fluid density,
– and G is the gravity constant.
• The draw-in for an injector completion is:

Pdd = Pdi

where:
– Pdd is the drawdown pressure,
– Pdi is the draw-in pressure.
• A recommended alternative to this keyword is DRAW event.

10.139. DRAW - Set Drawdown Target 1079


Tempest MORE Help, Release 8.1

Examples

1. DRAW is used to limit the maximum drawdown for a well to 10 bars. See DRAW.dat for complete example:

WELL P-1 PROD OIL QLIM=4179 PMIN=88


LOCA 2895.6 2895.6
RADI 0.0762
DRAW 10
ZONE MULT
3*1

Drawdown pressures can be plotted in 2D with the draw down pressure (wpdd) vectors that appears in the
Wells tab of the results in Tempest View, as follows:

2. Drawdown control can also be applied to injectors. For injectors, this limits the draw-in (this has the opposite
sign to the drawdown). In the example below, the well will be limited to a maximum draw-in of 5 bars.

WELL I-1 INJE GAS QLIM=2831.68 PMAX=1378.95


LOCA 152.4 152.4
DRAW 5

When the drawdown pressure is plotted for the I-1 injector well, we will see the following:

1080 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.139. DRAW - Set Drawdown Target 1081


Tempest MORE Help, Release 8.1

10.140 DREF - Well Bottom Hole Pressure Reference Depth

Location

RECU Section (after the WELL keyword)

Description

The DREF keyword is used to specify an individual bottom hole pressure reference depth for a well that is defined
by the WELL keyword, overriding the default set by the DATU keyword. DREF may be set more than once in a
run, but until DREF is set for the first time, the default datum value defined by DATU will apply. DREF is a WELL
sub-keyword and can only be used after the WELL keyword is specified.
DREF consists of one required argument which should be entered on the same line as the DREF keyword itself
when used.

Definitions

1. Bottom hole pressure reference depth


• Units: feet (Field), metres (Metric)

Notes

• A recommended alternative to this keyword is DREF event.

Examples

1. DREF is used to specify a reference depth of 4510 for the well P-1.

WELL P-1 PROD LIQU QLIM=210 PMIN=1000


LOCA 8 8 I-J
DREF 4510

1082 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.141 HIST - Historical Well Data

Location

RECU Section (after the WELL keyword)

Description

The HIST keyword is used to specify historical well rates. HIST is a WELL sub-keyword and can only be used
after the WELL keyword is specified.
HIST consists of up to seven pairs of arguments, all of which should be entered on the same line as the HIST
keyword itself when used.

Definitions

The following pairs of arguments may appear in any order after the HIST keyword:
1. OIL and historical oil rate
2. WATR and historical water rate
3. GAS and historical gas rate
4. BHP and historical bottom hole pressure
5. THP and historical top hole pressure
6. WCT and historical water cut
7. GOR and historical gas-oil ratio

Notes

• If data is entered with HIST, it will automatically be included in MORE output files and is available for
plotting in Tempest.
• If using ECLIPSE files, the relevant summary file mnemonics are:
– WOPRH, WWPRH, WGPRH - historical oil, water, and gas production rates
– WWIRH, WGIRH - historical water and gas injection rates
– WBHPH, WTHPH - historical bottom and top hole pressures
– WWCTH, WGORH - historical water cut and GOR values

Examples

1. HIST is used to specify a historical oil rate, gas rate, bottom hole pressure, top hole pressure, and gas-oil
ratio for the well P-1.

WELL P-1 PROD OIL QLIM=3179.75 PMIN=68.9475


HIST OIL 3108 GAS 4200 BHP 5799 THP 2243 GOR 1800

These historical rates will then appear in the Wells tab of the results for 2D plotting, as follows:

10.141. HIST - Historical Well Data 1083


Tempest MORE Help, Release 8.1

1084 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.142 HORI - Horizontal Well Location

Location

RECU Section (after the WELL keyword)

Description

The HORI (Horizontal Well) keyword is used to specify the location of a horizontal well when used with the
WELL keyword. HORI is a WELL sub-keyword and can only be used after the WELL keyword is specified. HORI
consists of four required arguments and three optional ones, all of which should be entered on the same line as the
HORI keyword itself when used.

Definitions

1. X-coordinate or i-location of the well


• Units: feet (Field), m (Metric)
2. Y-coordinate or j-location of the well
• Units: feet (Field), m (Metric)
3. X- or y-coordinate (or i- or j-location) of the end of the horizontal well (depends on well direction)
4. K-location of the well
5. Direction of the horizontal well: IN-X or IN-Y (optional)
• IN-X (default) - well is in the x-direction (X-DI can also be used)
• IN-Y - well is in the y-direction (Y-DI can also be used)
6. Coordinate system: I-J or X-Y (optional)
• I-J - location is by grid block (i,j) values
• X-Y - location is by (x,y) coordinates
• Default is determined by WLOC
7. Application of rotation-translation: NORO or ROTA (optional)
• NORO - do not apply ROTA rotation-translation to x and y (only required if the ROTA keyword has
been used)
• ROTA (default) - apply ROTA rotation-translation data to x and y

Notes

• CIJK and TFIL or TTAB are usually more convenient ways of entering deviated or horizontal wells - these
will calculate completion connection factors automatically.
• When the WELL keyword is used, well completions can also be specified using the COMP, DEVI, or CIJK
keywords. Zone completions can be specified using the ZONE keyword. If the events format is being used,
well completions can be specified using the PERF or CIJK events.

10.142. HORI - Horizontal Well Location 1085


Tempest MORE Help, Release 8.1

Examples

1. HORI is used to specify a x-direction horizontal injection well, I-1, which is located in the third layer of a
10x10x5 grid. The well is completed in the x-direction at i=2 through 9 and at j=10.

WELL I-1 INJE WATR QLIM=10000 PMAX=5000


HORI 2 10 9 3 IN-X I-J
RADI 0.5

The horizontal well and its completions will then appear in the 3D Viewer as follows:

Note: The well completion markers in red in the picture above are simply markers. They do not indicate the
true completion intervals of the horizontal well. They are markers that indicate the cells with completions in
them. For true completion intervals to be displayed in Tempest View, the well tracks must be entered using
TTAB /ENDT or TFIL keywords instead of HORI. The well completions can then be input using the well
sub-keyword COMP or the events format should be used for well specifications, using the PERF event to
define completions. See the Events section of the user manual for more information about the use of Events
in Tempest MORE.

1086 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.143 LIFT - Artificial LIFT

Location

RECU Section (after the WELL keyword)

Description

The LIFT keyword is used to specify the use of a lift gas injection for a well that is specified by the WELL keyword.
LIFT is a WELL sub-keyword and can only be used after the WELL keyword is specified.
LIFT consists of up to three arguments which should all be entered on the same line as the LIFT keyword itself
when used.

Definitions

1. Name of the injected fluid (fluidname) OR Name of the downhole pump table name (pumpname):
• Note: Currently, only GAS is possible for fluidname
2. Rate of lift gas injection (required argument when a fluidname is given in argument #1)
3. Turn lift on or off: ON or OFF (optional argument when a fluidname is given in argument #1)
• ON (default) - turn on the lift gas injection
• OFF - turn off lift gas injection

Notes

• The lift fluid rate is added to the flowing fluid stream for lift calculations only and hence, does not show up
in the produced fluid rates.
• A recommended alternative to this keyword is LIFT event for setting lift gas rate or PUMP event for speci-
fying a downhole pump.

Examples

1. LIFT is used to specify that a downhole pump is used to provide artificial lift for the injection well I-1. The
pump performance is given in table PMP1 (which is specified using the PUMP keyword. Please see the
PUMP keyword for more information.)

WELL I-1 INJE GAS QLIM=2831.68 PMAX=1378.95


LIFT PMP1

10.143. LIFT - Artificial LIFT 1087


Tempest MORE Help, Release 8.1

10.144 LOCA - Vertical Well Location

Location

RECU Section (after the WELL keyword)

Description

The LOCA (location) keyword is used to specify the location of a vertical well. LOCA is a WELL sub-keyword
and can only be used after the WELL keyword is specified. LOCA can only complete a well in the global grid or
one local grid. It is possible to complete a well in more than one grid using the more flexible CIJK keyword.
LOCA consists of two required arguments and three optional ones, all of which should be entered in succession
on the same line as the LOCA keyword itself when used.

Definitions

1. X-coordinate or i-value of the well location


• Default: 0
• Units: feet (Field), m (Metric)
2. Y-coordinate or j-value of the well location
• Default: 0
• Units: feet (Field), m (Metric)
Coordinate system: I-J or X-Y (optional)
• I-J - location is by grid block (i,j) values
• X-Y - location is by (x,y) coordinates
• Default is determined by WLOC
Application of rotation-translation: NORO or ROTA (optional)
• NORO - do not apply ROTA rotation-translation to x and y (only required if the ROTA keyword has been
used)
• ROTA (default) - apply ROTA rotation-translation data to x and y
Name of local grid (optional) - for wells located in a local grid

Notes

• WLOC sets the default for well locations. The X-Y or I-J options overrides the default.
• When the location of a well is supplied, it is automatically completed in all layers with zonal multipliers of
1.0.
• If the location supplied does not correspond to a grid point (for X-Y option), then the closest grid point is
used.
• If the WCOR keyword is used, wells in a corner block are placed on the corner of the grid. Wells in an edge
block are placed on the edge of the grid. If WCOR is not used, these blocks are treated in the same way as
other ones.
• The historical specifications expect that a table of historical data has been supplied with HFIL or HTAB.

1088 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. LOCA is used with WELL to specify that well P-1 is located at coordinates of (1705, 300). See LOCA.dat
for complete example:

WELL P-1 PROD OIL Q=400 P=50


LOCA 1705 300

The well P-1 will then appear in the grid as follows:

2. LOCA is used with WELL to specify that well P-2 is located in grid blocks (i=15, j=3).

WELL P-2 PROD OIL Q=2000 P=200


LOCA 15 3 I-J

Alternatively, by specifying WLOC to use I-J coordinates, we can omit the I-J option from the LOCA
keyword:

WLOC I-J

WELL P-1 PROD OIL Q=2000 P=200


LOCA 15 3

Both formats of LOCA above in this example will set the well P-1 in grid block (i=15, j=3).

10.144. LOCA - Vertical Well Location 1089


Tempest MORE Help, Release 8.1

3. LOCA is used with WELL to specify that the well W8943 is located in cell (2,3) of local grid LGR5. See
LOCA_LGRD.dat for complete example:

WELL W8943 PROD GAS Q=1000 P=100


LOCA 2 3 I-J LGR5

A well will then be created in cell (2,3) of the local grid LGR5, as shown below:

1090 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.145 P-RE - Pressure at the External Radius

Location

RECU Section (after the WELL keyword)

Description

The P-RE keyword is used to specify the pressure at the external well radius. P-RE is a WELL sub-keyword and
can only be used after the WELL keyword is specified.
P-RE consists of one required argument and one optional one, both of which should be entered in succession on
the same line as the P-RE keyword itself. The optional argument consists of six possible options which are further
described below.

Definitions

1. External radius (re )


• Default: pressure equivalent radius (r0 )
• Units feet (Field), metres (Metric)
2. Calculation method for pressure at external radius: PV, CCF, KH, MOB, or NONE
• PV (or PHIH) (default) - pressure at re is calculated using pore volume weighting
• CCF (or WI, ACT) - pressure at re is calculated using completion connection factor
• KH (or K-H) - pressure at re is calculated using K.h weighting
• MOB - pressure at re is calculated using reservoir volume mobility weighting
• NONE - pressure at re is calculated using simple unweighted average

Notes

• To obtain the pressure at the required radius, MORE takes the logarithmic drawdown curve which passes
through the well pressure at the well radius and the block pressure at the pressure equivalent radius (r0 ),
and extrapolates or interpolates it to the external radius (re ). If more than one layer is open, the well value
is obtained as a suitable weighted average.

10.145. P-RE - Pressure at the External Radius 1091


Tempest MORE Help, Release 8.1

• The pressure at the external radius supplied with P-RE is also used in place of the cell pressure when
calculating the well drawdown used for drawdown control, as described in the DRAW documentation. It is
possible to use the cell pressure for calculating the drawdown by selecting the NODD option of the DWPW
keyword, but this cannot be selected on a well-by-well basis.
• A recommended alternative to this keyword is PREX event.

Examples

1. P-RE is used to set the external radius for well P-1 at 600. See P-RE.dat for complete example:

WELL P-1 PROD OIL Q=2000 PMIN=500


P-RE 600

The resulting pressure at the external radius can be plotted in 2D using the “Pressure at External Radius
(wbpr)” vector in the Wells tab of the results, as shown below:

1092 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.146 RADI - Well Radius

Location

RECU Section (after the WELL keyword)

Description

The RADI keyword is used to specify a well radius, skin, and well-block equivalent radius for a well defined by
WELL. RADI is a WELL sub-keyword and can only be used after the WELL keyword is specified. RADI consists
of up to three arguments, all of which should be entered on the same line as the RADI keyword itself when used.

Definitions

1. Wellbore radius
• Default: previous value
• Units: feet (Field), metre (Metric)
2. Wellbore skin
• Initial value: 0
• Default: previous value
3. Well block equivalent radius
• Initial value: please see Well Index Calculations
• Default: previous value
• Units: feet (Field), metre (Metric)

Notes

• Please see the Well Index Calculations section of the MORE Technical Reference for more information
regarding wellbore radius and well block equivalent radius.

Examples

1. RADI is used to specify a wellbore radius of 0.5 for the well P-1.

WELL P-1 PROD OIL QLIM=1000 PMIN=500


RADI 0.5

2. RADI is used to specify a wellbore radius of 0.25 and a skin value of -1 for all zones for the well P-2.

WELL P-2 PROD GAS QLIM=1500 PMIN=200


RADI 0.25 -1

10.146. RADI - Well Radius 1093


Tempest MORE Help, Release 8.1

10.147 REDE - Well Redefinition Information

Location

RECU Section (after the WELL keyword)

Description

The REDE (redefinition) keyword is used to provide well redefinition information for when the well is redefined
due to a limit set by WLIM. REDE is a WELL sub-keyword and can only be used after the WELL keyword is
specified.
Arguments for REDE consist of three required arguments and one optional one, which should all be entered in
succession on the same line as the REDE keyword itself when used.

Definitions

1. Name of fluid
• For producers, this is the name of the well’s primary rate limit:
– OIL, GAS, LIQU, or RESV
• For injectors: GAS or WAT
2. Maximum rate for injection or production (qlimit)
• Format: [comment] = qlimit
– Comments may appear to the left of the equal (=) sign to provide documentation and improved
readability.
• Units: stb/day for liquid, Mscf/day for gas (Field); standard m3 /day for liquid or gas (Metric)
3. Minimum producing pressure or maximum injection pressure (plimit)
• Format: [comment] = plimit
– Comments may appear to the left of the equal (=) sign to provide documentation and improved
readability.
• Units: psi (Field), bar (Metric)
• Note: Pressures correspond to the datum depth, as specified by DATU.
4. Limiting pressure (optional): BHP or name of tubing head pressure table
• BHP (the initial value) (default)- to indicate the limiting pressure is a bottom hole pressure (corrected
to the datum depth defined by DATU)
• Name of a tubing head pressure table - to indicate the limiting pressure is a tubing head pressure as
defined using TUBI

Notes

• A recommended alternative to this keyword is REDE event.

1094 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. The well P-1 is assigned a minimum oil rate limit of 9500 by the WLIM keyword. When the oil rate falls
below 9500, the well is redefined via the REDE keyword to a new bottom hole pressure (BHP) limit of 300.
Next, if the oil rate falls below 9500 again, the BHP limit is reset to 200. Then, if the oil rate falls below
9500 for a third time, the BHP limit is set to 100.

WELL P-1 PROD OIL QLIM=20000 PMIN=500 BHP


WLIM 9500 OIL MIN REDE
REDE OIL QLIM=9500 PLIM=300 BHP
REDE OIL QLIM=9500 PLIM=200 BHP
REDE OIL QLIM=9500 PLIM=100 BHP

10.147. REDE - Well Redefinition Information 1095


Tempest MORE Help, Release 8.1

10.148 RESV - Use Reservoir Volumes for Injectors

Location

RECU Section (after the WELL keyword for an injection well)

Description

The RESV keyword is used to indicate that injection rates have been specified using reservoir volumes rather than
surface volumes when defined in the WELL keyword. RESV is a WELL sub-keyword and can only be used after
the WELL keyword is specified.
Usually, well rates are specified as surface volumes. For some purposes, it is useful to specify rates in terms of
reservoir volumes. For producers, this is done in MORE using the RESV option that has been built into the WELL
keyword. In this case, RESV is used directly in the fluid definition for the producer well in the WELL keyword.
For injectors, this RESV sub-keyword of WELL must be used after the injection well has been defined by WELL.
There are no required arguments for RESV.

Definitions

n/a

Notes

n/a

Examples

1. RESV is used to indicate that the well I-1 is injecting water at a reservoir volume rate of 1000 rb/day. A
producer well, P-1, is also specified to produce at a reservoir volume rate of 1000 rb/day by using the RESV
option of the WELL keyword. These specifications will result in approximate pressure maintenance in the
reservoir. See RESV.dat for complete example:

WELL I-1 INJE WATR QLIM=1000 PMAX=14000


RESV

WELL P-1 PROD RESV QLIM=1000 PMIN=500

When the injection and production rates are plotted in 2D for well I-1 and P-1, respectively, Tempest View
will plot the surface volume rate values instead of the reservoir volume rate values specified, as shown
below. The hydrocarbon average pressure has also been plotted on this graph to show the resulting pressure
maintenance in the reservoir.

1096 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.148. RESV - Use Reservoir Volumes for Injectors 1097


Tempest MORE Help, Release 8.1

10.149 STEA - Steam Specification

Location

RECU Section (after the WELL keyword)

Description

The STEA (steam) keyword is used to specify the temperature, pressure, quality, and specific enthalpy of the fluid
being injected by a well when the STEAMOPTION (steam modelling) has been turned on in the INPU (Input) or
FLUI (Fluid) sections. If STEA is not specified, fluid will be injected with the average initial temperature of the
reservoir. STEA is a WELL sub-keyword and can only be used after the WELL keyword is specified.
STEA consists of four possible arguments which should be entered on the same line as the STEA keyword itself
when used. These arguments include the temperature, pressure, quality, and specific enthalpy of the fluid being
injected by a well. Generally, the user will specify the steam temperature or the steam pressure and the steam
quality. As an alternative, the steam specify enthalpy can be entered alone.

Definitions

1. Steam injection temperature


• Default: 0
• Units: o F (Field), o C (Metric)
2. Steam pressure
• Default: 0
• Units: psia (Field), bars (Metric)
3. Steam quality
• Default: 0
4. Steam enthalpy
• Default: 0
• Units: Btu/lb (Field), KJ/kg (Metric)

Notes

• As an alternative to adding the STEAMOPTION (steam modelling) keyword to the INPU (Input) or FLUI
(Fluid) sections, steam modelling can also be requested by entering STEAM as a component with CNAM
in the INPU (Input) section.
• A recommended alternative to this keyword is STEAM event.

Examples

1. STEA is used to specify a steam injection temperature of 458o F and a steam quality of 70% for the injection
well I-1. The steam pressure and enthalpy are given their default values. See mspe4a.dat for complete
example:

WELL I-1 INJE STEAM QLIM=1000 PMAX=1000


STEAM 450 1* 0.70 1*

1098 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Heat injection and production rates and totals can then be plotted in 2D from the Wells tab of the results, as
follows:

Plotting the heat injection rate for the well I-1, the following plot is obtained:

Reservoir temperature data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

10.149. STEA - Steam Specification 1099


Tempest MORE Help, Release 8.1

1100 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.150 STIM - Well Stimulation Information

Location

RECU Section (after the WELL keyword)

Description

The STIM (stimulation) keyword is used to define well stimulation information for when the well is stimulated
due to a limit set by WLIM. STIM is a WELL sub-keyword and can only be used after the WELL keyword is
specified.
Arguments for STIM consists of two records.
• The first record contains one optional argument which should be entered on the same line as the STIM
keyword itself if used. A default value is automatically assigned for this argument if one of the six possible
options is not specified.
• The second record contains a list of values corresponding to the option chosen in record one. The second
record should be entered on a separate line below the STIM keyword.

Definitions

Record 1:
1. Stimulation Option: SKIN, REQV, K-H, WIDX, T-WI, or MULT
• SKIN - zone values are skin values
• REQV - well block equivalent radius
• K-H - zone values are well kh factors
• WIDX - zone values are normalized well index values (see the following Notes section below for more
information).
• T-WI - zone values are total well index values (Units: md-ft ormd-m)
• MULT (default) - zone values are zonal multipliers
Record 2:
1. List of zonal values specified in Record 1 for completion k

Notes

• STIM cannot create any new completions - it simply modifies the properties of existing completions.
• A well’s skin values can be seen in the CMPL section of the MORE .out file which can be viewed under
the Print tab of the results data in Tempest View. To request that the CMPL section be printed out into the
MORE .out file, the CMPL option needs to be added to the GENE keyword before the simulation is run.

Examples

1. In a 10x10x3 grid, STIM is used to change the skin values of a well’s completions to from 1 to -2 when the
well’s oil production rate falls below 1500, as specified by WLIM. See STIM.dat for a complete example:

10.150. STIM - Well Stimulation Information 1101


Tempest MORE Help, Release 8.1

WELL P-1 PROD QLIM=3179.75 PMIN=68.9475


LOCA 2895.6 2895.6
RADI 0.0762
ZONE MULT
1 1 1
ZONE SKIN
1 1 1
WLIM 1500 OIL MIN STIM
STIM SKIN
-2 -2 -2

When the oil production rate of well P-1 falls below 1500, STIM is called and the well’s 3 completions are
changed from the original skin value of 1 to a new skin value of -2. The resulting oil production rate from
the stimulation of well P-1 can be seen plotted in the following figure:

The change in the skin values of a well’s completions can be seen in the CMPL section of the MORE .out
file which can be viewed under the Print tab of the results data in Tempest View. When the oil production
rate is still above 1500, the well’s skin values are as follows:

CMPL========================================================
Completion Summary at 1 Jan 2001, 366.0 days
============================================================
Well P-1 :completion properties
I J K Dir Radius Depth Skin
--- --- --- --- -------- -------- --------
metre metre
--- --- --- --- -------- -------- --------
10 10 1 Z 0.076 2540.5 ... 1.00 ...
10 10 2 Z 0.076 2548.1 1.00
10 10 3 Z 0.076 2560.3 1.00
--- --- --- --- -------- -------- --------

After the well’s oil production rate drops below 1500, the well is stimulated and its new skin values as
assigned by STIM are added in the CMPL section of the MORE .out file as illustrated in the following:

CMPL=================================================
Completion Summary at 1 Jan 2002, 731.0 days
=====================================================

1102 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Well P-1 :completion properties


I J K Dir Radius Depth Skin
--- --- --- --- -------- -------- --------
metre metre
--- --- --- --- -------- -------- --------
10 10 1 Z 0.076 2540.5 ... -2.00 ...
10 10 2 Z 0.076 2548.1 -2.00
10 10 3 Z 0.076 2560.3 -2.00
--- --- --- --- -------- -------- --------

2. This example is similar to Example #1 above; however, in this case, STIM only specifies a new skin value
for the first 2 completions of well P-1. The final completion is not stimulated and is assigned a default value
(which is the previously defined skin value) by using the 1* connotation. See STIM_Ex2.dat for a complete
example:

WELL P-1 PROD QLIM=3179.75 PMIN=68.9475


LOCA 2895.6 2895.6
RADI 0.0762
ZONE MULT
1 1 1
ZONE SKIN
1 1 1
WLIM 1500 OIL MIN STIM
STIM SKIN
-2 -2 1*

Again, the well P-1 is stimulated when the oil production rate falls below 1500, as illustrated in the following
plot denoted in red. For comparison purposes, the green line on the plot was added to show the resulting oil
production rate that results from the stimulation in Example #1, where the completions in all layers were
stimulated instead of just the first two layers as in this example.

Upon examination of the MORE .out file, it is evident that the skin values have only been modified for
the first two layers of the completion when the oil production rate falls below 1500:

CMPL=================================================
Completion Summary at 1 Jan 2002, 731.0 days
=====================================================

Well P-1 :completion properties

10.150. STIM - Well Stimulation Information 1103


Tempest MORE Help, Release 8.1

I J K Dir Radius Depth Skin


--- --- --- --- -------- -------- --------
metre metre
--- --- --- --- -------- -------- --------
10 10 1 Z 0.076 2540.5 ... -2.00 ...
10 10 2 Z 0.076 2548.1 -2.00
10 10 3 Z 0.076 2560.3 1.00
--- --- --- --- -------- -------- --------

1104 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.151 TEMP - Injection Temperature

Location

RECU Section (after the WELL keyword)

Description

The TEMP keyword is used to specify the temperature of the fluid being injected by a well when the THER
(thermal) option has been turned on in the INPU (Input) or FLUI (Fluid) sections. If TEMP is not specified, fluid
is injected at 15o C or 60o F, depending on the units used for the run. TEMP is a WELL sub-keyword and can only
be used after the WELL keyword is specified.
TEMP consists of one required argument which should be entered on the same line as the TEMP keyword itself.

Definitions

1. Injection temperature
• Units: o F (Field), o C (Metric)

Notes

• A recommended alternative to this keyword is TEMP event.

Examples

1. TEMP is used to specify an injection temperature of 136.67 for the injection well I11.

WELL I11 INJE WATR QLIM=1430.89 PMAX=413.685


TEMP 136.67

Heat injection and production rates and totals can then be plotted in 2D from the Wells tab of the results, as
illustrated in the following figure:

Plotting the heat injection rate for the well I11, the following plot is obtained:

10.151. TEMP - Injection Temperature 1105


Tempest MORE Help, Release 8.1

Reservoir temperature data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

1106 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.152 WCOR - Correct Wells to Grid Corner or Edge

Location

RECU Section (before the first WELL keyword)

Description

The WCOR (well corner) keyword is used to select the correction of well positions in the centre of a cell to
the corner or edge of the grid. The default is to make this correction, as this is the historical default in MORE.
However, WCOR OFF is generally recommended unless simulating pattern segments.
WCOR consists of one optional argument for which there are four possible options. If this optional argument is
used, it should be entered on the same line as the WCOR keyword itself.

Definitions

1. Well correction (optional): ON or OFF / YES or NO


• ON or YES (default) - turn well correction on
• OFF or NO - turn well correction off

Notes

• If a well is completed in a corner cell such as (i=1, j=1), the correction calculates a well connection factor
on the basis that the well is in the corner or on the edge of the grid. Without the corner correction, the well
is assumed to be at the centre of the cell.
• The default is no corner correction - the corner cell is not treated specially.
• The corner correction can be useful when modelling standard quarter five spot segments.
• When a well is located using a well track, the exact position of the well is known and the corner correction
is applied only if the well trajectory runs along the corner of a cell or is in the plane between the cells.
• The image below illustrate wells with and without corner correction:

Examples

1. WCOR is used to correct well P-1 to the corner and well P-5 to the edge of a 10x10x5 grid. See WCOR.dat
for complete example:

10.152. WCOR - Correct Wells to Grid Corner or Edge 1107


Tempest MORE Help, Release 8.1

WCOR ON

WELL P-1 PROD OIL Q=1000 P=100


LOCA 1 10 I-J

WELL P-5 PROD OIL Q=1500 P=100


LOCA 10 5 I-J

When these wells are viewed on the 3D grid, the wells are displayed in the centre of the cell whether WCOR
is turned on or off.

However, the effect of WCOR can be seen upon examination of the CMPL section of the .out file in the
Print tab of the results. More specifically, we can observe different completion connection factor (CCF)
values for the wells when WCOR is on or off, as further shown below.
With WCOR ON, we get the following CCF values for wells P-1 and P-5:
CMPL======================================================================================
Completion Summary at 2 Jan 2000, 1.0 days
==========================================================================================

Well P-1 :completion properties


I J K Dir Radius Depth Reqv Pbhp Head Pcell CCF
,→ Pdd Skin Mult Kh Md Local grid
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

feet feet feet psia psi psia rb.cp/d/


,→psi psi md-ft feet
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

1 10 4 Z 0.500 5700.0 198.506 2452.2 0.0 2492.3 4.871


,→ 40.123 0.0 1.000 20000.0 0.0
1 10 5 Z 0.500 5900.0 198.506 2452.2 53.531 2545.6 4.871
,→ 39.865 0.0 1.000 20000.0 200.000
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

Well P-5 :completion properties


I J K Dir Radius Depth Reqv Pbhp Head Pcell CCF
,→ Pdd Skin Mult Kh Md Local grid
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

feet feet feet psia psi psia rb.cp/d/


,→psi psi md-ft feet

1108 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

10 5 4 Z 0.500 5700.0 198.506 2463.8 0.0 2491.9 10.461


,→ 28.102 0.0 1.000 20000.0 0.0
10 5 5 Z 0.500 5900.0 198.506 2463.8 53.531 2545.1 10.461
,→ 27.763 0.0 1.000 20000.0 200.000
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

When WCOR is turned OFF, we can see the changes in the CCF values, as follows:

CMPL======================================================================================
Completion Summary at 2 Jan 2000, 1.0 days
==========================================================================================

Well P-1 :completion properties


I J K Dir Radius Depth Reqv Pbhp Head Pcell CCF
,→ Pdd Skin Mult Kh Md Local grid
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

feet feet feet psia psi psia rb.cp/d/


,→psi psi md-ft feet
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

1 10 4 Z 0.500 5700.0 198.506 2483.9 0.0 2492.3 23.667


,→ 8.356 0.0 1.000 20000.0 0.0
1 10 5 Z 0.500 5900.0 198.506 2483.9 53.531 2545.6 23.667
,→ 8.105 0.0 1.000 20000.0 200.000
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

Well P-5 :completion properties


I J K Dir Radius Depth Reqv Pbhp Head Pcell CCF
,→ Pdd Skin Mult Kh Md Local grid
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

feet feet feet psia psi psia rb.cp/d/


,→psi psi md-ft feet
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

10 5 4 Z 0.500 5700.0 198.506 2479.4 0.0 2491.9 23.667


,→ 12.513 0.0 1.000 20000.0 0.0
10 5 5 Z 0.500 5900.0 198.506 2479.4 53.531 2545.1 23.667
,→ 12.179 0.0 1.000 20000.0 200.000
--- --- --- --- -------- -------- -------- -------- -------- -------- ---------
,→--- -------- -------- -------- -------- -------- ----------

10.152. WCOR - Correct Wells to Grid Corner or Edge 1109


Tempest MORE Help, Release 8.1

10.153 WDEN - Wellbore Fluid Density

Location

After WELL keyword

Syntax

WDEN density

Definitions

density Density used to convert well pressures to the datum depth

Notes

The WDEN keyword is only read if the BACK option is used.


The wellbore density is used to convert bottom hole pressures to a common datum. The HEAD keyword specifies
a default for the density and determines how the datum pressure is calculated.

Examples

1. Specify a well bore fluid density of 62.3 lbs/cu ft:

WDEN 62.3 -- In lbs/cu ft

2. Specify a wellbore fluid density of 900 Kgs/rm3.

WDEN 900 -- In Kgs/m3

1110 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.154 WEFA - Well Efficiency Factor

Location

RECU Section (after the WELL keyword)

Description

The WEFA keyword is used to specify a well efficiency factor between 0.0 and 1.0 for a well that is defined by
the WELL keyword. WEFA is a WELL sub-keyword and can only be used after the WELL keyword is specified.
WEFA would be used to specify the well efficiency factor when a well has downtime. For example, suppose that
a well had a 40% downtime and a target rate of 10000 stb/day. By specifying an efficiency factor of 0.6, the
well will operate at a bottom hole pressure corresponding to a rate of 10000 stb/day but the rate at which fluid is
extracted will be at 6000 stb/day (that is, it reflects the reduced efficiency due to the downtime).
WEFA consists of one required argument which should be entered on the same line as the WEFA keyword itself
when used.

Definitions

1. Well efficiency factor (any integer value between 0.0 and 1.0)

Notes

• If it is desired to enter a well efficiency factor independent from the WELL keyword, the WWEF keyword
may be used. WWEF is analogous to the WEFA keyword but does not need to follow the WELL keyword.
• A recommended alternative to this keyword is WEF event.

Examples

1. WEFA is used to specify a well efficiency factor of 50% for the well P-1. See WEFA.dat for a complete
example:

WELL P-1 PROD OIL QLIM=10000 PMIN=1000


LOCA 9500 9500
RADI 0.25
WEFA 0.5
ZONE MULT
1 1 0 0 0

This results in the well P-1 being operated at a bottom hole pressure which yields a rate of 10000 stb/day,
but the actual net production is 5000 stb/day, as illustrated in the plot below (see the following figure). The
bottom hole pressure is plotted in green while the oil production rate can be seen in red.

10.154. WEFA - Well Efficiency Factor 1111


Tempest MORE Help, Release 8.1

To demonstrate the effect WEFA has on the bottom hole pressure and production rates, the plot in the
following figure displays the oil production rate and bottom hole pressure for the same well without the
WEFA keyword. See noWEFA.dat for a complete example.

1112 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.155 WEOS - Set Surface Equation of State for the Well

Location

RECU Section

Description

The WEOS keyword is used to specify the equation of state used to flash the well when using multiple equation
of state regions with EOSN.
WEOS consists of two required arguments which should both be entered on the same line as the WEOS keyword
itself when used.

Definitions

1. Well name (or well name template)


2. Index of surface equation of state used to flash the well

Notes

• A recommended alternative to this keyword is WEOS event.


• The index for the surface equation of state is counted by the TEMP SURF records entered for the surface
equations of state. The first equation of state entered by TEMP SURF has index 1 and so on. For more
details, see the Technical Reference.
• By default, a well completed in EOSN region 1 will be assigned the first surface EoS to flash the well, a
well completed in EOSN region 2 will be assigned the second surface EoS to flash the well through the
separators and so on. When there are more reservoir EoS regions than surface EoS defined using TEMP
SURF, the last surface EoS is used whenever this correspondence rule mapping reservoir to surface EoS is
not exact.
It is possible to override this behaviour using WEOS: If an index of 0 is specified in WEOS, then the well
is not assigned a particular surface EoS for the flash. In this case, MORE reverts to the default behaviour
when EOSN is not specified, and performs separator flashes for the well using surface equations of state
most closely matching temperatures (defined using TEMP SURF) for each stage in the separator (keyword
SEPA). For more details, see the Technical Reference.
WEOS does not affect the flash used to calculate reservoir voidage for the well: this takes place using the
reservoir equation of state (defined using TEMP RESV) for the relevant EoS region (defined using EOSN).

Example

1. WEOS is used to associate all wells matching the well name template PRODNW* with the second surface
EoS specified using TEMP SURF:

WEOS 'PRODNW*' 2

2. WEOS is used to enforce the separator flash for the well based on looking up surface EoS solely by matching
the temperature of the separator stages with the surface EoS defined using TEMP SURF for well W13A:

WEOS W13A 0

10.155. WEOS - Set Surface Equation of State for the Well 1113
Tempest MORE Help, Release 8.1

10.156 WEPS - Set options for endpoint scaling at completions

Location

RECU Section

Description

WEPS controls end point scaling when calculating well inflows when the saturation table index for the completion
has been explicitly specified using keywords CIJK, COMP, CNAC or events CIJK Event, PERF Event, CNAC
Event.
WEPS has no effect for completions where the saturation table index has been defaulted or not specified. The well
inflows are calculated using the relative permeabilities in the connecting grid blocks, accounting for any end point
scaling supplied for the grid blocks

Defaults

When the saturation table index has not been explcitly specified for a completion, the completion inflow mobility
is calculated using the saturation table for the completed grid block (specified using keyword SATN) together with
any end point scaling for the grid block.
When the saturation table index has been explicitly specified for a completion, none of the end points from
the completed grid block apply to the inflow mobility calculation for the completion. WEPS will override this
behaviour.
WEPS consists of 3 optional arguments which may be specified in any order.

Definitions

• HORIZ - The well inflow is calculated using the completion saturation table with the horizontal end points
from the completion grid block.
• VERT - The well inflow is calculated using the completion saturation table with the vertical relative perme-
ability end points from the completion grid block.
• PC - The well inflow is calculated using the completion saturation table with the vertical capillary pressure
end points from the completion grid block.

Notes

• For further information see the chapters on Well Inflow Calculations and End Point Scaling

Example

Well WINJ is based in the W-WINJ track table. COMP is used to setup completions between completion between
measured depths of 5800 and 6000 with a radius of 0.25, no skin factor, and a multiplying factor of 1. The 4th
saturation table is specified for the completion.
WELL WINJ INJE WATR Q=2000 PMAX=10000
COMP T-WINJ 5800 6000 0.25 0.0 1.0 4

This run is assumed to use end point scaling (specified using SWL, SWU SWCR etc., XKRO, XKRG, YKOW, YKOG
etc. and XPCW, XPCG). All the horizontal and vertical relative permeability end points from the 4th saturation
table are used to calculate the completion inflow relative permeabilities, and only the vertical grid block scalings
for capillary pressure (XPCW, XPCG) will be applied to this table.

1114 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

WEPS PC

10.156. WEPS - Set options for endpoint scaling at completions 1115


Tempest MORE Help, Release 8.1

10.157 WLIM - Auxiliary Well Limits

Location

RECU Section (after the WELL keyword)

Description

The WLIM keyword is used to provide auxiliary well limits. WLIM is a WELL sub-keyword and can only be
used after the WELL keyword is specified. WLIM consists of a maximum of four arguments, which are further
described in the following Definitions section. All of these arguments should be entered in succession on the same
line as the WLIM keyword when used.

Definitions

1. Value for the secondary well constraint


2. Name of the limit: OIL, GAS, LIQU, RESV, GOR, or WOR
• OIL - oil rate limit
• GAS - gas rate limit
• LIQU - liquid rate limit
• RESV - reservoir volume rate limit
• GOR - gas-oil ratio
• OGR - oil-gas ratio
• WCT - water cut
• WOR - water-oil ratio
• GWR - gas-water ratio
• WGR - water-gas ratio
• GLR - gas-liquid ratio
• LGR - liquid-gas ratio
3. One option from Group 1 or Group 2 below
4. One option from Group 1 or Group 2 below (optional)
OPTIONS:
Group 1:
• MIN - value is a minimum limit
• MAX - value is a maximum limit (default)
• HOLD/TARG - value is a target (TARG is an alias for HOLD)
Group 2:
• CUTB - the well will be cutback if a rate limit is violated
• STIM - the well will be stimulated if a ratio or minimum limit is violated
• WORK - the well will be worked over if a ratio limit is violated
• CONV - the well will be converted if a limit is violated
• SHUT - the well will be shut if a limit is violated

1116 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• REDE - the well will be redefined if a limit is violated


• PUMP - add a named pump (pump name should follow PUMP)
• STOP - the simulation will be stopped as a result of the well limit violation

Notes

The remedial actions, CUTB, STIM, WORK, CONV, REDE, and SHUT are all carried out when a constraint with
which it is specified is violated, as follows:
• The STIM (stimulation) option revises the well index value according to input specified on the STIM well
sub-keyword when the specified limit is violated. When a stimulation is not successful, the well is shut-in.
• When the WORK (workover) option is specified, the zones with the largest ratio limit violation are shut-in
one at a time until either the well is shut-in or the ratio limit is no longer violated.
• When a CUTB (cutback) option is specified for a ratio limit, the well is cutback to maintain it within the
specified ratio limit; if not successful, the well is shut-in.
• The CONV (convert) option converts the producer into an injector if the limit with which it is specified is
violated.
• The SHUT (shut-in) option shuts-in the well if the limit with which it is specified is violated. If a limit with
which it is specified is violated, the REDE (redefine) option sets up to read new well rate and pressure limits
and tubing table names through the well sub-keyword (REDE).
• Recommended alternatives to this keyword are PLIM (for producer wells) and ILIM (for injector wells)
events.

Examples

1. WLIM is used to specify a WOR limit of 10 and the well will be shut-in if the WOR exceeds 10.

WLIM 10 WOR SHUT

The WOR constraint set by WLIM can then be eliminated by:

WLIM 1 WOR OFF

2. WLIM is used to add an extra well target rate of 500 Mscf/day. This will act in addition to the target rate on
the WELL keyword line.

WELL P-1 GAS Q=1000 P=500

WLIM 500 GAS TARG

WLIM will add 500Mscf/day of gas to the gas production rate defined by WELL, and thus, the well P-1
will be changed to produce 1500 Mscf/day of gas instead of the originally specified 1000 Mscf/day after the
WLIM keyword is read.
3. WLIM is used to specify that a well should be worked over if the GOR exceeds 5.

WLIM 5 GOR WORK MAX

4. WLIM is used to specify that a well be stimulated if the oil rate falls below 300.

WLIM 300 OIL STIM MIN

5. WLIM is used to specify that a well will be converted if the gas rate falls below 100. The well is converted
to an injector with the constraints specified using the CONV well sub-keyword.

10.157. WLIM - Auxiliary Well Limits 1117


Tempest MORE Help, Release 8.1

WLIM 10 GAS CONV MIN

6. WLIM is used to specify that a well will be shut-in if the GOR exceeds 10.

WLIM 10 GOR SHUT

7. WLIM is used to specify that a well will be redefined if the oil rate falls below 5000. A custom well limit,
qomn, which was set up using the LIMI keyword, is used in this example.

WLIM 5000 qomn REDE

8. WLIM is used to add a BHP target to a well. This might be done if the WELL line had specified a THP
target. This allows MORE to apply simultaneous BHP and THP constraints.

WLIM 500 BHP TARG

1118 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.158 WSWI - Switch between Primary and Secondary Injection


Fluids

Location

RECU Section (after an injection WELL specification)

Description

The WSWI (Well Switch) keyword is used to switch between primary and secondary injection fluids. WSWI is
a WELL sub-keyword and can only be used after the WELL keyword is specified. When the WELL keyword has
been used to specify an injection well with two injection fluids using the AND option, the well starts off injecting
the first fluid defined. The WSWI keyword may be used to switch between the two fluids.
WSWI consists of one required argument which should be entered on the same line as the WSWI keyword itself
when used.

Definitions

1. Name of injection well

Notes

• The WSWI keyword is a useful alternative to the WWAG keyword for water alternating gas (WAG) injection
wells that do not have a simple periodic schedule.

Examples

1. WSWI is used to switch between water and gas injection at intermittent intervals between 100 and 500 days
for the WINJ injection well. See WSWI.dat for complete example:

WELL WINJ INJE WATR QLIM=1000 PMAX=10000 AND GAS QLIM=1500 PMAX=10000
READ 100 DAYS
WSWI WINJ
READ 168 DAYS
WSWI WINJ
READ 253 DAYS
WSWI WINJ
READ 500 DAYS

When the water and gas injection rates are plotted for WINJ, we can see the switching that occurs from one
injection fluid to the other at the specified periods:

10.158. WSWI - Switch between Primary and Secondary Injection Fluids 1119
Tempest MORE Help, Release 8.1

1120 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.159 WWEF - Well Efficiency Factor

Location

RECU Section

Description

The WWEF keyword is used to specify a well efficiency factor between 0.0 and 1.0 for a well. WWEF is analogous
to the WELL subkeyword WEFA but does not need to follow the WELL keyword.
The well efficiency factor would be used when a well has downtime. Suppose that a well had a 40% downtime
and a target rate of 10000 stb/day. By specifying an efficiency factor of 0.6, the well will operate at a bottom hole
pressure corresponding to a rate of 10000 stb/day but the rate at which fluid is extracted will be at 6000 stb/day
(that is, it will reflect the reduced efficiency due to the downtime.)
WWEF consists of two required arguments which should be entered in succession on the same line as the WEFA
keyword itself when used.

Definitions

1. Well name
2. Well efficiency factor (any integer value between 0.0 and 1.0)

Notes

• A recommended alternative to this keyword is WEF event.

Examples

1. WWEF is used to apply a well efficiency factor of 50% for the well P-1. See WWEF.dat for complete
example:

WWEF P-1 0.50

This will result in the well P-1 being operated at a bottom hole pressure which will yield a rate of 10000
stb/day, but the actual net production will be 5000 stb/day.

10.159. WWEF - Well Efficiency Factor 1121


Tempest MORE Help, Release 8.1

To demonstrate the effect WWEF has on the bottom hole pressure and production rates, the following plot
illustrates the oil production rate and bottom hole pressure for the same well without the WWEF keyword.

1122 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.160 ZONE - Zone Completion Information

Location

RECU Section (after the WELL keyword)

Description

The ZONE keyword is used to specify zone completions for wells defined by the WELL keyword. ZONE is a
WELL sub-keyword and can only be used after the WELL keyword is specified.
Arguments for ZONE consist of two records. The first record consists of one optional argument for which a default
value will be assigned if one of the seven possible options is not specified in this record. This argument should be
entered on the same line as the ZONE keyword itself when used. The second record consists of a list of values
corresponding to the option chosen in record one. This list should be entered on a separate line below the ZONE
keyword.

Definitions

RECORD 1:
1. Zone value (optional): SKIN, REQV, K-H, WIDX, T-WI, CCF, or MULT
• SKIN - zone values are skin values
• REQV - well block equivalent radius
• K-H - zone values are well kh factors
• WIDX - zone values are normalized well index values (See Notes section below for more information)
• T-WI - zone values are total well index values (WI)
• CCF - zone values are completion connection factors (CCF)
• MULT (default) - zone values are zonal multipliers
RECORD 2:
1. List of zonal values specified in Record 1 for each layer in the grid

Notes

• When the zonal values entered are WIDX (normalized well index values), the values read are multiplied by
cπkh (c = 0.5, 1 or 2) for each layer. Please see the Well Index Calculations section of the MORE Technical
Reference for more information.
• The CCF is related to the well index WI by:

CCF = Cdarcy × W I

where Cdarcy =0.001127 (field) or Cdarcy =0.008527 (metric).


• When the WIDX or T-WI options are used, the normal calculation procedure for the well index (see Well
Index Calculations) is not used, so the wellbore radius, skin values, and multipliers have no effect.
• If the HORI or DEVI keywords are used to complete the well, the number of values expected with ZONE
will be the number of completions specified, rather than the number of cells in the vertical direction.
• Recommended alternatives to this keyword are PERF and SQUE event.

10.160. ZONE - Zone Completion Information 1123


Tempest MORE Help, Release 8.1

Examples

1. ZONE is used to specify zonal multipliers in layer 1, 3, and 5 in a 10x10x5 grid as follows. See
ZONE_Ex1.dat for complete example:
WELL WPRD PROD OIL Q=2000 P=500
LOCA 9500 9500
RADI 0.25
ZONE MULT
1 0 1 0 1

The well will then appear in the 3D Viewer with completions in layers 1,3, and 5, as shown below:

2. ZONE is used to specify zonal multipliers and skins for the well L415. See ZONE_Ex2.dat for complete
example:
WELL L415 PROD OIL Q=1000 P=500
LOCA 414 985
RADI 0.5 +1
ZONE MULT
0 0 1 1 1 1 1
ZONE SKINS
4* 2 2*-1

As a result, the well will be completed in layers 3 through 7. A wellbore radius of 0.5 and zonal multipliers
of 1 will be used in the well index calculations for the completed zones. Skin values for zones 3 through 7
will be 1,1,2,-1, and -1. This data can be seen in the CMPL section of the .out file which can be viewed
under the Print tab of the results in Tempest View.

,→CMPL======================================================================================
Completion Summary at 2 Jan 2000, 1.0 days

,→==========================================================================================

Well L415 :completion properties


I J K Dir Radius Depth CCF Pdd Skin Mult
,→ Kh Md
--- --- --- --- -------- -------- ... ------------ -------- -------- -------
,→- -------- --------

feet feet rb.cp/d/psi psi


,→ md-ft feet
--- --- --- --- -------- -------- ... ------------ -------- -------- -------
,→- -------- ---------

3 5 3 Z 0.500 5357.1 ... 23.125 3.805 0.0 1.


,→000 14286.0 0.0
3 5 4 Z 0.500 5500.0 ... 23.125 3.390 0.0 1.
,→000 14286.0 142.860
3 5 5 Z 0.500 5642.9 ... 15.870 3.401 2.000 1.
,→000 14286.0 285.720
3 5 6 Z 0.500 5785.7 ... 29.976 2.872 -1.00 1.
,→000 14285.0 428.575
3 5 7 Z 0.500 5928.6 ... 29.978 2.790 -1.00 1.
,→000 14286.0 571.430

1124 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

--- --- --- --- -------- -------- ... ------------ -------- -------- -------
- -------- ---------
,→

Additionally, the completions can be seen when the well is plotted in the
3D Viewer:

10.160. ZONE - Zone Completion Information 1125


Tempest MORE Help, Release 8.1

10.161 RECY - Group Recycle Control

Location

RECU Section (after the GROU (group) definition)

Description

The RECY keyword is used to specify a recycle operation between two groups of wells. RECY consists of four
required arguments and one optional one, all of which should be entered on the same line as the RECY keyword
itself when used.

Definitions

1. Recycle stream name which becomes a standard composition name to designate an injection fluid (please
see the WELL keyword for more information)
2. Group containing the producers providing recycle fluid stream
3. Group containing the injectors into which produced fluid stream is injected
4. Production fluid stream to be recycled: must be GAS or WAT
5. Recycle control (optional): ON or OFF
• ON (default) - turns recycle on
• OFF - turns recycle off

Notes

• Makeup and sales rates can also be specified with the RECY keyword using the MAKE and SALE keywords,
respectively. For compositional systems, one can use CMAK and CSAL to specify makeup and sales rates
by components, respectively.
• Once a recycle link has been defined between a group of producers and that of injectors, all injectors are
affected likewise. I.e. their available injection fluid is limited to the production even if the recycle stream
name is not explicitly attached (e.g. via STRE event) to the injector. To overcome this limitation in case of
gas recycling, use the sub-keyword MAKE.

Examples

1. RECY is used to define a recycle stream named PRDG that recycles 5000 Mscf/day of gas produced from
well P-1 into well I-1 whilst well I-2 continues to inject water.

RECY PRDG ALL ALL GAS

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

I-1
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 GIT 5000.00
01/Jan/2000 STREAM PRDG
01/Jan/2000 BHPT 4000.00

1126 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

I-2
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 100.00
01/Jan/2000 BHPT 6000.00

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 GPT 7000.00

ENDE

As a result, 5000 Mscf/day of gas from the 7000 Mscf/day of gas produced from producer P-1 will be
recycled back to the injector well I-1.

2. RECY is used to specify that gas produced from the wells in group OILC is to be reinjected into the injection
wells in group GCAP subject to the maximum gas rate of 17000. Any excess gas is marked for sales. If
the total gas production falls below 17000, the injection well rates will be cut back. When gas is re-injected
into a group using the RECY keyword, this modifies the injection rate of gas injectors only.
GROU OILC WP01 WP02 WP05
GROU GCAP W105 W101 W109

RECY RGAS OILC GCAP GAS

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

W101
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 GIT 5000.00
01/Jan/2000 STREAM RGAS
01/Jan/2000 BHPT 6000

10.161. RECY - Group Recycle Control 1127


Tempest MORE Help, Release 8.1

W105
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 GIT 9000.00
01/Jan/2000 STREAM RGAS
01/Jan/2000 BHPT 8000

W109
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 GIT 3000.00
01/Jan/2000 STREAM RGAS
01/Jan/2000 BHPT 4000

WP01
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5600.00 0.50000 0.0 1.0
01/Jan/2000 OPT 5000.00

WP02
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5600.00 0.50000 0.0 1.0
01/Jan/2000 OPT 8000.00

WP05
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5600.00 0.50000 0.0 1.0
01/Jan/2000 OPT 5000.00

ENDE

As a result, due to limited gas production in the first 6 years, the gas injection rate for the GCAP group
will be limited by the production rate. After 2006, gas production starts to increase and the maximum gas
injection rate of recycled gas from the stream RGAS is achieved.

1128 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.162 CSAL - Compositional Sales Rate

Location

RECU Section (after a RECY keyword in a compositional run)

Description

The CSAL keyword is used to specify the amount of gas produced by component from a well that will go to
sales and be unavailable for recycling in a compositional system. In this case, sale gas rates will be individually
specified for each component present in the system. CSAL is a RECY sub-keyword and must be used only after
the RECY keyword has been specified.
Arguments for CSAL consist of two records. The first record consists of one optional argument which should be
entered on the same line as the CSAL keyword itself if used. The second record consists of a list of compositional
sales rates or fractions entered on a separate line below the CSAL keyword.

Definitions

RECORD 1:
1. Compositional sales rate format (optional): FRAC or RATE
• RATE (default) - sales rate is defined as a rate
• FRAC - sales rate is defined as a fraction of each component’s production
RECORD 2:
1. List of sales rates for each component
• The order of the compositional sales rates in this list is defined by the order of the components listed
under the CNAM keyword
• Default: 0

Notes

• The CSAL keyword alters the usual priority of recycling and sales for a given sub-rate or fraction of the
production. The order of operations is:
1. CSAL gas requirement is deducted from production of the production group specified in RECY
2. The remaining gas available to satisfy the recycle target
3. If this target can be satisfied, any further remaining gas added to the sales gas total

Examples

1. For an equation of state example with 3 components which are defined by CNAM as CO2, N2, and C1,
CSAL is used to remove up to 100 Mscf/day of the component C1 for sales. See CMAK_CSAL_rates.dat
for complete example:

RECY PRDG ALL ALL GAS


CSAL RATE
0 0 100 /

10.162. CSAL - Compositional Sales Rate 1129


Tempest MORE Help, Release 8.1

A gas sales rate vector (fsaler) will then appear in the Groups tab of the results in Tempest for plotting in
2D. When we plot this vector, we will see a gas sales rate of 100 Mscf/day, as shown below:

2. In this example, compositional sale fractions will be given instead of rates. Using the same CNAM list
defined in the example above, this time we will use CSAL to specify that half of the C1 that is produced
will be sold. See CMAK_CSAL_frac.dat for complete example:

RECY PRDG ALL ALL GAS


CSAL FRAC
0 0 0.5 /

When the gas sales rate is plotted with the C1 production rate, we can see that indeed the gas sales rate is
approximately 50% of the C1 production rate.

1130 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.162. CSAL - Compositional Sales Rate 1131


Tempest MORE Help, Release 8.1

10.163 CMAK - Compositional Makeup Rate

Location

RECU Section (after a RECY keyword in a compositional run)

Description

The CMAK keyword is used to specify the amount of makeup gas that is required by component for recycling in
a compositional system. In this case, makeup gas rates will be individually specified for each component present
in the system. CMAK is a RECY sub-keyword and must be used only after the RECY keyword has been specified.
Arguments for CMAK consist of two records. The first record consists of one optional argument which should be
entered on the same line as the CMAK keyword itself if used. The second record consists of a list of compositional
makeup rates or fractions entered on a separate line below the CMAK keyword.

Definitions

RECORD 1:
1. Compositional makeup rate (optional): FRAC or RATE
• RATE (default) - makeup rate is defined as a wet gas rate for each component
• FRAC - makeup rate is defined as a fraction of each component’s production
RECORD 2:
1. List of makeup rates for each component
• The order of the compositional makeup rates in this list is defined by the order of the components
listed under the CNAM keyword
• Default: 0

Notes

n/a

Examples

1. For an equation of state example with 3 components which are defined by CNAM as CO2, N2, and
C1, CMAK is used to add a makeup rate of 50 Mscf/day of CO2 to the PRDG recycling stream. See
CMAK_CSAL_rates.dat for complete example:

RECY PRDG ALL ALL GAS


CMAK RATE
50 0 0 /

A gas makeup rate vector (fmaker) will then appear in the Groups tab of the results in Tempest for plotting
in 2D. When we plot this vector, we will see a gas makeup rate of 50 Mscf/day:

1132 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

2. In this example, compositional makeup fractions will be given instead of rates. Using the same CNAM list
defined in the example above, this time we will use CMAK to specify that 200% of the production rate of
CO2 is available as makeup gas. See CMAK_CSAL_frac.dat for complete example:

RECY PRDG ALL ALL GAS


CMAK FRAC
2.0 0 0 /

When the gas makeup rate is plotted with the CO2 production rate, we can see that indeed the gas makeup
rate is approximately 200% of the CO2 production rate.

10.163. CMAK - Compositional Makeup Rate 1133


Tempest MORE Help, Release 8.1

1134 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.164 SALE - Group Sales Rate

Location

RECU Section (after a RECY keyword)

Description

The SALE keyword is used to specify the amount of gas produced from a well that will go to sales and be
unavailable for recycling. SALE is a RECY sub-keyword and must be used only after the RECY keyword has been
specified.
SALE consists of one required argument and one optional argument, both of which should be entered on the same
line as the RECY keyword itself when used.

Definitions

1. Sales rate for current group


2. Sales rate format (optional): FRAC or RATE
• RATE (default) - sales rate is defined as a rate
• FRAC - sales rate is defined as a fraction

Notes

• The SALE keyword alters the usual priority of recycling and sales for a given sub-rate or fraction of the
production. The order of operations is:
1. SALE gas requirement is deducted from production of the producer group specified in RECY.
2. The remaining gas is available to satisfy the recycle target.
3. If this target can be satisfied, any further remaining gas added to the sales gas total.
• An illustrated example of makeup and sales rates in a recycle operation can be seen below:

Examples

1. Suppose a study has the following keywords to control production and injection using the recycling (RECY)
option (metric units):

RECY ALL ALL GAS


SALE 100 RATE
MAKE 50 RATE

10.164. SALE - Group Sales Rate 1135


Tempest MORE Help, Release 8.1

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

I-1
01/Jan/2000 INJE
01/Jan/2000 PERF 1767.84 1828.80 0.15240 0.0 1.0
01/Jan/2000 GIT 2000.00
01/Jan/2000 STREAM
01/Jan/2000 BHPT 2000.00
01/Jan/2004 GIT 800.00
01/Jan/2004 STREAM

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 1524.00 1584.96 0.15240 0.0 1.0
01/Jan/2001 GPT 1000.00
01/Jan/2002 GPT 1200.00

ENDE

Thus, the production from well P-1 is recycled into well I-1, subject to a sales rate of 100ksm3 /day, but a
makeup gas is available at a rate of 50 ksm3 /day. The injector has an initial target of 2000 km3 /day, but this
is subject to the recycling conditions.
Plotting the gas injection and production rates for the group ALL, we will see the following:

Between 0 and 1 year, there is no injection as there is no production and there is no gas available for the
recycling operation.
Between 1 and 2 years, there is injection at a rate of 950 ksm3 /day. 1000 ksm3 /day of gas is produced, of
which 100 ksm3 /day is sold, leaving 900 ksm3 /day. This is below the injection target of 2000 ksm3 /day, so
the makeup gas is used, resulting in a final injection rate of 950 ksm3 /day.
Between 2 and 4 years, the injection rate rises to 1150 ksm3 /day, as an extra 200 ksm3 /day of gas is being
produced.
Between 4 and 6 years, the injection rate is 800 ksm3 /day. Plenty of recycle gas is available, but the injector

1136 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

is controlled by its injection target.

10.164. SALE - Group Sales Rate 1137


Tempest MORE Help, Release 8.1

10.165 MAKE - Makeup Rate Specification

Location

RECU Section (after a RECY keyword)

Description

The MAKE keyword is used to specify the amount of makeup gas that is required in a recycle operation. The
makeup gas allows additional gas to be imported into the study for injection. With the makeup rate, the injection
rate can exceed the production rate minus the sales rate. MAKE is a RECY sub-keyword and must be used only
after the RECY keyword has been specified.
MAKE consists of one required argument and one optional argument, both of which should be entered on the
same line as the MAKE keyword itself when used.

Definitions

1. Makeup rate for current group


2. Makeup rate format (optional): FRAC or RATE
• RATE (default) - makeup rate is defined as a rate
• FRAC - makeup rate is defined as a fraction

Notes

• An illustrated example of makeup and sales rates in a recycle operation can be seen below:

Examples

1. MAKE is used with RECY to add a makeup rate of 1000 Mscf/day of gas to the MKUP recycling stream.

RECY MKUP ALL ALL GAS


MAKE 1000

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

WINJ
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 GIT 4000.00
01/Jan/2000 STREAM MKUP

1138 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

01/Jan/2000 BHPT 1.00000e+04

WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 GPT 2000.00

ENDE

Since the well WINJ has an injection target of 4000.00 Mscf/day, all of the gas produced from WPRD will
be recycled. However, there is only 2000.00 Mscf/day of gas available from the production stream. As a
result, the WINJ well will pull from the makeup rate specified to try to make up the 4000.00 Mscf/day gas
injection target. But with only 1000 Mscf/day of makeup gas available, we will only see a maximum gas
injection rate of 3000.00 Mscf/day.

2. Suppose a study has the following keywords to control production and injection using the recycling (RECY)
option (metric units):

RECY ALL ALL GAS


SALE 100 RATE
MAKE 50 RATE

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

I-1
01/Jan/2000 INJE
01/Jan/2000 PERF 1767.84 1828.80 0.15240 0.0 1.0
01/Jan/2000 GIT 2000.00
01/Jan/2000 STREAM
01/Jan/2000 BHPT 2000.00
01/Jan/2004 GIT 800.00
01/Jan/2004 STREAM

P-1
01/Jan/2000 PROD

10.165. MAKE - Makeup Rate Specification 1139


Tempest MORE Help, Release 8.1

01/Jan/2000 PERF 1524.00 1584.96 0.15240 0.0 1.0


01/Jan/2001 GPT 1000.00
01/Jan/2002 GPT 1200.00

ENDE

Thus, the production from well P-1 is recycled into well I-1, subject to a sales rate of 100ksm3 /day, but a
makeup gas is available at a rate of 50 ksm3 /day. The injector has an initial target of 2000 km3 /day, but this
is subject to the recycling conditions.
Plotting the gas injection and production rates for the group ALL, we will see the following:

Between 0 and 1 year, there is no injection as there is no production and there is no gas available for the
recycling operation.
Between 1 and 2 years, there is injection at a rate of 950 ksm3 /day. 1000 ksm3 /day of gas is produced, of
which 100 ksm3 /day is sold, leaving 900 ksm3 /day. This is below the injection target of 2000 ksm3 /day, so
the makeup gas is used, resulting in a final injection rate of 950 ksm3 /day.
Between 2 and 4 years, the injection rate rises to 1150 ksm3 /day, as an extra 200 ksm3 /day of gas is being
produced.
Between 4 and 6 years, the injection rate is 800 ksm3 /day. Plenty of recycle gas is available, but the injector
is controlled by its injection target.

1140 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.166 IORD - Order for Reinjection and Makeup into Injected Gas

Location

RECU Section

Description

The IORD keyword is used to enable the change in order of priorities in which to take a mixture of recycle and
make-up gas when both are available.
IORD consists of one required argument which should be entered on the same line as the IORD keyword itself
when used.

Definitions

1. Ordering required: MIX (default), MR or RM


• MIX- make-up rate and recycle rates are set proportionately for injection (see example).
• MR - all the available makeup gas is used before using the recycle gas (see example).
• RM - all the available recycle gas is used before using the makeup gas (see example).

Notes

• The position of IORD in the recurrent section is significant. IORD values can be changed during the course
of a run.
• Related keywords: RECY, MAKE, SALE, CMAK, and CSAL.
• Recycle calculations are performed at the end of every time step. To obtain the correct composition of the
recycle fluid, the first time step is repeated.
• Any sales requirement specified using the keywords RECY sub-keywords SALE or CSAL will be satisfied
first.
• Remaining gas (gas left after satisfying sale and recycle requirements) is added to total sales.

Examples

1. In the example below, there are two groups PROD and INJE. Group PROD has been set a gas production
rate of 1300 Mscf/d, and group INJE has been set a gas injection rate (from recycled and make-up gas)
of 1500 Mscf/day. A make-up gas rate of 1200 Mscf/d is setup using the keyword MAKE . A 700 Mscf/d
sales requirement is specified using the RECY sub-keyword SALE . This requirement is satisfied first. See
IORD_MIX.dat for complete example:

IORD MIX
RECYCLE PRDG PROD INJE GAS
MAKE 1200 /
SALE 700 /

ETAB
PROD
0 GGPT 1300
INJE
0 GGIT 1500
ENDE

10.166. IORD - Order for Reinjection and Makeup into Injected Gas 1141
Tempest MORE Help, Release 8.1

• As a result, the following happens in order:


– Sales requirement = 700 Mscf/d.
– Available recycle gas = Remaining Produced Gas - Sale requirement = 1300 - 700 = 600 Mscf/d.
– All the available make-up gas (1200 Mscf/d) and available recycle gas (600 Mscf/d) are added to
make 1800 Mscf/d available for injection.
– Out of 1800 Mscf/d available for injection, following contributions are taken from available make-
up and available recycle gas to satisfy injection target of 1500 Mscf/d.

* Make-up Gas = (1200/1800) * 1500 = 1000 Mscf/d


* Recycle Gas = (600/1800) * 1500 = 500 Mscf/d
– Any remaining produced gas (600-500 = 100 Mscf/d) is added to total sales.

2. This example is the same as first example except that IORD MIX is replaced with IORD MR. See
IORD_MR.dat for complete example:

IORD MR

As a result, the following happens in order:


• Sales requirement is satisfied in the same way as in the first example. As a result, available recycle gas
also stays the same.
• All the available makeup gas (1200 Mscf/d) is used before using any available recycle gas (600 Mscf/d)
to meet the gas injection target rate (1500 Mscf/d).
• Any remaining produced gas (600-300 = 300 Mscf/d) is added to total sales.

1142 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

3. This example is the same as first example except that IORD MIX is replaced with IORD RM. See
IORD_RM.dat for complete example:

IORD RM

As a result, the following happens in order:


• Sales requirement is satisfied in the same way as in the first example. As a result, available recycle gas
also stays the same.
• All the available recycle gas (600 Mscf/d) is used before using any available make-up gas (1200
Mscf/d) to meet the gas injection target rate (1500 Mscf/d).
• Any remaining produced gas (600-600 = 0 Mscf/d) is added to total sales.

10.166. IORD - Order for Reinjection and Makeup into Injected Gas 1143
Tempest MORE Help, Release 8.1

10.167 ORDE - Order for Fuel, Sales and Reinjection from Pro-
duced Gas

Location

RECU Section

Description

The ORDE keyword is used to enable the change in order of priorities in which to satisfy fuel (GFUE), sales
(GSAL) and recycle requirements (RECY) from produced gas.
ORDE consists of one required argument which should be entered on the same line as the ORDE keyword itself
when used.

Definitions

1. Group Ordering: FSR (default),FRS,SFR,SRF,RFS or RSF.


• FSR - satisfy fuel requirement first, then the sales requirement and use any remaining gas for recycle
(see example).
• FRS - satisfy fuel requirement first, then the recycle requirement and add any remaining gas to total
sales (see example).
• SFR - satisfy sales requirement first, then the fuel requirement and use any remaining gas for recycle
(see example).
• SRF - satisfy sales requirement first, then the recycle requirement and use any remaining gas for fuel
(see example).
• RFS - satisfy recycle requirement first, then the fuel requirement and add any remaining gas to total
sales (see example).
• RSF - satisfy recycle requirement first, then the sales requirement and use any remaining gas for fuel
(see example).

Notes

• The position of ORDE in the recurrent section is significant, and ORDEr can be changed during the course
of a run.
• Recycle calculations are performed at the end of every time step. To obtain the correct composition of the
recycle fluid, the first time step is repeated.

Examples

1. In the example below, there are two groups PROD and INJE. Group PROD has been set a gas production
rate of 1100 Mscf/d, and group INJE has been set a gas injection rate (from recycled gas) of 1000 Mscf/day.
GFUE and GSAL requirements have been set to 100 Mscf/d and 200 Mscf/d respectively. Default order of
argument FSR is entered. See ORDE_FSR.dat for complete example:
ORDER FSR

ETAB
PROD
0 GGPT 1100
0 GFUEL 100 0

1144 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

0 GSALE 200 0
INJE
0 GGIT 1000
ENDE

As a result, the following happens in order:


• GFUEL requirement = 100 Mscf/d.
• GSALE requirement = 200 Mscf/d.
• Remaining gas (800 Mscf/d) is used for RECYCLE to satisfy gas injection target (1000 Mscf/d).

2. This example is the same as first example except that ORDE FSR is replaced with ORDE FRS. See
ORDE_FRS.dat for complete example:

ORDE FRS

As a result, the following happens in order:


• GFUEL requirement = 100 Mscf/d.
• Gas used for RECYCLE = Remaining Produced Gas - GFUEL requirement = 1100 - 100 = 1000
Mscf/d.
• Remaining Gas = GSAL = 0 Mscf/d

10.167. ORDE - Order for Fuel, Sales and Reinjection from Produced Gas 1145
Tempest MORE Help, Release 8.1

3. This example is the same as first example except that ORDE FSR is replaced with ORDE SFR. See
ORDE_SFR.dat for complete example:

ORDE SFR

As a result, the following happens in order:


• GSALE requirement = 200 Mscf/d.
• GFUEL requirement = 100 Mscf/d.
• Remaining gas (800 Mscf/d) is used for RECYCLE to satisfy gas injection target (1000 Mscf/d).

4. This example is the same as first example except that ORDE FSR is replaced with ORDE SRF. See
ORDE_SRF.dat for complete example:

ORDE SRF

As a result, the following happens in order:


• GSALE requirement = 200 Mscf/d.
• Gas used for RECYCLE = Remaining Produced Gas - GFUEL requirement = 1100 - 200 = 900 Mscf/d.
• Remaining Gas = GFUEL = 0 Mscf/d

1146 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

5. This example is the same as first example except that ORDE FSR is replaced with ORDE RFS. See
ORDE_RFS.dat for complete example:

ORDE RFS

As a result, the following happens in order:


• Gas used for RECYCLE = 1000 Mscf/d.
• GFUEL requirement = 100 Mscf/d.
• Remaining Gas = GSALE = 0 Mscf/d

6. This example is the same as first example except that ORDE FSR is replaced with ORDE RSF. See
ORDE_RSF.dat for complete example:

ORDE RSF

As a result, the following happens in order:


• Gas used for RECYCLE = 1000 Mscf/d.

10.167. ORDE - Order for Fuel, Sales and Reinjection from Produced Gas 1147
Tempest MORE Help, Release 8.1

• GSALE = 100 Mscf/d.


• Remaining Gas = GFUEL = 0 Mscf/d

1148 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.168 TUBI - Tubing Head Pressure Table Input

Location

RECU Section (before being used on a WELL keyword)

Description

The TUBI (tubing) keyword is used to define a tubing head pressure table. This is required in order to set a tubing
head pressure limit on a well specified using the WELL keyword or the LTAB event.
TUBI consists of two required arguments and two optional arguments, all entered on the same line following the
TUBI keyword. This line is followed by one or more subkeywords which specify the variables in the table. The
TUBI subkeywords are: FLOW, THP, RATI, ALQ, and BHP.

Definitions

1. Name of the tubing head table


2. Reference depth for the bottom-hole pressures specified in the table
• Default: DATU (datum) depth set in the GRID section
3. Well type specifier (recommended)
• PROD - use lift table for production wells
• INJE - use lift table for injection wells
4. Pressure table format (optional): LONG or PACK
• PACK (default) - one bottom-hole pressure array entered
• LONG - bottom-hole pressure table entered in long format with a table for each set of tubing head
pressures

Notes

• The typical order in which the TUBI subkeywords should appear after TUBI keyword is as follows: FLOW,
THP, RATI, ALQ (optional), and then BHP. A different order may be used, but it is not recommended. If
the subkeywords are in a different order, the ordering of the data must be adjusted as well.

Examples

1. TUBI is used to specify a tubing head pressure table named TAB3. The FLOW, THP, RATI, and BHP
subkeywords of TUBI are also used to complete the tubing head pressure table specification. This tubing
head pressure table will relate the BHP to the THP as a function of oil flow and GOR.
With the presence of 5 FLOW, 3 THP, and 3 RATI values, the number of BHP values needed will be the
number of entries of FLOW*THP*RATI. In this case, we have 5*3*3=45 BHP values required.
TUBI is also used to specify that the BHP values will be entered using the PACK format by default and
these BHP values will be referenced to 7000 ft. If the well BHP reference depth is not at this value, an
appropriate correction will be made.
TUBI TAB3 7000 PROD
FLOW OIL
180 240 300 360 1200 /
THP
415 715 1315 /

10.168. TUBI - Tubing Head Pressure Table Input 1149


Tempest MORE Help, Release 8.1

RATI GOR
3 5 8 /
BHP / flow1 flow2 flow3 flow4 flow5
1010 1015 1020 1024 1060 / thp =415 gor = 3
1650 1655 1660 1665 1672 / thp =715 gor = 3
3147 3157 3167 3177 3187 / thp =1315 gor = 3
875 882 1072 1015 1089 / thp =415 gor = 5
1480 1485 1503 1474 1520 / thp =715 gor = 5
2500 2510 2520 2530 2550 / thp =1315 gor = 5
823 937 1254 1171 1301 / thp =415 gor = 8
1309 1345 1472 1507 1607 / thp =715 gor = 8
2331 2341 2373 2413 2461 / thp =1315 gor = 8
/

The tubing table can also be immediately viewed in a graphical format by double-clicking on the Tubing
Table data item under the Data tab of the Data Supervisor, as illustrated in the following figures.

1150 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Please note that these tubing table plots can also be edited interactively directly from its graphical display.
All changes made on the graphical display are automatically reflected in the text file.
2. In this example, we input the same tubing head pressure table data as the example above, except that the
LONG format option is used instead of the default PACK format for the BHP input values. The LONG
option breaks down the BHP entries into smaller sub-tables. The arguments of the BHP keyword identify
the ratio values and ALQ values to which the sub-table applies.
In this case, there is a BHP sub-keyword for each set of FLOW*THP values and MORE matches the GOR
ratio associated with each BHP sub-keyword against the ratio values entered. Thus, we will have 3 different
BHP tables for each GOR ratio and each BHP table will have 5*3=15 values (i.e. number of flow*thp
entries).

TUBI TAB3 7000 PROD LONG


FLOW OIL
180 240 300 360 1200 /
THP
415 715 1315 /
RATI GOR
3 5 8 /
BHP GOR 3.0
1010 1015 1020 1024 1060 / thp =415
1650 1655 1660 1665 1672 / thp =715
3147 3157 3167 3177 3187 / thp =1315
BHP GOR 5.0

10.168. TUBI - Tubing Head Pressure Table Input 1151


Tempest MORE Help, Release 8.1

875 882 1072 1015 1089 / thp =415


1480 1485 1503 1474 1520 / thp =715
2500 2510 2520 2530 2550 / thp =1315
BHP GOR 8.0
823 937 1254 1171 1301 / thp =415
1309 1345 1472 1507 1607 / thp =715
2331 2341 2373 2413 2461 / thp =1315
/

This input also produces the same tubing table plot as the preceding example.

1152 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.169 FLOW - Tubing Table Flow Rate Specification

Location

RECU Section (after the TUBI keyword but before the BHP sub-keyword)

Description

The FLOW keyword is used to specify fluid flow rates for a tubing head pressure table defined by TUBI. FLOW
is a TUBI subkeyword and must be used only after the TUBI keyword has been specified. Additionally, FLOW
should be specified first before all of the other TUBI subkeywords are used.
Arguments for FLOW consist of two records. The first record consists of one optional argument which should
be entered on the same line as the FLOW keyword itself if used. The second record is entered on a separate line
below the FLOW keyword and its arguments consist of a list of flow rates which must be terminated by a slash (/)
after the final entry.

Definitions

RECORD 1:
1. Flow rate fluid (optional): OIL, GAS, WAT, LIQ
• OIL (default) - the flow rates in the table are oil flow rates
• GAS - the flow rates in the table are gas flow rates
• WAT - the flow rates in the table are water flow rates
• LIQ - the flow rates in the table are liquid flow rates
RECORD 2:
1. Flow rate values
• Notes:
– Flow rate values must be in ascending order.
– Values may be spread over more than one line.
– A slash (/) is required at the end of the input.
• Units:
– Oil flow rates: stb/day (Field), sm3/day (Metric)
– Gas flow rates: Mscf/day (Field), ksm3/day (Metric)
– Water flow rates: stb/day (Field), sm3/day (Metric)
– Liquid flow rates: stb/day (Field), sm3/day (Metric)

Notes

• The typical order in which the TUBI subkeywords should appear after the TUBI keyword is as follows:
FLOW, THP, RATI, ALQ (optional), and then BHP. A different order may be used, but it is not recom-
mended. If the subkeywords are in a different order, the ordering of the data must be adjusted as well.

10.169. FLOW - Tubing Table Flow Rate Specification 1153


Tempest MORE Help, Release 8.1

Examples

1. FLOW is used to specify a tubing table with 4 oil flow rates. With the presence of 4 FLOW, 1 THP, and 4
RATI values, the number of BHP values needed will be the number of entries of FLOW*THP*RATI. In this
case, we have 4*1*4=16 BHP values required.
This example used the PACK format (set by TUBI) for entering BHP values and these BHP values will be
referenced to 6500 ft. If the well BHP reference depth is not at this value, an appropriate correction will be
made.

TUBI TAB1 6500.0


FLOW OIL
1000 5000 10000 20000 /
THP
500 /
RATI gor
1.2 3.0 5.0 10. /
BHP
1260 1000 1750 1840
1080 1160 1380 2020
1000 1100 1400 2000
800 1000 1600 1950
/

The tubing table can also be immediately viewed in a graphical format by double-clicking on the Tubing
Table data item under the Data tab of the Data Supervisor, as shown below:

1154 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Please note that these tubing table plots can also be edited interactively directly from its graphical display.
All changes made on the graphical display will automatically be reflected in the text file.
2. In this example, we will input the same tubing head pressure table data at the example above, except that
the LONG format option will be used instead of the default PACK format for the BHP input values. The
LONG option breaks down the BHP entries into smaller sub-tables. The arguments of the BHP keyword
identify the ratio values and ALQ values to which the sub-table applies.
In this case, there is a BHP sub-keyword for each set of FLOW*THP values and MORE matches the GOR
ratio associated with each BHP sub-keyword against the ratio values entered. Thus, we will have 4 different
BHP tables for each GOR ratio and each BHP table will have 4*1=4 values (i.e. number of FLOW*THP
entries).

TUBI TAB1 6500.0 LONG


FLOW OIL
1000 5000 10000 20000 /
THP
500 /
RATI gor
1.2 3.0 5.0 10. /
BHP GOR 1.2
1260 1000 1750 1840
BHP GOR 3.0
1080 1160 1380 2020
BHP GOR 5.0

10.169. FLOW - Tubing Table Flow Rate Specification 1155


Tempest MORE Help, Release 8.1

1000 1100 1400 2000


BHP GOR 10.0
800 1000 1600 1950
/

This will also produce the same tubing table plot as the example above.

1156 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

10.170 THP - Tubing Head Pressure Specification

Location

RECU Section (after the TUBI keyword but before the BHP sub-keyword)

Description

The THP keyword is used to specify tubing head pressures for a tubing head pressure table defined by TUBI.
THP is a TUBI subkeyword and must be used only after the TUBI keyword has been specified. Additionally, THP
should be specified after the FLOW subkeyword but before the other remaining TUBI subkeywords are used.
Arguments for THP consist a list of tubing head pressures which are entered on a separate line below the THP
keyword. The list of pressures must be terminated by a slash (/) after the final entry.

Definitions

1. Tubing head pressures


• Notes:
– A slash (/) is required at the end of the input.
• Units:
– psia (Field), barsa (Metric)

Notes

• If no tubing head pressures are specified, the well limiting pressure is assumed to be the single tubing head
pressure for the table.
• The typical order in which the TUBI subkeywords should appear after the TUBI keyword is as follows:
FLOW, THP, RATI, ALQ (optional), and then BHP. A different order may be used, but it is not recom-
mended. If the subkeywords are in a different order, the ordering of the data must be adjusted as well.

Examples

1. THP is used to specify three tubing head pressures for the TAB1 tubing head pressure table. With the
presence of 5 FLOW, 3 THP, and 3 RATI values, the number of BHP values needed will be the number of
entries of FLOW*THP*RATI. In this case, we have 5*3*3=45 BHP values required.
This example uses the PACK format (set by TUBI) for entering BHP values and these BHP values will be
referenced to 7000 ft. If the well BHP reference depth is not at this value, an appropriate correction will be
made.

TUBI TAB3 7000


FLOW OIL
180 240 300 360 1200 /
THP
415 715 1315 /
RATI GOR
3 5 8 /
BHP / flow1 flow2 flow3 flow4 flow5
1010 1015 1020 1024 1060 / thp =415 gor = 3
1650 1655 1660 1665 1672 / thp =715 gor = 3
3147 3157 3167 3177 3187 / thp =1315 gor = 3
875 882 1072 1015 1089 / thp =415 gor = 5

10.170. THP - Tubing Head Pressure Specification 1157


Tempest MORE Help, Release 8.1

1480 1485 1503 1474 1520 / thp =715 gor = 5


2500 2510 2520 2530 2550 / thp =1315 gor = 5
823 937 1254 1171 1301 / thp =415 gor = 8
1309 1345 1472 1507 1607 / thp =715 gor = 8
2331 2341 2373 2413 2461 / thp =1315 gor = 8
/

The tubing table can also be immediately viewed in a graphical format by double-clicking on the Tubing
Table data item under the Data tab of the Data Supervisor, as illustrated in the following figure.

1158 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Note that these tubing table plots can also be edited interactively directly from its graphical display. All
changes made on the graphical display are automatically reflected in the text file.
2. In this example, we input the same tubing head pressure table data as the example above, except that the
LONG format option is used instead of the default PACK format for the BHP input values. The LONG
option breaks down the BHP entries into smaller sub-tables. The arguments of the BHP keyword identify
the ratio values and ALQ values to which the sub-table applies.
In this case, there is a BHP sub-keyword for each set of FLOW*THP values and MORE matches the GOR
ratio associated with each BHP sub-keyword against the ratio values entered. Thus, we will have 3 different
BHP tables for each GOR ratio and each BHP table will have 5*3=15 values (that is, number of flow*thp
entries).

TUBI TAB3 7000 LONG


FLOW OIL
180 240 300 360 1200 /
THP
415 715 1315 /
RATI GOR
3 5 8 /
BHP GOR 3.0
1010 1015 1020 1024 1060 / thp =415
1650 1655 1660 1665 1672 / thp =715
3147 3157 3167 3177 3187 / thp =1315
BHP GOR 5.0
875 882 1072 1015 1089 / thp =415
1480 1485 1503 1474 1520 / thp =715
2500 2510 2520 2530 2550 / thp =1315
BHP GOR 8.0
823 937 1254 1171 1301 / thp =415
1309 1345 1472 1507 1607 / thp =715
2331 2341 2373 2413 2461 / thp =1315
/

This input also produces the same tubing table plot as the preceding example.

10.170. THP - Tubing Head Pressure Specification 1159


Tempest MORE Help, Release 8.1

10.171 RATI - Ratio to Flow Rate Specification

Location

RECU Section (after the TUBI keyword but before the BHP sub-keyword)

Description

The RATI (ratio) keyword is used to specify ratio to fluid flow rates for a tubing head pressure table defined by
TUBI. RATI is a TUBI subkeyword and must be used only after the TUBI keyword has been specified. Addition-
ally, RATI should be specified after the FLOW and THP subkeywords but before the ALQ and BHP subkeywords
of TUBI are used.
Arguments for RATI consist of two records. The first record consists of one required argument which should be
entered on the same line as the RATI keyword itself when used. The second record is entered on a separate line
below the RATI keyword and its arguments consist of a list of ratios which must be terminated by a slash (/) after
the final entry.

Definitions

RECORD 1:
1. Ratio: WOR, WCT, WGR, GOR, GLR, or OGR
• WOR - water-oil ratio
– Units: stb/stb (Field), sm3 /sm3 (Metric)
• WCT - water cut
– Units: stb/stb (Field), sm3 /sm3 (Metric)
• WGR - water-gas ratio
– Units: stb/Mscf (Field), sm3 /ksm3 (Metric)
• GOR - gas-oil ratio
– Units: Mscf/stb (Field), ksm3 /sm3 (Metric)
• GLR - gas-liquid ratio
– Units: Mscf/stb (Field), ksm3 /sm3 (Metric)
• OGR - oil-gas ratio
– Units: stb/Mscf (Field), sm3 /ksm3 (Metric)
RECORD 2:
1. Ratio values
• Notes:
– Ratio values must be in ascending order.
– A slash (/) is required at the end of the input.

Notes

• WCUT may be used as an alias to WCT to specify water-cut ratios.


• Up to two RATI sub-keywords may be entered for each tubing head pressure table. If two are entered, one
should be a gas ratio (GOR, GLR, or OGR) and one a water ratio (WOR, WCT, or WGR).

1160 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

• The typical order in which the TUBI subkeywords should appear after the TUBI keyword is as follows:
FLOW, THP, RATI, ALQ (optional), and then BHP. A different order may be used, but it is not recom-
mended. If the subkeywords are in a different order, the ordering of the data must be adjusted as well.

Examples

1. RATI is used twice to input water cut and gas-liquid ratios for the TAB1 tubing head pressure table. With
the presence of 5 FLOW, 2 THP, and 4 RATI values, the number of BHP values needed will be the number
of entries of FLOW*THP*RATI. In this case, we have 5*2*4=40 BHP values required.
This example used the PACK format (set by TUBI) for entering BHP values and these BHP values will be
referenced to 7000 ft. If the well BHP reference depth is not at this value, an appropriate correction will be
made.

TUBI TAB1 7000.0


FLOW LIQ
0 2000 5000 10000 20000 /
THP
500 1000 /
RATI WCT
0.0 0.25 /
RATI GLR
5 10 /
BHP
2750 2695 2720 2820 3200
3250 3200 3220 3320 3700
3440 3325 3340 3460 3880
3950 3830 3850 3970 4390
3190 3930 3980 3190 4720
3870 3320 3390 3600 4230
2680 2420 2475 2680 3230
4370 2820 2890 3100 3730
/

The tubing table can also be immediately viewed in a graphical format by double-clicking on the “Tubing
Table” data item under the Data tab of the Data Supervisor, as shown below:

10.171. RATI - Ratio to Flow Rate Specification 1161


Tempest MORE Help, Release 8.1

Please note that these tubing table plots can also be edited interactively directly from its graphical display.
All changes made on the graphical display will automatically be reflected in the text file.
2. In this example, we will input the same tubing head pressure table data as the example above, except that
the LONG format option will be used instead of the default PACK format for the BHP input values. The
LONG option breaks down the BHP entries into smaller sub-tables. The arguments of the BHP keyword
identify the ratio values and ALQ values to which the sub-table applies.
In this case, there is a BHP sub-keyword for each set of FLOW*THP values and MORE matches the WCT
and GLR values associated with each BHP sub-keyword against the values entered. Thus, we will have 4
different BHP tables for each possible combination of WCT and GLR values and each BHP table will have
5*2=10 values (i.e. number of FLOW*THP entries).

TUBI TAB1 7000.0 LONG


FLOW LIQ
0 2000 5000 10000 20000 /
THP
500 1000 /
RATI WCT
0.0 0.25 /
RATI GLR
5 10 /
BHP WCT 0.0 GLR 5.0
2750 2695 2720 2820 3200
3250 3200 3220 3320 3700

1162 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

BHP WCT 0.25 GLR 5.0


3440 3325 3340 3460 3880
3950 3830 3850 3970 4390
BHP WCT 0.0 GLR 10.0
3190 3930 3980 3190 4720
3870 3320 3390 3600 4230
BHP WCT 0.25 GLR 10.0
2680 2420 2475 2680 3230
4370 2820 2890 3100 3730
/

This input will also produce the same tubing table plot as the example above.

10.171. RATI - Ratio to Flow Rate Specification 1163


Tempest MORE Help, Release 8.1

10.172 ALQ - Tubing Table Artificial Lift Specification

Location

RECU Section (after the TUBI keyword but before the BHP sub-keyword)

Description

The ALQ keyword is used to specify artificial lift quantities for a tubing head pressure table defined by TUBI.
ALQ is a TUBI subkeyword and must be used only after the TUBI keyword has been specified. Additionally,
ALQ should be specified after the FLOW, THP, and RATI subkeywords of TUBI but before the BHP subkeyword
is used.
Arguments for ALQ consist of two records. The first record consists of one optional argument which should be
entered on the same line as the ALQ keyword itself if used. The second record is entered on a separate line below
the ALQ keyword and its arguments consist of a list of artificial lift quantities which must be terminated by a slash
(/) after the final entry.

Definitions

RECORD 1:
1. Artificial lift quantity (optional): GRAT
• GRAT - the artificial lift quantity is gas lift
RECORD 2:
1. Artificial lift values
• Notes:
– Values may be spread over more than one line.
– A slash (/) is required at the end of the input.
• Units:
– If GRAT not used, the units are not specified
– If GRAT is used: Mscf/day (Field), ksm3 /day (Metric)

Notes

• The artificial lift quantity may be any variable which affects the lift performance of the well. The ALQ
value for a well may be set during the recurrent section using the WALQ event.
• When using the GLIF of GRAT option, the ALQ variable is identified as gas lift. This makes no difference if
ALQ values are set using WALQ event, but if gas lift values are set (for example, by LIFT or WLIF events),
they request that the ALQ is identified as gas lift and modified, rather than changing the lift table operating
point.
• When using the GLIF of GRAT option, the units for gas lift in metric units (ksm3/day) are different
from those of VFPPROD and VFPINJE (sm3/day).
• The typical order in which the TUBI subkeywords should appear after the TUBI keyword is as follows:
FLOW THP, RATI, ALQ(optional), and then BHP. A different order may be used, but it is not recommended.
If the subkeywords are in a different order, the ordering of the data must be adjusted as well.

1164 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Examples

1. ALQ is used to specify 2 artificial lift quantities for a tubing head pressure table, well1. With the presence
of 2 FLOW, 2 THP, 2 RATI, and 2 ALQ values, the number of BHP values needed will be the number of
entries of FLOW*THP*RATI*ALQ. In this case, we have 2*2*2*2=16 BHP values required.
This example uses the PACK format (set by TUBI) for entering BHP values and these BHP values will be
referenced to 5000 ft. If the well BHP reference depth is not at this value, an appropriate correction will be
made.

TUBI well1 5000.00


FLOW OIL
1000 2000 /
THP
100 200 /
RATI GOR
0.5000000 0.8000000 /
ALQ
500 1000 /
BHP
1399.3414 979.73178
1805.0543 1460.8169
1147.0577 803.39299
1616.5572 1235.8072
684.62156 500.21822
1078.0718 809.69406
615.32420 463.81833
979.04728 756.93985
/

The tubing table can also be immediately viewed in a graphical format by double-clicking on the Tubing
Table data item under the Data tab of the Data Supervisor, as shown below:

10.172. ALQ - Tubing Table Artificial Lift Specification 1165


Tempest MORE Help, Release 8.1

Please note that these tubing table plots can also be edited interactively directly from its graphical display.
All changes made on the graphical display will automatically be reflected in the text file.
2. In this example, we will input the same tubing head pressure table data as the example above, except that
the LONG format option will be used instead of the default PACK format for the BHP input values. The
LONG option breaks down the BHP entries into smaller sub-tables. The arguments of the BHP keyword
identify the ratio values and ALQ values to which the sub-table applies.
In this case, there is a BHP sub-keyword for each set of FLOW*THP values and MORE matches the GOR
ratio and ALQ values associated with each BHP sub-keyword against the values entered. Thus, we will
have 4 different BHP tables for each possible combination of GOR and ALQ values and each BHP table
will have 2*2=4 values (i.e. number of FLOW*THP entries).

TUBI well1 5000.00 LONG


FLOW OIL
1000 2000 /
THP
100 200 /
RATI GOR
0.5000000 0.8000000 /
ALQ
500 1000 /
BHP GOR 0.50000 ALQ 500.00000
1399.3414 979.73178 / thp=100
1805.0543 1460.8169 / thp=200

1166 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

BHP GOR 0.80000 ALQ 500.00000


1147.0577 803.39299 / thp=100
1616.5572 1235.8072 / thp=200
BHP GOR 0.50000 ALQ 1000.00000
684.62156 500.21822 / thp=100
1078.0718 809.69406 / thp=200
BHP GOR 0.80000 ALQ 1000.00000
615.32420 463.81833 / thp=100
979.04728 756.93985 / thp=200
/

This input will also produce the same tubing table plot as the example above.

10.172. ALQ - Tubing Table Artificial Lift Specification 1167


Tempest MORE Help, Release 8.1

10.173 BHP - Bottom Hole Pressure Specification

Location

RECU Section (after the TUBI keyword and all of its subkeywords)

Description

The BHP keyword is used to specify bottom hole pressures for a tubing head pressure table defined by TUBI .
BHP is a TUBI subkeyword and must be used only after the TUBI keyword has been specified. Additionally, BHP
must be used at the end of a TUBI table after all of the other TUBI subkeywords have been specified. The data for
the BHP keyword must be the final entry in a TUBI table specification.
The format of the BHP input varies depending on whether the PACK (packed) or LONG format is specified in the
TUBI keyword. Further information regarding the data input for the BHP keyword can be seen in the Definitions
section below.

Definitions

PACK (packed) format:


• For the default PACK (packed) format, all values are supplied under one BHP keyword.
• The number of columns of data required is defined by the number of flow rate entries (nF ) defined by the
FLOW keyword
• The number of rows of data required is defined by the number of THP entries (nT )as defined by the THP
keyword multiplied by the number of ratio entries (nR ) as defined by the RATI keyword
– If there are no THP entries, then nT is equal to 1
– If there are are no ratio entries, then nR is equal to 1
• The total number of BHP values needed in this case is nF *nT *nR entries.
• Units: psia (Field), barsa (Metric)
LONG format:
• For the LONG format, there is a BHP sub-keyword for each set of FLOW*THP values. MORE matches the
ratio associated with each BHP sub-keyword against the RATI values entered.
• The format for each BHP entry under the LONG format is as follows:
1. BHP keyword
2. Name of the ith ratio (i.e. WOR, GOR) following the BHP keyword on the same line
3. Value of the ratio following the name of the ratio on the same line
4. Below the 3 (or more) entries above, BHP values are listed
– Units: psia (Field), barsa (Metric)
– The number of columns of data required is defined by the number of flow rate entries (nF ) defined
by the FLOW keyword
– The number of rows of data required is defined by the number of THP entries (nT )as defined by
the THP keyword

1168 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

Notes

• For each BHP sub-keyword in LONG format, the order of the values entered must be flow index changing
most quickly, THP index most slowly.
• For the PACK format (please see TUBI for more information), the total number of BHP input values must
equal the continued product of the number of entries of FLOW times the number of entries of THP times
the number of entries for each ratio (defined in RATI). Please see Example #1 below for more information.
• For the LONG format (please see TUBI for more information), the total number of input values must equal
the continued product of the number of entries of FLOW times the number of entries of THP. Please see
Example #2 below for more information.
• Multiple BHP sub-keywords are used to complete the table. Also, the number of entries in one row of the
BHP table must equal the number of FLOW entries. The order of input for the two BHP input options is
illustrated by the addition of comments after the slash in the examples below.
• With the LONG format, the simulator checks the consistency of the ratio values. The PACK format is more
appropriate for machine generated tables.
• The typical order in which the TUBI subkeywords should appear after the TUBI keyword is as follows:
FLOW, THP, RATI, ALQ (optional), and then BHP. A different order may be used, but it is not recom-
mended. If the subkeywords are in a different order, the ordering of the data must be adjusted as well.

Examples

1. BHP is used to enter bottom hole pressure values for the tubing table TAB3 using the PACK format. With
the presence of 5 FLOW, 3 THP, and 3 RATI values, the number of BHP values needed will be the number
of entries of FLOW*THP*RATI. In this case, we have 5*3*3=45 BHP values required.
These BHP values will be referenced to 7000 ft. (as specified by TUBI). If the well BHP reference depth is
not at this value, an appropriate correction will be made.

TUBI TAB3 7000


FLOW OIL
180 240 300 360 1200 /
THP
415 715 1315 /
RATI GOR
3 5 8 /
BHP / flow1 flow2 flow3 flow4 flow5
1010 1015 1020 1024 1060 / thp =415 gor = 3
1650 1655 1660 1665 1672 / thp =715 gor = 3
3147 3157 3167 3177 3187 / thp =1315 gor = 3
875 882 1072 1015 1089 / thp =415 gor = 5
1480 1485 1503 1474 1520 / thp =715 gor = 5
2500 2510 2520 2530 2550 / thp =1315 gor = 5
823 937 1254 1171 1301 / thp =415 gor = 8
1309 1345 1472 1507 1607 / thp =715 gor = 8
2331 2341 2373 2413 2461 / thp =1315 gor = 8
/

The tubing table can also be immediately viewed in a graphical format by double-clicking on the Tubing
Table data item under the Data tab of the Data Supervisor, as shown below:

10.173. BHP - Bottom Hole Pressure Specification 1169


Tempest MORE Help, Release 8.1

Please note that these tubing table plots can also be edited interactively directly from its graphical display.
All changes made on the graphical display will automatically be reflected in the text file.
2. In this example, we will input the same tubing head pressure table data as the example above, except that
the LONG format option will be used instead of the default PACK format for the BHP input values. The
LONG option breaks down the BHP entries into smaller sub-tables. The arguments of the BHP keyword
identify the ratio values and ALQ values to which the sub-table applies.
In this case, there is a BHP sub-keyword for each set of FLOW*THP values and MORE matches the GOR
ratio associated with each BHP sub-keyword against the ratio values entered. Thus, we will have 3 different

1170 Chapter 10. Tempest MORE recurrent section keywords


Tempest MORE Help, Release 8.1

BHP tables for each GOR ratio and each BHP table will have 5*3=15 values (i.e. number of flow*thp
entries).

TUBI TAB3 7000 LONG


FLOW OIL
180 240 300 360 1200 /
THP
415 715 1315 /
RATI GOR
3 5 8 /
BHP GOR 3.0
1010 1015 1020 1024 1060 / thp =415
1650 1655 1660 1665 1672 / thp =715
3147 3157 3167 3177 3187 / thp =1315
BHP GOR 5.0
875 882 1072 1015 1089 / thp =415
1480 1485 1503 1474 1520 / thp =715
2500 2510 2520 2530 2550 / thp =1315
BHP GOR 8.0
823 937 1254 1171 1301 / thp =415
1309 1345 1472 1507 1607 / thp =715
2331 2341 2373 2413 2461 / thp =1315
/

This input will also produce the same tubing table plot as the example above.

10.173. BHP - Bottom Hole Pressure Specification 1171


Tempest MORE Help, Release 8.1

10.174 HEAD - Convert Well Pressures to Datum

Location

RECU Section

Syntax

HEAD prodensity injdensity

Definitions

• prodensity - density used to convert all production well pressures to the datum depth
• injdensity - density used to convert all injection well pressures to the datum depth

Example

HEAD 45.0 62.0

Note

The HEAD keyword data will only be used by MORE if the BACK 5 option is used.

1172 Chapter 10. Tempest MORE recurrent section keywords


CHAPTER

ELEVEN

TEMPEST MORE EVENTS

11.1 Introduction to Events

Events are used to describe the time history of an object, for instance, that of a well, group or a pipe. A sequence of
events can for instance be used to describe the perforation history of a well, where individual events are associated
with a perforation interval and a date.
An event can be described as an action performed on a given object, resulting in a change in the state of this object.

Event Data Format

Depending on the event format using the EFOR keyword, a single event has the general data format as follows:
• Event Owner
• Event Date
• Event Type
• Event Attributes

Event Owner

The Event Owner is the object on which the event acts. For example, a perforation event or a well production
event is owned by a well. Please note that each event must have an owner which can be one of the following types:
• A well
• A well group
• A pipe
• ALL

Note: ALL is used as an event owner for Simulator Control events

The event owner is specified with a name as a text string. In general, there are a few restrictions on what can be
defined as an event owner name, but white space at the beginning or end of the name will be trimmed.
More information on event owners can be found here.

Event Date

The Event Date is a time definition at which instance the event action is to be performed. The time definition can
be in a DATE format or alternatively DAYS format as defined in the EFOR keyword.

1173
Tempest MORE Help, Release 8.1

The event is assumed to have taken action instantenously at the event date as the exact duration of the action is
neglected in the simulation model.

Event Type

All event types have been documented under the events index page:
• Well Perforation Events
• Well Mode Events
• Well Contraint Events
• Well Historical Control Events
• Well Definition Events
• Well Model Events
• Group Constraint Events
• Group Definition Events
• Simulation Control Events
• Reinjection Events
• Network Events
• Invocation Events

Event Attributes

The Event Attributes is a list of attributes used to describe detailed properties for the event type. Event attributes
can be integers, doubles or strings, and are in general unique for each event. The attributes for each event are
defined in the help page for each event.
Further information on working with events can be accessed here.

1174 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.2 Working with Events

This page gives an overview on working with events data.


Many events can be used in place of RECU section keywords. A list of events that are recommended alterntatives
to the corresponding keywords can be found here.

Event Tables

A series of events can be read from one or more included files, selected by the EFIL keyword:
EFIL
'events.inc'

where the file ‘events.inc’ contains an event table of the form:


w_1 01/Jan/1975 PERF 0 1000 0.05 1.0 0.0 -- perforate well w_1
w_2 01/Jan/1975 PERF 0 500 0.05 1.0 0.0

Alternatively, the events may be placed directly into the RECU section using the ETAB keyword:
ETAB
w_1 01/Jan/1975 PERF 0 1000 0.05 1.0 0.0 -- perforate well w_1
w_2 01/Jan/1975 PERF 0 500 0.05 1.0 0.0
ENDE

Comments in Event Tables

Lines in an ETAB or EFIL may contain comments. The start of a comment should be indicated with -- (double
dash), everything after the double dash is part of the comment.
A slash / can be used instead of -- to indicate a comment. However, when using ETAB, a line starting with
/ terminates the ETAB as it is also the end-of-table character. Thus, it is strongly recommended to use -- for
comments in event tables.

Treatment of Event Owners

Two alternatives to place an owner name are available, and can be specified with the EFOR keyword.
The default is to place the owner name on a separate line before a series of events for that owner.
ETAB
w_1
01/Jan/1975 PERF 0 1000 0.05 1.0 0.0 -- perforation of well w_1
w_2
01/Jan/1975 PERF 0 500 0.05 1.0 0.0 -- perforation of well w_2
ALL
01/Jan/2000 END -- control event indicating end of simulation
ENDE

Alternatively, an owner name may be the first item on each line of data. This option may be selected using the
WELL argument of EFOR.
EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT
ETAB
w_1 01/Jan/1975 PERF 0 1000 0.05 1.0 0.0 -- perforation of well w_1
w_2 01/Jan/1975 PERF 0 500 0.05 1.0 0.0 -- perforation of well w_2
ALL 01/Jan/2000 END -- control event indicating end of simulation
ENDE

11.2. Working with Events 1175


Tempest MORE Help, Release 8.1

Event Format

The EFOR keyword can be used to adjust the format of event tables. In particular the format of event dates is set
with EFOR.
The order of arguments for the perforation events PERF and SQUE may be specified with the EFOR keyword.
The default order for the required arguments that follow PERF or SQUE is MDL, MDU, RAD, SKIN, MULT

w_1 01/Jan/1975 PERF 0 500 0.05 1.0 0.0

All other events expect a fixed number of required arguments, as listed in the table below. The SHUT, STOP,
PROD and INJE events have no arguments, for example:

w_1 01/Jan/1975 PROD

When an argument is required, the value follows the event descriptor - for example, when setting a well rate:

w_1 01/Jan/1975 OPT 12000

Multiple Events on a Line

It is possible to have more than one event on a line. So the two events:

w_1 01/Jan/1975 PROD


w_1 01/Jan/1975 OPT 12000

are equivalent to:

w_1 01/Jan/1975 PROD OPT 12000

Note: Exception: events that follow a PERF, SQUE and INVO event must be placed on a separate line.

Notes

1. If HOURS has been specified, it applies to all the events on that line.
2. The order of events at a given time is significant. The effect of

w_1 01/Jan/1975 PROD OPT 12000

is different to

w_1 01/Jan/1975 OPT 12000 PROD

In the second case the oil target rate is set, and then the well is opened as a producer (which resets any
existing targets).
3. In general, it is best to use PROD or INJE to open the well before starting to set targets. A production event
like OPT will open the well as a producer if this has not been done. However, setting a BHP or THP limit
will not, as these apply to both production and injection.

1176 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.3 Events vs RECU Section Keywords

This page provides a list of events that are recommended to use in place of the corresponding RECU section
keywords.

Event Description RECU Sec- Notes


tion Keyword
ABC Set A and B Coefficients to Determine Skin and WABC
D-factor
BHPT Set BHP Target WELL 5th argument
CIJK Set Up a Cell Completion by I,J,K Index WELL Sub-keyword CIJK
CNAC Set Up a Cell Completion in a Numerical Aquifer CNAC
CNVL Set Linear Convergence Target LSOL 2nd argument
CNVNL Set Non-Linear Convergence Target VTOL 1st argument
CONV Set Up Well Conversion to Injector on Limit Vio- WELL Sub-keyword CONV
lation
CWAG Continuous Water and Gas Injection for a Well CWAG
DELT Set Next Timestep Length DELT
DFAC Well D-Factor DFAC
DRAW Set Drawdown Target WELL Sub-keyword DRAW
DREF Set BHP Reference Depth WELL Sub-keyword DREF
DRSDT Set Maximum Rate of Solution Gas-Oil Ratio RSDT
Change
DRVDT Set Maximum Rate of Vapour Oil-Gas Ratio RVDT
Change
END End Simulation STOP
FORCH Enable Forchheimer flow for this well WFOR
GCOM Set Up Action to be Taken if Group Pipeline Limit GCOM
Cannot be Met
GFUEL Group Fuel Requirement GFUE
GILIM Group Injection Control ILIM
GIRED Set Up Well Redefinition on Injection Group GRED
Limit Violation
GIT Set Gas Injection Target WELL 2nd , 3rd and 4th arguments
GLIF Request Group Lift Optimisation GLIF
GPAL Set Group Pipe Artificial Lift Value GPAL
GPIP Attach a Pipe to a Group GPIP
GPLIM Group Production Control GLIM
GPMI Set Minimum Pressure for a Network Node Group GPMI
GPP Enable Gas Pseudo-Pressure for this Well WGPP
GPRED Set Up Well Redefinition on Production Group GRED
Limit Violation
GPRI Group Prioritisation Control GPRI
GPT Set Gas Production Target WELL 2nd , 3rd and 4th arguments
GPUM Attach a Pipeline Pump to a Network Group GPUM
GSALE Group Sales Requirement GSAL
GSPC Set Group Separator Conditions GSPC
GTOL Set a Group Limit Tolerance Fraction GTOL
GUGR Set Group User Guide Rate GUGR
HBHP Use Historical BHP WELL 3rd argument
HGAS Use Historical Gas Target WELL 3rd argument
HLIQ Use Historical Liquid Target WELL 3rd argument
HOIL Use Historical Oil Target WELL 3rd argument
HRES Use Historical Reservoir Voidage Target WELL 3rd argument
Continued on next page

11.3. Events vs RECU Section Keywords 1177


Tempest MORE Help, Release 8.1

Table 11.1 – continued from previous page


Event Description RECU Sec- Notes
tion Keyword
HRGI Use Historical Reservoir Voidage Target for Gas WELL 3rd argument
Injection
HRWI Use Historical Reservoir Voidage Target for Water WELL 3rd argument
Injection
HTHP Use Historical THP WELL 3rd argument
HWAT Use Historical Water Target WELL 3rd argument
HWEF Use Historical Efficiency Factor WELL 3rd argument
ILIM Auxiliary Well Limits for an Injector Well WLIM
INJE Set the Well to Injector WELL 2nd argument
INVO Invoke an Operation INVO
LIFT Well Lift Rate WELL Sub-keyword LIFT
LPT Set Liquid Production Target WELL 2nd , 3rd and 4th arguments
LTAB Set Lift Table for THP Calculations WELL 7th argument
MPGPP Enable Multi-Phase Gas Pseudo-Pressure for this WMPG
Well
MXL Set Max Number of Linear Iterations LSOL 1st argument
MXNL Set Max Number of Non-Linear Iterations VTOL 2nd argument
OIT Set Oil Injection Target WELL 2nd , 3rd and 4th arguments
OPT Set Oil Production Target WELL 2nd , 3rd and 4th arguments
PBAL Set Up Production Balancing PBAL
PERF Open Completions in Well WELL Sub-keyword COMP
PIPEC Set Up a Pipe Description Using Flow Coeffi- PIPE
cients
PIPET Set Up a Pipe Description Using a Pipe Table PIPE
PLIM Auxiliary Well Limits for a Producer Well WLIM
POLY Injection Polymer Concentration WELL Sub-keyword CPLY
POTN Periodic Well Potential Calculations POTN
PREX Set External Radius and Pressure Averaging Op- WELL Sub-keyword P-RE
tion
PRIO Group Prioritisation Coefficients PRIO
PROD Set the Well to Producer WELL 2nd argument
PUMP Set Up a Pump Table WELL Sub-keyword LIFT
REDE Set Up Well Redefinition on Limit Violation WELL Sub-keyword REDE
RG Enable Russell-Goodrich for this Well WRG
SHUT Shut the Well WELL 2nd argument
SOLV Injection Solvent Fraction WELL Sub-keyword SOLV
PERF Close Completions in Well WELL Sub-keyword ZONE
SRVW Stimulated Reservoir Volume along a Trajectory SRVW
STEAM Injection Steam Properties STEA
STOP Stop the Well WELL 2nd argument
TEMP Injection Temperature TEMP
THPT Set THP Target WELL 7th argument
TRAC Injection Tracer Concentration WTRC
TSDP Set Timestep Target Pressure Change DTMX 6th argument of 2nd record
TSDS Set Timestep Target Saturation Change DTMX 3rd argument of 2nd record
TSDT Set Timestep Target Temperature Change DTMX 7rd argument of 2nd record
TSMX Set Maximum Timestep DTMX 2nd argument of 2nd record
TSWM Set Maximum Timestep After Well Modification DTMX 5rd argument of 2nd record
VDKR Enable Velocity Dependent Relative Permeabili- WVDK
ties for this Well
VPT Set Voidage Production Target WELL 2nd , 3rd and 4th arguments
VREP Set Up Voidage Replacement VREP
Continued on next page

1178 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Table 11.1 – continued from previous page


Event Description RECU Sec- Notes
tion Keyword
WALQ Set Well Artificial Lift Value WALQ
WCOM Set Up Action to be Taken if Well Pipeline Limit WCOM
Cannot be Met
WEF Well Efficiency Factor WWEF
WFRA Set Well Fracture Operation WFRA
WIT Set Water Injection Target WELL 2nd , 3rd and 4th arguments
WLTA Set Well Lift Table Addition WLTA
WLTM Set Well Lift Table Multiplier WLTM
WMUL Set an Overall Well Completion Connection Fac- WMUL
tor Multiplier
WPAL Set Well Pipe Artificial Lift Value WPAL
WPIP Attach a Pipe to a Well WPIP
WPRI Set Well Priority WPRI
WPT Set Water Production Target WELL 2nd , 3rd and 4th arguments
WPUM Attach a Pipeline Pump to a Well WPUM
WSEG Requests that a Well be Modelled as a Multi- WSEG
Segmented Well
WSPC Set Well Separator Conditions WSPC
WTOL Set a Well Limit Tolerance Fraction WTOL
WUGR Set Well User Guide Rate WUGR
WWAG Water and Gas Injection for a Well WWAG

11.3. Events vs RECU Section Keywords 1179


Tempest MORE Help, Release 8.1

11.4 Tempest MORE Well Perforation events

CIJK - Set Up a Cell Completion by I,J,K Index

Syntax

CIJK <I> <J> <K1> <K2> <Rad> <Mult> <Skin> <CCF> <KH> [COPEN|CSHUT] [DIR
,→<X|Y|Z|FX|FY>] [FRAC <fracExtent>] [LGR <lgr name>] [SAT <saturation table index>

,→] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The CIJK event is used to set up a cell completion by i,j,k index.

Definitions

1. I cell index of the completion


2. J cell index of the completion
3. Lower K cell index of the completion
4. Upper K cell index of the completion
5. Wellbore radius
• Default: 0.5 feet (Field), 0.152 metres (Metric)
6. Connection multiplier
• Default: 1
7. Skin factor
• Default: 0
8. Cell Connection Factor
• Default: CCF internal calculation as described in the Tech Ref
• Units: rb.cp/d/psi (Field), rm3.cp/d/bar (Metric)
9. Permeability-height product (KH)
• Default: grid block value
10. Optional arguments:
• Open/Shut completion
– COPEN (default) - open this completion
– CSHUT - shut the completion
• Direction of the completion within the grid block: DIR <X|Y|Z|FX|FY>
– X - completion in the x-direction
– Y - completion in the y-direction
– Z (default) - completion in the z-direction
– FX - fractured completion in the x-z plane (i.e. flow occurs into the completion in the cell y-
direction)
– FY - fractured completion in the y-z plane (i.e. flow occurs into the completion in the cell x-
direction)

1180 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

• FRAC <fracture extent> - fractured completion followed by the fracture extent.


• Local grid name: LGR <grid name>
– Default: defaults to the global grid and only needs to be specified if a local grid completion is
required.
• Saturation table index: SAT <table index>
– Default: defaults to the saturation table index for the grid cell containing the completion.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If KH is left as default, the value depends on the direction of the completion within the grid block as
specified.
• DIR should be followed by a completion direction - X,Y,Z,FX or FY. So DIR X would request a completion
in the x-direction.
• If the FX or FY completion direction is specified, the fracture is assumed by default to extend across the
cell in the x- or y- direction.
• The FRAC <fracture extent> argument is only relevant when FX or FY completion direction is used.
• If the fracture extent is specified, the fracture may be given a total length of 2*FractureExtent (i.e. it extends
by the specified distance in each direction.
• If a positive CCF value is entered it will be used instead of an ccf internal calculation.
• If a positive KH value is entered it will be used instead of an internal calculation of effective permeability *
thickness.
• LGR should be followed by a local grid name. So LGR would request a completion in local grid.
• See Well Index Calculations for more information regarding general CCF calculations and fractured com-
pletions.
• This event is a recommended alternative to WELL sub-keyword CIJK.
• The saturation table used to calculate the completion mobilities is normally taken from the grid cell con-
taining the completion. This may be overriden by specifying a non-default value using the SAT argument.
The same saturation table number applies when hysteresis is present and the saturation tables (e.g. KRGO,
KRWG and KRWO) are specified with columns for both drainage and imbibition processes.
When the saturation table has been specified by the SAT argument and End Point Scaling is used, keyword
WEPS may be used to control whether the end points for the completion mobility calculation are taken from
this saturation table or from the grid cell containing the completion.

Examples

1. EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
P-1 0 CIJK 4 4 1 1 1* 1* 1* 1* 1* COPEN DIR Z
P-1 0 BHPT 17
P-1 0 OPT 500
ENDE

11.4. Tempest MORE Well Perforation events 1181


Tempest MORE Help, Release 8.1

CNAC - Set Up a Cell Completion in a Numerical Aquifer

Syntax

CNAC <aquifer> <cell index> [r] [mult] [skin] [KH] [SAT <saturation table index>]
,→[AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The CNAC event is used to provide a simple means of completing a well in a numerical aquifer.

Definitions

1. Name of the numerical aquifer


2. Cell index for completion (counting from the end of the aquifer which attaches to the reservoir)
3. Wellbore radius
• Default: 0.5 feet (field), 0.152 metres (metric)
4. Connection multiplier
• Default: 1 but may be entered to modify the calculated connection factor by a factor of M
5. Skin factor
• Default: 0
6. Product of completion cell permeability and distance (KH)
• Default: grid block value
7. Optional arguments:
• Saturation table index: SAT <table index>
– Default: defaults to the saturation table index for the grid cell containing the completion.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Aquifer connections are always regarded as vertical.


• This event is a recommended alternative to WELL sub-keyword CNAC.
• The saturation table used to calculate the connection mobilities is normally taken from the grid cell contain-
ing the conection. This may be overriden by specifying a non-default value for the SAT argument. The same
saturation table number applies when hysteresis is present and the saturation tables (e.g. KRGO, KRWG and
KRWO) are specified with columns for both drainage and imbibition processes.
When the saturation table has been specified in the SAT argument and End Point Scaling is used, keyword
WEPS may be used to control whether the end points for the connection mobility calculation are taken from
this saturation table or from the grid cell containing the connection.

1182 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Examples

1. CNAC is used to complete wells P-1 and P-2 in the 4th and 3rd cells of aquifers A1 and A2 respectively.

AQNN A1 5 1E4 6000 25 0.5 100 4.0e-05 305 5650 /


AQNN A2 5 1E4 2000 50 0.5 100 4.0e-05 305 5650 /

AQNC A1 1 20 1 20 4 4 K+ 1 /
AQNC A2 1 20 1 20 4 4 K+ 1 /

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
P-1
0 PROD
0 CNAC A1 4
0 BHPT 100
0 LPT 100

P-2
0 PROD
0 CNAC A2 3
0 BHPT 100
0 LPT 100
ENDE

This will be shown in the 3D viewer as follows:

11.4. Tempest MORE Well Perforation events 1183


Tempest MORE Help, Release 8.1

CSHUT - Shut All Open Completions in Well

Syntax

CSHUT [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The CSHUT event is used to shut all open completions in a well.

Definitions

1. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If shut using the CSHUT event, the well completions cannot be re-opened unless the respective completions
are re-perforated using the PERF event. This is in contrast to SHUT event that allows well to be re-opened
using the OPEN event.

Examples

1. CSHUT event is used to shut all the completions in well P-104

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


ETAB
P-104 01/06/2005 CSHUT
ENDE

1184 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PERF - Open Completions in Well

Syntax

PERF <Lower> <Upper> <Rad|Diam> <Skin> <Mult> [MD|TVD|ZONE] [CLOSE]


,→[FRAC|MATR|BOTH] [BRANCH <branch_index>] [SAT <saturation table index>] [AFTER

,→<value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The PERF event is used to open/close completions in a well trajectory defined using TTAB and ENDT keywords.

Definitions

1. Lower Depth or Zone


2. Upper Depth or Zone
3. Radius or Diameter (based on the format set in EFOR keyword)
• Default: Radius of 0.5 feet (Field) and 0.152 metres (Metric)
4. Skin
• Default: 0
5. Connection multiplier
• Default: 1
6. Optional arguments:
• Depth type: MD, TVD or ZONE
– MD (default) - Measured Depth
– TVD - True Vertical Depth
– ZONE - Zone Completion
• CLOSE - completion interval is to be closed defined by the first two arguments
• Complete in fracture or matrix or both: FRAC, MATR or BOTH (only applies in a DPOR or DPER
run)
– FRAC (default) - perforate in fracture
– MATR - perforate in matrix
– BOTH - perforate in both fracture and matrix
• BRANCH <branch_index> - open a completion in the branch defined using the BRAN keyword.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.
• SAT <saturation table index> - specify a saturation table index for the completion
– Default: defaults to the saturation table index for the grid cell containing the completion.

11.4. Tempest MORE Well Perforation events 1185


Tempest MORE Help, Release 8.1

Notes

• PERF with CLOSE is the same as SQUE, although SQUE is preferred.


• ZONE implies the interval is in terms of cell layer in the global grid.
• Use of MD implies that the reference depth is to be found by looking up the vertical depth at the specified
measured depth in the well trajectory table. TVD and ZONE also work with respect to the trajectory - all
the sections of the trajectory in the required interval will be completed.
• A branch index may be used to refer to particular branch of a well trajectory using the BRANCH
<branch_index> argument - index value of 0 refers to the main branch.
• This event is a recommended alternative to WELL sub-keyword COMP. Using the ZONE option, this will
be a recommended alternative to WELL sub-keyword ZONE.
• The saturation table used to calculate the completion mobilities is normally taken from the grid cell con-
taining the completion. This may be overriden by specifying a non-default value using the SAT argument.
The same saturation table number applies when hysteresis is present and the saturation tables (e.g. KRGO,
KRWG and KRWO) are specified with columns for both drainage and imbibition processes.
When the saturation table has been specified by the SAT argument and End Point Scaling is used, keyword
WEPS may be used to control whether the end points for the completion mobility calculation are taken from
this saturation table or from the grid cell containing the completion.

Examples

1. PERF event is used to open completions in wells 502 and 503.

EFOR 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
502
01/01/2000 PERF 4354 4386 -1 2.0
503
01/01/2000 PERF 5 6 -1 2 ZONE -- complete in layers 5 and 6
ENDE

1186 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

SQUE - Close Completions in Well

Syntax

SQUE <Lower> <Upper> <Rad|Diam> <Skin> <Mult> [MD|TVD|ZONE] [FRAC|MATR|BOTH]


,→[BRANCH <branch_index>] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The SQUE event is used to close completions in a well trajectory defined using TTAB and ENDT keywords.

Definitions

1. Lower Depth or Zone


2. Upper Depth or Zone
3. Radius or Diameter (based on the format set in EFOR keyword)
• Default: Radius of 0.5 feet (Field) and 0.152 metres (Metric)
4. Skin
• Default: 0
5. Connection multiplier
• Default: 1
6. Optional arguments:
• Depth type: MD, TVD or ZONE
– MD (default) - Measured Depth
– TVD - True Vertical Depth
– ZONE - Zone Completion
• Squeeze in fracture or matrix or both: FRAC, MATR or BOTH (only applies in a DPOR or DPER run)
– FRAC (default) - squeeze in fracture
– MATR - squeeze in matrix
– BOTH - squeeze in both fracture and matrix
• BRANCH <branch_index> - close a completion in the branch defined using the BRAN keyword.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Only the first two characters of SQUE are required.

11.4. Tempest MORE Well Perforation events 1187


Tempest MORE Help, Release 8.1

• If a SQUE event is defined without any additional string arguments (i.e. no BRANCH, ZONE, TVD or
AFTER option) then it is only necessary to specify the two depths. If any of the optional string arguments are
present, it is necessary to supply all of the numerical arguments present in the matching PERF and EFOR.
Since radius/diameter, skin and multiplier have no relevance to a squeeze event, they can be defaulted.
• PERF with CLOSE is the same as SQUE, although SQUE is preferred.
• ZONE implies the interval is in terms of cell layer in the global grid.
• Use of MD implies that the reference depth is to be found by looking up the vertical depth at the specified
measured depth in the well trajectory table. TVD and ZONE work with respect to a trajectory - all the
sections of the trajectory in the required interval will be squeezed.
• A branch index may be used to refer to particular branch of a well trajectory using the BRANCH
<branch_index> argument - index value of 0 refers to the main branch.
• This event is a recommended alternative to WELL sub-keyword COMP. Using the ZONE option, this will
be a recommended alternative to WELL sub-keyword ZONE.

Examples

1. The following SQUE event

EFOR 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
502
01/01/2005 SQUE 4354 4386
503
01/01/2005 PERF 5 6 -1 2 ZONE CLOSE
ENDE

has the same effect as:

EFOR 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
502
01/01/2005 PERF 4354 4386 2* CLOSE
503
01/01/2005 SQUE 5 6 2* ZONE
ENDE

1188 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.5 Tempest MORE Well Mode events

INJE - Set the Well to Injector

Syntax

INJE [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The INJE event is used to set a Well to Injector.

Definitions

1. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Setting this event clears all existing targets for the well.
• This event is a recommended alternative to WELL keyword action INJE.

Examples

1. INJE event is used to change the well WAA1 to to an injector, and all its existing targets are cleared.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


ETAB
WAA1 01/01/2008 INJE
ENDE

11.5. Tempest MORE Well Mode events 1189


Tempest MORE Help, Release 8.1

OPEN - Open the Well

Syntax

OPEN [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The OPEN event is used to open a well.

Definitions

1. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Setting this event does not clear any targets or change the well from producer to injector or vice versa.
• This event is a recommended alternative to WELL keyword action OPEN.

Examples

1. OPEN event is used to open the well P-104 without changing its producer or injector status.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


ETAB
P-104 01/06/2005 OPEN
ENDE

1190 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PROD - Set the Well to Producer

Syntax

PROD [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The PROD event is used to set a Well to Producer.

Definitions

1. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Setting this event clears all existing targets for the well.
• This event is a recommended alternative to WELL keyword action PROD.

Examples

1. PROD event is used to change the well WAA1 to to a Prodcer, and all its existing targets are cleared.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


ETAB
WAA1 01/01/2001 PROD
ENDE

11.5. Tempest MORE Well Mode events 1191


Tempest MORE Help, Release 8.1

SHUT - Shut the Well

Syntax

SHUT [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The SHUT event is used to shut a well. The well then operates at zero surface rates with no cross-flow, until the
OPEN event is used.

Definitions

1. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to WELL keyword action SHUT.

Examples

1. SHUT event is used to shut the well P-104.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


ETAB
P-104 01/06/2005 SHUT
ENDE

1192 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

STOP - Stop the Well

Syntax

STOP [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The STOP event is used to stop a well. The well then operates at zero surface rates with the possibility of cross-
flow within the reservoir.

Definitions

1. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• With STOP event, the well operates at zero surface rates by applying a large bhp of 2000 × 1atm for a
producer well and a small bhp of 0.2 × 1atm for an injector well. To start producing or injecting from the
well again, the user must subsequently set a reasonable bhp target.
• XFLO event can be used to turn off well cross-flow.
• This event is a recommended alternative to WELL keyword action STOP.

Examples

1. STOP event is used to stop the well P-104.

EFOR WELL 'DD/MM/YYYY' MDL MDU RAD SKIN MULT


ETAB
P-104 01/06/2005 STOP
ENDE

11.5. Tempest MORE Well Mode events 1193


Tempest MORE Help, Release 8.1

11.6 Tempest MORE Well Constraint events

BHPT - Set BHP Target

Syntax

BHPT <BHP target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The BHPT event is used to set BHP target for a well.

Definitions

1. BHP target
• Units: psia (Field), bars (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting BHP target of a well using the WELL keyword.

Examples

1. The BHPT event is used to set well bhp target of 100 bars.

EFOR 'dd/mmm/yyyy'
ETAB
P-1
03/Jan/2004 BHPT 100
ENDE

1194 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

CWAG - Continuous Water and Gas Injection for a Well

Syntax

CWAG <gas-to-water ratio> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The CWAG event is used to specify the continuous injection of water and gas for a well.

Definitions

1. Continuous gas-to-water ratio


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The amount of gas is specified as a surface volume ratio to the water (i.e. Mscf/stb or ksm3 / sm3 ). Once
CWAG has been selected, both surface water rate and surface gas rate control modes are available. The well
will attempt to meet the target for whichever phase is controlled, and inject the associated amount of the
other phase. This will continue until CWAG mode is turned off. Once CWAG is turned off, the well reverts
to being a water injector.
• This event is a recommended alternative to keyword CWAG.

Examples

1. CWAG is used to set up well I-1 to inject 0.2 ksm3 of gas for every sm3 of water injected, and attempt to
inject 90sm3 /day of water.

ETAB
I-1
01/Jan/2000 INJE
01/Jan/2000 PERF 1767.84 1828.8 0.1 0 1
01/Jan/2000 WIT 90
01/Jan/2000 BHPT 5000
01/Jan/2000 CWAG 0.2
ENDE

Thus, a water injection rate of 90sm3 /day for well I-1 and a CWAG continuous gas-to-water ratio of 0.2 will
result in the injection of 90*0.2 = 18ksm3 /day of gas for well I-1. At some point, it may be required to turn
off the CWAG operation and revert to water injection. This may be done with the OFF argument:

11.6. Tempest MORE Well Constraint events 1195


Tempest MORE Help, Release 8.1

ETAB
I-1
01/Jan/2003 CWAG 1* OFF
ENDE

The resulting water and gas injection from the CWAG specifications can be seen in the 2D plot below:

1196 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

DRAW - Set Drawdown Target

Syntax

DRAW <drawdown target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The DRAW event is used to apply a drawdown target to a well.

Definitions

1. Drawdown target
• Units: psi (Field), bars (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The drawdown for the well is the average of the drawdown for each completion, weighted by the connection
factor for each completion.
• The drawdown for a completion is:

Pdd = Pcell − Pbhp − G × ρ × (dcell − dref )

where:
– Pdd is the drawdown pressure,
– Pcell is the cell pressure,
– Pbhp is the well bhp,
– dcell is the cell depth,
– dref is the bhp reference depth,
– ρ is the average wellbore fluid density,
– and G is the gravity constant.
• The draw-in for an injector completion is:

Pdd = Pdi

where:
– Pdd is the drawdown pressure,
– Pdi is the draw-in pressure.
• This event is a recommended alternative to WELL sub-keyword DRAW.

11.6. Tempest MORE Well Constraint events 1197


Tempest MORE Help, Release 8.1

Examples

1. DRAW is used to limit the maximum drawdown for a well to 10 bars.


ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 1767.84 1828.8 0.1 0 1
01/Jan/2000 OPT 4179
01/Jan/2000 BHPT 88
01/Jan/2000 DRAW 10
ENDE

Drawdown pressures can be plotted in 2D with the draw down pressure (wpdd) vectors that appears in the
Wells tab of the results in Tempest View, as follows:

2. Drawdown control can also be applied to injectors. For injectors, this limits the draw-in (this has the opposite
sign to the drawdown). In the example below, the well will be limited to a maximum draw-in of 5 bars.
ETAB
I-1
01/Jan/2000 INJE
01/Jan/2000 PERF 1767.84 1828.8 0.1 0 1
01/Jan/2000 GIT 2831.68
01/Jan/2000 BHPT 1378.95
01/Jan/2000 DRAW 5
ENDE

1198 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

When the drawdown pressure is plotted for the I-1 injector well, we will see the following:

11.6. Tempest MORE Well Constraint events 1199


Tempest MORE Help, Release 8.1

GIT - Set Gas Injection Target

Syntax

GIT <Gas Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The GIT event is used to set gas injection target rate for a well.

Definitions

1. Gas injection target rate


• Units: Mscf/d (Field), ksm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting gas injection target rate using the WELL keyword.

Examples

1. The GIT event is used to set gas injection target rate of 2831.68 Mscf/d.

EFOR 'dd/mmm/yyyy'
ETAB
I-1
01/Dec/2000 GIT 2831.68
ENDE

1200 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GPT - Set Gas Production Target

Syntax

GPT <Gas Prod target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The GPT event is used to set gas production target rate for a well.

Definitions

1. Gas production target rate


• Units: Mscf/d (Field), ksm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A production target greater or equal than zero will automatically switch the well to produce that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting gas production target rate using the WELL keyword.

Examples

1. The GPT event is used to set series of gas production targets in successive years.

EFOR 'dd/mmm/yyyy'
ETAB
P-1
01/Jan/2001 GPT 1800
01/Jan/2002 GPT 1600
01/Jan/2003 GPT 1400
01/Jan/2004 GPT 1200
01/Jan/2005 GPT 1000
ENDE

11.6. Tempest MORE Well Constraint events 1201


Tempest MORE Help, Release 8.1

GVIT - Set Gas Voidage Injection Target

Syntax

GVIT <Gas Voidage Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR
,→<hrs>]

Description

The GVIT event is used to set gas voidage injection target rate for a well.

Definitions

1. Gas voidage injection target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.

Examples

1. The VPT and GVIT events are used to balance voidage production with gas injection to maintain pressure.

EFOR WELL 'dd/mmm/yyyy'


ETAB
MP502 20/Jan/2000 VPT 260
GI501 20/Jan/2000 GVIT 260
ENDE

1202 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GTARG - Set Gas Rate for Producer or Injector

Syntax

GTARG <Gas target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The GTARG event is used to set gas target rate for a producer or injector well.

Definitions

1. Gas target rate


• Units: Mscf/d (Field), ksm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event just sets the target rate. Whether the rate is a production or injection one is dependent on the
mode of the well set using PROD or INJE events.

Examples

1. The GTARG event is used to set gas target rate of 1900 Mscf/d

EFOR 'dd/mmm/yyyy'
ETAB
Well2
01/Jan/2001 GTARG 1900
ENDE

11.6. Tempest MORE Well Constraint events 1203


Tempest MORE Help, Release 8.1

ILIM - Auxiliary Well Limits for an Injector Well

Syntax

ILIM <limit type> <limit value> <limit action> [MIN] [OFF] [HOUR <hrs>]

Description

The ILIM event is used to provide auxiliary well limits.

Definitions

1. Limit Type: OIL, GAS, WAT, RESV, BHP, THP


Limit Type Description
OIL oil rate
GAS gas rate
WAT water rate
RESV reservoir volume rate
BHP bottom hole pressure
THP top hole pressure
2. Limit Value for the Limit Type set in argument 1.
3. Limit Action: REDE, SHUT, STIM, STOP
Limit Action Description Syntax
REDE redefine one or more wells REDE
SHUT shut all wells in the group SHUT
STIM stimulate STIM
STOP stop run STOP
4. Optional Arguments:
• MIN - By default limits are maximum limits - ie the limit acts when the predicted value rises above the
limit value. MIN allows the limit to be set up as a minimum limit - ie the limit acts when the predicted
value falls below the limit value.
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The remedial actions, STIM, REDE, and SHUT are all carried out when a constraint with which it is
specified is violated, as follows:
– The STIM (stimulation) option revises the well index value according to input specified on the STIM
well sub-keyword when the specified limit is violated. When a stimulation is not successful, the well
is shut-in.
– The SHUT (shut-in) option shuts-in the well if the limit with which it is specified is violated.
– In the case of a REDE (redefine) action, the required redefinition must be defined using REDE event.
• This event is a recommended alternative to keyword WLIM.

1204 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Examples

1. ILIM is used to shut the injector well if the injection gas rate falls below 100 ksm3/day.

EFOR 'dd/mmm/yyyy'
ETAB
IINJ-W1
10/Oct/2010 ILIM GAS 100 SHUT MIN
ENDE

11.6. Tempest MORE Well Constraint events 1205


Tempest MORE Help, Release 8.1

LPT - Set Liquid Production Target

Syntax

LPT <Liquid Prod target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The LPT event is used to set liquid production target rate for a well.

Definitions

1. Liquid production target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A production target greater or equal than zero will automatically switch the well to produce that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting liquid production target rate using the WELL keyword.

Examples

1. The LPT event is used to set liquid production target rate of 180 sm3/d.

EFOR 'dd/mmm/yyyy'
ETAB
P-1
04/Jan/2001 LPT 180
ENDE

1206 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

LTARG - Set Liquid Rate for Producer or Injector

Syntax

LTARG <Liquid target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The LTARG event is used to set liquid target rate for a producer or injector well.

Definitions

1. Liquid target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event just sets the target rate. Whether the rate is a production or injection one is dependent on the
mode of the well set using PROD or INJE events.

Examples

1. The LTARG event is used to set a liquid target rate of 2000 stb/d.

EFOR 'dd/mmm/yyyy'
ETAB
W_A
01/Jan/2001 LTARG 2000
ENDE

11.6. Tempest MORE Well Constraint events 1207


Tempest MORE Help, Release 8.1

OIT - Set Oil Injection Target

Syntax

OIT <Oil Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The OIT event is used to set oil injection target rate for a well.

Definitions

1. Oil injection target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When setting oil injection, OIL package of the RATE keyword must be used to report oil injection rates.
• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting oil injection target rate using the WELL keyword.

Examples

1. The OIT event is used to set oil injection target rate of 1802 stb/d.

EFOR 'dd/mmm/yyyy'
ETAB
I-1
01/Jan/2000 OIT 1802
ENDE

1208 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

OPT - Set Oil Production Target

Syntax

OPT <Oil Prod target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The OPT event is used to set oil production target rate for a well.

Definitions

1. Oil production target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A production target greater or equal than zero will automatically switch the well to produce that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting oil production target rate using the WELL keyword.

Examples

1. The OPT event is used to set an oil production target rate of 1600 sm3/day.

EFOR 'dd/mmm/yyyy'
ETAB
P-1
01/Jan/2000 OPT 1600
ENDE

11.6. Tempest MORE Well Constraint events 1209


Tempest MORE Help, Release 8.1

OTARG - Set Oil Rate for Producer or Injector

Syntax

OTARG <Oil target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The OTARG event is used to set oil target rate for a producer or injector well.

Definitions

1. Oil target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When using the OTARG event for injection, OIL package of the RATE keyword must be used to report oil
injection rates.
• This event just sets the target rate. Whether the rate is a production or injection one is dependent on the
mode of the well set using PROD or INJE events.

Examples

1. The OTARG event is used to set an oil target rate of 1800 stb/d.

EFOR 'dd/mmm/yyyy'
ETAB
W-1
01/Jan/2001 OTARG 1800
ENDE

1210 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PLIM - Auxiliary Well Limits for a Producer Well

Syntax

PLIM <limit type> <limit value> <limit action> [MIN] [OFF] [HOUR <hrs>]

Description

The PLIM event is used to provide auxiliary well limits.

Definitions

1. Limit Type: OIL, GAS, WAT, RESV, BHP, THP, LIQ, GOR, OGR, WCT, WOR, GWR, WGR
Limit Type Description
OIL oil rate
GAS gas rate
WAT water rate
RESV reservoir volume rate
BHP bottom hole pressure
THP top hole pressure
LIQ liquid rate
GOR gas-oil ratio
OGR oil-gas ratio
WCT water cut
WOR water-oil ratio
GWR gas-water ratio
WGR water-gas ratio
2. Limit Value for the Limit Type set in argument 1.
3. Limit Action: BOOST, CONV, CUTB, DRIL, PUMP, REDE, SHUT, STIM, STOP, WORK
Limit Description Syntax
Action
BOOST boost by factor (same as CUTB) BOOST FACTOR <factor>
[PHASE <phase>]
CONV convert well from production to injection CONV
CUTB cut back phase (oil/gas/water/liqu/void) to CUTB FACTOR <factor>
<factor> times current rate factor [PHASE <phase>]
DRIL open from drilling queue DRIL
PUMP use named pump PUMP [pump name]
REDE redefine REDE
SHUT shut well SHUT
STIM stimulate STIM
STOP stop run STOP
WORK workover WORK [TOP|BOT|WORS]
4. Optional Arguments:
• MIN - By default limits are maximum limits - ie the limit acts when the predicted value rises above the
limit value. MIN allows the limit to be set up as a minimum limit - ie the limit acts when the predicted
value falls below the limit value.
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

11.6. Tempest MORE Well Constraint events 1211


Tempest MORE Help, Release 8.1

Notes

• When a workover is applied to a well, these options select the type of workover. TOP and BOT close the top
and bottom completion. WORS closes the worst offending completion. If none of TOP, BOT and WORS
are specified, the top completion is closed for a gas limit and the bottom completion for a water limit.
• The remedial actions CUTB, STIM, WORK, CONV, REDE, and SHUT are all carried out when a constraint
with which it is specified is violated, as follows:
– The STIM (stimulation) option revises the well index value according to input specified on the STIM
well sub-keyword when the specified limit is violated. When a stimulation is not successful, the well
is shut-in.
– When the WORK (workover) limit action is selected, the zones with the largest ratio limit violation
are shut-in one at a time until either the well is shut-in or the ratio limit is no longer violated.
– When a CUTB (cutback) option is specified for a ratio limit, the well is cutback to maintain it within
the specified ratio limit; if not successful, the well is shut-in.
– The CONV (convert) option converts the producer into an injector if the limit with which it is specified
is violated.
– The SHUT (shut-in) option shuts-in the well if the limit with which it is specified is violated.
– In the case of the REDE (redefine) action, the required redefinition must be defined using a REDE
event.
– If no phase is given with CUTB/BOOST, the phase is selected for which the current rate is closest to
its target.
– The default factor is 0.9 for CUTB, and 1.11 for BOOST.
• Note that MORE versions < 7.2 do not acknowledge the PHASE option for CUTB and use a marginally
different algorithm to select the reduced target rate. Without the PHASE option, results for rate-limited
wells are compatible between versions, but they may change for bhp/thp-limited wells.
• This event is a recommended alternative to keyword WLIM.

Examples

1. PLIM is used to specify a WOR limit of 10 and the well will be shut-in if the WOR exceeds 10.

WPRD 01/Jan/2000 PLIM WOR 10 SHUT

The WOR constraint set by PLIM can then be eliminated by:

WPRD 01/Jan/2000 PLIM WOR 10 SHUT OFF

2. PLIM is used to specify that a well should be worked over if the GOR exceeds 5.

01/Jan/2000 PLIM GOR 5 WORK

3. PLIM is used to specify that a well be stimulated if the oil rate falls below 300.

01/Jan/2000 PLIM OIL 300 STIM MIN

4. PLIM is used to specify that a well will be converted if the gas rate falls below 100. The well is converted
to an injector with the constraints specified using the CONV event.

01/Jan/2000 PLIM GAS 10 CONV MIN

5. PLIM is used to specify that a well will be shut-in if the GOR exceeds 10.

1212 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

01/Jan/2000 PLIM GOR 10 SHUT

6. PLIM is used to specify that a well will be redefined if the oil rate falls below 5000.

01/Jan/2000 PLIM OIL 5000 REDE

11.6. Tempest MORE Well Constraint events 1213


Tempest MORE Help, Release 8.1

SIT - Set Steam Injection Target

Syntax

SIT <Steam Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The SIT event is used to set steam injection target rate for a well.

Definitions

1. Steam injection target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event can be only be used when steam modelling has been turned on by using the the STEA keyword
in the INPU (Input) or FLUI (Fluid) sections.
• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.
• Please see the Steam/Thermal section of the MORE Technical Reference for more information regarding
steam modelling in Tempest.
• This event is a recommended alternative to setting steam injection target rate using the WELL keyword.

Examples

1. The SIT event is used to set steam injection target rate of 1000 stb/day (water surface volume rate).

EFOR 'dd/mmm/yyyy'
ETAB
I-1
01/Dec/2000 SIT 1000
ENDE

1214 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

SVIT - Set Steam Voidage Injection Target

Syntax

SVIT <Steam Voidage Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]]
,→[HOUR <hrs>]

Description

The SVIT event is used to set steam voidage injection target rate for a well.

Definitions

1. Steam voidage injection target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event can be only be used when steam modelling has been turned on by using the the STEA keyword
in the INPU (Input) or FLUI (Fluid) sections.
• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.
• Please see the Steam/Thermal section of the MORE Technical Reference for more information regarding
steam modelling in Tempest.

Examples

1. The SVIT event is used to set steam voidage injection target rate of 1000 stb/day.

EFOR 'dd/mmm/yyyy'
ETAB
I-1
01/Jan/1980 STEAM 450.0 1* 0.7 1*
01/Jan/1980 SVIT 1000
ENDE

11.6. Tempest MORE Well Constraint events 1215


Tempest MORE Help, Release 8.1

THPT - Set THP Target

Syntax

THPT <THP target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The THPT event is used to set THP target for a well.

Definitions

1. THP target
• Units: psia (Field), bars (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting THP limit on a well specified using the WELL keyword.

Examples

1. The THPT event is used to set well thp target of 1200 psi in accordance with the lift table TAB1.

EFOR WELL 'DAYS'


ETAB
P-1 10 PROD
P-1 10 LTAB TAB1 -- Use table TAB1 for well P-1
P-1 10 THPT 1200 -- Set thp target for well
ENDE

1216 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

VPT - Set Voidage Production Target

Syntax

VPT <Voidage Prod target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The VPT event is used to set voidage production target rate for a well.

Definitions

1. Voidage production target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A production target greater or equal than zero will automatically switch the well to produce that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting voidage production target rate using the WELL keyword.

Examples

1. The VPT event is used to set voidage production target rate of 1800 rb/d.

EFOR 'dd/mmm/yyyy'
ETAB
P-1
03/Jan/2000 VPT 1800
ENDE

11.6. Tempest MORE Well Constraint events 1217


Tempest MORE Help, Release 8.1

VTARG - Set Voidage Rate for Producer or Injector

Syntax

VTARG <Voidage target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The VTARG event is used to set voidage target rate for a producer or injector well.

Definitions

1. Voidage target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event just sets the target rate. Whether the rate is a production or injection one is dependent on the
mode of the well set using PROD or INJE events.
• For VTARG to be used as an injection target, the user first needs to define the type of injector. This can be
done using GIT, GVIT, WIT, WVIT or OIT event.

Examples

1. The VTARG event is used to set a reservoir voidage target rate of 1800 rb/d.

EFOR 'dd/mmm/yyyy'
ETAB
W_B
01/Jan/2001 VTARG 1800
ENDE

1218 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WCOM - Set Up Action to be Taken if Well Pipeline Limit Cannot be Met

Syntax

WCOM <limit type> <limit value> <limit action> <action details> [OFF] [HOUR <hrs>]

Description

The WCOM event sets up a limit so that if pipeline pressure falls below a given value, or if oil or gas flow rate is
too low, then a compressor (defined by the CMPR keyword) will be switched on or have another remedial action
taken.

Definitions

1. Limit type: PIN, POUT, OIL, or GAS


• PIN - inlet pressure
• POUT - outlet pressure
• OIL - oil flow rate
• GAS - gas flow rate
2. Limit value
3. Limit action: COMP, PUMP, LIFT, or ALQS
• COMP - use compressor table
• PUMP - use pipeline pipe performance table (entered with PLPU)
• LIFT - use artificial lift table
• ALQS - use well artificial lift values
4. Action details:
• For COMP - compressor name and number of compressor stages
• For PUMP - pipeline pump name
• For LIFT - lift table name
• For ALQS - ALQ shift & number of shifts allowed
5. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• WCOM always sets a MINIMUM limit, i.e they trigger if the pressure or rate is too low. There is currently
no option to impose WCOM limits as maximum or limits.
• For more information regarding the use of the limit actions COMP, PUMP, LIFT, and ALQS, please see
please see the CMPR, PLPU, LIFT, or ALQ keywords, respectively.
• This event is a recommended alternative to keyword WCOM.

11.6. Tempest MORE Well Constraint events 1219


Tempest MORE Help, Release 8.1

Examples

1. The WCOM event is used to request up to two ALQ increments of 200 if the gas rate of wells WPRD1 and
WPRD2 falls below 6600 ksm3 /day.

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
WPRD1 100 WCOM GAS 6600 ALQS 200 2
WPRD2 100 WCOM GAS 6600 ALQS 200 2
ENDE

1220 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WIT - Set Water Injection Target

Syntax

WIT <Water Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WIT event is used to set water injection target rate for a well.

Definitions

1. Water injection target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting water injection target rate using the WELL keyword.

Examples

1. The WIT event is used to set water injection target rate of 118 stb/d.

EFOR 'dd/mmm/yyyy'
ETAB
I-1
01/Dec/2000 WIT 118
ENDE

11.6. Tempest MORE Well Constraint events 1221


Tempest MORE Help, Release 8.1

WLTA - Set Well Lift Table Addition

Syntax

WLTA <lift curve value> [OFF] [HOUR <hrs>]

Description

The WLTA event is used to set lift curve addition value for a well.

Definitions

1. value - Value of lift curve addition (Bars or Psi)


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The lift table addition is added to the bhp predicted after looking up the bhp for the well’s current thp.
• This event is a recommended alternative to keyword WLTA.

Examples

1. The WLTA event is used to set a lift table addition value of 413 for well PROD_A.

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
PROD_A 10 WLTA 413
ENDE

1222 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WLTM - Set Well Lift Table Multiplier

Syntax

WLTM <lift table mult> [OFF] [HOUR <hrs>]

Description

The WLTM event is used to set lift table multiplier for a well.

Definitions

1. value - Value of lift curve multiplier


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword WLTM.

Examples

1. The WLTM event is used to set a lift table multiplier value of 1.13 for well PROD_A.

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
PROD_A 10 WLTM 1.13
ENDE

11.6. Tempest MORE Well Constraint events 1223


Tempest MORE Help, Release 8.1

WPRI - Set Well Priority

Syntax

WPRI <Well priority value> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WPRI event is used to specify a well priority. This specification will override the default calculation defined
in the PRIO event.

Definitions

1. Well priority value


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword WPRI.

Examples

1. In the example below, we have four wells with a total oil production rate of 10000. These wells, P-1, P-2,
P-3, and P-4 have been set up to have oil production rates of 1000, 2000, 3000, and 4000, respectively. After
5 years of simulation, PRIO is used to assign a priority to the oil rate using the default time interval of 92.25
days. GPRI event is then used to set a target oil production rate at 8000 for a group of 4 wells. By default,
this rate is then to be met by closing wells with low priority limits.
WPRI is then added to override the well priority set by PRIO for the well P-1 and the new well priority for
this well will be set to 5000. See WPRI_event.dat for complete example:

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 1000.00
01/Jan/2005 WPRI 5000.00

P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

P-3

1224 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 3000.00

P-4
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 4000.00

ALL
01/Jan/2005 PRIO 1* 0 1 0 0 1 0 0 0
01/Jan/2005 GPRI OIL 8000
01/Jan/2010 END

ENDE

From the PRIO event specifications given, the well priority becomes P = qo , the oil rate, as detailed below:

P = (C1 + C2*qo + C3*qg + C4*qw)/(C5 + C6*qo + C7*qg + C8*qw)


P = (0 + 1*qo + 0*qg + 0*qw)/(1 + 0*qo + 0*qg + 0*qw)
P = qo / 1
P = qo

Then, as we have used GPRI event to set a target oil production rate of 8000 for our group of wells after
5 years of simulation, once that target rate is exceeded, the wells in the group would be shut according to
their well priority as determined by the coefficients set in PRIO. Normally, in this case, as the well priority
has been set to be equivalent to the oil rate (qo ), the well with the lowest oil production rate would be closed
first. If with the closing of this well, the oil production rate still exceeded the target of 8000, then the well
with the second lowest oil production rate would be closed next and so on and so on, until the target rate
was not longer violated.
However, with the presence of the WPRI event, P-1, the well with the lowest oil production rate (and thus,
the lowest well priority), has now been assigned the highest well priority. So, we would expect that this well
will be given the highest well priority now.
As seen in the plot below, the total oil production rate for the group ALL does decrease from 10000 to 8000
after 5 years due to the presence of the GPRI event.

11.6. Tempest MORE Well Constraint events 1225


Tempest MORE Help, Release 8.1

When the oil production rates are plotted for all 4 of the wells (P-1, P-2, P-3 and P-4) in the group ALL, we
can see that indeed the well priority has been set to the oil rate but it is not the well with the lowest oil rate
(P-1) will that is shut first as this well has been assigned the highest well priority by the WPRI event. Thus,
the order of the well priority from lowest to highest becomes P-2, P-3, P-4, and P-1. In the plot below, we
can see that indeed, the well with the lowest priority, P-2, is shut to satisfy the oil rate target set by GPRI
event at 8000.

1226 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WPT - Set Water Production Target

Syntax

WPT <Water Prod target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WPT event is used to set water production target rate for a well.

Definitions

1. Water production target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A production target greater or equal than zero will automatically switch the well to produce that requested
phase and reset other phase targets.
• This event is a recommended alternative to setting water production target rate using the WELL keyword.

Examples

1. The WPT event is used to set water production target rate of 1800 sm3/d.

EFOR 'dd/mmm/yyyy'
ETAB
P-1
01/Mar/2007 WPT 1800
ENDE

11.6. Tempest MORE Well Constraint events 1227


Tempest MORE Help, Release 8.1

WTARG - Set Water Rate for Producer or Injector

Syntax

WTARG <Water target> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WTARG event is used to set water target rate for a producer or injector well.

Definitions

1. Water target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event just sets the target rate. Whether the rate is a production or injection one is dependent on the
mode of the well set using PROD or INJE events.

Examples

1. The WTARG event is used to set a water target rate of 1500 stb/d.

EFOR 'dd/mmm/yyyy'
ETAB
WELL_EAST_1
01/Jan/2001 WTARG 1500
ENDE

1228 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WUGR - Set Well User Guide Rate

Syntax

WUGR <well guide rate> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WUGR event is used to set well user guide rates. A well guide rate enables a group target to be shared
between wells and sub-groups.

Definitions

1. Well guide rate


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Values assigned to the guide rates using WUGR event may take on any value. Once all of the desired guide
rates are entered, MORE will sum up all of the guide rates together and then each well with a guide rate
will be assigned a fraction of the total according to their defined guide rates. Please see examples below for
more information.
• This event is a recommended alternative to keyword WUGR.

Examples

1. In this example, we have two production wells, P-1 and P-2, which have oil production targets of 3000 and
5000 stb/day, respectively. Both of these wells belong in a group called PRODS and this group is given an
oil production target of 4000 stb/day, as follows.

GROUP PRODS P-1 P-2

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 3000.00
P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 5000.00
PRODS
01/Jan/2000 GOPT 4000

11.6. Tempest MORE Well Constraint events 1229


Tempest MORE Help, Release 8.1

ALL
01/Jan/2010 END
ENDE

Once the simulation is run and we plot the oil production rates for P-1 and P-2, we will see that, by default,
the group target of 4000 stb/day for the oil production rate will be split evenly between these two wells,
with 2000 stb/day coming from each well.

Now, say after 5 years, we introduce WUGR to the dataset and specify that well P-1 has a guide rate of 40
and well P-2 has a guide rate of 60, as follows. See WUGR_event.dat for complete example:

ETAB
P-1
01/Jan/2005 WUGR 40
P-2
01/Jan/2005 WUGR 60
ENDE

As a result, in 2005, the group oil production rate target of 4000 stb/day will be then shared between the
wells according to their well guide rates. Now, well P-1 will take on 40/(40+60)=40% of 4000 stb day (or
1600 stb/day) while well P-2 takes on 60/(40+60)=60% of 4000 stb/day (or 2400 stb/day). When we plot
the oil production rates for these wells, we will see that this is indeed the case.

1230 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.6. Tempest MORE Well Constraint events 1231


Tempest MORE Help, Release 8.1

WVIT - Set Water Voidage Injection Target

Syntax

WVIT <Water Voidage Inj target> [SECOND] [OFF] [AFTER <value> [DAYS|MON|YEAR]]
,→[HOUR <hrs>]

Description

The WVIT event is used to set water voidage injection target rate for a well.

Definitions

1. Water voidage injection target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• SECOND - this indicates that the injection/pressure target(s) applies to the secondary injection mode.
This is the mode obtained when WWAG event is used to switch a well between injection modes. This
is equivalent to the targets set after the AND argument with the WELL keyword.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• An injection target greater or equal than zero will automatically switch the well to inject that requested
phase and reset other phase targets.

Examples

1. The WVIT event is used to set a water voidage injection target rate of 260 rb/d.

EFOR WELL 'dd/mmm/yyyy'


ETAB
WI-00 20/Jan/1998 WVIT 260
ENDE

1232 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WDPRI - Set Well Drill Priority

Syntax

WDPRI <Well drill priority value> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>
,→]

Description

The WDPRI event is used to specify a well drill priority. This specification will override the default calculation
defined in the DPRIO event.

Definitions

1. Well drill priority value


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• WDPRI can be applied to any well, but will have an effect only on wells in the drill queue (group DRIL).
• Even if all wells in the drill queue have a WDPRI set, a DPRIO event is still needed to switch on the drill pri-
oritisation. Without a DPRIO event the drill queue is not prioritised - this ensures backwards compatibility
with MORE 7.2 and earlier.
• With the OFF option a well can be reset to using the priority from the DPRIO calculation.

Examples

1. This example uses the WDPRI event to override the potential-based priority calculation by DPRIO event
for well P3. See GPLIM_DRIL_DPRIO_WDPRI.dat for complete example:
GROUP DRIL P2 P3
GROUP GG P1 P2 P3

EFOR 'DAYS'
ETAB
ALL
0 DPRIO 1.0 0 2 0 0 1 0 0 0 -- recalculate potentials every day & use 2*
,→oil potential as drill priority

I1
0 INJE
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 WIT 1000.00
0 BHPT 2000.00

11.6. Tempest MORE Well Constraint events 1233


Tempest MORE Help, Release 8.1

P1
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 3000.00
0 BHPT 68.9475

P2
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475
0 WDPRI 7500.0 -- use WDPRI to override DPRIO based priority for
,→this well

P3
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475

GG
100 GPLIM OIL 2300 DRIL MIN
ENDE

2. This example only uses the WDPRI event to set user defined drilling priorities. A DPRIO event is still
needed to switch on the drill prioritisation. See GPLIM_DRIL_WDPRI.dat for complete example:

GROUP DRIL P3 P2
GROUP GG P1 P2 P3

EFOR 'DAYS'
ETAB
ALL
0 DPRIO 5* 1 3*

I1
0 INJE

1234 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

0 PERF 2537.46 2587.46 0.1520 0.0 1.0


0 WIT 1000.00
0 BHPT 2000.00

P1
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 3000.00
0 BHPT 68.9475

P2
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475
0 WDPRI 5000.0 -- set priority

P3
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 WDPRI 7500.0 -- set priority

GG
100 GPLIM OIL 2300 DRIL MIN
ENDE

11.6. Tempest MORE Well Constraint events 1235


Tempest MORE Help, Release 8.1

11.7 Tempest MORE Well Definition events

HBHP - Use Historical BHP

Syntax

HBHP [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HBHP event sets the well to use historical BHP as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical BHP target using keyword WELL.

Examples

1. The HBHP event is used to set well P-1 on historical bhp control with a user-defined oil production rate
target. See HBHP.dat
HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' BHP


HTAB
P-1 01/Jan/2001 3000
P-1 01/Feb/2001 3050
P-1 01/Jly/2001 3000
P-1 01/Dec/2001 3050
P-1 01/Jan/2002 3000
P-1 01/Apr/2002 3050
P-1 01/Jul/2002 3000
P-1 01/Dec/2002 3050
P-1 29/Feb/2004 3000
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HBHP

1236 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

P-1 01/01/2000 OPT 1000


ENDE

11.7. Tempest MORE Well Definition events 1237


Tempest MORE Help, Release 8.1

HGAS - Use Historical Gas Target

Syntax

HGAS [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HGAS event sets the well to use historical gas target as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical gas target using keyword WELL.

Examples

1. The HGAS and HWEF events are used to set well P-1 on historical gas rate target using historical well
efficiency factor. See HGAS_HWEF.dat

HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' QGAS QOIL QWAT WEF


HTAB
P-1 01/Jan/2001 100 0 0 0.5
P-1 01/Feb/2001 100 0 0 0.5
P-1 01/Jly/2001 10 0 0 0.5
P-1 01/Dec/2001 10 0 0 0.5
P-1 01/Jan/2002 100 0 0 0.5
P-1 01/Apr/2002 100 0 0 0.5
P-1 01/Jul/2002 10 0 0 0.5
P-1 01/Dec/2002 10 0 0 0.5
P-1 29/Feb/2004 100 0 0 0.5
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HGAS
P-1 01/01/2000 HWEF
P-1 01/01/2000 BHPT 3000
ENDE

1238 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.7. Tempest MORE Well Definition events 1239


Tempest MORE Help, Release 8.1

HLIQ - Use Historical Liquid Target

Syntax

HLIQ [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HLIQ event sets the well to use historical liquid target as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical liquid target using keyword WELL.

Examples

1. The HLIQ and HWEF events are used to set well P-1 on historical liquid rate target using historical well
efficiency factor. See HLIQ_HWEF.dat

HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' QLIQ QGAS QWAT WEF


HTAB
P-1 01/Jan/2001 100 0 0 0.5
P-1 01/Feb/2001 100 0 0 0.5
P-1 01/Jly/2001 10 0 0 0.5
P-1 01/Dec/2001 10 0 0 0.5
P-1 01/Jan/2002 100 0 0 0.5
P-1 01/Apr/2002 100 0 0 0.5
P-1 01/Jul/2002 10 0 0 0.5
P-1 01/Dec/2002 10 0 0 0.5
P-1 29/Feb/2004 100 0 0 0.5
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HLIQ
P-1 01/01/2000 HWEF
P-1 01/01/2000 BHPT 3000
ENDE

1240 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.7. Tempest MORE Well Definition events 1241


Tempest MORE Help, Release 8.1

HOIL - Use Historical Oil Target

Syntax

HOIL [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HOIL event sets the well to use historical oil target as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical oil target using keyword WELL.

Examples

1. The HOIL and HWEF events are used to set well P-1 on historical oil rate target using historical well
efficiency factor. See HOIL_HWEF.dat

HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' QOIL QGAS QWAT WEF


HTAB
P-1 01/Jan/2001 100 0 0 0.5
P-1 01/Feb/2001 100 0 0 0.5
P-1 01/Jly/2001 10 0 0 0.5
P-1 01/Dec/2001 10 0 0 0.5
P-1 01/Jan/2002 100 0 0 0.5
P-1 01/Apr/2002 100 0 0 0.5
P-1 01/Jul/2002 10 0 0 0.5
P-1 01/Dec/2002 10 0 0 0.5
P-1 29/Feb/2004 100 0 0 0.5
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HOIL
P-1 01/01/2000 HWEF
P-1 01/01/2000 BHPT 3000
ENDE

1242 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

If the OFF option is used to switch off the well from historical control, the well will then operate on user-
defined rate as specified by the OPT event. See HOIL_HWEF_OFF.dat

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HOIL
P-1 01/01/2000 HWEF
P-1 01/01/2000 BHPT 3000
P-1 01/01/2002 HOIL OFF
P-1 01/01/2002 HWEF OFF
P-1 01/01/2002 OPT 500
P-1 01/01/2002 WEF 1
ENDE

11.7. Tempest MORE Well Definition events 1243


Tempest MORE Help, Release 8.1

1244 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

HRES - Use Historical Reservoir Voidage Target

Syntax

HRES [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HRES event sets the well to use historical reservoir voidage target as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical voidage target using keyword WELL.

Examples

1. The HRES event is used to set well P-1 on historical voidage rate target. See HRES_QRES.dat

HUNI
sm3/day ksm3/day ksm3 Msm3 bara krm3/day krm3 /

HFORM WELL DAYS QRES


HTAB
P-1 0 1
ENDH

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
P-1
0 PROD
0 PERF 1550 1600 0.15 0 1
0 HRES
ENDE

11.7. Tempest MORE Well Definition events 1245


Tempest MORE Help, Release 8.1

2. The HRES event is used to set well P-1 on historical voidage total target. See HRES_CRES.dat

HUNI
sm3/day ksm3/day ksm3 Msm3 bara krm3/day krm3 /

HFORM WELL DAYS CRES


HTAB
P-1 0 0.001
P-1 50 0.050
P-1 100 0.100
ENDH

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
P-1
0 PROD
0 PERF 1550 1600 0.15 0 1
0 HRES
ENDE

1246 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.7. Tempest MORE Well Definition events 1247


Tempest MORE Help, Release 8.1

HRGI - Use Historical Reservoir Voidage Target for Gas Injection

Syntax

HRGI [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HRGI event sets the well to use historical reservoir voidage target for gas injection as specified in the HTAB
or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical voidage target for gas injection using keyword
WELL.

Examples

1. The HRGI event is used to set well I-1 on historical voidage rate target for gas injection. See
HRGI_QRIN.dat

HUNI
sm3/day ksm3/day ksm3 Msm3 bara krm3/day krm3 /

HFORM WELL DAYS QRIN


HTAB
I-1 0 1
ENDH

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I-1
0 INJE
0 PERF 1550 1600 0.15 0 1
0 BHPT 700
0 HRGI
ENDE

The FVF for gas has been artificially set to a value of 1 rm3 / ksm3 so the reservoir voidage rate (in rm3 ) is
the same as the gas injection rate (in ksm3 )at surface conditions.

1248 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

2. This example is the same as the one above except that a historical voidage total target for gas injection is set
for well I-1. See HRGI_CRIN.dat

HUNI
sm3/day ksm3/day ksm3 Msm3 bara krm3/day krm3 /

HFORM WELL DAYS CRIN


HTAB
I-1 0 0.001
I-1 50 0.050
I-1 100 0.100
ENDH

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I-1
0 INJE
0 PERF 1550 1600 0.15 0 1
0 BHPT 700
0 HRGI
ENDE

11.7. Tempest MORE Well Definition events 1249


Tempest MORE Help, Release 8.1

The small difference in wgit and wvith is due to the non-zero historical total at time zero in HTAB.

1250 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

HRWI - Use Historical Reservoir Voidage Target for Water Injection

Syntax

HRWI [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HRWI event sets the well to use historical reservoir voidage target for water injection as specified in the HTAB
or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical voidage target for water injection using keyword
WELL.

Examples

1. The HRGI event is used to set well I-1 on historical voidage rate target for water injection. See
HRWI_QRIN.dat

HUNI
sm3/day ksm3/day ksm3 Msm3 bara krm3/day krm3 /

HFORM WELL DAYS QRIN


HTAB
I-1 0 1
ENDH

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I-1
0 INJE
0 PERF 1550 1600 0.15 0 1
0 BHPT 700
0 HRWI
ENDE

The FVF for water has been artificially set to a value of 1 rm3 /sm3 so the reservoir voidage rate is the same
as the water injection rate at surface conditions.

11.7. Tempest MORE Well Definition events 1251


Tempest MORE Help, Release 8.1

2. This example is the same as the one above except that a historical voidage total target for water injection is
set for well I-1. See HRWI_CRIN.dat

HUNI
sm3/day ksm3/day ksm3 Msm3 bara krm3/day krm3 /

HFORM WELL DAYS CRIN


HTAB
I-1 0 0.001
I-1 50 0.050
I-1 100 0.100
ENDH

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I-1
0 INJE
0 PERF 1550 1600 0.15 0 1
0 BHPT 700
0 HRWI
ENDE

1252 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

The small difference in wwit and wvith is due to the non-zero historical total at time zero in HTAB.

11.7. Tempest MORE Well Definition events 1253


Tempest MORE Help, Release 8.1

HTHP - Use Historical THP

Syntax

HTHP [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HTHP event sets the well to use historical THP as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical THP target using keyword WELL.

Examples

1. The HTHP event is used to set well P-1 on historical thp control (in accordance with lift table TLFX) with
a user-defined oil production rate target. See HTHP.dat

HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' THP QOIL QGAS QWAT WEF


HTAB
P-1 01/Jan/2001 1800 100 0 0 0.5
P-1 01/Feb/2001 1850 100 0 0 0.5
P-1 01/Jly/2001 1800 10 0 0 0.5
P-1 01/Dec/2001 1850 10 0 0 0.5
P-1 01/Jan/2002 1800 100 0 0 0.5
P-1 01/Apr/2002 1850 100 0 0 0.5
P-1 01/Jul/2002 1800 10 0 0 0.5
P-1 01/Dec/2002 1850 10 0 0 0.5
P-1 29/Feb/2004 1800 100 0 0 0.5
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 LTAB TLFX
P-1 01/01/2000 HTHP
P-1 01/01/2000 OPT 1000
ENDE

1254 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.7. Tempest MORE Well Definition events 1255


Tempest MORE Help, Release 8.1

HWAT - Use Historical Water Target

Syntax

HWAT [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HWAT event sets the well to use historical water target as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical water target using keyword WELL.

Examples

1. The HWAT and HWEF events are used to set well P-1 on historical water rate target using historical well
efficiency factor. See HWAT_HWEF.dat

HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' QOIL QGAS QWAT WEF


HTAB
P-1 01/Jan/2001 100 0 10 0.5
P-1 01/Feb/2001 100 0 10 0.5
P-1 01/Jly/2001 10 0 1 0.5
P-1 01/Dec/2001 10 0 1 0.5
P-1 01/Jan/2002 100 0 10 0.5
P-1 01/Apr/2002 100 0 10 0.5
P-1 01/Jul/2002 10 0 1 0.5
P-1 01/Dec/2002 10 0 1 0.5
P-1 29/Feb/2004 100 0 10 0.5
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HWAT
P-1 01/01/2000 HWEF
P-1 01/01/2000 BHPT 3000
ENDE

1256 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.7. Tempest MORE Well Definition events 1257


Tempest MORE Help, Release 8.1

HWEF - Use Historical Efficiency Factor

Syntax

HWEF [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HWEF event sets the well to use historical efficiency factor as specified in the HTAB or HFIL tables.

Definitions

1. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting historical efficiency factor using keyword WELL.

Examples

1. The HOIL and HWEF events are used to set well P-1 on historical oil rate target using historical well
efficiency factor. See HOIL_HWEF.dat

HUNI
"stb/day" "Mscf/Day" mstb MMscf psia /

HFORM WELL 'DD/MMM/YYYY' QOIL QGAS QWAT WEF


HTAB
P-1 01/Jan/2001 100 0 0 0.5
P-1 01/Feb/2001 100 0 0 0.5
P-1 01/Jly/2001 10 0 0 0.5
P-1 01/Dec/2001 10 0 0 0.5
P-1 01/Jan/2002 100 0 0 0.5
P-1 01/Apr/2002 100 0 0 0.5
P-1 01/Jul/2002 10 0 0 0.5
P-1 01/Dec/2002 10 0 0 0.5
P-1 29/Feb/2004 100 0 0 0.5
ENDH

EFORM WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-1 01/01/2000 PROD
P-1 01/01/2000 CIJK 1 1 7 8 0.25
P-1 01/01/2000 HOIL
P-1 01/01/2000 HWEF
P-1 01/01/2000 BHPT 3000
ENDE

1258 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.7. Tempest MORE Well Definition events 1259


Tempest MORE Help, Release 8.1

11.8 Tempest MORE Well Definition events

ABC - Set A and B Coefficients to Determine Skin and D-factor

Syntax

ABC <A> <B> [MDL] [MDU] [HOUR <hrs>]

Description

The ABC event provides a way of setting the skin and D-factor for a well from more easily measured A and
B coefficients which defines the linear and quadratic pressure response of the well. For details of the fitting
technique, please see AB well input chapter of the Technical Reference. The basic idea is to compare the A and
B coefficients with those of the same pressure dependence from the Russell-Goodrich model; once corresponding
coefficients have been found the required skin and D-factors may be determined.

Note: Use of this event is NOT recommended due to the assumptions made in the fitting technique. For further
details see the Technical Reference.

Definitions

1. A coefficient (psia2 /(mscf/day) or (bar2 /(ksm3 /day) )


2. B coefficient (psia2 /(mscf/day)2 ) or (bar2 /(ksm3 /day)2 )
3. lower measured depth (ft or metres)
4. upper measured depth (ft or metres)
5. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The lower and upper measured depths are not required. They are only needed if the A and B coefficients
entered are not for the entire well.
• This event is a recommended alternative to keyword WABC.

Example

EFOR WELL 'DD/MMM/YYYY'


ETAB
WAD-1 01/JAN/2000 ABC 145 1.4
ENDE

1260 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

BRAN - Set Branch Modifier

Syntax

BRAN <Branch Index> <Branch mult> [OPEN|SHUT] [HOUR <hrs>]

Description

The BRAN event is used to set a well branch modifier.

Definitions

1. Branch Index
2. Branch multiplier
3. Optional Arguments:
• Completion action - NONE, OPEN, SHUT
– NONE (default) - no change to branch completion state
– OPEN - open all completions in branch
– SHUT - shut all completions in branch
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The branch index of the parent well trajectory is 0.

Examples

1. The BRAN event is used to apply multiplier to completions on branch 0 (all the completions on well in case
with no branches).

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
P-1 100 BRAN 0 10
P-1 200 BRAN 0 1
P-1 300 BRAN 0 10
P-1 400 BRAN 0 1
ENDE

11.8. Tempest MORE Well Definition events 1261


Tempest MORE Help, Release 8.1

CONV - Set Up Well Conversion to Injector on Limit Violation

Syntax

CONV <new inj fluid> <new target rate> <new target BHP/THP> [HOUR <hrs>]

Description

The CONV (conversion) event is used to define well conversion information for when the well is converted due to
a limit set by PLIM event.

Definitions

1. New injection fluid - This may be a stream name, such as WAT or GAS, a standard composition name or a
component name.
2. New target rate for injection
• Units: stb/day for liquid, Mscf/day for gas (Field); standard m3 /day for liquid or gas (Metric)
3. New target BHP or THP
• Units: psi (Field), bar (Metric)
4. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The component name in the first argument may only be used in equation of state runs.
• Pressures in the third argument correspond to the datum depth, as specified by DATU.
• This event is a recommended alternative to WELL sub-keyword CONV.

Examples

1. CONV is used to convert the producer well P-1 into an injector well when its oil production rate falls below
1500 stb/day, as specified by PLIM event.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3179.75
01/Jan/2000 BHPT 68.9475
01/Jan/2000 PLIM OIL 1500 CONV MIN
01/Jan/2000 CONV WAT 500 10000
ENDE

As a result, once the oil production rate goes below 1500 stb/day, P-1 is converted into an injector to start
injecting water at a rate of 500 stb/day and stop producing oil, as shown in the plot below.

1262 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Additionally, the conversion of the well from producer to injector will also be reflected in the well’s icon in
the Well tab of Tempest View, as follows:

11.8. Tempest MORE Well Definition events 1263


Tempest MORE Help, Release 8.1

DFAC - Well D-Factor

Syntax

DFAC <D-factor> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The DFAC (D-Factor) event is used to specify the D-factor for a well. The effect of a D-factor is to increase the
effective skin of the well completions as a function of the gas flow rate.

Definitions

1. D-factor value
• Units: day/mscf (Field), day/ksm3 (Metric)
• Default: 0
2. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• In metric units, MORE uses a D-factor specified in terms of a gas rate in ksm3 /day. Some simulators use
gas rates in sm3 /day, and so D-factors in day/sm3 .
• Please see the Well Index Calculations section of the MORE Technical Reference for more information
regarding D-factors.
• This event is a recommended alternative to WELL sub-keyword DFAC.

Examples

1. The DFAC event is used to specify a D-factor of 0.0021 for the well L415.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
L415 01/Jan/2000 PROD
L415 01/Jan/2000 OPT 100
L415 01/Jan/2000 BHPT 50
L415 01/Jan/2000 DFAC 0.0021
ENDE

1264 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

DREF - Set BHP Reference Depth

Syntax

DREF <BHP ref depth> [MD] [BRANCH <branch_index>] [AFTER <value> [DAYS|MON|YEAR]]
,→[HOUR <hrs>]

Description

The DREF event is used to specify an individual bottom hole pressure reference depth for a well.

Definitions

1. Bottom hole pressure reference depth


• Units: feet (Field), metres (Metric)
2. Optional Arguments:
• MD - Use of MD implies that the reference depth is to be found by looking up the vertical depth at the
specified measured depth in the well trajectory table.
• BRANCH <branch_index> - open a completion in the branch defined using the BRAN keyword.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• DREF may be set more than once in a run, but until DREF is set for the first time, the default datum value
defined by DATU will apply.
• A branch index may be used to refer to particular branch of a well trajectory using the BRANCH
<branch_index> argument - index value of 0 refers to the main branch.
• This event is a recommended alternative to WELL sub-keyword DREF.

Examples

1. The DREF event is used to reset BHP reference depth to different values over the course of the simulation.

EFOR WELL 'DD/MM/YYYY' MDL MDU SKIN MULT


ETAB
P-104 01/01/2004 DREF 2400 -- Reset reference depth in 2004 (defaults to
,→DATUM value before this)

P-104 01/06/2004 DREF 2200 -- Reset reference depth again later in 2004
ENDE

11.8. Tempest MORE Well Definition events 1265


Tempest MORE Help, Release 8.1

HFRA - Horizontal well fracture

Syntax

HFRA [ID <Fracture name>] [BRANCH <Branch index>]


MD <fracture MD> LENGTH <length> [<other arm length>]
(HEIGHT <height (overall or above)> [<height below>] |
LAYER <top layer> <bottom layer> | TVD <top depth> <bottom depth>)
([ANGLE <angle> [<bend angle>] | DIRECTOR <array>])
(WIDTH <width> PERM <permeability>) | COND <conductivity>)
[MINCOND <minimum conductivity>] [RATIO <inflow height ratio>]
[TAU <time constant>] [W <decay plateau>] [FOLLOW DEPTHS|LAYERS]
[AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

HFRA ID <Fracture name> OFF [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The HFRA event is used to define a horizontal well fracture using the improved well fracturing model. The
improved model’s settings may be set using the WFPLUS keyword in the INPU section.

Definitions

ID <Fracture name> A unique fracture name may be used to reference a fracture after it was created, in order to
turn it off or re-fracture.
• Default: “Fracture <n>”, where “<n>” is an internal counter
BRANCH <Branch index> Specifies the branch from which to initiate the well fracture.
LENGTH <length> [<other arm length>] The lateral extent of the fracture. Unless two lengths are given the
fracture is symmetric.
• Units: feet (Field), metres (Metric)
MD <MD> The measured depth at which the fracture intersects the well trajectory.
• Units: feet (Field), metres (Metric)
HEIGHT <height (overall or above)> [<height below>] The fracture height is either entered as overall height
or as two numbers specifying the heights above and below the trajectory.
• Units: feet (Field), metres (Metric)
LAYER <top layer> <bottom layer> The layer range over which the fracture spans vertically.
TVD <top depth> <bottom depth> The true vertical depth range over which the fracture spans.
• Units: feet (Field), metres (Metric)
ANGLE <angle> [<bend angle>] Specify the angle between the fracture and x-axis, and optionally the bend
angle, i.e. the deviation from a straight fracture on one side of the well.
• Units: degrees
• Default: 0 for both
DIRECTOR <array> Specify the angle between the fracture and x-axis using a user-defined array. Used as an
alternative to ANGLE.
• Units: degrees
WIDTH <width> Fracture width, used in conjunction with PERM.
• Units: feet (Field), metres (Metric)

1266 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PERM <permeability> Fracture permeability, used in conjunction with WIDTH.


• Units: mDarcy
COND <conductivity> Fracture conductivity, used as alternative to PERM and WIDTH
• Units: mDarcy-feet
MINCOND <minimum conductivity> Fracture conductivity threshold below which the fracture shuts.
• Default: 10−6 × initial conductivity
• Units: mDarcy-feet
RATIO <inflow height ratio> Ratio between effective well inflow circumference and fracture height.
• Default: πRperf /(fracture height)
TAU Time constant of fracture conductivity decay.
• Default: infinite
• Units: days
W Relative plateau value w ∈ [0..1] of fracture conductivity decay.
• Default: 0
FOLLOW Specifies whether the fracture follows grid layers or extends at constant vertical depths.
• Default: LAYERS
OFF Shuts fracture, which may be reopened using REFRA.
AFTER <value> [DAYS|MON|YEAR] If AFTER is specified on a well event, the event will be delayed until
the well is open and has been open for a specified time. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
HOURS <hrs> HOURS enables a number of <hrs> hours to be added to the time of an event, which is helpful
for well test simulation.

Notes

• Minimum input requirements for the HFRA event are the measured depth of the fracture-trajectory inter-
section, the fracture length and vertical extent (using exactly one of {HEIGHT, TVD, LAYER}), and its
conductivity (using either COND or WIDTH and PERM).
• The arguments can be listed in arbitrary order.
• Unless a fracture name is supplied, the fracture is given a generic name.
• The well trajectory must be perforated at the fracture MD value specified above, e.g. by use of the PERF
event, but not necessarily in an active cell. Unless a RATIO is explicitly specified, the connectivity between
the fracture and the well scales linearly with the ratio between the perforation radius and the fracture height.
This ratio may change over time as new perforations are created or existing ones squeezed.
• After a fracturing operation, the fracture conductivity decays in time, as
  
t − tfrac
ccf = ccf0 w + (1 − w) exp − ,
τ

where w is the weight defined above, t is time, tfrac is the fracturing time, and τ is the fracture time constant.
If τ is defaulted, then w = 1.0 and the fracture conductivity will not decay with time.
• The fracture calculations are always based precisely on the vertical extent of a fracture as defined by the
MD, TVD or HEIGHT options. However, the 3D viewer displays the fracture as spanning the fracture layer
range fully unless the FOLLOW DEPTHS argument is used.

11.8. Tempest MORE Well Definition events 1267


Tempest MORE Help, Release 8.1

• For reporting purposes, each fracture is assigned a single (i,j,k) cell location. For HFRA, this is the com-
pleted cell at the user-given MD, while for VFRA the top cell spanned by the fracture is used.
• When using the DIRECTOR argument, the fracture angle is determined by:
– the DIRECTOR array value at the fracture’s cell location if this cell is active, or else
– the weighted average of the DIRECTOR array in the fracture co-volume. The weight function is
vertically invariant and decays rapidly with distance from the x-y centre of the fracture.
• The DIRECTOR array should be defined using the DEFI keyword using the SAVE option to ensure that the
array is available in the RECU section. As with any array, only the first four letters are used to identify the
array.
• It is possible to initiate a well fracture from inactive cells along the trajectory using event VFRA or HFRA.
However, to use this functionality the INAC option of the WFPLUS keyword must be set.
• In DPOR or DPER cases, well fractures only connect to the fracture domain of the reservoir grid. Note that
VIEW displays well fractures in both the fracture and matrix medium in the grid view (if Visible Cell
Test option in unchecked in Wells settings in Options | Defaults | 3D View Settings).

Examples

1. The example below uses the events VFRA and HFRA to create vertical and horizontal fractures, respec-
tively, on well WPRD. Both the fractures turn off once the conductivity goes below a threshold of 0.01
mD-feet. The REFRA event is then used to re-fracture both the fractures after a span of 5 years. See
VFRA_HFRA_REFRA.dat for complete example:

TTAB
WPRD
5500 5500 5000 5000
5500 5500 6000 6000
WPRD:1
5500 5500 5850 5850
9500 5500 5850 9850
ENDT

BRAN WPRD:1 WPRD 5850

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 5200 5500 0.1 0 0.01
01/Jan/2000 VFRA ID P1 LENGTH 3000 WIDTH 0.03 PERM 5000 ANGLE 0 LAYER 3 5
,→TAU 100 MINCOND 0.01

01/Jan/2002 PERF 7845 7855 1 0 0.01 BRANCH 1


01/Jan/2002 HFRA ID P2 LENGTH 1000 WIDTH 0.03 PERM 20000 ANGLE 90 LAYER 7 8
,→TAU 100 MINCOND 0.01 MD 7850 BRANCH 1

01/Jan/2000 BHPT 500


01/Jan/2000 OPT 500
01/Jan/2005 REFRA ID P1
01/Jan/2007 REFRA ID P2
ENDE

1268 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.1: Fracture voidage production rates for fracture P1 and P2 (available from the Layer tab). Note the
refracturing for P1 and P2 taking place in year 2005 and 2007 as specified in the input.

Fig. 11.2: 3D grid with fracture visualisation. The first view shows the vertical fracture P1 (spanning over layers
3 to 5) while the second one shows the horizontal fracture P2 (spanning over layers 7 to 9).

11.8. Tempest MORE Well Definition events 1269


Tempest MORE Help, Release 8.1

2. This example uses the event HFRA to create a horizontal fracture on well WPRD after 100 days of simula-
tion start date. The fracture’s vertical extent is set using the upper and lower TVD arguments such that the
fracture follows the layers 2 and 3 (as FOLLOW LAYERS argument is the default). As the fracture is set
a time constant of 50 days, it decays to virtually zero conductivity after some time. The REFRA event is
then used to re-fracture at 1500 days. Note that some of the fracture parameters have been modified in the
re-fracture. See HFRA_TVD_REFRA.dat for complete example:

TTAB
WPRD
50 450 3010 3010
950 450 3010 3910
ENDT

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
WPRD
0 PROD
0 PERF 3450 3550 0.1 0 0.001
100 HFRA ID HRZ PERM 20000 WIDTH 0.02 TAU 50 MD 3510 TVD 3005 3025 LENGTH
,→350 200 ANGLE 90

0 OPT 1000
0 BHPT 70
1500 REFRA ID HRZ PERM 20000 WIDTH 0.02 TAU 100 MINCOND 0.5
ENDE

Fig. 11.3: Fracture oil production rate for horizontal fracture HRZ. Production from the fracture starts at 100
days and continues until the fracture conductivity decays to zero. The REFRA event then refractures HRZ at 1500
days. Note that the decay constant for the refracture has been increased as compared to the initial fracture setting.

If the fracture extent is now defined using the FOLLOW DEPTHS argument, the fracture will extend at
constant vertical depths rather than following the grid layers.
See HFRA_TVD_REFRA_FOLLOW_DEPTHS.dat for complete example:

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
WPRD
100 HFRA ID HRZ PERM 2000 WIDTH 0.002 TAU 1000 MD 3510 TVD 3005 3025 LENGTH
,→350 200 ANGLE 90 FOLLOW DEPTHS

ENDE

1270 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.4: 3D grid with fracture visualisation (FOLLOW LAYERS). The first view shows the horizontal trajectory
of well WPRD while the second one shows the extent of the fracture following the grid layers 2 and 3.

11.8. Tempest MORE Well Definition events 1271


Tempest MORE Help, Release 8.1

Fig. 11.5: 3D grid with fracture visualisation (FOLLOW DEPTHS).

1272 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

LIFT - Well Lift Rate

Syntax

LIFT <Lift gas rate> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The LIFT event is used to specify the lift gas injection rate for a well.

Definitions

1. Rate of lift gas injection


• Units: Mscf/day (Field), ksm3 /day (Metric)
2. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The gas lift rate only has an effect if the well is using a lift table defined using the TUBI keyword.
• The way in which the lift gas rate is used depends on the lift table:
– If the table has an ALQ (artificial lift quantity) which is defined a gas rate (GRAT or GLIF option),
then the lift gas value is applied to the ALQ look-up.
– If not, the lift gas value is added to the gas production rate of the well when looking up the lift table.
• This event is a recommended alternative to WELL sub-keyword LIFT.

Examples

1. Well uses lift table TLFX and then lift gas rate is varied annually using LIFT events respectively.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
P-1 01/02/2000 LTAB TLFX
P-1 01/02/2000 OPT 100
P-1 01/02/2000 THP 20
P-1 01/02/2000 BHP 500
P-1 01/02/2000 LIFT 1000
P-1 01/02/2001 LIFT 10
P-1 01/02/2002 LIFT 2000
ENDE

11.8. Tempest MORE Well Definition events 1273


Tempest MORE Help, Release 8.1

POLY - Injection Polymer Concentration

Syntax

POLY <Inj polymer conc> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The POLY event is used to specify the polymer concentration of water injected by a well when the POLY (polymer)
option has been turned on in the INPU (Input) or FLUI (Fluid) sections.

Definitions

1. Polymer concentration
• Units: lbs/stb (Field), kg/sm3 (Metric)
2. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If POLY event is not specified, water will be injected with zero polymer concentration.
• Please see the Polymer section of the MORE Technical Reference for more information regarding the poly-
mer tracking option in Tempest.
• This event is a recommended alternative to WELL sub-keyword CPLY.

Examples

1. The POLY event is used to specify a polymer concentration of 15% for the injection well I-1.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I-1 01/Jan/2000 INJE
I-1 01/Jan/2000 WIT 4000
I-1 01/Jan/2000 BHPT 10000
I-1 01/Jan/2000 POLY 0.15
ENDE

Polymer injection and production rates and totals can then be plotted in 2D from the Wells tab of the results,
as follows:

1274 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Plotting the polymer injection rate for well I-1, the following plot is obtained:

Polymer concentration data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

11.8. Tempest MORE Well Definition events 1275


Tempest MORE Help, Release 8.1

POTN - Periodic Well Potential Calculations

Syntax

POTN <pot calc interval> [DAYS|MONTHS|YEARS] [OFF] [HOUR <hrs>]

Description

The POTN event is used to request periodic well potential calculations. By default, if POTN is not specified,
potentials are when the well is defined or changed (e.g. a new completion activated)

Definitions

1. Incremental time between well potential calculations


2. Unit of time for value given in argument 1: DAYS, MONT, or YEAR
• DAYS - incremental time is specified in days
• MONT - incremental time is specified in months
• YEAR - incremental time is specified in years
3. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If a zero time interval is specified, well potentials are calculated after every time step.
• If a negative time interval is specified, well potentials will not be calculated.
• This event is a recommended alternative to keyword POTN.

Example

1. POTN is used to request well potential calculations to be performed every 6 months.

EFOR 'DAYS'
ETAB
ALL
0 POTN 6 MONTHS
ENDE

2. POTN is used to request well potential calculations to be performed after every time step.

EFOR 'MMM.DD.YYYY'
ETAB
ALL
JAN.01.1989 POTN 0
ENDE

1276 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PREX - Set External Radius and Pressure Averaging Option

Syntax

PREX <External radius> <Pressure avg method> [HOUR <hrs>]

Description

The PREX event is used to specify the pressure at the external well radius.

Definitions

1. External radius (re )


• Default: pressure equivalent radius (r0 )
• Units feet (Field), metres (Metric)
2. Calculation method for pressure at external radius: PV, CCF, KH, MOB, ACT or NONE
• PV (default) - pressure at re is calculated using pore volume weighting
• CCF - pressure at re is calculated using completion connection factor
• KH - pressure at re is calculated using K.h weighting
• MOB - pressure at re is calculated using reservoir volume mobility weighting
• ACT - pressure at re is calculated using completion connection factors for active completions only
• NONE - pressure at re is calculated using simple unweighted average
3. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• To obtain the pressure at the required radius, MORE takes the logarithmic drawdown curve which passes
through the well pressure at the well radius and the block pressure at the pressure equivalent radius (r0 ),
and extrapolates or interpolates it to the external radius (re ). If more than one layer is open, the well value
is obtained as a suitable weighted average.

11.8. Tempest MORE Well Definition events 1277


Tempest MORE Help, Release 8.1

• The pressure at the external radius supplied with PREX is also used in place of the cell pressure when
calculating the well drawdown used for drawdown control, as described in the DRAW documentation. It is
possible to use the cell pressure for calculating the drawdown by selecting the NODD option of the DWPW
keyword, but this cannot be selected on a well-by-well basis.
• This event is a recommended alternative to WELL sub-keyword P-RE.

Examples

1. P-RE is used to set the external radius for well P-1 at 600.

EFOR WELL 'dd/mmm/yyyy'


ETAB
P-1 01/Jan/2000 PROD
P-1 01/Jan/2000 OPT 2000
P-1 01/Jan/2000 BHPT 500
P-1 01/Jan/2000 PREX 600 PV
ENDE

The resulting pressure at the external radius can be plotted in 2D using the “Pressure at External Radius
(wbpr)” vector in the Wells tab of the results, as shown below:

1278 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

REDE - Set Up Well Redefinition on Limit Violation

Syntax

REDE <new target type> <new target rate> <new target BHP/THP> [Lift table name]
,→[HOUR <hrs>]

Description

The REDE event is used to provide well redefinition information for when the well is redefined due to a limit set
by PLIM event.

Definitions

1. New target type


• For producers, this is the name of the well’s primary rate limit:
– OIL, GAS, LIQU, or RESV
• For injectors: GAS or WAT
2. New target rate for the target type set above
• Units: stb/day for liquid, Mscf/day for gas (Field); standard m3 /day for liquid or gas (Metric)
3. New target BHP or THP
• Units: psi (Field), bar (Metric)
4. Optional arguments:
• Limiting pressure: BHP or LIFT table name
– BHP (the initial value) (default)- to indicate the limiting pressure is a bottom hole pressure (cor-
rected to the datum depth defined by DATU)
– LIFT table name - to indicate the limiting pressure is a tubing head pressure as defined using
TUBI
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Redefining a well cannot change a producer to an injector - it simply resets a well target.
• Pressures in third argument correspond to the datum depth, as specified by DATU
• This event is a recommended alternative to WELL sub-keyword REDE.

Examples

1. The well P-1 is assigned a minimum oil rate limit of 9500 by the PLIM event. When the oil rate falls below
9500, the well is redefined via the REDE event to a new bottom hole pressure (BHP) limit of 300. Next, if
the oil rate falls below 9500 again, the BHP limit is reset to 200. Then, if the oil rate falls below 9500 for a
third time, the BHP limit is set to 100.

11.8. Tempest MORE Well Definition events 1279


Tempest MORE Help, Release 8.1

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 20000
01/Jan/2000 BHPT 500
01/Jan/2000 PLIM OIL 9500 REDE MIN
01/Jan/2000 REDE OIL 9500 300 BHP
01/Jan/2000 REDE OIL 8500 200 BHP
01/Jan/2000 REDE OIL 7500 100 BHP
ENDE

1280 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

REFRA - Re-fracture an existing well fracture

Syntax

REFRA ID <Fracture name>


[(WIDTH <width> PERM <permeability>) | COND <conductivity>)]
[MINCOND <minimum conductivity>] [RATIO <inflow height ratio>]
[TAU <time constant>] [W <decay plateau>]
[AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The REFRA event is used to re-fracture an existing well fracture already defined by a VFRA or HFRA event. This
operation resets and optionally modifies certain fracture parameters.

Definitions

ID <Fracture name> The name of an existing well fracture.


WIDTH <width> Fracture width, used in conjunction with PERM.
• Units: feet (Field), metres (Metric)
PERM <permeability> Fracture permeability, used in conjunction with WIDTH.
• Units: mDarcy
COND <conductivity> Fracture conductivity, used as alternative to PERM and WIDTH
• Units: mDarcy-feet
MINCOND <minimum conductivity> Fracture conductivity threshold below which the fracture shuts.
• Default: 10−6 × initial conductivity
• Units: mDarcy-feet
RATIO <inflow height ratio> Ratio between well inflow length and fracture height
• Default:
– VFRA: overlapping perforation length / fracture height
– HFRA: πRperf /(fracture height)
TAU Time constant of fracture conductivity decay.
• Default: infinite
• Units: days
W Relative plateau value w ∈ [0..1] of fracture conductivity decay.
• Default: 0
AFTER <value> [DAYS|MON|YEAR] If AFTER is specified on a well event, the event will be delayed until
the well is open and has been open for a specified time. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
HOURS <hrs> HOURS enables a number of <hrs> hours to be added to the time of an event, which is helpful
for well test simulation.

11.8. Tempest MORE Well Definition events 1281


Tempest MORE Help, Release 8.1

Notes

• Without any optional arguments, REFRA acts as if the original fracturing event had been called. All addi-
tional arguments override the original ones.
• The arguments can be listed in arbitrary order.
• After a re-fracturing operation, the fracture conductivity decays in time, as
  
t − tfrac
ccf = ccf0 w + (1 − w) exp − ,
τ

where w is the weight defined above, t is time, tfrac is the fracturing time, and τ is the fracture time constant.
If τ is defaulted, then w = 1.0 and the fracture conductivity will not decay with time.

Examples

1. The example below uses the events VFRA and HFRA to create vertical and horizontal fractures, respec-
tively, on well WPRD. Both the fractures turn off once the conductivity goes below a threshold of 0.01
mD-feet. The REFRA event is then used to re-fracture both the fractures after a span of 5 years. See
VFRA_HFRA_REFRA.dat for complete example:

TTAB
WPRD
5500 5500 5000 5000
5500 5500 6000 6000
WPRD:1
5500 5500 5850 5850
9500 5500 5850 9850
ENDT

BRAN WPRD:1 WPRD 5850

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 5200 5500 0.1 0 0.01
01/Jan/2000 VFRA ID P1 LENGTH 3000 WIDTH 0.03 PERM 5000 ANGLE 0 LAYER 3 5
,→TAU 100 MINCOND 0.01

01/Jan/2002 PERF 7845 7855 1 0 0.01 BRANCH 1


01/Jan/2002 HFRA ID P2 LENGTH 1000 WIDTH 0.03 PERM 20000 ANGLE 90 LAYER 7 8
,→TAU 100 MINCOND 0.01 MD 7850 BRANCH 1

01/Jan/2000 BHPT 500


01/Jan/2000 OPT 500
01/Jan/2005 REFRA ID P1
01/Jan/2007 REFRA ID P2
ENDE

1282 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.6: Fracture voidage production rates for fracture P1 and P2 (available from the Layer tab). Note the
refracturing for P1 and P2 taking place in year 2005 and 2007 as specified in the input.

Fig. 11.7: 3D grid with fracture visualisation. The first view shows the vertical fracture P1 (spanning over layers
3 to 5) while the second one shows the horizontal fracture P2 (spanning over layers 7 to 9).

11.8. Tempest MORE Well Definition events 1283


Tempest MORE Help, Release 8.1

2. This example uses the event HFRA to create a horizontal fracture on well WPRD after 100 days of simula-
tion start date. The fracture’s vertical extent is set using the upper and lower TVD arguments such that the
fracture follows the layers 2 and 3 (as FOLLOW LAYERS argument is the default). As the fracture is set
a time constant of 50 days, it decays to virtually zero conductivity after some time. The REFRA event is
then used to re-fracture at 1500 days. Note that some of the fracture parameters have been modified in the
re-fracture. See HFRA_TVD_REFRA.dat for complete example:

TTAB
WPRD
50 450 3010 3010
950 450 3010 3910
ENDT

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
WPRD
0 PROD
0 PERF 3450 3550 0.1 0 0.001
100 HFRA ID HRZ PERM 20000 WIDTH 0.02 TAU 50 MD 3510 TVD 3005 3025 LENGTH
,→350 200 ANGLE 90

0 OPT 1000
0 BHPT 70
1500 REFRA ID HRZ PERM 20000 WIDTH 0.02 TAU 100 MINCOND 0.5
ENDE

Fig. 11.8: Fracture oil production rate for horizontal fracture HRZ. Production from the fracture starts at 100
days and continues until the fracture conductivity decays to zero. The REFRA event then refractures HRZ at 1500
days. Note that the decay constant for the refracture has been increased as compared to the initial fracture setting.

1284 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.9: 3D grid with fracture visualisation (FOLLOW LAYERS). The first view shows the horizontal trajectory
of well WPRD while the second one shows the extent of the fracture following the grid layers 2 and 3.

11.8. Tempest MORE Well Definition events 1285


Tempest MORE Help, Release 8.1

3. This example uses the event VFRA to create a vertical fracture on well WPRD after 100 days of simulation
start date. The fracture’s vertical extent is set using the upper and lower MD arguments such that the fracture
follows the layers 2 and 3. As the fracture is set a time constant of 500 days, it decays to zero conductivity
after some time. The REFRA event is then used to re-fracture at 1000 days. Note that some of the fracture
parameters have been modified in the re-fracture. See VFRA_MD_REFRA.dat for complete example:

TTAB
WPRD
550 550 2990
550 550 3025
ENDT

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
WPRD
0 PROD
0 PERF 3005 3025 0.1 0 1
100 VFRA ID VRT PERM 2000 WIDTH 0.02 TAU 500 MD 3005 3025 LENGTH 350 250
,→ANGLE 90

0 OPT 500
0 BHPT 70
1000 REFRA ID VRT PERM 2000 WIDTH 0.002 TAU 300
ENDE

Fig. 11.10: Fracture oil production rate for vertical fracture VRT. Production from the fracture starts at 100 days
and continues until the fracture conductivity decays to zero. The REFRA event then refractures VRT at 1000 days.
Note that the decay constant for the refracture has been increased as compared to the initial fracture setting.

1286 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.11: 3D grid with fracture visualisation (with fracture grid showing voidage flow rates along the fracture).
The fracture can be seen to follow the grid layers 2 and 3.

11.8. Tempest MORE Well Definition events 1287


Tempest MORE Help, Release 8.1

SRVW - Stimulated Reservoir Volume along a Trajectory

Syntax

SRVW <md> <da> <db> <dc> <theta> <FK> <T_srv> <kl> <ku> [VARI|CONS|MATR|FRAC]
,→[HOUR <hrs>]

Description

The SRVW event is used to specify the location, size, orientation, permeability multiplication factor and time
constant of the ellipsoidal stimulated reservoir volume.

Definitions

1. Measured depth location of the SRV (md)


• Units: feet (Field) or metres (Metric)
2. Length of SRV ellipsoid (da)
• Units: feet (Field) or metres (Metric)
3. Width of SRV ellipsoid (db)
• Units: feet (Field) or metres (Metric)
4. Height of SRV ellipsoid (dc)
• Units: feet (Field) or metres (Metric)
5. Orientation of length direction of SRV with x-direction (theta)
• Units: Degrees
6. Permeability multiplication factor within SRV (F K)
7. SRV time constant (TSRV )
• Units: Days
8. Lower layer index (kl)
• Units: No limit
9. Upper layer index (ku)
• Units: No limit
10. Optional arguments:
• Permeability modification mode (permM) - VARI, CONS, MATR, FRAC
– VARI (Default) - permeability modification varies from the centre of the SRV to the edge.
– CONS - permeability modification is constant throughout the SRV.
– MATR - permeability modification only applied to the matrix cells in a dual permeability run.
– FRAC - permeability modification only applied to the fracture cells in a dual permeability run.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

1288 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Notes

• F K is a multiplication factor — the original permeability may be extremely small, but must be non-zero
for the SRV permeability enhancement to have an effect. If the base permeability is zero then the SRV
permeability will also be zero.
• If the time constant is not entered the permeability multiplication factor is constant. If the SRV time constant
is set, the permeability factor improvement will decay like
 
T
F K(T ) = F K(TSRV ) × exp 1 −
TSRV

See example.
• The SRV ellipsoid can be limited to certain layers using the lower and upper layer index. See example.
• This event is a recommended alternative to keyword SRVW.

Examples

1. SRVW is used to add a SRV along a well trajectory at a measured depth of 5500 feet. The ellipsoidal volume
is given dimensions of da, db, dc and theta to be 200 feet, 1000 feet, 400 feet and 20 degrees respectively.

EFOR WELLS 'DAYS'


ETAB
-- md da db dc theta FK T_srv kl ku mod
P-1 0 SRVW 5500 200 1000 400 20 10000 1* 1* 1* CONS
ENDE

F K stays constant at 10000mD within the SRVI as permM has been set to CONS:

11.8. Tempest MORE Well Definition events 1289


Tempest MORE Help, Release 8.1

F K also stays constant with time as TSRV has been defaulted:

2. SRVW is used to set the F K improvement to decay like


 
(T − TSRV )
F K(T ) = F K(TSRV ) × exp −
TSRV
with a TSRV = 2 days.
EFOR WELLS 'DAYS'
ETAB

1290 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

-- md da db dc theta FK T_srv kl ku mod


P-1 0 SRVW 5500 200 1000 400 20 10000 2 1* 1* CONS
ENDE

3. SRVW is used to limit the SRV effect between layers 26 and 75. The images below show the side view for
Grid K index for SRVW with kl and ku defaulted (ORIGINAL) and kl = 26 and kl = 75 (MODIFIED).

EFOR WELLS 'DAYS'


ETAB
-- md da db dc theta FK T_srv kl ku mod
P-1 0 SRVW 5500 200 1000 400 20 10000 1* 26 75 CONS
ENDE

11.8. Tempest MORE Well Definition events 1291


Tempest MORE Help, Release 8.1

4. SRVW is used to taper F K quadratically from the centre of the ellipsoid to the boundary by entering the
last argument as VARI. The permeability multiplication factor will be F K(1 − w), where “w” is:
 pa 2  2  pc 2
pb
w= + +
da db dc

boundary of the ellipsoid is w=1 and the centre is w=0; permeability increase will fall to zero at the boundary
of the ellipsoid.

EFOR WELLS 'DAYS'


ETAB
-- md da db dc theta FK T_srv kl ku mod
P-1 0 SRVW 5500 500 1000 200 0 10000 1* 1* 1* VARI
ENDE

The figure below shows the Permeability Modification Factor within the SRV.

For illustration, F K(P ) is illustrated below:


 2  2  2
250 650 0
w= + + = 0.6725
500 1000 200
F K(P ) = F K × (1 − w) = 10000 × (1 − 0.6725) = 3275 mD

5. SRVW is used to apply F K, throughout the SRV, in the VARI mode to matrix cells only in a dual perme-
ability run. The images below show the side view for Grid K index for SRVW.

EFOR WELLS 'DAYS'


ETAB
-- md da db dc theta FK T_srv kl ku mod
P-1 0 SRVW 5500 200 1000 400 20 10000 1* 1* 1* MATR
ENDE

1292 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

6. SRVW is used to apply F K, throughout the SRV, in the VARI mode to matrix cells only in a dual perme-
ability run. The images below show the side view for Grid K index for SRVW.

EFOR WELLS 'DAYS'


ETAB
-- md da db dc theta FK T_srv kl ku mod
P-1 0 SRVW 5500 200 1000 400 20 10000 1* 1* 1* FRAC
ENDE

11.8. Tempest MORE Well Definition events 1293


Tempest MORE Help, Release 8.1

SOLV - Injection Solvent Fraction

Syntax

SOLV <Inj solvent frac> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The SOLV event is used to specify the solvent concentration in the injected gas stream of a well when the SOLV
(solvent) option has been turned on in the FLUI (Fluid) section. If SOLV is not specified, injected gas is pure
reservoir gas.

Definitions

1. Solvent concentration
• Units: fraction
2. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• To use this event, SPVT table must be specified in the FLUI section of the dataset. Otherwise, MORE will
generate an error.
• Please see the Solvent section of the MORE Technical Reference for more information regarding the treat-
ment of solvents in Tempest.
• The solvent concentration should be specified as a mole fraction, which is calculated as follows: (solvent
gas volume)/(total solvent + reservoir gas volume).
• This event is a recommended alternative to WELL sub-keyword SOLV.

Examples

1. The SOLV event is used to specify a solvent concentration of 50% for the injection well I-1.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I-1 01/Jan/2000 INJE
I-1 01/Jan/2000 GIT 50000
I-1 01/Jan/2000 BHPT 500
I-1 01/Jan/2000 SOLV 0.5
ENDE

Solvent fractions, and injection and production rates and totals can then be plotted in 2D from the Wells tab
of the results, as follows:

1294 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Plotting the solvent fraction for the well I1, the following plot is obtained:

Solvent phase saturation data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

11.8. Tempest MORE Well Definition events 1295


Tempest MORE Help, Release 8.1

1296 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

STEAM - Injection Steam Properties

Syntax

STEAM <Temp> <Pressure> <Quality> <Enthalpy> [AFTER <value> [DAYS|MON|YEAR]] [HOUR


,→<hrs>]

Description

The STEAM event is used to specify the temperature, pressure, quality, and specific enthalpy of the fluid being
injected by a well when steam modelling has been turned on by using the STEA keyword in the INPU (Input) or
FLUI (Fluid) sections.

Definitions

1. Steam injection temperature


• Default: 0
• Units: o F (Field), o C (Metric)
2. Steam pressure
• Default: 0
• Units: psia (Field), bars (Metric)
3. Steam quality (fraction)
• Default: 0
4. Steam enthalpy
• Default: 0
• Units: Btu/lb (Field), KJ/kg (Metric)
5. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If STEA keyword is not specified, the fluid will be injected with the average initial temperature of the
reservoir.
• Generally, the user will specify the steam temperature or the steam pressure and the steam quality. As an
alternative, the steam specify enthalpy can be entered alone.
• As an alternative to adding the STEA keyword to the INPU (Input) or FLUI (Fluid) sections, steam mod-
elling can also be requested by entering STEAM as a component with CNAM in the INPU (Input) section.
• Please see the Steam/Thermal section of the MORE Technical Reference for more information regarding
steam modelling in Tempest.
• This event is a recommended alternative to keyword STEA.

11.8. Tempest MORE Well Definition events 1297


Tempest MORE Help, Release 8.1

Examples

1. The STEAM event is used to specify a steam injection temperature of 458o F and a steam quality of 75% for
the injection well I-1. The steam pressure and enthalpy are given their default values.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I-1 01/Jan/1990 INJE
I-1 01/Jan/1990 SIT 1000
I-1 01/Jan/1990 BHPT 1000
I-1 01/Jan/1990 STEAM 450 1* 0.75 1*
ENDE

Heat injection and production rates and totals can then be plotted in 2D from the Wells tab of the results, as
follows:

Plotting the heat injection rate for the well I-1, the following plot is obtained:

Reservoir temperature data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

1298 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.8. Tempest MORE Well Definition events 1299


Tempest MORE Help, Release 8.1

STRE - Assign an Injection Composition to a Well

Syntax

STRE <Inj stream> [A|B|BOTH] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The STRE event is used to assign an injection composition to a well.

Definitions

1. Injection stream name


2. Optional arguments:
• Injection fluid - A, B or BOTH
– Both (Default) - injection stream used for both fluids
– A - first injection fluid
– B - second injection fluid
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• STRE A (B) implies the injection stream will be used for the first (second) injection fluid. If neither A nor
B is given, the injection stream will be used for both fluids.
• This event is a recommended alternative to specifying injection stream using WELL keyword.

Examples

1. PRDG has been defined as a stream using RECY keyword, and then used for reinjection using GIT and
STRE events.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I-1 01/Jan/1990 INJE
I-1 01/Jan/1990 GIT 4700
I-1 01/Jan/1990 BHPT 4000
I-1 01/Jan/1990 STREAM PRDG
ENDE

2. Using the STRE event, a well is set to inject CO2 before a series of water and gas injection periods defined
by historical rates.

1300 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

EFOR WELL 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I541 40 INJE
I541 40 STRE CO2
I541 40 GIT 1000
I541 40 BHPT 4000
I541 80 HWAT
I541 120 HGAS
I541 160 HWAT
I541 200 HGAS
ENDE

11.8. Tempest MORE Well Definition events 1301


Tempest MORE Help, Release 8.1

TEMP - Injection Temperature

Syntax

TEMP <Inj Temp> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The TEMP event is used to specify the temperature of the fluid being injected by a well when the THER (thermal)
option has been turned on in the INPU (Input) or FLUI (Fluid) sections.

Definitions

1. Injection temperature
• Units: o F (Field), o C (Metric)
2. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If TEMP is not specified, fluid will be injected at 15o C or 60o F, depending on the units used for the run.
• To use this event, OVVT table must be specified in the FLUI section of the dataset. Otherwise, MORE will
generate an error.
• Please see the Thermal section of the MORE Technical Reference for more information regarding thermal
modelling in Tempest.
• This event is a recommended alternative to keyword TEMP.

Examples

1. The TEMP event is used to specify an injection temperature of 136.67 for the injection well I11.

EFOR WELL 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I11 01/Jan/2000 INJE
I11 01/Jan/2000 WIT 1430.89
I11 01/Jan/2000 BHPT 413.685
I11 01/Jan/2000 TEMP 136.67
ENDE

Heat injection and production rates and totals can then be plotted in 2D from the Wells tab of the results, as
follows:

1302 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Plotting the heat injection rate for the well I11, the following plot is obtained:

Reservoir temperature data will also appear in the Recurrent tab of the results for visualisation in 3D, as
shown below:

11.8. Tempest MORE Well Definition events 1303


Tempest MORE Help, Release 8.1

TEST - Request Periodic Well Testing

Syntax

TEST <Period> [DAYS|MONTHS|YEARS] [OFF] [LIM|THP|THPONLY] [MAX <n>] [EXACT]


,→[STEP|NOSTEP] [LEGACY] [HOUR <hrs>]

Description

The TEST event is used to perform periodic well tests.

Definitions

1. Incremental time between testing shut-in wells


• Default: 3 months
2. Optional arguments:
• DAYS, MONTHS, or YEARS - unit of time for the value given in argument 1
– DAYS (default) - time increment is in days
– MONTHS - time increment is in months
– YEARS - time increment is in years
• OFF - turn off well testing
• Test options - LIM, THP, THPONLY
– LIM (default) - test wells shut on ratio limits
– THP - test wells shut due to being unable to operate at the required top hole pressure
– THPONLY - only test thp-shut wells, i.e. THP but not LIM
• MAX <n> - perform no more than <n> repeated tests
• EXACT - force simulator timesteps exactly at TEST event times
• STEP/NOSTEP
– STEP - well limits are not checked for the first time-step after TEST event is activated, ensuring
that tested wells are switched on for at least a time-step.
– NOSTEP - well limits are checked for all time-steps after TEST event is activated.
• LEGACY- adhere to the behaviour before MORE version 7.2, i.e. TEST event applies to all wells.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When the TEST event is specified, all producers shut-in due to rate or ratio limits are tested for possible
flow. If THP or THPONLY is used, wells shut because it was not possible to satisfy the required top hole
pressure are also tested.
• The wells are opened and those that are within the rate, ratio, and thp target limits will continue to produce,
while others are shut-in. By default, well limits are not checked after the first time-step, ensuring that tested
wells are switched on for at least a time-step. This behaviour may be overridden by using the NOSTEP
option.

1304 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

• Unless using the EXACT flag, repeated well tests are performed at the first simulator timestep after the
specified test interval has elapsed since the last well test. Hence, the actual testing frequency can be lower
than the requested one.
• Using LEGACY option ensures test frequency is sampled differently, and no maximum number of repeti-
tions can be set. This is equivalent to the TEST keyword.

Examples

1. TEST is used to specify the testing of shut-in wells at 5 years and thereafter at six month intervals.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
ALL
01/Jan/2005 TEST 6 MONTHS
ENDE

2. TEST is used to specify the testing of shut-in wells on Jan 01, 1989 and thereafter at the default of three
month intervals.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
ALL
01/Jan/1989 TEST 1*
ENDE

3. TEST is used with a time interval of 99 years to effectively turn off the testing of wells.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
ALL
01/Jan/2000 TEST 99 YEARS
ENDE

Alternatively, the OFF option may be used to TEST to turn off the testing of wells as well.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
ALL
01/Jan/2000 TEST 1* DAYS OFF
ENDE

11.8. Tempest MORE Well Definition events 1305


Tempest MORE Help, Release 8.1

TRAC - Injection Tracer Concentration

Syntax

TRAC <Tracer conc> <Tracer name> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The TRAC event is used to set the tracer injection concentration for an injector well.

Definitions

1. Tracer concentration associated with injection well


Units: moles of tracer per mole of carrier
2. Tracer name
3. Optional arguments:
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The name of the component to carry the tracer must be in the CNAM in the INPU section.
• Before setting its concentration, the tracer should first be defined using the TRAC keyword.
• The injection concentration for a tracer associated with an injection well may also be defined using the
WTRC keyword in the RECU section.
• The injection concentration for an aquifer may be defined using the ATRC keyword in the RECU section.
• Tracer dependent property multipliers may be defined with the TFUN keyword.
• Please see the Tracers section of the MORE Technical Reference for more information regarding the treat-
ment of tracers in Tempest.

Examples

1. TRAC keyword is used to define a tracer named TRC1 to be associated with water.

TRAC TRC1 WATR

The TRC1 tracer can now be used with the TRAC event to set a tracer concentration of 1 mole of tracer per
mole of water for I-1 injection well.

EFOR WELL 'dd/mmm/yyyy'


ETAB
I-1 01/Jan/2000 TRAC 1 TRC1
ENDE

1306 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

The tracer concentration array will then appear in Recurrent tab of the results for display in 3D as shown
below. In the figure below, we can see the distribution of the TRC1 tracer in the reservoir after 10 years.

11.8. Tempest MORE Well Definition events 1307


Tempest MORE Help, Release 8.1

VFRA - Vertical well fracture

Syntax

VFRA [ID <Fracture name>] [BRANCH <Branch index>]


LENGTH <length> [<other arm length>]
(MD <lower MD> <upper MD> | LAYER <top layer> <bottom layer> |
TVD <top depth> <bottom depth>)
([ANGLE <angle> [<bend angle>] | DIRECTOR <array>])
(WIDTH <width> PERM <permeability> | COND <conductivity>)
[MINCOND <minimum conductivity>] [RATIO <inflow height ratio>]
[TAU <time constant>] [W <decay plateau>] [FOLLOW DEPTHS|LAYERS]
[AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

VFRA ID <Fracture name> OFF [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The VFRA event is used to define a vertical well fracture using the improved well fracturing model. The improved
model’s settings may be set using the WFPLUS keyword in the INPU section.

Definitions

ID <Fracture name> A unique fracture name may be used to reference a fracture after it was created, in order to
turn it off or re-fracture.
• Default: “Fracture <n>”, where “<n>” is an internal counter
BRANCH <Branch index> Specifies the branch from which to initiate the well fracture.
LENGTH <length> [<other arm length>] The lateral extent of the fracture. Unless two lengths are given the
fracture is symmetric.
• Units: feet (Field), metres (Metric)
MD <lower MD> <upper MD> The measured depth range over which the fracture spans vertically.
• Units: feet (Field), metres (Metric)
LAYER <top layer> <bottom layer> The layer range over which the fracture spans vertically.
TVD <top depth> <bottom depth> The true vertical depth range over which the fracture spans.
• Units: feet (Field), metres (Metric)
ANGLE <angle> [<bend angle>] Specify the angle between the fracture and x-axis, and optionally the bend
angle, i.e. the deviation from a straight fracture on one side of the well.
• Units: degrees
• Default: 0 for both
DIRECTOR <array> Specify the angle between the fracture and x-axis using a user-defined array. Used as an
alternative to ANGLE.
• Units: degrees
WIDTH <width> Fracture width, used in conjunction with PERM.
• Units: feet (Field), metres (Metric)
PERM <permeability> Fracture permeability, used in conjunction with WIDTH.
• Units: mDarcy
COND <conductivity> Fracture conductivity, used as alternative to PERM and WIDTH

1308 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

• Units: mDarcy-feet
MINCOND <minimum conductivity> Fracture conductivity threshold below which the fracture shuts.
• Default: 10−6 × initial conductivity
• Units: mDarcy-feet
RATIO <inflow height ratio> Ratio between well inflow length and fracture height
• Default: overlapping perforation length / fracture height
TAU Time constant of fracture conductivity decay.
• Default: infinite
• Units: days
W Relative plateau value w ∈ [0..1] of fracture conductivity decay.
• Default: 0
FOLLOW Specifies whether the fracture follows grid layers or extends at constant vertical depths.
• Default: LAYERS
OFF Shuts fracture, which may be reopened using REFRA.
AFTER <value> [DAYS|MON|YEAR] If AFTER is specified on a well event, the event will be delayed until
the well is open and has been open for a specified time. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
HOURS <hrs> HOURS enables a number of <hrs> hours to be added to the time of an event, which is helpful
for well test simulation.

Notes

• Minimum input requirements for VFRA event are to enter the fracture length, vertical extent (using exactly
one of {MD, TVD, LAYER}), and its conductivity (using either COND or WIDTH and PERM).
• The arguments can be listed in arbitrary order.
• Unless a fracture name is supplied, the fracture is given a generic name.
• VFRA should only be used on vertical segments of well trajectories, otherwise the behaviour may be unde-
fined.
• The well trajectory must be perforated at least partially within the vertical fracture range, e.g. by use of
the PERF event. Unless a RATIO is explicitly specified, the connectivity between the fracture and the well
scales linearly with the ratio between the overlapping perforation length and the fracture height. This ratio
may change over time as new perforations are created or existing ones squeezed. Perforation ranges are not
limited to active cells.
• After a fracturing operation, the fracture conductivity decays in time, as
  
t − tfrac
ccf = ccf0 w + (1 − w) exp − ,
τ
where w is the weight defined above, t is time, tfrac is the fracturing time, and τ is the fracture time constant.
If τ is defaulted, then w = 1.0 and the fracture conductivity will not decay with time.
• The fracture calculations are always based precisely on the vertical extent of a fracture as defined by the
MD, TVD or HEIGHT options. However, the 3D viewer displays the fracture as spanning the fracture layer
range fully unless the FOLLOW DEPTHS argument is used.
• For reporting purposes, each fracture is assigned a single (i,j,k) cell location. For HFRA, this is the com-
pleted cell at the user-given MD, while for VFRA the top cell spanned by the fracture is used.
• When using the DIRECTOR argument, the fracture angle is determined by:

11.8. Tempest MORE Well Definition events 1309


Tempest MORE Help, Release 8.1

– the DIRECTOR array value at the fracture’s cell location if this cell is active, or else
– the weighted average of the DIRECTOR array in the fracture co-volume. The weight function is
vertically invariant and decays rapidly with distance from the x-y centre of the fracture.
• The DIRECTOR array should be defined using the DEFI keyword using the SAVE option to ensure that the
array is available in the RECU section. As with any array, only the first four letters are used to identify the
array.
• It is possible to initiate a well fracture from inactive cells along the trajectory using event VFRA or HFRA.
However, to use this functionality the INAC option of the WFPLUS keyword must be set.
• In DPOR or DPER cases, well fractures only connect to the fracture domain of the reservoir grid. Note that
VIEW displays well fractures in both the fracture and matrix medium in the grid view (if Visible Cell
Test option in unchecked in Wells settings in Options | Defaults | 3D View Settings).

Examples

1. The example below uses the events VFRA and HFRA to create vertical and horizontal fractures, respec-
tively, on well WPRD. Both the fractures turn off once the conductivity goes below a threshold of 0.01
mD-feet. The REFRA event is then used to re-fracture both the fractures after a span of 5 years. See
VFRA_HFRA_REFRA.dat for complete example:

TTAB
WPRD
5500 5500 5000 5000
5500 5500 6000 6000
WPRD:1
5500 5500 5850 5850
9500 5500 5850 9850
ENDT

BRAN WPRD:1 WPRD 5850

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 5200 5500 0.1 0 0.01
01/Jan/2000 VFRA ID P1 LENGTH 3000 WIDTH 0.03 PERM 5000 ANGLE 0 LAYER 3 5
,→TAU 100 MINCOND 0.01

01/Jan/2002 PERF 7845 7855 1 0 0.01 BRANCH 1


01/Jan/2002 HFRA ID P2 LENGTH 1000 WIDTH 0.03 PERM 20000 ANGLE 90 LAYER 7 8
,→TAU 100 MINCOND 0.01 MD 7850 BRANCH 1

01/Jan/2000 BHPT 500


01/Jan/2000 OPT 500
01/Jan/2005 REFRA ID P1
01/Jan/2007 REFRA ID P2
ENDE

1310 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.12: Fracture voidage production rates for fracture P1 and P2 (available from the Layer tab). Note the
refracturing for P1 and P2 taking place in year 2005 and 2007 as specified in the input.

Fig. 11.13: 3D grid with fracture visualisation. The first view shows the vertical fracture P1 (spanning over layers
3 to 5) while the second one shows the horizontal fracture P2 (spanning over layers 7 to 9).

11.8. Tempest MORE Well Definition events 1311


Tempest MORE Help, Release 8.1

2. This example uses the event VFRA to create a vertical fracture on well WPRD after 100 days of simulation
start date. The fracture’s vertical extent is set using the upper and lower MD arguments such that the fracture
follows the layers 2 and 3. As the fracture is set a time constant of 500 days, it decays to zero conductivity
after some time. The REFRA event is then used to re-fracture at 1000 days. Note that some of the fracture
parameters have been modified in the re-fracture. See VFRA_MD_REFRA.dat for complete example:

TTAB
WPRD
550 550 2990
550 550 3025
ENDT

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
WPRD
0 PROD
0 PERF 3005 3025 0.1 0 1
100 VFRA ID VRT PERM 2000 WIDTH 0.02 TAU 500 MD 3005 3025 LENGTH 350 250
,→ANGLE 90

0 OPT 500
0 BHPT 70
1000 REFRA ID VRT PERM 2000 WIDTH 0.002 TAU 300
ENDE

Fig. 11.14: Fracture oil production rate for vertical fracture VRT. Production from the fracture starts at 100 days
and continues until the fracture conductivity decays to zero. The REFRA event then refractures VRT at 1000 days.
Note that the decay constant for the refracture has been increased as compared to the initial fracture setting.

1312 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

Fig. 11.15: 3D grid with fracture visualisation (with fracture grid showing voidage flow rates along the fracture).
The fracture can be seen to follow the grid layers 2 and 3.

11.8. Tempest MORE Well Definition events 1313


Tempest MORE Help, Release 8.1

WALQ - Set Well Artificial Lift Value

Syntax

WALQ <ALQ value> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WALQ event is used to specify a well artificial lift quantity. This only has an effect when the well has a tubing
table for which an ALQ variable has been defined (please see ALQ or TUBI keywords for details of entering tubing
tables with artificial lift.)

Definitions

1. Well artificial lift value


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The units of WALQ should match those used by ALQ keyword when specifying the tubing table properties.
• This event is a recommended alternative to keyword WALQ.

Examples

1. WALQ is used to specify an artificial lift quantity of 0.85 for the well W100.

EFOR WELL 'dd/mmm/yyyy'


ETAB
W100 07/Jun/2053 WALQ 0.85
ENDE

1314 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WSALT - Injection Salt Concentration

Syntax

WSALT <Salt conc> [AFTER <value> [DAYS|MON|YEAR]] [OFF] [HOUR <hrs>]

Description

The WSALT event is used to set the salt injection concentration for an injector well.

Definitions

1. Salt concentration associated with injection well


Units: lb/stb (Field), kg/sm3 (Metric)
2. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• See the Brine Tracking section of the MORE Technical Reference for more information regarding brine
tracking in Tempest.

Examples

1. The WSALT event to set a salt injection concentration of 0.5 lb/stb (assuming Field units) for injection well
I-1.

EFOR WELL 'dd/mmm/yyyy'


ETAB
I-1 01/Jan/2017 WSALT 0.5
ENDE

11.8. Tempest MORE Well Definition events 1315


Tempest MORE Help, Release 8.1

WEF - Well Efficiency Factor

Syntax

WEF <Efficiency factor> [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WEF event is used to specify a well efficiency factor between 0.0 and 1.0 for a well.

Definitions

1. Well efficiency factor (any integer value between 0.0 and 1.0)
• Default: 1

Notes

• The WEF event would be used to specify the well efficiency factor when a well has downtime. For example,
suppose that a well had a 40% downtime and a target rate of 10000 stb/day. By specifying an efficiency
factor of 0.6, the well will operate at a bottom hole pressure corresponding to a rate of 10000 stb/day but
the rate at which fluid is extracted will be at 6000 stb/day (i.e. it will reflect the reduced efficiency due to
the downtime.)
• This event is a recommended alternative to keyword WWEF and WELL sub-keyword WEFA.

Examples

1. The WEF event is used to specify a well efficiency factor of 50% for the well P-1.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 OPT 10000
01/Jan/2000 BHPT 1000
01/Jan/2000 WEF 0.5
ENDE

This will result in the well P-1 being operated at a bottom hole pressure which will yield a rate of 10000
stb/day, but the actual net production will be 5000 stb/day, as shown in the plot below. The bottom hole
pressure is plotted in red while the oil production rate can be seen in green.

1316 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

To demonstrate the effect WEF event has on the bottom hole pressure and production rates, the plot below
shows the oil production rate and bottom hole pressure for the same well without the WEF event.

11.8. Tempest MORE Well Definition events 1317


Tempest MORE Help, Release 8.1

WLIF - Request Well lift optimisation

Syntax

WLIF <min lift rate> <max lift rate> [min eff] [packet size] [HOUR <hrs>]

Description

The WLIF event is used to request that the amount of artificial lift be set to optimise the oil production of a well.

Definitions

1. The minimum amount of lift that may be applied to the well (liftmin)
• Units: mscf/day (Field), ksm3 /day (Metric)
• Default: 0
2. The maximum amount of lift that may be applied to the well (liftmax)
• Units: mscf/day (Field), ksm3 /day (Metric)
• Default: 0
3. Optional arguments:
• The minimum oil rate improvement per unit lift gas added
– Units: (stb/day)/(mscf/day) (Field), (sm3 /day)/(ksm3 /day) (Metric)
– Default: 1.0E-6
• The size of gas rate packet to be added at each step of the optimisation (packet) (optional)
– Units: mscf/day (Field), ksm3 /day (Metric)
– Default: 0.05*(liftmax-liftmin)
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• To be used with WLIF, a well must have an associated lift table defined by TUBI keyword.
• To be lift table, a table must either:
– Have a gas rate dependence, gas being the FLOW variable, or have gas dependent RATI variable, or
– Have an ALQ variable of type GLIF. (The ALQ value will be used in preference if both are present.)
• When WLIF is used, the amount of gas lift will be adjusted at the start of each timestep, unless a well
optimisation interval is set with GLOP. The program will test lift values from liftmin to liftmax, increasing
the lift value in steps of packet within this range until the well is operating on a bottom hole pressure or rate
target. If using ALQ variation to represent lift, the well’s ALQ will be changed; if not, the value of the gas
rate used in the lift curve lookup will be displaced by the lift gas rate.
• If a well has been shut because the well could not operate at the current top hole pressure target, WLIF will
attempt to open the well by adding lift.
• Lift will only be added whilst improvement, measured as d(Qo)/d(Lift) is greater than the minimum oil rate
improvement specified in the respective argument.
• To stop using gas lift optimisation, set liftmax to zero.

1318 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

• The amount of lift gas used by the well will be reported as the rate file quantity WLIF if the RATE WELL
packet is selected. The well lift rate is also accounted up through the group system, and can be included in
pipeline calculations if the USEL argument on the PIPE keyword is selected.
• If the ALQ variable is of type GLIF, it is reserved for gas lift: it cannot be set using WALQ event.
• This event is a recommended alternative to keyword WLIF.

Examples

1. WLIF is used to optimise the lift value for the well W100.

EFOR 'dd/mmm/yyyy'
ETAB
W100
01/Jan/2000 WLIF 1 1 1.34 1*
ENDE

11.8. Tempest MORE Well Definition events 1319


Tempest MORE Help, Release 8.1

WMUL - Set an Overall Well Completion Connection Factor Multiplier

Syntax

WMUL <mult value> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WMUL event is used to specify a single completion connection factor multiplier for all the connections of a
well.

Definitions

1. Well completion connection factor multiplier


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword WMUL.

Examples

1. WMUL is used halve the PI values of a well

EFOR 'dd/mmm/yyyy'
ETAB
W13A
01/Jun/2001 WMUL 0.5
ENDE

1320 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WEOS - Set Surface Equation of State for the Well

Syntax

WEOS <surface EoS index> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WEOS event is used to specify the equation of state used to flash the well when using multiple equation of
state regions with EOSN.

Definitions

1. Index of surface equation of state used to flash the well


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword WEOS. More information is given in the documentation
for WEOS.

Examples

1. WEOS is used to assign the second surface EoS specified using TEMP SURF to well W13A:

EFOR 'dd/mmm/yyyy'
ETAB
W13A
01/Jun/2001 WEOS 2
ENDE

11.8. Tempest MORE Well Definition events 1321


Tempest MORE Help, Release 8.1

WFRA - Set Well Fracture Operation

Syntax

WFRA <Angle> <kl> <ku> <L> <Perm> <Width> <Cond> <Time Cons> <mdl> <mdu>
<V|H> [LAY <kl> <ku>|DEP <dl> <du>|NONE] [OTHER <other arm length>]
[BEND <bend angle>] [SPCO <sharedPathFactor>] [BRANCH <branch_index>]
[DECAYW <decayWeight>] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WFRA event is used to set up a well fracturing operation.

Definitions

1. Angle of fracture in the xy plane (measured from the positive x-axis towards the positive y-axis)
• Units: degrees
2. First layer containing fracture (in global grid): kl
3. Last layer containing fracture (in global grid): ku
4. Length of fracture from well to tip (assumed same in both directions)
• Units: feet (Field), metres (Metric)
5. Permeability of fracture
• Units: mDarcy
6. Width of fracture
• Units: feet (Field), metres (Metric)
7. Conductivity of fracture
• Units: mDarcy-feet
• Default: Permeability * Width
8. Fracture time constant
• Default: infinite
• Units: days
9. Lower measured depth for horizontal fracture case
• Units: feet (Field), metres (Metric)
10. Upper measured depth for horizontal fracture case
• Units: feet (Field), metres (Metric)
11. Type of fracture: V or H
• V (default) - vertical fracture type
• H - horizontal fracture type
12. Optional arguments:
• Non-default options to request that well fractures connect to a specified range of layers or depths:
LAYE or DEPT
– LAYE - well fractures connect to a specified range of layers
– DEPT - well fractures connect to a specified range of depths

1322 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

– NONE - well fractures are not connected


• Lower layer (ll ) or depth (dl ) for use with LAYE or DEPT options, respectively, in optional argument
above
• Upper layer (lu ) or depth (du ) for use with LAYE or DEPT options, respectively, in optional argument
above
• OTHER <other arm length> - used to set second arm length for asymmetrical fracture
– Units: feet (Field), metres (Metric)
– Defaults: defaults to length set in Argument #5 above
• BEND <bend angle> - bend angle in fracture (optional)
– Units: degrees
– Default: 0
• SPCO <shared path factor> - shared path factor value for this well fracture (should be in the range
zero to one)
– Default: 1
• BRANCH <branch index> - BRANCH index specifying which branch to fracture
– Default: 0 (main branch)
• DECAYW <decay weight> - Weight w used in the ccf decay law below (Must be in the range zero to
one)
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If the conductivity is entered, the permeability and width need not be supplied.
• For vertical well fractures, all the completions in the index range kl to ku will be fractured (mdl and mdu
will not be used).
• For horizontal well fractures, only the first completion in the measured depth (MD) range mdl to mdu will
be fractured. A completion with associated MD interval Icell is considered inside the fracture MD range only
if the midpoint of Icell lies within this range.
• Normally, fractures propagate outwards from each fractured completion in the grid layer containing the
completion. If LAYE ll lu is specified, then each fractured completion is connected to cells in the global
layer range ll to lu . If DEPT dl du is specified, then each fractured completion is connected to cells in the
depth range dl to du .
• After a fracturing operation, the extra fracture connections between the well and the grid decay in time, as
  
t − tfrac
ccf = ccf0 w + (1 − w) exp − ,
τ

where w is the weight defined above, t is time, tfrac is the fracturing time, and τ is the fracture time constant.
If τ is defaulted, then w = 1.0 and the extra fracture connections will not decay with time.
• The syntax for the WFRA event differs from the WFRA keyword in that the other arm length, the bend angle
and the shared path coefficient are specified using OTHER, BEND and SPCO arguments. In addition the
measured depth range must precede the V/H fracture type.

11.8. Tempest MORE Well Definition events 1323


Tempest MORE Help, Release 8.1

Fig. 11.16: Sketch of completed cells along a trajectory segment (blue). Two WFRA measured depth ranges
are depicted in red. The first MD range on the left (WFRA 1) contains the midpoint A of the MD range for the
left-most completion, and a fracture has been created. The second WFRA MD range (WFRA 2) lies between the
two midpoints B and C, so no fracture has been created.

• Please see the Well Fracturing Model section of the MORE Technical Reference for more information on
this topic.

Examples

1. WFRA is used to set up a well fracturing operation for the well WPRD using the most minimal amount of
information that can be specified, which consists of seven required arguments. It is desired for the fracturing
operation to have a fracture angle of 45o , start in the third layer, and end in the fourth layer. The fracture
will be given a length of 2500, a permeability of 100000 mD, and a width of 0.01.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
WPRD
01/Jan/2000 WFRA 45 3 4 2500 100000 0.01 4* V
ENDE

Upon display in the 3D Viewer, an orange marker is used to indicate the cells in the grid that contain
fractures, as shown below:

A fractured well can also be identified in the Wells tab, where it will appear with a fractured symbol, as
shown below:

1324 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

2. In this example, we will use the same WFRA settings as the example above, but this time, we will add a
bend angle of 45o in the fracture, as follows:

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
WPRD
01/Jan/2000 WFRA 45 3 4 2500 100000 0.01 4* V LAY 2* BEND 45
ENDE

Upon display in the 3D Viewer, we will see that a 45o angle has been added to the fracture.

3. In this example, we will use the same WFRA settings as Example #1 above, except this time, we will create
an asymmetrical fracture with a other arm length of 2000. We do this by adding entering a value for the
sixteenth argument of WFRA, as follows:

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
WPRD
01/Jan/2000 WFRA 45 3 4 5000 100000 0.01 4* V LAY 2* OTHER 2000
ENDE

Upon display in the 3D Viewer, we will see that one of the fracture arm lengths have been cut down to 2000.

11.8. Tempest MORE Well Definition events 1325


Tempest MORE Help, Release 8.1

4. In this example, the LAYE option will be used with WFRA to connect the well fractures to a specified range
of layers. This well, P-FRAC1, will be completed only in the first layer in a grid with five layers. WFRA
will be used to specify a fracturing operation that creates fractures with a fracture angle of 45o . The fractures
will start in the first layer and extend all the way to the fifth layer with a length of 5000, a permeability of
100000mD, and a width of 0.01. The LAYE option of WFRA is then used to ensure that the fractures extend
from the first layer to the fifth layer.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
P-FRAC1
01/Jan/2000 45 1 5 5000 100000 0.01 4* V LAY 1 5
ENDE

When we display the fractures in the 3D Viewer, we can see that while the well is only completed in the first
layer (as marked in red on the well trajectory), the fractures are extended from the first layer all the way to
the fifth layer (as marked in orange), as specified by the LAYE option.

The DEPT option works in the same fashion as the LAYE option, expect that for the DEPT option, lower
and upper depths should be entered instead of layers.

1326 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WSPC - Set Well Separator Conditions

Syntax

WSPC <Sep cond name> [OFF] [HOUR <hrs>]

Description

The WSPC (Well Separator Conditions) event is used to attach a separator to a well.

Definitions

1. Separator conditions name


2. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword WSPC.

Examples

1. WSPC is used to attach the separator conditions XXX to the well P-1.

-- Define separator conditions (note XXX should not be the name of a group)

SEPA XXX EOS ZFAC /


60 14.7 /
/

--Define wells and reset separator conditions for well P-1 after 5 years..
EFOR 'dd/mmm/yyyy'
ETAB
P-1
01/Jan/2005 WSPC XXX
ENDE

11.8. Tempest MORE Well Definition events 1327


Tempest MORE Help, Release 8.1

WTOL - Set a Well Limit Tolerance Fraction

Syntax

WTOL [tolerance] [Nrepeat] [HOUR <hrs>]

Description

The WTOL event sets the required tolerance for a well limit. An example would be if a well is to be cut back
if a water limit is exceeded. If the limit is exceeded by more than the allowed tolerance, the step is repeated. A
maximum number of step repeats may be specified - after that the simulation will proceed.

Definitions

1. Optional arguments:
• Fractional tolerance allowed:
– Default: unlimited
• Number of repeated steps allowed to achieve required tolerance:
– Default: 1
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.
• This event is a recommended alternative to keyword WTOL.

Example

1. Repeat step if a well limit is exceeded by more than 1%. Allow up to 2 repeated steps.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 WTOL 0.01 2
ENDE

1328 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WWAG - Water and Gas Injection for a Well

Syntax

WWAG <wag cntl 1> <wag cntl 2> [DAYS|MONTHS|YEARS|SVOL|RVOL|RVFR] [OFF]


,→[A|B|LEAVE] [SING] [SEQU <sequenceName>] [AFTER <value> [DAYS|MON|YEAR]] [HOUR

,→<hrs>]

Description

The WWAG event is used to set up a well as a water alternating gas injector.

Definitions

1. Injection period or volume to be injected for fluid 1


2. Injection period or volume to be injected for fluid 2
3. Optional arguments:
• Injection controlled by - DAYS, MONTHS, YEARS, SVOL, RVOL, RVFR
– DAYS (default) - surface injection periods for each fluid is specified in days
– MONTHS - surface injection periods for each fluid is specified in months
– YEARS - surface injection periods for each fluid is specified in years
– SVOL - surface injection volumes for each fluid are specified in mstb or ksm3 for water, and in
mmscf or msm3 for gas
– RVOL - reservoir injection volumes for each fluid are specified are in mrb (field) or ksm3 (metric)
– RVFR - reservoir volume injection fractions for each fluid are specified
Note: these are specifed as fractions of the total reservoir reference volume
– OFF - turn off WAG injection for this well
– Options when WAG is turned OFF - A, B, LEAVE

* A - set well to injection fluid 1 when the WAG sequence ends


* B - set well to injection fluid 2 when the WAG sequence ends
* LEAVE - set well to remain in final WAG sequence state when the WAG sequence ends
• SING - do one WAG sequence only
• SEQU <sequence name> - WAG sequence entered with the SEQU keyword is carried out
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

11.8. Tempest MORE Well Definition events 1329


Tempest MORE Help, Release 8.1

Notes

• Once the WWAG event has been read, the well will alternate between two fluids indefinitely.
• BHP and injection target of the second fluid must be specfied using the SECOND argument of BHPT and
WIT or GIT events respectively.
• If the gas injection in the WAG sequence is to be used from recycling, it is highly recommended to use the
STRE event with A or B argument. This will ensure the injection stream will be used for injection fluid 1 or
2. If neither A nor B is given, the injection stream will be used for both fluids which may be give unexpected
results.
• This event is a recommended alternative to keyword WWAG.

Examples

1. The well I-1 is set up to have two injection fluids: gas and water. The WWAG event is then used to introduce
a WAG sequence which involves alternating between 30 days of gas injection and 30 days of water injection.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I-1
01/Jan/2000 INJE
01/Jan/2000 GIT 100
01/Jan/2000 BHPT 4000
01/Jan/2000 WIT 90 SECOND
01/Jan/2000 BHPT 5000 SECOND
01/Jan/2000 WWAG 30 30 DAYS
ENDE

When the gas and water injection rates are plotted on the same graph in 2D, the alternating gas and water
injection every 30 days is apparent.

2. The well I-1 is set up to have two injection fluids: gas and water. The WWAG event is then used to introduce
a WAG sequence which involves alternating between 2 Mstb and 1 MMscf surface volume of water and gas
injection respectively. See event_WWAG_SVOL.dat for complete example:

1330 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
I-1
01/Jan/2000 INJE
01/Jan/2000 WIT 200
01/Jan/2000 BHPT 10000
01/Jan/2000 GIT 200 SECOND
01/Jan/2000 BHPT 10000 SECOND
01/Jan/2000 WWAG 2 1 SVOL
ENDE

The plot for water and gas injection rates and totals shows that, as expected, the following WAG sequence
is observed:
• WIT = 200 stb/d for 10 days to achieve 2 MStb of SVOL
• GIT = 200 Mscf/d for 5 days (from 10th to 15th day) to achieve 1 MMscf of SVOL.
• The above is then repeated.

Let’s introduce the WAG sequence XX defined the by SEQU keyword to this dataset. See

11.8. Tempest MORE Well Definition events 1331


Tempest MORE Help, Release 8.1

event_WWAG_SVOL_SEQU.dat for complete example:

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
W-1
01/Jan/2000 WWAG 2 1 SVOL SEQU XX
ENDE

SEQU XX 4
0.3 0.6 0.7 0.4

The plot for water and gas injection rates and totals shows that, as expected, the following WAG sequence
is observed:
• WIT = 200 stb/d for 3 days to achieve 2*0.3=0.6 Mstb of SVOL [wwit(t=3days) = 0.6 Mstb, wgit
(t=3days) = 0 MMscf]
• GIT = 200 Mscf/d for 3 days (from 3rd to 6th day) to achieve 1*0.6 = 0.6 MMscf of SVOL
[wwit(t=6days) = 0.6 Mstb, wgit (t=6days) = 0.6 MMscf]
• WIT = 200 stb/d for 7 days (from 6th to 13th day) to achieve 2*0.7=1.4 Mstb of SVOL
[wwit(t=13days) = 2.0 Mstb, wgit (t=13days) = 0.6 MMscf]
• GIT = 200 Mscf/d for 2 days (from 13th to 15th day) to achieve 1*0.4=0.4 MMscf of SVOL
[wwit(t=15days) = 2.0 Mstb, wgit (t=15days) = 1.0 MMscf]
• The above sequence is then repeated to result in wwit (t=30 days) = 4.0 Mstb and wgit (t =30 days) =
2.0 MMscf.

3. The well I-1 is set to have an alternating sequence of water and gas injection with an interval of 2 days and
1 day respectively. The WAG sequence is then turned off after 10 days with the well set to inject on stream
B (gas) afterwards. See event_WWAG_B.dat for complete example:

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I-1
0 INJE
0 PERF 5000 5200 0.5 0 10
0 WIT 200

1332 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

0 BHPT 10000
0 GIT 200 SECOND
0 BHPT 10000 SECOND
0 WWAG 2 1 DAYS
10 WWAG 1* 1* OFF B
ENDE

The plot of water and gas injection rates shows that after 10 days, well operates on stream B (gas injection
control).

In the same example, if LEAVE argument is used instead of B, the well will operate in the WAG sequence
at the ending time of the sequence.See event_WWAG_LEAVE.dat for complete example:

EFOR 'DAYS' MDL MDU RAD SKIN MULT


ETAB
I-1
10 WWAG 1* 1* OFF LEAVE
ENDE

On 10th day in this example, the well will be operating on water injection. So when WAG sequence is
switched off, the well will carry on operating in this mode:

11.8. Tempest MORE Well Definition events 1333


Tempest MORE Help, Release 8.1

1334 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.9 Tempest MORE Well Model events

FORCH - Enable Forchheimer flow for this well

Syntax

FORCH [HOUR <hrs>]

Description

The FORCH event enables Forchheimer flow for the respective well.

Definitions

1. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event will only come into effect if Forcheimer flow modelling is turned on using the FORC keyword
in the INPU section.
• This event is only required if the ALL argument is not used with the FORC keyword.
• This event is a recommended alternative to keyword WFOR.
• See Forchheimer Flow in the MORE Technical Reference for details of Forchheimer flow.

11.9. Tempest MORE Well Model events 1335


Tempest MORE Help, Release 8.1

GPP - Enable Gas Pseudo-Pressure for this Well

Syntax

GPP [HOUR <hrs>]

Description

The GPP event enables the use of gas pseudo-pressure for the respective well.

Definitions

1. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event will only come into effect if gas-pseudo pressure option is turned on using the GPP keyword in
the INPU section.
• This event is only required if the ALL argument is not used with the GPP keyword.
• See the Gas Pseudo-Pressure section of the Technical Reference where the calculation and use of gas
pseudo-pressure is described.
• This event is a recommended alternative to keyword WGPP.

1336 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

LTAB - Set Lift Table for THP Calculations

Syntax

LTAB <Lift Table Name> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The LTAB event is used to set a tubing head pressure limit on a well in accordance with the respective tubing head
pressure table defined using the TUBI keyword.

Definitions

1. Name of lift table


2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• If lift tables are specified using the keyword VFPPROD or VFPINJ, use tubeprodXX or tubeinjeXX (where
XX is the lift table number) respectively as the lift table name.
• This event is a recommended alternative to entering a lift table as the 7th argument of WELL keyword to
indicate that the limiting pressure is a THP.

Example

EFOR WELL 'DAYS'


ETAB
P-1 10 PROD
P-1 10 LTAB TAB1 -- Use table TAB1 for well P-1
P-1 10 THPT 1200 -- Set thp target for well
ENDE

11.9. Tempest MORE Well Model events 1337


Tempest MORE Help, Release 8.1

MPGPP - Enable Multi-Phase Gas Pseudo-Pressure for this Well

Syntax

MPGPP [HOUR <hrs>]

Description

The MPGPP event enables the use of multi-phase gas pseudo-pressure for the respective well.

Definitions

1. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event will only come into effect if multi-phase gas pseudo-pressure option is turned on using the MPGP
keyword in the INPU section.
• This event is only required if the ALL argument is not used with the MPGP keyword.
• Details of the calculation and use of multi-phase gas pseudo-pressure are described in the Gas Pseudo-
pressure section of the Technical Reference Manual.
• This event is a recommended alternative to keyword WMPG.

1338 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PUMP - Set Up a Downhole Pump Table

Syntax

PUMP <pump table> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The PUMP event is used to specify that a downhole pump is used to provide artificial lift to the respective well.

Definitions

1. Pump name
2. Optional arguments:
• OFF - stops further pipeline pump calculations for the well
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The downhole PUMP table can be defined using the PUMP keyword.
• This event is a recommended alternative to specifying downhole pump to provide artificial lift using the
WELL sub-keyword LIFT.

Examples

1. PUMP is used to attach the pump PUMP_23 to the well Pr-10A.

EFOR WELL 'DD/MMM/YYYY'


ETAB
Pr-10A 01/JAN/2000 PUMP PUMP_23
ENDE

The OFF option is then introduced to stop further pipeline pump calculations for the well (effectively remove
the pump), as follows:

ETAB
Pr-10A 01/JAN/2010 PUMP PUMP_23 OFF
ENDE

11.9. Tempest MORE Well Model events 1339


Tempest MORE Help, Release 8.1

RG - Enable Russell-Goodrich for this Well

Syntax

RG [HOUR <hrs>]

Description

The RG event enables the use of Russell-Goodrich for the respective well.

Definitions

1. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event will only come into effect if Russell-Goodrich option is turned on using the RG keyword in the
INPU section.
• This event is only required if the ALL argument is not used with the RG keyword.
• See the Russell-Goodrich section of the Technical Reference where the calculation and use of gas pseudo-
pressure is described.
• This event is a recommended alternative to keyword WRG.

1340 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

VDKR - Enable Velocity Dependent Relative Permeabilities for this Well

Syntax

VDKR [HOUR <hrs>]

Description

The VDKR event enables the use of velocity-dependent relative permeabilities for the respective well.

Definitions

1. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event will only come into effect if VDKR keyword is used in the INPU section.
• This event is only required if the ALL argument is not used with the VDKR keyword.
• Details of the calculation and use of velocity-dependent relative permeabilities is described in the velocity-
dependent relative permeabilities section of the Technical Reference Manual.
• This event is a recommended alternative to keyword WVDK.

11.9. Tempest MORE Well Model events 1341


Tempest MORE Help, Release 8.1

WSEG - Requests that a Well be Modelled as a Multi-Segmented Well

Syntax

WSEG <max seg L> <starting MD> <abs roughness> [RRTA table name] [HOUR <hrs>]

Description

The WSEG event is used to request that a well be modelled using the multi-segmented well option.

Definitions

1. Maximum segment length


2. Starting measured depth for segment modelling
• Default: the first completion
3. Well absolute roughness
• Default: 10-4 (field), 3 * 10-5 (metric)
• Units: feet (Field), metres (Metric)
4. Optional arguments:
• Name of radius and roughness table entered with RRTA
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Either the number of segments or the maximum segment length should be specified. Extra segment breaks
will be inserted at completions and well branches.
• Well Track Table must first be defined using TTAB/ENDT before WSEG event can be used.
• Roughness table using RRTA keyword gets preference over the absolute roughness.
• This event is a recommended alternative to keyword WSEG.

Examples

1. WSEG is used to request that the well WPRD be modelled using the multi-segmented well option with a
maximum segment length of 100, a starting measured depth of 5000, and a well default absolute roughness
of 0.375E-4.

EFOR WELL 'DD/MMM/YYYY'


ETAB
WPRD 01/JAN/2000 WSEG 100 5000 0.375E-4
ENDE

The multi-segmented WPRD well will then appear in the Wells tab of the results where it can be expanded
to show 4 segments with specific plottable 2D multi-segmented well data, as follows:

1342 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

2. In this example, BRAN is used with the WSEG (multi-segmented well) option.
--* Specify well trajectory in true xyz space
TTAB
--*x y z md
P-1
1500 4500 5000 5000
1500 4500 6000 6000

P-1:1
1500 4500 5500 0
6000 4500 5500 4500
ENDT

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5600 5800 0.5 0 10
01/Jan/2000 PERF 3500 4500 0.5 0 10 BRANCH 1
01/Jan/2000 OPT 5000
01/Jan/2000 BHPT 1500
ENDE

We introduce the BRAN keyword, WSEG event, and RRTA keyword to define the branch structure, multi-
segmented well option and a roughness and radius table respectively.
RRTA RTAB1
--MD Rad Roughness
5000 0.10 0.01
5500 0.50 0.05
/

RRTA RTAB2
--MD Rad Roughness
0 0.60 0.55
1000 0.70 0.56
2000 0.80 0.57
3000 0.90 0.58
4000 0.99 0.59
/

11.9. Tempest MORE Well Model events 1343


Tempest MORE Help, Release 8.1

BRAN P-1:1 P-1 5500 RTAB2

EFOR WELL 'DD/MMM/YYYY'


ETAB
P-1 01/JAN/2000 WSEG 500 5000 0.45 RTAB1
ENDE

The resulting completed branches will appear on the 3D Viewer as follows.

If the argument SEGM under the GENE keyword in the RECU section is entered, the segment properties
can be viewed in the PRINT file and a plot using Tempest VIEW, as shown below:

1344 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.9. Tempest MORE Well Model events 1345


Tempest MORE Help, Release 8.1

XFLO - Prevent or Allow Well Crossflow

Syntax

XFLO <ON|OFF> [HOUR <hrs>]

Description

The XFLO event is used to prevent or allow well crossflow. If well crossflow is allowed, fluid is allowed to flow
from high pressure layers to low pressure layers through the well’s open completions. When crossflow is not
allowed, the flow of material from layer to layer is stopped.

Definitions

1. ON or OFF
• ON (default) - turn on crossflow
• OFF - turn off crossflow
2. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• To turn on/off crossflow for all wells use GXFLO event for group ALL or keyword ALLX.

Examples

1. XFLO event is used to turn off crossflow for well W_243A.

EFOR WELL DAYS MDL MDU DIAM MULT SKIN


ETAB
W_243A 0 XFLO OFF
ENDE

1346 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.10 Tempest MORE Group Constraint events

GCOM - Set Up Action to be Taken if Group Pipeline Limit Cannot be Met

Syntax

GCOM <limit type> <limit value> <limit action> <action details> [OFF] [HOUR <hrs>]

Description

GCOM sets up a limit so that if pipeline pressure falls below a given value, or if oil or gas flow rate is too low,
then a compressor (defined by the CMPR keyword) will be switched on or have another remedial action taken.

Definitions

1. Limit type: PIN, POUT, OIL, or GAS


• PIN - inlet pressure
• POUT - outlet pressure
• OIL - oil flow rate
• GAS - gas flow rate
2. Limit value
3. Limit action: COMP, PUMP, LIFT, or ALQS
• COMP - use compressor table
• PUMP - use pipeline pump table (set up with PLPU)
• LIFT - use artificial lift table
• ALQS - use well artificial lift values
4. Action details:
• For COMP - compressor name and number of compressor stages
• For PUMP - pipeline pump name
• For LIFT - lift table name
• For ALQS - ALQ shift & maximum number of shifts
5. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Note that, unlike other production limits such as those imposed by GPLIM, GCOM always sets a MINI-
MUM limit, i.e. they trigger if the pressure or rate is too low. There is currently no option to impose GCOM
limits as maximum or hold limits.
• For more information regarding the use of the limit actions COMP, PUMP, LIFT, and ALQS, please see
please see the CMPR, PLPU, LIFT, or ALQ keywords, respectively.
• This event is a recommended alternative to keyword GCOM.

11.10. Tempest MORE Group Constraint events 1347


Tempest MORE Help, Release 8.1

Examples

1. GCOM is used to request up to two ALQ increments of 200 if the gas rate of group DC falls below 120000
ksm3/day.

EFOR 'dd/mmm/yyyy'
ETAB
DC
01/Jan/2000 GCOM GAS 12000 ALQS 200 2
ENDE

1348 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GFUEL - Group Fuel Requirement

Syntax

GFUEL [cons rate] [frac rate] [OFF] [HOUR <hrs>]

Description

GFUEL sets the fuel requirement for a group. Both a fraction of the group gas production and a gas rate may be
set.

Definitions

1. Optional arguments:
• The fuel rate for the group
– Units: (mscf/day) (Field) or (ksm:sup:3/day) (Metric)
– Default: 0
• The fuel fraction for the group
– Default: 0
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The fractional subtraction is made first, then the rate subtraction.


• The maximum amount of fuel that can be taken is the group gas rate.
• Further examples on this event can be found in the examples given under the ORDE keyword.
• This event is a recommended alternative to keyword GFUE.

Example

--Take 20% of the gas rate of group GW13 as fuel,


--then take a further 101 mscf/day if there is sufficient gas left

EFOR 'DD/MMM/YYYY'
ETAB
GW13
01/JAN/2000 GFUEL 101 0.2
ENDE

11.10. Tempest MORE Group Constraint events 1349


Tempest MORE Help, Release 8.1

GGIT - Set Group Gas Injection Target

Syntax

GGIT <Gas Inj target> [OFF] [HOUR <hrs>]

Description

The GGIT event is used to set gas injection target rate for a group.

Definitions

1. Gas injection target rate


• Units: Mscf/d (Field), ksm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GGIT event is used to impose field gas injection target of 2200 ksm3/day.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GGIT 2200
ENDE

1350 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GGPT - Set Group Gas Production Target

Syntax

GGPT <Gas Prod target> [OFF] [HOUR <hrs>]

Description

The GGPT event is used to set gas production target rate for a group.

Definitions

1. Gas production target rate


• Units: Mscf/d (Field), ksm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GGPT event is used to impose gas production target of 500 mscf/day on group G1.

EFOR 'dd/mmm/yyyy'
ETAB
G1
01/Jan/2000 GGPT 500
ENDE

11.10. Tempest MORE Group Constraint events 1351


Tempest MORE Help, Release 8.1

GGVIT - Set Group Gas Voidage Injection Target

Syntax

GGVIT <Gas Voidage Inj target> [OFF] [HOUR <hrs>]

Description

The GGVIT event is used to set gas voidage injection target rate for a group.

Definitions

1. Gas voidage injection target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GVPT, GWVIT and GGVIT events are used to balance voidage production with voidage injection to
maintain pressure.

EFOR WELL 'dd/mm/yyyy'


ETAB
ALL 01/01/2000 GVPT 2000 -- Impose group voidage production target of 2000
,→rm3/day

ALL 01/01/2000 GWVIT 1000 -- Impose group water voidage injection target of
,→1000 rm3/day

ALL 01/01/2000 GGVIT 1000 -- Impose group gas voidage injection target of
,→1000 rm3/day

ENDE

1352 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GILIM - Group Injection Control

Syntax

GILIM <limit type> <limit value> <limit action> [MIN] [OFF] [HOUR <hrs>]

Description

The GILIM event is used to define group injection limits.

Definitions

1. Limit Type: OIL, GAS, WAT, RESV


Limit Type Description
OIL oil injection rate for oil injectors in the group
GAS gas injection rate for gas injectors in the group
WAT water injection rate for water injectors in the group
RESV reservoir volume injection rate for all injectors in the group
2. Limit Value for the Limit Type set in argument 1.
3. Limit Action: DRIL, REDE, SHUT, STIM, STOP
Limit Action Description Syntax
DRIL open well from drilling queue DRIL
REDE redefine one or more wells REDE
SHUT shut all wells in the group SHUT
STIM stimulate STIM
STOP stop run STOP
4. Optional Arguments:
• MIN - By default limits are maximum limits - ie the limit acts when the predicted value rises above the
limit value. MIN allows the limit to be set up as a minimum limit - ie the limit acts when the predicted
value falls below the limit value.
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A group can only have one limit value for a given pair of limit type and action (e.g. GAS & STIM). If a new
limit value is specified for an existing pair (e.g. GAS & STIM), it replaces the existing value. If a new limit
value is specified for a new pair (e.g. WAT & DRIL), then it will define an additional limit.
• A limit of type GAS affects all the gas injectors in the group, while a limit of type WAT affects all the
water injectors. Note that it is possible for a group to have injection gas and injection water limits acting
simultaneously.
• The remedial actions SHUT and STIM are carried out for all wells in the group. The corresponding actions
on indiviual wells are described in the ILIM event help.
• In case of DRIL actions the wells to be drilled must be put in the drill queue. Setting up the drill queue is
described in the well management section of the Tempest MORE Technical Reference.
• In case of a REDE action, the required redefinition must be defined using a GIRED event.
• This event is a recommended alternative to keyword ILIM.

11.10. Tempest MORE Group Constraint events 1353


Tempest MORE Help, Release 8.1

Examples

1. GILIM is used to specify that when the A943 group reaches a minimum water injection rate of 10000, the
injection wells in the group will be stimulated.

EFOR 'dd/mmm/yyyy'
ETAB
A943
10/Oct/2010 GILIM WAT 10000 STIM MIN
ENDE

2. GILIM is used to specify that when the CW-45 group reaches a maximum water injection rate of 45000, all
of the wells in the group will be shut.

EFOR 'dd/mmm/yyyy'
ETAB
CW-45
10/Oct/2010 GILIM WAT 45000 SHUT
ENDE

1354 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GLPT - Set Group Liquid Production Target

Syntax

GLPT <Liq Prod target> [OFF] [HOUR <hrs>]

Description

The GLPT event is used to set liquid production target rate for a group.

Definitions

1. Liquid production target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GLPT event is used to set a field liquid production target rate of 500 stb/day.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GLPT 500
ENDE

11.10. Tempest MORE Group Constraint events 1355


Tempest MORE Help, Release 8.1

GOIT - Set Group Oil Injection Target

Syntax

GOIT <Oil Inj target> [OFF] [HOUR <hrs>]

Description

The GOIT event is used to set oil injection target rate for a group.

Definitions

1. Oil injection target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When setting oil injection, OIL package of the RATE keyword must be used to report oil injection rates.

Examples

1. The GOIT event is used to set a field oil injection target rate of 2000 sm3/day.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GOIT 2000
ENDE

1356 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GOPT - Set Group Oil Production Target

Syntax

GOPT <Oil Prod target> [OFF] [HOUR <hrs>]

Description

The GOPT event is used to set oil production target rate for a group.

Definitions

1. Oil production target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GOPT event is used to set a field oil production target rate of 5000 stb/day.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GOPT 5000
ENDE

11.10. Tempest MORE Group Constraint events 1357


Tempest MORE Help, Release 8.1

GPLIM - Group Production Control

Syntax

GPLIM <limit type> <limit value> <limit action> [MIN] [OFF] [HOUR <hrs>]

Description

The GPLIM event is used to define group production limits.

Definitions

1. Limit Type: OIL, GAS, WAT, RESV, LIQ, GOR, OGR, WCT, WOR, GWR, WGR
Limit Type Description
OIL oil production rate for all producers in the group
GAS gas production rate for all producers in the group
WAT water production rate for all producers in the group
RESV reservoir volume production rate for all producers in the group
LIQ liquid production rate for all producers in the group
GOR gas-oil ratio for all producers in the group
OGR oil-gas ratio for all producers in the group
WCT water cut for all producers in the group
WOR water-oil ratio for all producers in the group
GWR gas-water ratio for all producers in the group
WGR water-gas ratio for all producers in the group
2. Limit Value for the Limit Type set in argument 1.
3. Limit Action: BOOST, CUTB, DRIL, REDE, SHUT, STIM, STOP, WORK
Limit Description Syntax
Action
BOOST boost by factor (same as CUTB) BOOST FACTOR <factor>
[PHASE <phase>]
CUTB cut back phase (oil/gas/water/liqu/void) to CUTB FACTOR <factor>
<factor> times current rate factor [PHASE <phase>]
DRIL open well from drilling queue DRIL
REDE redefine one or more wells REDE
SHUT shut all wells in the group SHUT
STIM stimulate STIM
STOP stop run STOP
WORK workover WORK [WRKA|WRKW|WRKS]
4. Optional Arguments:
• MIN - By default limits are maximum limits - ie the limit acts when the predicted value rises above the
limit value. MIN allows the limit to be set up as a minimum limit - ie the limit acts when the predicted
value falls below the limit value.
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• A group can only have one limit value for a given pair of limit type and action (e.g. OIL & STIM). If a new
limit value is specified for an existing pair (e.g. OIL & STIM), it replaces the existing value. If a new limit

1358 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

value is specified for a new pair (e.g. OIL & DRIL), then it will define an additional limit.
• The remedial actions BOOST, CUTB, SHUT, and STIM are carried out for all wells in the group. The
corresponding actions on indiviual wells are described in the PLIM event help.
• The remedial action WORK provides an additional option to select the type of workover:
– WRKW - Workover the worst well in the group
– WRKS - Shut the worst well in the group
– WRKA (default) - Workover all the wells in the group
• The default factor is 0.9 for CUTB, and 1.11 for BOOST.
• In case of DRIL actions the wells to be drilled must be put in the drill queue. Setting up the drill queue is
described in the well management section of the Tempest MORE Technical Reference.
• In case of a REDE action, the required redefinition must be defined using a GPRED event.
• This event is a recommended alternative to keyword GLIM.

Examples

1. GPLIM is used to specify a minimum oil rate of 4000. If this limit event occurs, a well will be activated
from the drilling queue. This action is specified using the DRIL option.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GPLIM OIL 4000 DRIL MIN
ENDE

2. GPLIM is used to stop a run if the group oil rate falls below 100.

GLIM ALL OIL 100 MIN STOP


EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GPLIM OIL 100 STOP MIN
ENDE

11.10. Tempest MORE Group Constraint events 1359


Tempest MORE Help, Release 8.1

GPRI - Group Prioritisation Control

Syntax

GPRI <Limit type> <Limit value> [OFF] [HOUR <hrs>]

Description

The GPRI event is used to set prioritisation group limits. When a group prioritisation limit is operating, wells in
the group will be closed in priority order to meet the group target. The lowest priority wells will be closed first.
The well priority is determined by the coefficients set by PRIO event.

Definitions

1. Name of the limit:


• OIL - oil production target for all producers in the group
• GAS - gas production target for all producers in the group
• WAT - water production target for all producers in the group
• RESV - reservoir volume production target for all producers in the group
• LIQ - liquid production target for all producers in the group
2. Value for the group limit
3. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword GPRI.

Examples

1. In the example below, we have four wells with a total oil production rate of 10000. These wells, P-1, P-2,
P-3, and P-4 have been set up to have oil production rates of 1000, 2000, 3000, and 4000, respectively. After
5 years of simulation, PRIO event is used to assign a priority to the oil rate using the default time interval of
92.25 days. GPRI event is then used to set a target oil production rate at 8000 for a group of 4 wells. This
rate is then to be met by closing wells with low priority limits. See GPRI_PRIO_event.dat for complete
example:

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 1000.00

P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

1360 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

P-3
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 3000.00

P-4
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 4000.00

ALL
01/Jan/2005 PRIO 1* 0 1 0 0 1 0 0 0
01/Jan/2005 GPRI OIL 8000
01/Jan/2010 END

ENDE

From the PRIO event specifications given, the well priority becomes P = qo , the oil rate, as detailed below:

P = (C1 + C2*qo + C3*qg + C4*qw)/(C5 + C6*qo + C7*qg + C8*qw)


P = (0 + 1*qo + 0*qg + 0*qw)/(1 + 0*qo + 0*qg + 0*qw)
P = qo / 1
P = qo

Then, as we have used GPRI to set a target oil production rate of 8000 for our group of wells after 5 years
of simulation, once that target rate is exceeded, the wells in the group would be shut according to their well
priority as determined by the coefficients set in PRIO. In this case, as the well priority has been set to be
equivalent to the oil rate (qo ), the well with the lowest oil production rate would be closed first. If with the
closing of this well, the oil production rate still exceeded the target of 8000, then the well with the second
lowest oil production rate would be closed next and so on and so on, until the target rate was not longer
violated.
As seen in the plot below, the total oil production rate for the group ALL does decrease from 10000 to 8000
after 5 years due to the presence of the GPRI event.

When the oil production rates are plotted for all 4 of the wells (P-1, P-2, P-3 and P-4) in the group ALL, we

11.10. Tempest MORE Group Constraint events 1361


Tempest MORE Help, Release 8.1

can see that indeed the well priority has been set to the oil rate and the well with the lowest oil rate (P-1)
has been shut, followed by the P-2 well, until the total oil production rate has been reduced to 8000.

1362 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GSALE - Group Sales Requirement

Syntax

GSALE [cons rate] [frac rate] [OFF] [HOUR <hrs>]

Description

GSALE sets the gas sales requirement for a group. Both a fraction of the group gas production and a gas rate may
be set.

Definitions

1. Optional arguments:
• The sales rate for the group
– Units: (mscf/day) (Field) or (ksm:sup:3/day) (Metric)
– Default: 0
• The sales fraction for the group
– Default: 0
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The fractional subtraction is made first, then the rate subtraction.


• The maximum amount of sales gas that can be taken is the group gas rate.
• Further examples on this event can be found in the examples given under the ORDE keyword.
• This event is a recommended alternative to keyword GSAL.

Example

--Take 50% of the field gas production as sales gas; the remainder is available
,→for reinjection etc.

EFOR 'DD/MMM/YYYY'
ETAB
ALL
01/JAN/2000 GSALE 0 0.5
ENDE

11.10. Tempest MORE Group Constraint events 1363


Tempest MORE Help, Release 8.1

GUGR - Set Group User Guide Rate

Syntax

GUGR <group guide rate> [MODE <guide rate mode>] [OFF] [HOUR <hrs>]

Description

GUGR is used to set a group guide rate for a specific group. A group guide rate enables a parent-group target to
be shared between groups in the same parent group.

Definitions

1. Value for the guide rate


• Default: sum of the guide rates of all the group members.
2. Optional arguments:
• MODE <guidance-mode>
– Default: ALL - apply guide rate to all wells
– Other Options:

* PROD - apply guide rate to producers only


* INJE - apply guide rate to injectors only
* OP - apply guide rate to oil producers only
* GP - apply guide rate to gas producers only
* WP - apply guide rate to water producers only
* LP - apply guide rate to liquid producers only
* VP - apply guide rate to voidage production only
* OI - apply guide rate to oil injectors only
* GI - apply guide rate to gas injectors only
* WI - apply guide rate to water injectors only
* VI - apply guide rate to voidage injection only
* GVI - apply guide rate to gas voidage injection only
* WVI - apply guide rate to water voidage injection only
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The PARE keyword may be used to make a group a member (sub-group) of a parent group. Otherwise,
groups have ALL as their parent group.
• If a group contains only wells the WUGR event has to be used on the contained wells to share the group’s
targets.
• If a group contains wells and sub-groups a mix of WUGR and GUGR events may be used. See example
below.

1364 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

• This event is a recommended alternative to keyword GUGR.

Examples

1. In this example we have two groups AAA and BBB with common parent group ALL. GUGR is used to
assign guide rates to groups AAA and BBB. The guide rates in turn will be used by MORE to derive targets
for groups AAA and BBB from the targets of their parent ALL. See GUGR_event.dat for complete example:

-- set up groups
GROUP AAA WINJ1 WINJ2 WPRD3 -- AAA contains 2 injectors and 1 producer,
,→parent group is ALL

GROUP BBB WPRD1 WPRD2 WINJ3 -- BBB contains 1 injector and 2 producers,
,→parent group is ALL

EFOR 'dd/mmm/yyyy'
ETAB
-- set up production and injection targets for parent group ALL using events
ALL
01/Jan/2000 GOPT 3500
01/Jan/2000 GWIT 3500

-- set up guide rates for group AAA


AAA
01/Jan/2000 GUGR 75 MODE PROD -- producers in AAA get a share of 75% of
,→the production targets of parent ALL

01/Jan/2000 GUGR 25 MODE INJE -- injectors in AAA get a share of 25% of


,→the injection targets of parent ALL

-- set up guide rates for group BBB


BBB
01/Jan/2000 GUGR 25 MODE PROD -- producers in BBB get a share of 25% of
,→the production targets of parent ALL

01/Jan/2000 GUGR 75 MODE INJE -- injectors in BBB get a share of 75% of


,→the injection targets of parent ALL

ENDE

11.10. Tempest MORE Group Constraint events 1365


Tempest MORE Help, Release 8.1

2. In this example two wells (P-3 and P-4) and one group (GXX) have a common parent in group GG. Group
GXX contains wells P-1 and P-2. GG is set an oil production target rate of 1000 stb/d. Since group GG
contains wells and a sub-group, we have to use a mix of WUGR and GUGR keywords/events to specify the
respective guide rates. See GUGR_WUGR.dat for complete example:

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
GG
01/Jan/2000 GOPT 1000

GXX
01/Jan/2000 GOPT 1000
01/Jan/2000 GUGR 10 MODE PROD

P-1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000

P-2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000

P-3
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000
01/Jan/2000 WUGR 40

P-4
01/Jan/2000 PROD
01/Jan/2000 PERF 5000 5200 0.5 0 1
01/Jan/2000 OPT 3000
01/Jan/2000 WUGR 50
ENDE

1366 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.10. Tempest MORE Group Constraint events 1367


Tempest MORE Help, Release 8.1

GVPT - Set Group Voidage Production Target

Syntax

GVPT <Voidage Prod target> [OFF] [HOUR <hrs>]

Description

The GVPT event is used to set voidage production target rate for a group.

Definitions

1. Voidage production target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GOPT and GVPT events are used to impose field oil and field voidage production targets of 500 stb/day
and 400 rb/day respectively.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GOPT 500
01/Aug/2000 GVPT 400
ENDE

1368 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GWIT - Set Group Water Injection Target

Syntax

GWIT <Water Inj target> [OFF] [HOUR <hrs>]

Description

The GWIT event is used to set water injection target rate for a group.

Definitions

1. Water injection target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GWIT event is used to impose field water injection target of 2100 ksm3/day.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GWIT 2100
ENDE

11.10. Tempest MORE Group Constraint events 1369


Tempest MORE Help, Release 8.1

GWPT - Set Group Water Production Target

Syntax

GWPT <Water Prod target> [OFF] [HOUR <hrs>]

Description

The GWPT event is used to set water production target rate for a group.

Definitions

1. Water production target rate


• Units: stb/d (Field), sm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GWPT event is used to set different water production targets over time on group GSOUTH.

EFOR 'dd/mmm/yyyy'
ETAB
GSOUTH
01/Jan/2000 GWPT 500
01/Aug/2000 GWPT 1500
ENDE

1370 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GWVIT - Set Group Water Voidage Injection Target

Syntax

GWVIT <Water Voidage Inj target> [OFF] [HOUR <hrs>]

Description

The GWVIT event is used to set water voidage injection target rate for a group.

Definitions

1. Water voidage injection target rate


• Units: rb/d (Field), rm3/d (Metric)
2. Optional Arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

n/a

Examples

1. The GVPT, GWVIT and GGVIT events are used to balance voidage production with voidage injection to
maintain pressure.

EFOR WELL 'dd/mm/yyyy'


ETAB
ALL 01/01/2000 GVPT 2000 -- Impose group voidage production target of 2000
,→rm3/day

ALL 01/01/2000 GWVIT 1000 -- Impose group water voidage injection target of
,→1000 rm3/day

ALL 01/01/2000 GGVIT 1000 -- Impose group gas voidage injection target of
,→1000 rm3/day

ENDE

11.10. Tempest MORE Group Constraint events 1371


Tempest MORE Help, Release 8.1

11.11 Tempest MORE Simulation Control events

CNVL - Set Linear Convergence Target

Syntax

CNVL <linear conv target> [HOUR <hrs>]

Description

The CNVL event is used to set the linear convergence target.

Definitions

1. Target improvement in linear solver


• Default: 1.0E-5
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 2nd argument of keyword LSOL.

Examples

1. The CNVL event is used to set different linear convergence targets during the simulation.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2010 CNVL 1.0E-12 -- Tighter linear convergence criterion
01/Feb/2010 CNVL 1.0E-10 -- Loosen for next month
01/May/2010 CNVL 1* -- Return to default value
ENDE

1372 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

CNVNL - Set Non-Linear Convergence Target

Syntax

CNVNL <non-linear conv target> [HOUR <hrs>]

Description

The CNVNL event is used to set the non-linear convergence target.

Definitions

1. Maximum allowed error at any grid point (controls the convergence of the outer Newton-Raphson iteration
of the flow equations)
• Default: 0.005
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 1st argument of keyword VTOL.

Examples

1. The CNVNL event is used to set different non-linear convergence targets during the simulation.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2010 CNVNL 1.0E-4 -- Tighter non-linear convergence criterion for first
,→month

01/Feb/2010 CNVNL 1* -- Return to default value


ENDE

11.11. Tempest MORE Simulation Control events 1373


Tempest MORE Help, Release 8.1

DELT - Set Next Timestep Length

Syntax

DELT [next tstep length] [HOUR <hrs>]

Description

The DELT event is used to set the next time-step size for running a simulation.

Definitions

1. Optional Arguments:
• Size of the next time step
– Initial: 0.1
– Default: current value
– Units: Days
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• DELT will override the default initial time step.


• This event is a recommended alternative to keyword DELT.

Examples

1. DELT is used to set a time step of 5 days.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 DELT 5
ENDE

1374 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

DRSDT - Set Maximum Rate of Solution Gas-Oil Ratio Change

Syntax

DRSDT <max change of sol GOR> [HOUR <hrs>]

Description

The DRSDT event may be used to control the rate at which gas solution in undersaturated oil occurs.

Definitions

1. Maximum rate of change of solution gas-oil ratio


• Units: mscf/stb/day (Field), ksm3/sm3/day (Metric)
2. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The default rate is infinite - i.e. no restriction is placed on the rate at which the solution gas-oil ratio may
change
• This event is a recommended alternative to keyword RSDT.

Example

1. Set a maximum solution gas-oil change rate of 5.6 mscf/stb/day

--Set a maximum solution gas-oil change rate of 5.6 mscf/stb/day


EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 DRSDT 5.6
ENDE

11.11. Tempest MORE Simulation Control events 1375


Tempest MORE Help, Release 8.1

DRVDT - Set Maximum Rate of Vapour Oil-Gas Ratio Change

Syntax

DRVDT <max change of vap OGR> [HOUR <hrs>]

Description

The DRVDT event may be used to control the rate at which oil vapourisation into undersaturated gas occurs.

Definitions

1. Maximum rate of change of vapour oil-gas ratio


• Units: mscf/stb/day (Field), ksm3/sm3/day (Metric)
2. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The default rate is infinite - i.e. no restriction is placed on the rate at which the vapour oil-gas ratio may
change
• This event is a recommended alternative to keyword RVDT.

Example

1. Set a maximum vapour oil-gas change rate of 0.0002 stb/mscf/day

--Set a maximum vapour oil-gas change rate of 0.0002 stb/mscf/day


EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 DRVDT 0.0002
ENDE

1376 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

END - End Simulation

Syntax

END [HOUR <hrs>]

Description

The END is used to end the simulation.

Definitions

1. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword STOP.

Examples

1. END is used to end the simulation on 1st of January 2010.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2010 END
ENDE

11.11. Tempest MORE Simulation Control events 1377


Tempest MORE Help, Release 8.1

MXL - Set Max Number of Linear Iterations

Syntax

MXL <max linear iter> [HOUR <hrs>]

Description

The MXL event is used to set the maximum number of linear solver iterations.

Definitions

1. Maximum number of linear solver iterations.


• Default: 40
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 1st argument of keyword LSOL.

Examples

1. The MXL event is used to increase the maximum number of linear solver iterations from the default of 40
to 80.

EFOR WELL 'dd/mmm/yyyy'


ETAB
ALL 01/Jan/2000 MXL 80
ENDE

1378 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

MXNL - Set Max Number of Non-Linear Iterations

Syntax

MXNL <max non-linear iter> [HOUR <hrs>]

Description

The MXNL event is used to set the maximum number of non-linear solver iterations.

Definitions

1. Maximum number of non-linear solver iterations.


• Default: 15
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 2nd argument of keyword VTOL.

Examples

1. The MXNL event is used to increase the maximum number of non-linear solver iterations from the default
of 15 to 20.

EFOR WELL 'dd/mmm/yyyy'


ETAB
ALL 01/Jan/2000 MXNL 20
ENDE

11.11. Tempest MORE Simulation Control events 1379


Tempest MORE Help, Release 8.1

RATE - Request Rate Files are Written

Syntax

RATE [HOUR <hrs>]

Description

The RATE event is used to request MORE to write rate files at specific times.

Definitions

1. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event will request rate reports in addition to those requested in the RATE keyword.

Examples

1. The RATE event is used to request rate file output at a number of specific times.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jun/2000 RATE
01/Oct/2000 RATE
01/Jan/2001 RATE
01/Jun/2001 RATE
01/Oct/2001 RATE
01/Jan/2002 RATE
ENDE

1380 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

RFREQ - Set Rate Frequency

Syntax

RFREQ <freq> [DAYS|MONTHS|YEARS] [HOUR <hrs>]

Description

The RFREQ event is used to set the rate reporting frequency.

Definitions

1. Incremental time between rate reports


• Default: 10 days
2. Optional Arguments:
• Units of incremental time: DAYS, MONTHS, or YEARS
– DAYS (default) - time is in days
– MONTHS - time is in months
– YEARS - time is in years
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• From the RFREQ event time onwards, the simulation will switch to the respective rate reporting frequency,
until this is changed by another RFREQ event.
• This event is an alternative to controlling rate output frequency through the keyword RATE.

Examples

1. The RFREQ event is used to set rate frequency of 2 months.

EFOR WELLS 'dd/mmm/yyyy'


ETAB
ALL 01/Dec/2015 RFREQ 2 MONTHS
ENDE

11.11. Tempest MORE Simulation Control events 1381


Tempest MORE Help, Release 8.1

TSDP - Set Timestep Target Pressure Change

Syntax

TSDP <target pressure change> [HOUR <hrs>]

Description

The TSDP event is used to set the timestep target pressure change.

Definitions

1. Target pressure change


• Default: 1469.6 psi (Field), 101.325 bars (Metric)
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 6th argument of 2nd record of keyword DTMX.

Examples

1. The TSDP event is used to set the target pressure change over a timestep to 100 psi.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 TSDP 100
ENDE

1382 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

TSDS - Set Timestep Target Saturation Change

Syntax

TSDS <target saturation change> [HOUR <hrs>]

Description

The TSDS event is used to set the timestep target saturation change.

Definitions

1. Target saturation change


• Default: 0.15
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 3rd argument of 2nd record of keyword DTMX.

Examples

1. The TSDS event is used to set the target saturation change over a timestep to 1%.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 TSDS 0.01
ENDE

11.11. Tempest MORE Simulation Control events 1383


Tempest MORE Help, Release 8.1

TSDT - Set Timestep Target Temperature Change

Syntax

TSDT <target temp change> [HOUR <hrs>]

Description

The TSDT event is used to set the timestep target temperature change.

Definitions

1. Target temperature change


• Default: 50o F
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 7th argument of 2nd record of keyword DTMX.

Examples

1. The TSDT event is used to set the target temperature change over a timestep to 15o F .

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 TSDT 15
ENDE

1384 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

TSMX - Set Maximum Timestep

Syntax

TSMX <max timestep> [HOUR <hrs>]

Description

The TSMX event is used to set the maximum allowed timestep size.

Definitions

1. Maximum allowed timestep size (in days)


• Default: 32
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 2nd argument of 2nd record of keyword DTMX.

Examples

1. The TSDP event is used to change the maximum allowed timestep size during the simulation.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2010 TSMX 5 -- Max timestep set to 5 days
01/Jan/2011 TSMX 1* -- Max timestep set to default
ENDE

11.11. Tempest MORE Simulation Control events 1385


Tempest MORE Help, Release 8.1

TSWM - Set Maximum Timestep After Well Modification

Syntax

TSWM <max timestep> [HOUR <hrs>]

Description

The TSWM event is used to set the maximum allowed timestep size after a well control change.

Definitions

1. Maximum allowed timestep size (in days)


• Default: 10
2. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to the 5th argument of 2nd record of keyword DTMX.

Examples

1. The TSWM event is used to change the maximum allowed timestep size after well modification during the
simulation.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2010 TSWM 0.1 -- Max well modification step set to 0.1 days
01/Feb/2010 TSWM 1* -- Max well modification step set to default
ENDE

1386 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PRIO - Group Prioritisation Coefficients

Syntax

PRIO <Interval> <c1> <c2> <c3> <c4> <c5> <c6> <c7> <c8> [HOUR <hrs>]

Description

The PRIO event is used to set prioritisation coefficients for use by the group prioritisation limits set by GPRI
event. When a group prioritisation limit is operating as defined by GPRI event, wells in the group will be closed
in priority order to meet the group target. The lowest priority wells will be closed first. The well priority is
determined by the coefficients set by PRIO event.

Definitions

1. Time interval for which well priorities are calculated


• Units: days
• Default: 92.25 days (well priorities will be calculated every 92.25 days)
2. Coefficient C1
3. Coefficient C2
4. Coefficient C3
5. Coefficient C4
6. Coefficient C5
7. Coefficient C6
8. Coefficient C7
9. Coefficient C8
10. Optional Arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The priority of a well is determined by:

P = (C1 + C2*qo + C3*qg + C4*qw)/(C5 + C6*qo + C7*qg + C8*qw)

where qo, qg, and qw are the well oil, gas, and water rates, respectively

• At least one of the coefficients from C1 to C4 and one of the coefficients from C5 to C8 must have a non-zero
value.
• The order of the coefficients follows the MORE standard of oil, gas, water - this may differ from other
simulators. For example, ECLIPSE uses oil, water, gas.
• To set individual well priorities, WPRI event can be used. The well priority set for a well using WPRI event
will over-ride the default calculation defined using PRIO. Please see the WPRI event for more information.
• This event is a recommended alternative to keyword PRIO.

11.11. Tempest MORE Simulation Control events 1387


Tempest MORE Help, Release 8.1

Examples

Example on the usage of the PRIO event can be accessed here.

1388 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

DPRIO - Drilling Prioritisation Coefficients

Syntax

DPRIO <Interval> <c1> <c2> <c3> <c4> <c5> <c6> <c7> <c8> [OFF] [HOUR <hrs>]

Description

The DPRIO event is used to activate the drilling queue prioritisation and set up the prioritisation coefficients.
Wells are opened from the drilling queue when triggered by a GPLIM event using the DRIL action. By default,
wells are drilled sequentially in the order they are defined in the group receiving the drill action. However, when
DPRIO is used wells are drilled in decreasing order of their drilling priority. The drilling priority of each well is
determined as a function of the well potential production rates and the coefficients of the DPRIO event, unless it
is overridden using the WDPRI event.

Definitions

1. Time interval for which well drill priorities are calculated


• Units: days
• Default: 92.25 days (well drill priorities will be calculated every 92.25 days)
2. Coefficient C1
3. Coefficient C2
4. Coefficient C3
5. Coefficient C4
6. Coefficient C5
7. Coefficient C6
8. Coefficient C7
9. Coefficient C8
10. Optional Arguments:
• OFF - This turns off the drill prioritisation
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The drill queue must be set up for DPRIO to have an effect. Setting up the drill queue is described in the
well management section of the Tempest MORE Technical Reference.
• The drill priority of a well is determined by:

C1 + C2 |po | + C3 |pg | + C4 |pw |


P =
C5 + C6 |po | + C7 |pg | + C8 |pw |

where |po |, |pg |, and |pw | are the absolute well potential oil, gas, and water rates, respectively.
• The time interval and all coefficients C1 to C8 must be non-negative
• At least one of the coefficients from C5 to C8 (used in the denominator) must have a non-zero value.
• The order of the coefficients follows the MORE standard of oil, gas, water - this may differ from other
simulators. For example, ECLIPSE uses oil, water, gas.

11.11. Tempest MORE Simulation Control events 1389


Tempest MORE Help, Release 8.1

• The default drilling priority for a well may be overriden using the WDPRI event.
• If DPRIO is NOT used, or switched off, wells are drilled in the order they are defined in the group receiv-
ing the drill action, not in the order of the DRIL group, see the example below. This behaviour ensures
backwards compatibility with MORE 7.2 and earlier.
• If DPRIO is used and two wells have the same priority, then the one which comes first in the DRIL group is
drilled.

Examples

1. This example uses the WDPRI event to override the potential-based priority calculation by DPRIO event
for well P3. See GPLIM_DRIL_DPRIO_WDPRI.dat for complete example:

GROUP DRIL P2 P3
GROUP GG P1 P2 P3

EFOR 'DAYS'
ETAB
ALL
0 DPRIO 1.0 0 2 0 0 1 0 0 0 -- recalculate potentials every day & use 2*
,→oil potential as drill priority

I1
0 INJE
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 WIT 1000.00
0 BHPT 2000.00

P1
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 3000.00
0 BHPT 68.9475

P2
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475
0 WDPRI 7500.0 -- use WDPRI to override DPRIO based priority for
,→this well

P3
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475

GG
100 GPLIM OIL 2300 DRIL MIN
ENDE

1390 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

2. This example sets DPRIO such that the appearance in group DRIL defines the drilling order. See
GPLIM_DRIL_DPRIO.dat for complete example:

GROUP DRIL P3 P2
GROUP GG P1 P2 P3

EFOR 'DAYS'
ETAB
ALL
0 DPRIO 1.0 0 0 0 0 1 0 0 0 -- every well will have a priority of zero

I1
0 INJE
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 WIT 1000.00
0 BHPT 2000.00

P1
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 3000.00
0 BHPT 68.9475

P2
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475

P3
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00

GG
100 GPLIM OIL 2300 DRIL MIN
ENDE

11.11. Tempest MORE Simulation Control events 1391


Tempest MORE Help, Release 8.1

Because prioritisation is used, but all wells have the same potential-based priority (zero in this example),
the effective drilling order is the order of appearance in group DRIL.

3. This example is the same as example 2 except that DPRIO event is not used. See
GPLIM_DRIL_noDPRIO.dat for complete example:

GROUP DRIL P3 P2
GROUP GG P1 P2 P3

EFOR 'DAYS'
ETAB
I1
0 INJE
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 WIT 1000.00
0 BHPT 2000.00

P1
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 3000.00
0 BHPT 68.9475

P2
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475

P3
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00

GG
100 GPLIM OIL 2300 DRIL MIN
ENDE

1392 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

The wells in the drill queue (group DRIL) will be drilled in the order P2, P3, because this is the order
specified in GG which is the group to receive drill actions.

11.11. Tempest MORE Simulation Control events 1393


Tempest MORE Help, Release 8.1

11.12 Tempest MORE Reinjection events

GGRT - Set Group Gas Reinjection Target

Syntax

GGRT <Reinj frac> <Reinj rate> [WELL|GROUP <name>] [SURF|RESV] [OFF] [HOUR <hrs>]

Description

The GGRT event sets gas reinjection target for a group.

Definitions

1. Reinjection fraction
2. Reinjection rate
3. Optional Arguments:
• WELL|GROUP <name> - When fluid is recycled into an injector the source may be a named well or
group. GROUP ALL will recycle the field production.
• SURF or RESV - When fluid is recycled into an injector the rate of the producer may be matched at
reservoir (RESV) or surface (SURF) conditions:
– RESV (default) - reservoir volume extracted is used as the basis for recycling.
– SURF - actual amount of fluid at surface conditions is used as the basis for recycling.
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When specifying reinjection rates, two arguments are required. The first specifies the fraction of the source
production which is to be injected. The second specifies a constant rate to be added on to the reinjected
fraction.

Example

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
ALL 10 GGRT 1 0 GROUP ALL SURF -- Re-inject all the gas produced by the field
ENDE

1394 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GWRT - Set Group Water Reinjection Target

Syntax

GWRT <Reinj frac> <Reinj rate> [WELL|GROUP <name>] [SURF|RESV] [OFF] [HOUR <hrs>]

Description

The GWRT event sets water reinjection target for a group.

Definitions

1. Reinjection fraction
2. Reinjection rate
3. Optional Arguments:
• WELL|GROUP <name> - When fluid is recycled into an injector the source may be a named well or
group. GROUP ALL will recycle the field production.
• SURF or RESV - When fluid is recycled into an injector the rate of the producer may be matched at
reservoir (RESV) or surface (SURF) conditions:
– RESV (default) - reservoir volume extracted is used as the basis for recycling.
– SURF - actual amount of fluid at surface conditions is used as the basis for recycling.
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When specifying reinjection rates, two arguments are required. The first specifies the fraction of the source
production which is to be injected. The second specifies a constant rate to be added on to the reinjected
fraction.

Example

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
GINJE_A 10/Nov/2005 GWRT 1 100 GROUP GPROD_A SURF -- Group GINJE_A to inject the
,→water produced by group GPROD_A + 100 sm3/day

ENDE

11.12. Tempest MORE Reinjection events 1395


Tempest MORE Help, Release 8.1

GVRT - Set Group Voidage Replacement Target

Syntax

GVRT <Reinj frac> <Reinj rate> [WELL|GROUP <name>] [NETG|NETW] [OFF] [HOUR <hrs>]

Description

The GVRT event is used to set group voidage replacement target.

Definitions

1. Reinjection fraction
2. Reinjection rate
3. Optional arguments:
• WELL|GROUP <name> - When fluid is recycled into an injector the source may be a named well or
group. GROUP ALL will recycle the field production.
• Net Option:
– NETG - water will be injected net of gas injection
– NETW - gas will be injected net of water injection
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• In the NETG and NETW cases, when replacing voidage from a group it is optionally possible to replace
production net of gas or net of water. If the replacement is net of gas, the reservoir volume production
minus the reservoir volume of gas injection will be replaced. If the replacement is net of water, the reservoir
volume production minus the reservoir volume of water injection will be replaced. These are useful if you
want to inject a known amount of one phase, say gas, and maintain pressure by varying the injection rate of
the other phase, say water. To do this water can be injected at a voidage replacement target net of gas.
• This event is very similar to VREP event.

Examples

1. The GVRT event is used to set reservoir volume group injection target to match total reservoir volume
production.

EFOR WELLS 'dd/mmm/yyyy'


ETAB
ALL 10/Mar/2005 GVRT 1 0 GROUP ALL
ENDE

1396 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GRT - Set Gas Reinjection Target

Syntax

GRT <Reinj frac> <Reinj rate> [WELL|GROUP <name>] [SURF|RESV] [OFF] [AFTER <value>
,→[DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The GRT event sets gas reinjection target for a well.

Definitions

1. Reinjection fraction
2. Reinjection rate
3. Optional Arguments:
• WELL|GROUP <name> - When fluid is recycled into an injector the source may be a named well or
group. GROUP ALL will recycle the field production.
• SURF or RESV - When fluid is recycled into an injector the rate of the producer may be matched at
reservoir (RESV) or surface (SURF) conditions:
– RESV (default) - reservoir volume extracted is used as the basis for recycling.
– SURF - actual amount of fluid at surface conditions is used as the basis for recycling.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When specifying reinjection rates, two arguments are required. The first specifies the fraction of the source
production which is to be injected. The second specifies a constant rate to be added on to the reinjected
fraction.

Example

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
I-1 10 GRT 1 0 WELL P-1 SURF -- Re-inject all the gas produced by well P-1
I-1 100 GRT 1 0 WELL P-1 SURF OFF -- Stop injecting gas
I-1 200 WRT 1 0 WELL P-1 SURF -- Start re-injecting all the water produced by
,→well P-1

ENDE

11.12. Tempest MORE Reinjection events 1397


Tempest MORE Help, Release 8.1

PBAL - Set Up Production Balancing

Syntax

PBAL <Inj group> <Balancing frac> [RVOL|GAS|WATR] [OFF] [HOUR <hrs>]

Description

The PBAL event is used to set production balancing group limits. Production balancing imposes a group produc-
tion limit on producers in a group such that a fraction of the injection achieved by the injectors in the same or
another group is produced.

Definitions

1. Injection group
• Default: ALL
2. Production balancing factor
• Default: 1
3. Optional arguments:
• Fluid used in production balancing: GAS, WAT, or RVOL
– RVOL (default) - balance reservoir volume production
– GAS - balance gas production
– WAT - balance water production
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The default is limit the producer group to match the reservoir volume injected. Alternatively, production
balancing limit may be imposed on the gas or water rates - ie the gas or water production will be limited to
a given fraction of the gas or water injection.
• This event is a recommended alternative to keyword PBAL.

Examples

1. PBAL is used to balance production for the group GR1 so that the produced reservoir volume equals the
injected reservoir volume.
GROU GR1 WINJ1 WINJ2 WPRD1 WPRD2

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
GR1
01/Jan/2000 PBAL GR1 1.0

WINJ1
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0

1398 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

01/Jan/2000 WIT 1000.00


01/Jan/2000 BHPT 1.00000e+04

WINJ2
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 3000.00
01/Jan/2000 BHPT 1.00000e+04

WPRD1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 1500.00

WPRD2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

ENDE

In this example, the wells in group GR1 have a total water injection rate of 4000 stb/day and a total oil
production rate of 3500 stb/day. With the presence of PBAL, we inject a total of 4000 stb/day of water and
the equivalent produced oil in reservoir volume will be approximately 2705 stb/day. These rates are evident
when the oil production rate and water injection rates are plotted together, as shown below:

If we then change the PBAL production balancing factor to 0.50 so that the produced reservoir volume
equals half of the injected reservoir volume by modifying PBAL, as follows:

ETAB
GR1
01/Jan/2000 PBAL GR1 0.5
ENDE

We should then expect that the oil production rate will become half of the previous rate of 2705 stb/day,
and thus, we should see an oil production rate of approximately 2705/2 = 1352.5 stb/day. When the oil
production rate is plotted with the water injection rate, we will see that the PBAL production balancing
factor of 0.5 has indeed been applied to the simulation, as evidenced in the following plot:

11.12. Tempest MORE Reinjection events 1399


Tempest MORE Help, Release 8.1

1400 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

VREP - Set Up Voidage Replacement

Syntax

VREP <Prod group> <Reinj frac> [Reinj Option] [OFF] [HOUR <hrs>]

Description

The VREP event is used to set voidage replacement group limits. Voidage replacement imposes a group injection
limit on a group of injectors such that a fraction of the reservoir volume production achieved by a group of
producers is injected.

Definitions

1. Production Group
• Default: ALL
2. Reinjection fraction
• Default: 1
3. Optional arguments:
• Reinjection Option:
– VREP (default) - voidage replacement
– NETG - water will be injected net of gas injection
– NETW - gas will be injected net of water injection
– SGAS - gas will be injected at a given fraction of the gas production at surface conditions
– SWAT - water will be injected at a given fraction of the water production at surface conditions
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• In the NETG and NETW cases, when replacing voidage from a group it is optionally possible to replace
production net of gas or net of water. If the replacement is net of gas, the reservoir volume production
minus the reservoir volume of gas injection will be replaced. If the replacement is net of water, the reservoir
volume production minus the reservoir volume of water injection will be replaced. These are useful if you
want to inject a known amount of one phase, say gas, and maintain pressure by varying the injection rate of
the other phase, say water. To do this water can be injected at a voidage replacement target net of gas.
• In the SGAS and SWAT cases, the reinjection rate will be calculated at surface rather than reservoir condi-
tions. For SGAS and SWAT, the gas and water injection will be done through the injection group’s gas and
water injectors, respectively. It is possible for simultaneous gas and water conditions to be applied to the
same group.
• This event is a recommended alternative to keyword VREP.

11.12. Tempest MORE Reinjection events 1401


Tempest MORE Help, Release 8.1

Examples

1. VREP is used to balance production for the group GR25 so that the injected reservoir volume equals the
produced reservoir volume.

GROU GR25 WINJ1 WINJ2 WPRD1 WPRD2

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB
GR25
01/Jan/2000 VREP GR25 1.0

WINJ1
01/Jan/2000 INJE
01/Jan/2000 PERF 5800.00 6000.00 0.50000 0.0 1.0
01/Jan/2000 WIT 10000.00
01/Jan/2000 BHPT 1.00000e+04

WPRD1
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 1000.00

WPRD2
01/Jan/2000 PROD
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.0 1.0
01/Jan/2000 OPT 2000.00

ENDE

In this example, the group GR25 has a total oil production rate of 3000 stb/day and a total water injection
rate of 10000 stb/day. The water injection rate target (WIT) is set to a high value to ensure that there is
enough water to provide voidage replacement for the produced oil. With the presence of VREP and an oil
production rate of 3000 stb/day, the total water injection rate will be calculated to ensure that the injected
reservoir volume equals the produced reservoir volume, resulting in approximate pressure maintenance in
the reservoir. These resulting production and injection rates and the bottom hole pressure in the reservoir
can be seen in the plot below:

1402 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.12. Tempest MORE Reinjection events 1403


Tempest MORE Help, Release 8.1

WRT - Set Water Reinjection Target

Syntax

WRT <Reinj frac> <Reinj rate> [WELL|GROUP <name>] [SURF|RESV] [OFF] [AFTER <value>
,→[DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WRT event sets water reinjection target for a well.

Definitions

1. Reinjection fraction
2. Reinjection rate
3. Optional Arguments:
• WELL|GROUP <name> - When fluid is recycled into an injector the source may be a named well or
group. GROUP ALL will recycle the field production.
• SURF or RESV - When fluid is recycled into an injector the rate of the producer may be matched at
reservoir (RESV) or surface (SURF) conditions:
– RESV (default) - reservoir volume extracted is used as the basis for recycling.
– SURF - actual amount of fluid at surface conditions is used as the basis for recycling.
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• When specifying reinjection rates, two arguments are required. The first specifies the fraction of the source
production which is to be injected. The second specifies a constant rate to be added on to the reinjected
fraction.

Example

EFOR WELL 'DAYS' MDL MDU SKIN MULT


ETAB
I-1 1/6/2000 WRT 1 1000 WELL P-1 SURF -- Well I-1 to reinject water from P-1, plus
,→extra 1000 sm3/day

ENDE

1404 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.13 Tempest MORE Group Definition events

GLIF - Request Group Lift Optimisation

Syntax

GLIF <max lift rate> [min eff] [packet size] [HOUR <hrs>]

Description

The GLIF event is used to request that the amount of artificial lift be set to optimise the production of a group.

Definitions

1. The maximum amount of lift that may be applied to the group (liftmax)
• Units: mscf/day (Field) or (ksm3 /day (Metric)
• Default: 0
2. The minimum oil rate improvement per unit lift gas added
• Units: (stb/day)/(mscf/day) (Field), (sm3 /day)/(ksm3 /day) (Metric)
• Default: 1.0E-6
3. Optional arguments:
• The size of gas rate packet to be added at each step of the optimisation
– Units: mscf/day (Field) or ksm3 /day (Metric)
– Default: 0.05*liftmax
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The distribution of the lift gas is done by adding packets of gas to the wells in the group, giving the packet
to the well which shows the greatest improvement in oil production rate. This continues until the maximum
gas lift is reached, or adding more gas lift becomes unproductive. If there are a large number of wells in a
group, the default packet size may be too large, and it may be best to enter a smaller packet size. As the
packet is the unit in which lift gas is added, it should be small compared to the typical amount of lift gas
expected per well.
• To be used with GLIF, wells in the group to which lift is applied must have an associated TUBI table with a
range of artificial lift (ALQ) values or have a lift table with some gas rate dependence. The ALQ value will
be used in preference if both are present.
• If the ALQ is used, then ALQ will be regarded as the lift gas rate; otherwise, the gas rate at which the well
is operated will be displaced from the actual production rate by the lift gas rate. GLIF will request that the
lift operating point for each well which meets these conditions is set by partitioning the available lift gas for
the group. The available lift gas is split into packets, each being assigned to the well which shows the best
oil rate improvement. Group lift values from zero to liftmax will be tested, increasing the lift value within
this range until the well is operating on a bhp or rate target.
• If a well has been shut because the well could not operate at the current thp target, GLIF will attempt to
open the well by adding lift.

11.13. Tempest MORE Group Definition events 1405


Tempest MORE Help, Release 8.1

• If the optional argument of GLIF (the minimum oil rate improvement per unit lift gas added) has been
specified, lift will only be added whilst the improvement, measured d(Qo)/d(Lift), is greater than the value
entered for this argument.
• This event is a recommended alternative to keyword GLIF.

Examples

1. GLIF is used to request that the maximum amount of lift that may be applied to the group G100 is 1000
with a minimum oil rate improvement per unit lift gas added of 1.34.

EFOR 'dd/mmm/yyyy'
ETAB
G100
01/Jan/2000 GLIF 1000 1.34 1*
ENDE

1406 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GIRED - Set Up Well Redefinition on Injection Group Limit Violation

Syntax

GIRED <new target type> <well name> <new target rate> <new target BHP/THP> [Lift
,→table name] [HOUR <hrs>]

Description

The GIRED event is used to set up well redefinition on injection group limit violation.

Definitions

1. New target type


• GAS, WAT
2. Well name - This is the name of a well to be redefined when the group injection limit is violated. The well
need not be a member of the group for which the limit has been defined.
3. New target rate for the target type set above
• Units:
– For Liquid - stb/day (Field), sm3 /day (Metric)
– For Gas - Mscf/day (Field), km3 /day (Metric)
4. New target BHP or THP
• Units: psi (Field), bar (Metric)
5. Optional arguments:
• Limiting pressure: BHP or LIFT table name
– BHP (the initial value) (default)- to indicate the limiting pressure is a bottom hole pressure (cor-
rected to the datum depth defined by DATU)
– LIFT table name - to indicate the limiting pressure is a tubing head pressure as defined using
TUBI
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Redefining a well cannot change a producer to an injector or vice versa - it simply resets a well target.
• The pressures in fourth argument correspond to the datum depth, as specified by DATU.
• This event is a recommended alternative to keyword GRED.

Examples

1. The GIRED event is used to redefine the limits set by GILIM for wells in the PTRN group. When the
cumulative gas rate for the group of wells in PTRN exceeds 10000 Mscf/day, the wells K12 and L11 are
redefined to inject 1000 stb/day of water while L13, M10, M12, and M11 are shut.

11.13. Tempest MORE Group Definition events 1407


Tempest MORE Help, Release 8.1

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
PTRN
01/Jan/2000 GILIM GAS 10000 REDE
01/Jan/2000 GIRED WAT K12 1000 9601 BHP
01/Jan/2000 GIRED WAT L11 1000 9601 BHP
01/Jan/2000 GIRED WAT L13 0 5000 BHP
01/Jan/2000 GIRED WAT M10 0 5000 BHP
01/Jan/2000 GIRED WAT M12 0 5000 BHP
01/Jan/2000 GIRED WAT M11 0 5000 BHP
ENDE

1408 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GPRED - Set Up Well Redefinition on Production Group Limit Violation

Syntax

GPRED <new target type> <well name> <new target rate> <new target BHP/THP> [Lift
,→table name] [HOUR <hrs>]

Description

The GPRED event is used to set up well redefinition on production group limit violation.

Definitions

1. New target type


• OIL, GAS, LIQU, or RESV
2. Well name - This is the name of a well to be redefined when the group production limit is violated. The well
need not be a member of the group for which the limit has been defined.
3. New target rate for the target type set above
• Units:
– For Liquid - stb/day (Field), sm3 /day (Metric)
– For Gas - Mscf/day (Field), km3 /day (Metric)
4. New target BHP or THP
• Units: psi (Field), bar (Metric)
5. Optional arguments:
• Limiting pressure: BHP or LIFT table name
– BHP (the initial value) (default)- to indicate the limiting pressure is a bottom hole pressure (cor-
rected to the datum depth defined by DATU)
– LIFT table name - to indicate the limiting pressure is a tubing head pressure as defined using
TUBI
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Redefining a well cannot change a producer to an injector or vice versa - it simply resets a well target.
• The pressures in fourth argument correspond to the datum depth, as specified by DATU.
• This event is a recommended alternative to keyword GRED.

Examples

1. The GPRED event is used to redefine the limits set by GPLIM for wells in the PTRN group. When the
WOR from the group of wells in PTRN exceeds 99.0, the wells K12 and L11 are set to 1000 stb/day while
L13, M10, M12, and M11 are shut.

11.13. Tempest MORE Group Definition events 1409


Tempest MORE Help, Release 8.1

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
PTRN
01/Jan/2000 GPLIM WOR 99 REDE
01/Jan/2000 GPRED OIL K12 1000 1000 BHP
01/Jan/2000 GPRED OIL L11 1000 1000 BHP
01/Jan/2000 GPRED OIL L13 0 5000 BHP
01/Jan/2000 GPRED OIL M10 0 5000 BHP
01/Jan/2000 GPRED OIL M12 0 5000 BHP
01/Jan/2000 GPRED OIL M11 0 5000 BHP
ENDE

1410 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GSPC - Set Group Separator Conditions

Syntax

GSPC <Sep cond name> [OFF] [HOUR <hrs>]

Description

The GSPC (Group Separator Conditions) event is used to attach a separator to a group.

Definitions

1. Separator conditions name


2. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword GSPC.

Examples

GSPC is used to attach separator conditions to the group AAA and so to the well P-1.

GROUP AAA P-1


GROUP BBB P-2

SEPA XXX EOS ZFAC / Reset first stage separator pressure for separator XXX
60 14.7 /
/

--Define wells and reset separator conditions wells in group AAA to XXX after 5
,→years..

EFOR 'dd/mmm/yyyy'
ETAB
AAA
01/Jan/2005 GSPC XXX
ENDE

11.13. Tempest MORE Group Definition events 1411


Tempest MORE Help, Release 8.1

GTOL - Set a Group Limit Tolerance Fraction

Syntax

GTOL [tolerance] [Nrepeat] [HOUR <hrs>]

Description

The GTOL event sets the required tolerance for a group limit. An example would be if a group is to be cut back
if a water limit is exceeded. If the limit is exceeded by more than the allowed tolerance, the step is repeated. A
maximum number of step repeats may be specified - after that the simulation will proceed.

Definitions

1. Optional arguments:
• Fractional tolerance allowed:
– Default: unlimited
• Number of repeated steps allowed to achieve required tolerance:
– Default: 1
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.
• This event is a recommended alternative to keyword GTOL.

Example

1. Repeat step if a well limit is exceeded by more than 1%. Allow up to 2 repeated steps.

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2000 GTOL 0.01 2
ENDE

1412 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GXFLO - Prevent or Allow Crossflow for Wells in Group

Syntax

GXFLO <ON|OFF> [HOUR <hrs>]

Description

The GXFLO event is used to prevent or allow crossflow for all wells in a group. If crossflow is allowed, fluid is
allowed to flow from high pressure layers to low pressure layers through the all the wells’ open completions in
that group. When crossflow is not allowed, the flow of material from layer to layer is stopped for wells in this
group.

Definitions

1. ON or OFF
• ON (default) - turn on crossflow
• OFF - turn off crossflow
2. Optional arguments:
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• To turn on/off crossflow for one well, use XFLO event.


• To turn on/off crossflow for all wells use GXFLO event for group ALL or keyword ALLX.

Examples

1. GXFLO event is used to turn off crossflow for all wells.

EFOR WELL DAYS MDL MDU DIAM MULT SKIN


ETAB
ALL 0 GXFLO OFF
ENDE

11.13. Tempest MORE Group Definition events 1413


Tempest MORE Help, Release 8.1

11.14 Tempest MORE Network events

GPAL - Set Group Pipe Artificial Lift Value

Syntax

GPAL <ALQ value> [OFF] [HOUR <hrs>]

Description

The GPAL event is used to specify a group artificial lift quantity for the pipe attached to a group. This only has
an effect when the group has a pipe condition which has been characterised using a table with an artificial lift
variable. Please see the TUBI keyword for details of entering tubing tables with artificial lift.

Definitions

1. Group artificial lift quantity


2. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• See the Network Model section of the MORE Technical Reference For more information regarding network
models.
• This event is a recommended alternative to keyword GPAL.

Examples

1. GPAL is used to set a group artificial lift quantity of 39.0 to the group GROUP_SOUTH.

EFOR 'dd/mmm/yyyy'
ETAB
GROUP_SOUTH
01/Jan/2000 GPAL 39
ENDE

1414 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GPIP - Attach a Pipe to a Group

Syntax

GPIP <Pipe name> [OFF] [HOUR <hrs>]

Description

The GPIP (group pipe) event is used to attach a named pipe to a group of wells. This keyword enables the pressure
drop between one network node group and the parent network node group to be calculated.

Definitions

1. Pipe name
2. Optional arguments:
• OFF - stops further pipe calculations for the group
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• PIPEC or PIPET event may be used to set up a pipe description using flow coefficients or a pipe table
respectively.
• For more information regarding network models, please see the Network Modelling section of the MORE
Technical Reference.
• This event is a recommended alternative to keyword GPIP.

Examples

1. GPIP is used to attach the pipe PT-13 to the group GrA14.

EFOR 'dd/mmm/yyyy'
ETAB
GrA14
01/Jan/2000 GPIP PT-13
ENDE

The OFF option is then introduced to stop further pipe calculations for the group, as follows:

EFOR 'dd/mmm/yyyy'
ETAB
GrA14
01/Jan/2000 GPIP PT-13 OFF
ENDE

11.14. Tempest MORE Network events 1415


Tempest MORE Help, Release 8.1

GPMI - Set Minimum Pressure for a Network Node Group

Syntax

GPMI <pressure> [OFF] [HOUR <hrs>]

Description

GPMI (group pressure minimum) is used to set the minimum pressure for a node in the network. If the node
pressure attempts to fall below this value, it will be held at the specified pressure and so increase the pressure of
nodes further down the network. This will have the effect of limiting the production of thp controlled wells.

Definitions

1. Minimum pressure value


• Units: psi (Field), bars (Metric)
2. Optional arguments:
• OFF - specifies that the minimum pressure will no longer be used
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to keyword GPMI.

Examples

1. GPMI is used to set a minimum pressure of 1200 for the network node group GrA14

EFOR 'dd/mmm/yyyy'
ETAB
GrA14
01/Jun/2001 GPMI 1200
ENDE

The OFF option is then introduced to specify that the minimum pressure for the group will no longer be
used, as follows:

ETAB
GrA14
01/Jun/2003 GPMI 1200 OFF
ENDE

1416 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

GPUM - Attach a Pipeline Pump to a Network Group

Syntax

GPUM <Pump name> [OFF] [HOUR <hrs>]

Description

The GPUM event is used to attach a pipeline pump to a group. This enables a rate-dependent pressure difference
to be added to the current network group pressure to match the pipe inflow pressure.

Definitions

1. Pump name
2. Optional arguments:
• OFF - stops further pump calculations for the well
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Pipeline pump performance table can be defined using the PLPU keyword.
• For more information regarding network models, please see the Network Modelling section of the MORE
Technical Reference.
• This event is a recommended alternative to keyword GPUM.

Examples

1. GPUM is used to attach the pump PUMP13 to the group GrA14.

EFOR 'dd/mmm/yyyy'
ETAB
GrA14
01/Jan/2000 GPUM PUMP13
ENDE

The OFF option is then introduced to stop further pipeline pump calculations for the group (effectively
remove the pump), as follows:

EFOR 'dd/mmm/yyyy'
ETAB
GrA14
01/Jan/2000 GPUM PUMP13 OFF
ENDE

11.14. Tempest MORE Network events 1417


Tempest MORE Help, Release 8.1

PIPEC - Set Up a Pipe Description Using Flow Coefficients

Syntax

PIPEC <Co> <Cg> <Cw> [USEL] [HOUR <hrs>]

Description

The PIPEC event is used to set up analytical pipe description using flow coefficients.

Definitions

1. Pressure drop coefficient for oil


• Units: stb/day (Field), sm3 /day (Metric)
2. Pressure drop coefficient for gas
• Units: mscf/day (Field), ksm3 /day (Metric)
3. Pressure drop coefficient for water
• Units: stb/day (Field), sm3 /day (Metric)
4. Optional arguments:
• USEL - specifies lift gas to be added to the gas rate when calculating pressure drops associated with
this pipe.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• This event is a recommended alternative to setting analytical pipe description using keyword PIPE.

Examples

1. The PIPEC event is used to set up analytical pipe description for pipes GAA3 and GAA4.

EFOR WELLS 'dd/mmm/yyyy'


ETAB
GAA3 01/Mar/2010 PIPEC 0.01 0.034 0.0067
GAA4 01/Mar/2011 PIPEC 0.008 0.031 0.0061 USEL
ENDE

1418 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

PIPET - Set Up a Pipe Description Using a Pipe Table

Syntax

PIPET <Pipe table name> [USEL] [HOUR <hrs>]

Description

The PIPET event is used to set up a pipe description using a pipe table.

Definitions

1. Pipe table name


2. Optional arguments:
• USEL - specifies lift gas to be added to the gas rate when calculating pressure drops associated with
this pipe.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The pipe table should be specified using the keyword PTAB.


• This event is a recommended alternative to pipe description using a pipe table using keyword PIPE.

Examples

1. The PIPET event is used to set up pipe descriptions PT12 and PT13 for pipes GAA3 and AW14 respectively.

EFOR WELLS 'dd/mmm/yyyy'


ETAB
GAA3 01/Mar/2010 PIPET PT12
AW14 06/Mar/2012 PIPET PT13 USEL
ENDE

11.14. Tempest MORE Network events 1419


Tempest MORE Help, Release 8.1

WPAL - Set Well Pipe Artificial Lift Value

Syntax

WPAL <ALQ value> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WPAL event is used to specify a well artificial lift quantity for the pipe attached to a well. This only has
an effect when the group has a pipe condition which has been characterised using a table with an artificial lift
variable. Please see the TUBI keyword for details of entering tubing tables with artificial lift.

Definitions

1. Well artificial lift quantity


2. Optional arguments:
• OFF - This turns off the appropriate limit or target.
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• To set the artificial lift quantity value for a well (top hole pressure calculation), the WALQ event should be
used instead of WPAL. WPAL sets the value for a pipe attached to the well.
• For more information regarding network models, please see the Network Modelling section of the MORE
Technical Reference.
• This event is a recommended alternative to keyword WPAL.

Examples

1. WPAL is used to set a well artificial lift quantity of 14500 for the well PROD_A.

EFOR 'dd/mmm/yyyy'
ETAB
PROD_A
01/Jan/2000 WPAL 14500
ENDE

1420 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

WPIP - Attach a Pipe to a Well

Syntax

WPIP <Pipe name> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WPIP (well pipe) event is used to attach a named pipe to a well. This enables the pressure drop between the
well head and a network node to be calculated.

Definitions

1. Pipe name
2. Optional arguments:
• OFF - stops further pipe calculations for the well
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• PIPEC or PIPET event may be used to set up a pipe description using flow coefficients or a pipe table
respectively.
• For more information regarding network models, please see the Network Modelling section of the MORE
Technical Reference.
• This event is a recommended alternative to keyword WPIP.

Examples

1. WPIP is used to attach the pipe PT-13 to the well Pr-10A.

EFOR 'dd/mmm/yyyy'
ETAB
Pr-10A
01/Jan/2000 WPIP PT-13
ENDE

The OFF option is then introduced to stop further pipe calculations for the well, as follows:

EFOR 'dd/mmm/yyyy'
ETAB
Pr-10A
01/Jan/2000 WPIP PT-13 OFF
ENDE

11.14. Tempest MORE Network events 1421


Tempest MORE Help, Release 8.1

WPUM - Attach a Pipeline Pump to a Well

Syntax

WPUM <Pump name> [OFF] [AFTER <value> [DAYS|MON|YEAR]] [HOUR <hrs>]

Description

The WPUM event is used to attach a pipeline pump to a well. This enables a rate-dependent pressure difference
to be added to the well top hole pressure before matching the pipe inflow pressure.

Definitions

1. Pump name
2. Optional arguments:
• OFF - stops further pump calculations for the well
• AFTER <value> [DAYS|MON|YEAR] - If AFTER is specified on a well event, the event will be
delayed until the well is open and has been open for a specified time. Note that AFTER applies
to all the events on a line of EFIL or ETAB data. The format for AFTER is: AFTER <value>
[DAYS|MON|YEAR] where <value> is the required number of days, months or years after the well
opens that the EVENT is allowed to happen.
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• Pipeline pump performance table can be defined using the PLPU keyword.
• For more information regarding network models, please see the Network Modelling section of the MORE
Technical Reference.
• This event is a recommended alternative to keyword WPUM.

Examples

1. WPUM is used to attach the pump PUMP_23 to the well Pr-10A.

EFOR 'dd/mmm/yyyy'
ETAB
Pr-10A
01/Jan/2000 WPUM PUMP_23
ENDE

The OFF option is then introduced to stop further pipeline pump calculations for the well (effectively remove
the pump), as follows:

EFOR 'dd/mmm/yyyy'
ETAB
Pr-10A
01/Jan/2000 WPUM PUMP_23 OFF
ENDE

1422 Chapter 11. Tempest MORE events


Tempest MORE Help, Release 8.1

11.15 Tempest MORE Invocation events

INVO - Invoke an Operation

Syntax

INVO [Oper name] [arg1] [arg2] .. [argN] [(DAYS|MONTH|YEAR)=<value>] [MEXE|MEXE=


,→<value>] [HOUR <hrs>]

Description

The INVO event invokes an operation previously defined using the OPER keyword. For details of how to set up
and use operations see the operations section of the Technical Reference Manual.

Definitions

1. Optional arguments:
• Name of operation
– Default: No operation invoked
• Argument1 - first operation argument
• Argument2 - second operation argument
.
.
• ArgumentN - Nth operation argument
• Interval between execution times: DAYS, MONTHS or YEARS.
• MEXE - maximum number of times an operator invocation can execute
• HOURS <hrs> - <hrs> is the extra time in hours. HOURS enables a number of hours to be added to
the time of an event, which is helpful for well test simulation.

Notes

• The current number of executions of a given operator instance is stored in the automatically defined variable
&NEXE and is preserved across restarts.
• If two operations with MEXE>1 have identical parameters, MORE is unable to distinguish them, which
may lead to unexpected results in restarts. In this case, MORE will give a warning. To avoid problems,
the user should distinguish the two invocations by either re-naming an identical copy of the operation, or
adding a dummy variable to the operation. See Example 2 below.
• If MEXE is set without a value, there is no limit to the number of executions.
• This event is a recommended alternative to keyword INVO.

Examples

1. Example of invoking an operation with two arguments:

11.15. Tempest MORE Invocation events 1423


Tempest MORE Help, Release 8.1

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2005 INVO changeWellRate well=P-1 rate=250
ENDE

2. Example of distinguishing multiple invocations of same operation by using a dummy variable:

OPERATION changeWellRate well rate id=0


ETAB
&well
0 LPT &rate
ENDE
ENDO

EFOR 'dd/mmm/yyyy'
ETAB
ALL
01/Jan/2001 INVO changeWellRate well=P-1 rate=250 id=1 MEXE=2 MONT=1
01/Jan/2002 INVO changeWellRate well=P-1 rate=250 id=2 MEXE=2 MONT=1
ENDE

1424 Chapter 11. Tempest MORE events


CHAPTER

TWELVE

DEVELOPMENT KEYWORDS

The following keywords are available for development purposes, but are unlikely to be of interest to general users.
Key- Comments
word
BCKT Turn on Newton backtracker to improve non-linear convergence
BCOP Options for the boundary conditioning linear solver
DEBU Set debug output requests
DEBJ Set Jacobian print debug
DEBR Set residual print debug
DEBW Set wells for which to output debug information
DIFF Obtain Jacobian values by numerical differencing and compare with the usual analytic values
DIFP Obtain property derivative values by numerical differencing and compare with the usual analytic
values
DIFW Obtain well flow derivative values by numerical differencing and compare with the usual analytic
values
DMAT Dump the Jacobian matrix to a file
KILL End run at first time step chop
MASS Force the use of mass variables with the Appleyard chop to damp solution changes
MONI Write details of the non-linear convergence process to standard output and <DATASET>.dbg
MGDE Write details of the algebraic multigrid convergence process to standard output
MGOP Control options on the algebraic multigrid solver
GEOM Geomechanical modelling: allows the user to set quantities such as Poisson’s ratio to be passed to a
controlling program
NOPI Do not pivot out the volume balance equation in multi-phase case
NONN Suppress ALL non-neighbour connection generation
NULL A keyword which has no effect - used internally to process keywords generated by operations
SERV IMPES volume balance error servo criteria
WARN Issue a warning if any flash calculation fails
WCTL Well settings controlling the THP shut-in behaviour
WFFC Water filled cell flash criteria

1425
Tempest MORE Help, Release 8.1

12.1 Notes

• MONI will output information about the worst unconverged cell, such as

General non-linear output


Worst oil residual (3,6,1,0) -7.5998110198
Active, state 75 0
prd 469.49104
co 1.70568794
cg 7.45505189
cw 6.75073050
so 0.84353748
sg 0.03797585
sw 0.11848667
pbd 469.49104
ro -7.59981
rg -19.37284
rw 2.84642

and a summary of the linear solver convergence, solution change at each update etc.
• GEOM only allows geomechanical data to be read by MORE and passed to another program; MORE does
not possess a geomechanical modelling capability itself.

1426 Chapter 12. Development Keywords


CHAPTER

THIRTEEN

ECLIPSE SUPPORT

13.1 ECLIPSE Keyword Support

MORE does not attempt to read ECLIPSE input decks. However, some sets of ECLIPSE keywords have effectively
become standard ways of defining reservoir simulation data. Such data is often output by post-processors such as
geological modelling packages and PVT equation of state matching programs. Examples are the ZCORN/COORD
system for defining simulation cell locations, the definition of equation of state component data using keywords
like PCRIT, PCRITS etc., and the generation of lift curves in the form of VFPPROD and VFPINJE tables.
It would be common to include such files of standard data into a MORE input dataset. However, the basic form
of the dataset will always be that of MORE - for example starting with an INPU section rather than a RUNSPEC
section.
ECLIPSE keywords which are supported are grouped into INPU, FLUI, RELA GRID, INIT and RECU section
keywords, depending on which section of the MORE input dataset they are expected in. For each section the
ECLIPSE keywords which are recognised by MORE are listed.
INPUt section keywords
FLUId section keywords
RELA section keywords
GRID section keywords
Equation of state definition keywords
RECU section keywords
There are a few cases in which the first four letters of an ECLIPSE keyword matches a MORE keyword. The
default is to read the MORE keyword. However, the keyword EPRI can be used to change this, so that the
ECLIPSE option is taken in preference.
There is no REGIONS section in MORE: data associating grid cells with table numbers is entered in the GRID
section.

1427
Tempest MORE Help, Release 8.1

13.2 Entering ECLIPSE Format Edit Data

ECLIPSE EDIT section keywords supported are:


ECLIPSE Descrip- MORE Notes
keyword tion alternative
depth
porv
tranx TX TRANX (not TX) uses ECLIPSE transmissibility
units
trany TY TRANY (not TY) uses ECLIPSE transmissibility
units
tranz TZ TRANZ (not TZ) uses ECLIPSE transmissibility
units
editnnc

1428 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

13.3 Entering ECLIPSE Format Equation of State Descriptions

The equation of state parameterisation is entered in the FLUI section of MORE. Typically, a set of basic component
properties is entered with the PROP keyword, then binary interaction coefficients, omega-A and omega-B values
and volume shifts for a series of temperatures. The temperatures are set up using the TEMP keyword.
ECLIPSE keyword input is rather different, in that a series of keywords sets up equation of state data for the
reservoir, then a second set of optional keywords can provide different values to be used at surface conditions.
The surface conditions keywords typically end with the letter S.
If a file of ECLIPSE equation of state data exists (typically such a file has a suffix .pvo), then this may be
included in the FLUI section.
In order to use this, the CNAM keyword in the MORE INPU section must set up the required component names.
If these are also specified using CNAMES in the .PVO file, the names should match.
If using ECLIPSE keywords, there is no need to enter multiple TEMP keywords. MORE will automatically set up
a second TEMP value set to standard temperature.
Keywords supported in the ECLIPSE equation of state characterisation set are listed in the following table:

acf Reservoir acentric factors (see1 )


acfs Surface acentric factors (see1 )
bic Reservoir binary interaction coefficients (see1 )
bics Surface binary interaction coefficients (see1 )
cnames Component names (these should match those in CNAM in the MORE INPUt section)
dref Surface reference densities (note Zudkevitch-Joffe equation of state is not supported)
eos Select equation of state (note Zudkevitch-Joffe is not supported) (see1 )
eoss Select equation of state at surface (note Zudkevitch-Joffe is not supported) (see1 )
lbcoef Non-default viscosity correlation coefficients
mw Reservoir molecular weights (see1 )
mws Reservoir molecular weights (note MORE uses reservoir molecular weights at surface) (see1 )
ncomps Number of hydrocarbon components (these should match those in CNAM in the MORE INPUt section)
omegaa Reservoir omega-A values (see1 )
omegaas Surface omega-A values (see1 )
omegab Reservoir omega-B values (see1 )
omegabs Surface omega-B values (see1 )
parachor Component parachors (see1 )
pcrit Reservoir critical pressures (see1 )
pcrits Surface critical pressures (see1 )
prcorr Request correction to Peng Robinson equation of state (see1 )
rtemp Reservoir temperature (see1 ,2 )
stcond Standard surface conditions
sshift Reservoir volume shifts (see1 )
sshifts Surface volume shifts (see1 )
tboil Component boiling points (note Zudkevitch-Joffe equation of state not supported)
tcrit Reservoir critical temperatures (see1 )
tcrits Surface critical temperatures (see1 )
tref Component reference temperatures (note Zudkevitch-Joffe equation of state not supported)
vcrit Reservoir critical volumes (see1 )
vcrits Surface critical volumes (see1 )
vcritvis Critical volumes for viscosity calculations (see1 )
zcrit Reservoir critical Z-factors (see1 )
zcrits Surface critical Z-factors (see1 )
zcritvis Critical Z-factors for viscosity calculations (see1 )
zi Initial composition
zmfvd Depth and composition only

13.3. Entering ECLIPSE Format Equation of State Descriptions 1429


Tempest MORE Help, Release 8.1

1 For ECLIPSE keywords, the whole set of Equation of State properties is read after a single keyword. This means that MORE needs to

know how many ECLIPSE EoS regions are expected. The default is 1. A larger number can be specified using NEZT.
2 Note that ECLIPSE specifies temperatures for reservoir EoS regions using RTEMP, and there is no equivalent for surface EoS; MORE

will then use a default surface temperature just for reporting the surface equations of state, but this does not affect any calculations since
surface temperatures are actually supplied for the separator stages.

1430 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

13.4 Entering ECLIPSE Fluid Descriptions

ECLIPSE keywords supported in the MORE FLUId section (as well as the equation of state characterisation
keywords) are:
ECLIPSE Description MORE alternative Notes
Keyword
api Switch on API tracking APIT
apigroup specify maximal number of APIG
API groups
bdensity Brine density at surface BDEN Needs a number of pressure
conditions tables (see1 )
density Fluid densities at surface SDEN Needs a number of pressure
conditions tables (see1 )
factli Tune oil-gas discriminant FCLI
gravity Fluid specific gravities at SGRA Needs a number of pressure
surface conditions tables (see1 )
kvgen Generate K-values: not Will issue error
supported by MORE message
miscexp Exponent in surface tension SURF
dependence
miscstr Surface tension reference SURF
overburd Rock overburden data KRPR
pvdg Dry gas pressure properties GPVT Needs a number of pressure
tables (see1 )
pvtg Total gas pressure properties GPVT Needs a number of pressure
tables (see1 )
pvdo Dead oil pressure properties OPVT Needs a number of pressure
tables (see1 )
pvto Total oil pressure properties OPVT Needs a number of pressure
tables (see1 )
pvco Compressibility based oil OPVT Needs a number of pressure
pressure properties tables (see1 )
pvcdo Dead oil pressure OPVT Needs a number of pressure
(compressibility form) tables (see1 )
pvtw Water pressure properties WATR Needs a number of pressure
tables (see1 )
pvtwsalt Water pressure properties with PVTB Needs a number of pressure
salt present tables (see1 )
rock Rock compressibility data CROC and REFE in Needs number of pressure
GRID section tables (see1 and2 )
rocktab Rock pressure tables KVSP Uses number of tables set with
ROCKCOMP
rockopts Rock compressibility handling STRESS and STORE options
options not available
sdensity Set solvent surface densities SOLV Needs a number of pressure
tables (see1 )
tracer Include tracers TRAC
watertab Water pressure properties Needs a number of pressure
tables (see1 )

1For ECLIPSE keywords, the whole set of pressure tables is read after a single keyword. This means that MORE needs to know how many
ECLIPSE pressure tables are expected. The default is 1. A larger number can be specified using NEPT or TABDIMS.
2 MORE assigns rock compressibility data to cells based on pressure table indices.

13.4. Entering ECLIPSE Fluid Descriptions 1431


Tempest MORE Help, Release 8.1

13.5 Entering ECLIPSE Format Grid Data

The default format for the data following a typical grid property keyword such as PORO is the same for MORE
and ECLIPSE - so the majority of GRID section keywords are readable because MORE accepts a range of aliases
for most GRID section keywords. So the x-direction permeability can be entered as kx, k-x, k_x or permx. The
last of these matches the ECLIPSE name for Kx.
Some other ECLIPSE GRID section Keywords supported are:

ECLIPSE Description MORE alter- Notes


keyword native
add Add operation over coordinate box See1
addreg Add operation controlled by region See1 and2
amalgam Has no effect
in MORE
box
carfin LGRD, RE-
FINE
coord
coordsys SIZE with CTC argument See3
copyreg Copy operation controlled by region See1 and2
dpgrid DPGR
dx
dxv
dy
dyv
dzv
dr
drv
dtheta
dthetav
endbox
endfin ENDR
eosnum EOSN
equals Set operation over coordinate box See1
equalreg Set operation controlled by region See1 and2
faults FAUL Needs EPRI
fip Define named fluid-in-place regions
gridfile No ECLIPSE
grid files if
NOGGF used
gridunit Error if unit See7
mismatch
gdorient Error if ori-
entation does
not match
MORE
hxfin
hyfin
hzfin
inrad R-DI
jfunc LEVJ See5
mapaxes Input of pre-processor map origin See6
mapunits Error if unit
mismatch
maxtranz
Continued on next page

1432 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

Table 13.2 – continued from previous page


ECLIPSE Description MORE alter- Notes
keyword native
mindznet MINDz
minpv MINPv
minporv MINPv
minvalue Minimum value over coordinate box See1
maxvalue Maximum value over coordinate box See1 and2
nodppm NET arg with
DPOR,DPER
or DPSS
noggf Suppresses output of ECLIPSE grid files
multiply Multiply operation over coordinate box See1
multireg Multiply operation over coordinate box See1 and2
multregp Pore volume operation controlled by region See4
multregt Transmissibility modification by region See4
nxfin
nyfin
nzfin
newtran
oldtran
pinchout
solvdirs Set linear solver nesting directions DEBUG
zcorn

ECLIPSE keyword MORE alias Notes


ntg NTOG
tops DEPTH 1 TOPS
permx KX
permy KY
permz KZ
permxy KXY
permyz KYZ
permzx KZX

multx MX
multr MX
multy MY
multtht MY
multz MZ
multx- MXM
Continued on next page

1 Operations such as add will operate on grid arrays defined in MORE. These may be references through the MORE name or the ECLIPSE
aliases.
2 Marked operations such as addreg are controlled by the mark array, which may be entered as a normal MORE grid array. If mark is not

found, muln or multnum will be used. Finally if mark, multn or multnum are not present, flxn or fluxnum will be used. If none of these arrays
are found, an error message will be issued.
3 Only 3rd argument used: MORE does not support multiple coordinate systems.
7 The second, option, argument of GRIDUNIT is MAP. Given this argument MAPAXES will have no effect.
5 By default the J-function flag (first argument) is set to BOTH. WATER and GAS options may be selected using the optional keyword

LJOP.
6 MAPAXES defines a linear grid transformation from internal simulation coordinates (in which the grid is defined) to external coordinates

as defined by grid pre-processors. MAPAXES does not shift or translate the grid within MORE, the information is merely output for post-
processing, see The Grid and Array Files in the the MORE File System documentation. If well tracks have been defined in external coordinates,
the MAP argument of TTAB should be used to apply the inverse transformation (external to internal) to the well tracks to ensure they match
the grid. MAPAXES cannot be used together with ROTA.
4 MULTREGP and MULTREGT will use mutn or multnum if present. If not , flxn or fluxnum will be used. If none of these are supplied,

an error will occur.

13.5. Entering ECLIPSE Format Grid Data 1433


Tempest MORE Help, Release 8.1

Table 13.3 – continued from previous page


ECLIPSE keyword MORE alias Notes
multr- MXM
multy- MYM
multtht- MYM
multz- MZM
dznet NTG

multnum MULN
satnum SATN Set in GRID (not REGION) section
imbnum SATN Set in GRID (not REGION) section
pvtnum PVTN Set in GRID (not REGION) section
eqlnum EQLN Set in GRID (not REGION) section
fluxnum FLXN Set in GRID (not REGION) section
rocknum KPTA Set in GRID (not REGION) section

krnumx KRDX
krnumy KRDY
krnumz KRDZ
krnumx- KRMX
krnumy- KRMY
krnumz- KRMZ

sogcr SOGC
sowcr SOWC
isogcr IOGC
isowcr IOWC
isgl IGL
isgcr IGCR
isgu IGU
iswl IWL
iswcr IWCR
iswu IWU
sogcrx XOGC
sowcrx XOWC
sglx XGL
sgcrx XGCR
sgux XGU
swlx XWL
swcrx XWCR
swux XWU

isogcrx AOGC
isowcrx AOWC
isglx AGL
isgcrx AGCR
isgux AGU
iswlx AWL
iswcrx AWCR
iswux AWU

sogcry YOGC
sowcry YOWC
sgly YGL
sgcry YGCR
Continued on next page

1434 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

Table 13.3 – continued from previous page


ECLIPSE keyword MORE alias Notes
sguy YGU
swly YWL
swcry YWCR
swuy YWU

isogcry BOGC
isowcry BOWC
isgly BGL
isgcry BGCR
isguy BGU
iswly BWL
iswcry BWCR
iswuy BWU

sogcrz ZOGC
sowcrz ZOWC
sglz ZGL
sgcrz ZGCR
sguz ZGU
swlz ZWL
swcry ZWCR
swuz ZWU

isogcrz COGC
isowcrz COWC
isglz CGL
isgcrz CGCR
isguz CGU
iswlz CWL
iswcr CWCR
iswuz CWU

kro Sets XKRO


krg Sets XKRG
krw Sets XKRW

krorg kogr Sets YKOG


krorw kowr Sets YKOW
krgr Sets YKRG
krwr Sets YKRW

13.5. Entering ECLIPSE Format Grid Data 1435


Tempest MORE Help, Release 8.1

13.6 ECLIPSE Keywords Accepted in the INIT Section

ECLIPSE keywords supported in the INPU section are:


ECLIPSE Description MORE Notes
Keyword alterna-
tive
aquct Carter-Tracy AQCT
aquifer
aqufetp AQFE
aquancon AQCO If aquifer influx coefficient and/or multiplier are defaulted
AQWO AREA must be used to get ECLIPSE compatible
behaviour.
apivd API gravity vs AGVD
depth
oilapi API gravity OAPI
array
compvd Composition
vs depth
pdvd Dew point vs
depth
zmf Total mole
fraction by cell
fieldsep Separator SEPA
conditions for
field
salt SALT array SALT
saltvd Salt SCVD
concentration
vs depth

1436 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

13.7 ECLIPSE Keywords Accepted in the INPU Section

ECLIPSE keywords supported in the INPU section are:

ECLIPSE Description MORE alternative Notes


Keyword
aim Request adaptive implicit method IMPL AIM
aqudims Aquifer dimensions Not required by Only third and fifth
MORE arguments used: see1
blackoil Request black oil model FLUI BLACK
cart Request Cartesian geometry SIZE with CART ar-
gument
comps Specify number of hydrocarbon components CNAM Number of hydro-
carbon components
must match CNAM
dimens Set basic grid dimensions SIZE
dualporo Request dual porosity DPOR
dualperm Request dual permeability DPER
disgas Use dissolved gas in a black oil model Not required by Set in MORE for
MORE black oil with oil and
gas present
endscale Endpoint scaling options KRDR
eqldims Equilibration dimensions Not required by Only first argument
MORE used: see1
field Use field units UNIT FIELD
freezepc Keep capillary pressures at initial values FRPC
fmtout Request formatted ECLIPSE output files OPEN ECLIPSE
FORM
fullimp Use fully implicit IMPL FULL
gas Gas exists in black oil case CNAME GAS
gravdr Use gravity drainage in dual porosity case DPOR or DPER with
GRAV argument
impes Request IMPES IMPL IMPES
lab Lab units: not supported by MORE Will issue error mes-
sage
load Load ECLIPSE save file: not supported by Will issue error mes-
MORE sage
metric Use metric units UNIT METRIC
miscible Use surface tension or Todd Longstaff MISC, STEN Only if EPRI is on:
see2
nofreeze Do not freeze capillary pressures Default in MORE
nosim Data checking run with no simulation DIRE NOGO
nstack Size of linear solver stack LSOLV
oil Oil exists in black oil case CNAME OIL
pvt-m PVT-metric units Will issue error mes-
sage
radial Request radial geometry SIZE with RADIAL
argument
restart Request restart run Will issue error mes-
sage
rockcomp Request rock compaction KVSP with IRRE ar- Supports only RE-
gument VERS, IRREVERS
and NONE options
satopts Request various relative permeability options KRDR SURF option not
supported
Continued on next page

13.7. ECLIPSE Keywords Accepted in the INPU Section 1437


Tempest MORE Help, Release 8.1

Table 13.4 – continued from previous page


ECLIPSE Description MORE alternative Notes
Keyword
save Force restart record write at end of run ARRA with END ar-
gument
start Start date of run IDAT
tabdims Dimension for saturation and pressure tables Not required by Only first and second
MORE arguments, together
with the 9th and 10th
arguments are used
title Set up run title TITL Only if EPRI is on -
see2
vapoil Use vaporised oil in a black oil model Obtained from
GPVT data
water Water exists in black oil case CNAME WATR Must be the last com-
ponent specified

1 these dimension values are only used to enable ECLIPSE format data to be read: in some cases the ECLIPSE data format is such that the
reader needs to know how many items are expected.
2 unless EPRI is set on, this will be read as a MORE keyword with first 4 letters

1438 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

13.8 Miscellaneous ECLIPSE Keywords

ECLIPSE Description MORE alternative Notes


Keyword
noecho Turn off echoing of input ECHO OFF
file to output file
echo Turn on echoing of input ECHO or ECHO ON
file to output file
endinc End of include file Normal end of included file
endinc End of include file Normal end of included file
fileunit Confirm units of a data set None - Data set units defined
using UNIT keyword in INPU
section.
messages Set counts message None Read by MORE but not used
reporting
newton Report iteration counts to RATE ITER
summary/rate files
rptonly Write summary/rate file FREQ -1 -1 -1
information at report steps
only
rptsched Control output using PRINT Will read RPT keyword and
mnemonics process strings as if entered
with PRINT
rptprint Series of integer values GENE and STORE Read by MORE but not used
controlling output during
simulation
props Start of properties section FLUI
of data
regions Start of regions section of None - treated as GRID MORE has no regions section:
data this data is read in the GRId
section
summary Start of summary section of RATE FIELD, RATE GROUP, If found, MORE will read until
data RATE WELL RECU or SCHEDULE found
schedule Start of schedule section of RECU
data
Rptgrid, rptprops, rptsol, rptregn, rptregs and rptsched are treated in the same way - i.e. as the MORE PRINT
keyword. The old ECLIPSE form with integer, rather than mnemonic flags, will be read but ignored.
A mnemonic found in the summary section starting with F is treated as RATE FIELD. In the same way, a
mnemonic starting with G implies RATE GROUP and one starting with W implies RATE WELL.

13.8. Miscellaneous ECLIPSE Keywords 1439


Tempest MORE Help, Release 8.1

13.9 Entering ECLIPSE Recurrent Section Data

ECLIPSE Recurrent section Keywords supported are:

ECLIPSE Description MORE alternative Notes


Keyword
sepcond Sets up separators SEPA See1 Group ‘field’
will be taken as ‘all’
cvcrit Set simulation convergence criteria Not all arguments
used by MORE
drsdt Max. rate of solution gas-oil ratio increase RSDT Converts from
ECLIPSE metric
GOR value
drvdt Max. rate of vapour oil-gas ratio increase RVDT Converts from
ECLIPSE metric
OGR value
gptable Gas plant table Not supported by Error message issued
MORE
nextstep Set maximum size of next step DELT
next Set maximum size of next step
tscrit Time stepping criteria DTMX Not all arguments
used by MORE
dates
tstep Take time steps READ with DAYS
argument
tuning Various simulator tunings
saveend Write restart solution at end of run ARRA with END ar-
gument
vfpinj Lift table for injector TUBI First three arguments
of the first record
only
vfpprod Lift table for producer TUBI First three arguments
of the first record
only
gconprod Set group targets GLIM, events like Arguments one to 15
GOPT, GGPT etc. only
grupprod Set group targets GLIM, events like Arguments one to 15
GOPT, GGPT etc. only
gconinje Sets group injection limits ILIM, GILIM event
grupfuel Set fuel rate for a group GFUEL, CFUEl sub- Arguments one to
keyword of RECY three only: composi-
tion templates with
CFUEl in MORE
grupsale Set gas sales rate for a group GFUEL, CFUEl sub- Arguments one to
keyword of RECY three only: composi-
tion templates with
CFUEl in MORE
gruptarg Resets a group target GPLIM event
gruptree Set up child group PAREnt
wlist
gecon Sets group production limits GLIM, GPLIM event
gruplim Sets group production limits GLIM, GPLIM event
wecon Sets well limits WLIM, PLIM event
welllim Sets well limits WLIM, PLIM event
Continued on next page

1440 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

Table 13.5 – continued from previous page


ECLIPSE Description MORE alternative Notes
Keyword
wdfac Sets well D-factor DFAC subkeyword
of WELL, DFAC
event
wefac Sets well efficiency factors WEFA subkeyword
of WELL
winjgas Sets well injection gas composition STRE event, WELL
keyword, RECY
streams
wconhist Set historical well production rates HTAB, HFIL
wconinjh Set historical well injection rates
wellprod Set well production targets WLIM subkeyword
of WELL, events like
OPT
wconprod Set well production targets WLIM subkeyword
of WELL, events like
OPT
wellcomp Set up well completions WELL, PERF event Needs EPRI (or
taken as MORE
WELL keyword)
compdat Set up well completions WELL, PERF event
compdatl Set up well completions WELL, PERF event
compdatm Set up well completions WELL, PERF event
wellstre Set up standard composition SCMP
wellspec Set up a well WELL and sub- Needs EPRI (or
keywords taken as MORE
WELL keyword)
welspecs Set up a well WELL and sub-
keywords
welspecl Set up a well WELL and sub-
keywords
wellinje Set well injection targets WLIM subkeyword
of WELL, events like
WIT
wellshut Shuts well SHUT event
wellwag Set up water alternating gas well WWAG event
welltarg Set target for well Events like OPT, Needs EPRI (or
GPT etc. taken as MORE
WELL keyword)
weltarg Set target for well Events like OPT, ORAT, WRAT,
GPT etc. GRAT, LRAT, RESV,
BHP and THP targets
supported
welopen Opens or shuts well connections OPEN, SHUT and AUTO and POPN
STOP events options not sup-
ported: error if
used
wpimult Multiply connection factors for a well WMUL keyword and Arguments one to
event five only: lumped
completions not
supported
Continued on next page

13.9. Entering ECLIPSE Recurrent Section Data 1441


Tempest MORE Help, Release 8.1

Table 13.5 – continued from previous page


ECLIPSE Description MORE alternative Notes
Keyword
wpimultl Multiply connection factors for a well in a grid WMUL keyword and Arguments one to
refinement event six only: lumped
completions not
supported
wsepcond Set separator conditions for well WSPC keyword and
event
aimfrac Sets fraction of implicit cells for the Adaptive AIMT keyword
Implicit Method

1 Not all ECLIPSE arguments used: flags error if needed

1442 Chapter 13. ECLIPSE support


Tempest MORE Help, Release 8.1

13.10 Entering ECLIPSE Relative Permeability Descriptions

ECLIPSE keywords supported in the MORE RELA section are:


ECLIPSE Description MORE Notes
Keyword alternative
scalecrs Type of end point scaling EPS
sgof Gas-oil saturation functions vs gas GSF Needs number of saturation
saturation tables: see1
sgfn Gas saturation functions KRGO or GSF Needs number of saturation
tables: see1
sof2 Oil two-phase saturation functions OSF Needs number of saturation
tables: see1
sof3 Oil three-phase saturation functions OSF Needs number of saturation
tables: see1
swfn Water saturation functions KRWO or WSF Needs number of saturation
tables: see1
swof Water-oil saturation functions vs WSF Needs number of saturation
water saturation tables: see1
stone WETT STN2
stone1 WETT STN1
stone2 WETT STN2

1 For ECLIPSE keywords, the whole set of saturation tables is read after a single keyword. This means that MORE needs to know how

many ECLIPSE saturation tables are expected. The default is 1. A larger number can be specified using NEST or TABDIMS.

13.10. Entering ECLIPSE Relative Permeability Descriptions 1443


Tempest MORE Help, Release 8.1

1444 Chapter 13. ECLIPSE support


CHAPTER

FOURTEEN

ERROR MESSAGES AND ERROR HANDLING

Tempest MORE reports three types of messages, with increasing levels of severity:
• Information
• Warning
• Error
Information messages are designed to notify the user of an event of interest (for example, that a well has violated
a limit), but entirely expected or at least not problematic.
Warning messages are designed to notify the user that an unexpected event has occurred. The event is not critical,
and MORE is able to carry on as normal with a workaround, for example by applying a default value to missing
data. Nevertheless, users are strongly advised to investigate all warnings as they may lead to unexpected results.
Error messages are designed to notify the users of a critical issue with the dataset that prevents the simulation from
running as expected. By default, MORE will halt the simulation when it encounters an error. This behaviour may
be changed using the ERRO keyword, but this is not recommended, as it may lead to a program failure.
All three types of errors are logged in the simulation output panel and .out files, together with a message indicating
the issue and, if appropriate, the line of the dataset corresponding to the error. In addition, errors and warnings are
displayed in the VIEW error panel.
Each error has a unique identification number, and repeated errors and warnings of the same type are grouped
together for reporting purposes, stating the number of occurrences for each one.
In order to catch as many errors and warnings as possible, the dataset is scanned prior to the main simulation to
check the validity of the syntax of the keywords. Users may just perform the dataset scan without the simulation
by using the NOGO option of the DIRE keyword. This is highly recommended in order to find data errors early
and avoid potential problems with the simulation.

1445
Tempest MORE Help, Release 8.1

1446 Chapter 14. Error Messages and Error Handling


CHAPTER

FIFTEEN

TEMPEST MORE EXAMPLES

The following examples demonstrate the use of many of the main features available in Tempest MORE. Each
example contains a link which opens the example as a project in Tempest.

1447
Tempest MORE Help, Release 8.1

15.1 One-dimensional Radial Well Test

This is a simple radial single-phase black oil problem. A 1-dimensional 10x1 radial grid with a single production
well is used. The study simulates a drawdown and a buildup. Plotting the results for the well bottom hole pressure
we obtain the graph:

Fig. 15.1: Bottom hole pressure from wt1d.dat.

The data for this run is in wt1d.dat

1448 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

15.2 Simple Quarter Five-spot

This is a simple 2-phase OIL-water quarter five spot, with a single injector and producer. Plotting the water cut
for the production well using Tempest we get the following.

Fig. 15.2: Water cut profile for the producer in a quarter five-spot.

The problem may be run on a finer grid just by changing the SIZE - Size and Type of Grid keyword (for example,
to SIZE 25 25 1). No other changes are required, as the wells are positioned by true (x,y) location – i.e. the
data definition is ‘gridless’.
A 3D display of the OIL saturation at 1 year yields:
The data for this run is in qfive_events.dat

15.2. Simple Quarter Five-spot 1449


Tempest MORE Help, Release 8.1

Fig. 15.3: A 3D display of the OIL saturation at year 1.

1450 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

15.3 A Dual Porosity Run

This is a small areal dual porosity study, taken from the example in1 .
The set up is based on the first of the conceptual examples in the reference and gives results in close agreement
with those published.
The data for this run is in dualporo_events.dat

References and Further Reading

15.4 A Dual Porosity Source/sink Run

This example shows a dual porosity source/sink run. For more information regarding the dual porosity source/sink
(DPSS) option in Tempest MORE, see Dual Porosity Source/Sink (DPSS) Option in the MORE Technical Refer-
ence.
The data for this run is in dpss_events.dat

1 Kazemi, H., Merrill, L. S., Porterfield, K. L. and Zeman P. R., Numerical Simulation of Water-OIL Flow in Naturally Fractured

Reservoirs, SPE 5719. Proc. SPE-AIME 4th Symposium on Numerical Simulation, Los Angeles 1976

15.3. A Dual Porosity Run 1451


Tempest MORE Help, Release 8.1

15.5 A Polymer Run

This is a small-scale problem using data taken from1 .


The example is based on Pusher 500, a high mole weight (Mw ~ 3x106 g/gmol) polyacrylamide polymer. Table
5.1 of the reference contains the following data:

Fig. 15.4: Table 7.1: Pusher 500 Fresh Water Solution Viscosity versus Concentration

Note: 1 Litre (L) of fresh water weighs about 1000 gm hence mg/L ≈ ppm (parts per million) which is the unit
often quoted for polymer concentration. In MORE, the units for polymer concentration will be kg/m3 (metric)
and lb/stb (field): a third set of units which will be of interest for the purposes of this discussion are those used by
Hirasaki and Pope (HP) who use gm/dL = gm/ 100 mL = 10 gm/L. 1 mg/L is equivalent to:
• 1.00000x10-3 kg/m3 (metric)
• 3.50507x10-4 lb/stb (field)
• 1.00000x10-4 gm/dL (HP)
In the three unit sets of interest, the concentrations of Table 7.1 are listed in Table 7.2.

Fig. 15.5: Table 7.2: Polymer Concentration in Metric, Field, and HP units

The following example is based on one of the test cases tabulated in Table 5.3 of the reference. In particular,
a 750 ppm (750 mg/L) Pusher 500 polymer was injected into a Berea sandstone of 20% porosity and 550 mD
permeability. The polymer mole weight was taken as 3x106 g/gmol and the α-coefficient was set to its default
value of 4.0.
The data for this run is in polymer_events.dat
The polymer concentrations after 5 and 10 years are shown below:

1 D.W. Green and G.P. Willhite, Enhanced OIL Recovery, SPE Textbook Series Vol. 6, SPE, Richardson, Texas, 1998, (Chapter 5,

Mobility Control Processes)

1452 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Fig. 15.6: Polymer concentration after 5 and 10 years.

References and Further Reading

15.6 A Heat Loss Run

This example demonstrates use of the heat loss model based on the work of Vinsome and Westerveld1 .
The simulation begins with the injection of hot water followed by a heat soak phase. The figure shows heat flux
into the cap and base rock with the highest fluxes around the hot water injectors.
The data for this run is in thermalwv_met_events.dat

References and Further Reading

15.7 A Coal Bed Methane Case

This is a data set corresponding to problem 1 in1 .


The study contains two layers of coal, separated by a layer of sandstone. Three production wells are used, starting
at 0, 1 and 2 years. After each well starts, there is a sharp peak in gas production. The wells are all on a low (50
psi) bottom hole pressure control. The following plot of total gas production rate should be compared with figure
3 in the reference:
The data for this run is in cbm1_events.dat
For a step-by-step tutorial to setting up and running a simple coal bed methane example in Tem-
pest, please refer to CBM Tutorial document in the installation data directory in the ../simula-
tion/doc/english/more/v*.*/CBM_Tutorial folder.

1 P.K.W. Vinsome and J. Westerveld, A simple method for predicting cap and base rock heat losses in thermal reservoir simulators,

Journal of Canadian Petroleum Technology, July-September 1980


1 Paul, G. W., Sayer, W. K. and Dean, R. H., Validation of 3D Coalbed Simulators, SPE 20733

15.6. A Heat Loss Run 1453


Tempest MORE Help, Release 8.1

Fig. 15.7: Heat flux into the cap and base rock.

Fig. 15.8: Gas production rate from the coal bed methane case.

1454 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

References and Further Reading

15.8 Compositional Coal Bed Methane Example

This example shows coal bed methane extraction by CO2 injection.


The data for this run is in cbmeos_events.dat

15.8. Compositional Coal Bed Methane Example 1455


Tempest MORE Help, Release 8.1

15.9 Shale Gas Modelling

This example explains how to use shale gas modelling feature of Tempest MORE. Shale gas modelling in MORE
is activated by specifying the SHALE keyword in FLUId section. User needs to supply a table of available amount
of gas as a function of pressure using AGVP - Available Shale Gas Variation with Pressure keyword and Langmuir
time using third argument of LANG - Global Values for Coal Bed Methane Modelling. Additionally user needs
to supply dimensions and properties of reservoir volume influenced by hydraulic fracturing by means of SRV
keyword in RECU section.
In this example, we’ve six production wells hydraulically fractured at different times. Some of the wells are
fractured more than once at various points along the completed section of those wells. The effect of hydraulic
fracturing (SRV) can clearly be seen either by plotting well gas production rate or visualizing recurrent parameter
Stimulated Reservoir Volume as shown below.

Fig. 15.9: Gas production rates for the 6 wells.

The data for this run is in ShaleGas.dat

1456 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Fig. 15.10: Stimulated Reservoir Volumes (SRV).

15.9. Shale Gas Modelling 1457


Tempest MORE Help, Release 8.1

15.10 Full Field Model using Geological Grid

This example is based on a geological model built in Roxar’s RMS package. The model is called Daisy and was
originally a 52x96x100 cell grid. Up-scaled versions of the grid and properties were generated of which we have
selected the 2x2x2 up-scaling, i.e. 26x48x50 = 62400 cells.
Below we show the porosity display from this model.

Fig. 15.11: Porosity map from Example 9.

The model exported from RMS is contained in the file daisy222.grdecl, which contains a definition of the
grid via the COOR - Grid Coordinates and ZCOR - Grid Cell Corner Depths keywords along with the porosity
(PORO – see above), the x-, y- and z-permeabilities (PERMX, PERMY and PERMZ) and the active cell index
(ACTNUM).
In addition, one further file was exported from RMS containing the initial water saturation in daisy222.

Simulation Template

To build the rest of the model we used the Tempest New Simulation Wizard (NSW). This is accessible from the
New button on the Tempest menu bar: the resulting pop-up window looks as follows. Note the NSW consists
of 6 tabbed panes which should viewed one after another using the Next button, , bottom right: initially we are
placed in the Setup pane.

1458 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Full details on the NSW can be found in the Tempest User Guide.

Fig. 15.12: Tempest New Simulation Wizard

Note we have selected Metric units, and Black-Oil as the run type. The Run Title, Root Name and working
Directory have also been set.
On the Fluid tab, we specified that OIL, Gas and Water are present with stock tank gravities of 0.832, 0.897
and 1.083 respectively: the first and third are relative to water and the second is relative to air. The Reservoir
Temperature was set to 81 o C and the Solution GOR was given as 0.1791 kSm3 /Sm3 .
On the Rel Perm tab, the critical water saturation, Swc, was set to 0.231, the critical gas saturation, Sgc, was set
to 0.000, the residual OIL-in-water saturation, Sorw, was set to 0.179 and the residual OIL-in-gas (plus critical
water), Sorg, was set to 0.102. The default values for all other parameters were taken.
The grid and grid properties have been exported from RMS in the file daisy222.grdecl. Nevertheless, the
Grid tab is used to define a temporary grid file, which will be replaced shortly. The cells dimensions are set as
Nx=26, Ny=48 and Nz=50. On the Grid|Properties tab, the reference pressure was set to 222.7 bars.
On the Initial tab, the reference depth and pressure were specified as 1980 m and 222.7 bars and the depths of the
GOC and WOC were set at 1700 and 2300 m, respectively: note the GOC is above the top of the reservoir.
Finally, on the Dynamic tab we select the single well producer option to which we assigned a radius of 0.09 m.
The NSW creates a new node on the Simulations tree in the Tempest Data Supervisor called daisy222, which was
specified as the root name above. The daisy222 node contains two sub-nodes called Input and Output of which
only the Input is coloured to indicate it contains information.

Replacing the Grid and Reservoir Properties

The main file, daisy222.dat contains 6 include files as shown above. The first two files contain the fluid and
relative permeability definitions. The third and fourth files, daisy222.mgrdecl and daisy222.marray
contain the grid and reservoir properties definitions respectively. Clicking on the Text window tab, scroll down the
daisy222.dat file until the GRID section is displayed, see below. Then comment out the INCLUDE keyword
and the reference to daisy222.marray file, and copy the contents of the daisy222.grdecl file exported
from RMS into the include file generated from NSW. Finally, change the datum depth to 1980 m. To update the

15.10. Full Field Model using Geological Grid 1459


Tempest MORE Help, Release 8.1

Fig. 15.13: Simulations tree in the Tempest Data Supervisor.

Files display, click on the Data Tab and then back on the Text tab. Save the edit using the save button, on the
main Tempest toolbar.

---------------------------------------------
GRID
---------------------------------------------
--* Set datum for well BHP pressures
Datum 1524.00 /

--* Select output from grid calculations:


--* GRID requests printing of grid positions - remove for large problems
--* DEPTH requests printing of grid depths - remove for large problems
--* MAP requests grid data be written to the GRID file for post-processing
PRINT GRID MAP DEPTH

--* Grid geometry


INCLUDE
'daisy222.mgrdecl'

--* Grid property arrays


INCLUDE
'daisy222.marray'

--* Set rock compressibility


CROC UNIF
CONS
4.00000e-05 /

--* Set rock reference pressure


REFE UNIF
CONS
222.700 /

Whilst still in Text mode, click on the daisy222.mdyna tab node and replace the TTAB/ENDT and ETAB/ENDE
data with the following data:

--* Specify well trajectory in true xyz space


TTAB
--* x y z md
WPRD
695443 7713532 1787 1787
695443 7713532 3218 3218
ENDT

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT

1460 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

ETAB

WPRD
01/Jan/2000 PROD
01/Jan/2000 PERF 1 30 0.09 0 1 ZONE
01/Jan/2000 OPT 317.974

ENDE

This has effect of placing the well in a more central location and completing it in the top 30 layers. Click on the
save button to preserve the changes.
Select the Input node and then from the top toolbar, click on the play button. This will display the MORE Run
Manager which will be titled daisy222 MORE Run. From the drop-down list called Simulator Version, select

8.1 and then click the Run button, : this will run the model.
The model should run without any problems so that the Output node of daisy222 is coloured to indicate it now
contains information to display and plot.

Other Grid and Initialisation Changes

Looking in the output file, daisy222.out, we see in the GRID section that the minimum cell volume in the
simulation is about 0.006 rm3 . This is because the default value for the minimum pore volume (below which a
cell is made inactive) cut-off is 1.0e-6 rm3 . We will add the following declaration in the GRID section:

MINPV VALUE
10.0 /

which re-sets the minimum pore volume to 10.0 rm3 compared with an average cell volume of about 4800.0 rm3 .
Next, we activate the water saturation distribution exported from RMS in the file daisy222.swinit. Note
RMS calls the array “SW” which must be changed to “SWAT”. This file is included in the INIT section by adding
the following to the daisy222.minit file:

include
`daisy222.swinit`

Note that we still continue to specify an EQUIlibrium INITialisation despite the fact that this water saturation is
no longer in equilibrium. Seeing this distribution, MORE will compute a capillary pressure shift on a cell-by-cell
basis so that in the absence of any injecting/producing wells, the fluid distribution will remain static. As noted in
PCSH help, if the capillary pressure column is zero, MORE will first modify the Pcow to be

P cow(Sw) = (1 − Sw) × 1atm

before computing a shift in Pcow. A warning message is also generated by MORE in such a case which can be
avoided by providing a valid capillary pressure column under KRWO table. Further information on this topic can
be found in the Technical Reference here
It is believed an aquifer is attached to the bottom of the reservoir. The size and strength of this aquifer will be
determined during the history-matching phase so the values specified here are only for initialization purposes.
The parameters for the Aquifer named AQ1 are assumed to be average depth, 2500 m, permeability 100 mD,
porosity 10% (0.1), total compressibility 45e-6 /bars, radius 2400 m, angle 360o , thickness 250 m and brine
viscosity of 0.4 cP. No initial aquifer pressure is specified (1*) so that MORE will be forced to put the aquifer
in equilibrium. The aquifer is specified using the AQCT - Carter-Tracy Aquifer (Carter-Tracy) keyword. It is
attached to the bottom layer of the reservoir by the AQCO - Connect an Aquifer keyword:

-- Define Numerical Aquifer


-- Name Depth Perm Poro Comp Radi Theta thick Pinit ViscW
AQCT AQ1 2500 100 0.1 45e-6 2400 360 250 1* 0.4

15.10. Full Field Model using Geological Grid 1461


Tempest MORE Help, Release 8.1

-- Attach Aquifer to bottom layer


AQCO AQ1 4* 50 50 Z+ /

Well Placement and Operation

The single well used in our first run of daisy222 will now be deleted and replaced by wells in the RMS model plus
other wells we will place ourselves based on model runs. In order to understand where we should place our wells,
we display the water saturation distribution following the inclusion of the daisy222.swint file:

Fig. 15.14: Water saturation distribution of the daisy222.swint file.

A number of wells were defined in the RMS model. We selected the wells, W2, W3 and W5 which are located
in the central OIL zone and exported them in Nextwell format. The header and first few lines of data are shown
below for well W2:
-- Generated with: RMS 7.0
-- Created by : rmsuser
-- Date : Fri, March 28 2003, 15:04:58
-- Depth Ref. : Undefined
-- Position Ref. : Undefined
-- Depth Unit : [m]
-- Position Unit : [m]
-- Type : Actual Trajectory
-- RKB Elevation : unknown
welltrack 'W2'
695508.000 7712850.000 2024.830 2024.830
695508.000 7712847.000 2033.070 2033.784
695508.000 7712850.000 2042.850 2044.050

1462 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

695509.000 7712848.000 2052.650 2054.166


695509.000 7712848.000 2062.830 2064.423
695509.000 7712850.000 2072.630 2074.442
695510.000 7712849.000 2082.550 2084.480

where the columns are X-position, Y-position, Z-Position (True Vertical Depth) and Measured Depth. The well-
track keyword acts as an alias for TTAB.
The well trajectories are setup by including these files, i.e:

include
'W2_nw.traj'

In order to see which cells these well trajectories intersect, the PRINT card should be added to the RECU file
daisy222.mdyna:

PRINT TRACK

This information will be written to the output file. Other useful information pertains to the wells, completions and
aquifer performance. We request this is output to the print file by adding the arguments WELL, CMPL and AQUI
to the existing GENE card thus:

--* Request restart and fluid in place reports


GENE REST FLIP CPU WELL CMPL AQUI

Three further wells were defined by reference to the state of the model at T=0.0 days. A single near-horizontal
well was positioned to intersect the three small compartments that can be seen at the top of the display on the
previous page. This well called horPRO is intended to produce OIL from these blocks. A small deviated well
called devINJ was placed near the centre of the main structure to provide pressure support through gas injection.
Finally a vertical well called watINJ was positioned over at the top left flank of the main structure, again to provide
some pressure support.
Complete data for this run, including the .mdyna file that contains all the well trajectories and their production
data, can be accessed in Daisy.

15.10. Full Field Model using Geological Grid 1463


Tempest MORE Help, Release 8.1

15.11 PETRA Tutorial Example

This example demonstrates how Tempest MORE can be used in conjunction with PETRA geological modelling
tool. The data set associated with this example can be found in Tempest installation directory or is available here:
HM01.dat

1464 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

15.12 SPE Comparison Examples

Introduction

The following examples contain datasets showcasing standard SPE Comparison Problems.
1. Three-phase, 3D Black Oil - 1st SPE Comparison
2. Three Phase Coning Study - 2nd SPE Comparison
3. Compositional Example of Gas Recycling - 3rd SPE Comparison
4. A Steam Injection Study - 4th SPE Comparison Case A
5. Compositional Example of Miscible Flooding - 5th SPE Comparison
6. Fine Scale Model - 10th SPE Comparison Case 2

Examples

1. Three-phase, 3D Black Oil - 1st SPE Comparison


In the 1st SPE Comparison Case 2 (variable bubble point case)1 , a 10x10x3 grid was used to represent a
quadrant of a 5-spot, i.e. one injection well and one production well. Gas was injected at a rate of 100
MMscf/d [2831.68 kSm3 /day] with a maximum OIL production rate of 20000 STB/d [3179.75 Sm3 /d]. The
simulation was terminated after ten years.

Gas saturation at 4 years.


In this study the gas injected in cell (1,1,1) flows across the top of the reservoir and then cones down to the
producer cell (10,10,3). This can be clearly seen on the above Tempest plot of gas saturation at 4 years.
The data for this run is in mspe1_met.dat
1 Odeh A.S, Comparisons of Solutions to a Three Dimensional Black Oil Reservoir Simulation Problem, SPE 9723, JPT, January 1981,

pp. 13-25

15.12. SPE Comparison Examples 1465


Tempest MORE Help, Release 8.1

2. Three Phase Coning Study - 2nd SPE Comparison


The 2nd SPE comparison test2 simulates three phase coning with a radial grid. A 2-Dimensional grid is used
with 10 radial cells arranged to provide high resolution around the single producing well.

Radial grid display around the wellbore.


The data for this run is in mspe2.dat
3. Compositional Example of Gas Recycling - 3rd SPE Comparison
The third of the SPE comparative examples3 is a study of gas cycling of a retrograde condensate reservoir
using a compositional model. This example uses field units and a 9x9x4 grid.
The data for this run is in mspe3.dat
4. A Steam Injection Study - 4th SPE Comparison Case A
This example is from Aziz et al4 .
It simulates a single well study run using a huff and puff strategy, in which steam in injected for 10 days.
The system is then left to soak for 7 days and they produced for the remainder of the first year.
The injection-soak-production cycle is then repeated two more times.
The oil production curve shows a peak of production after each steam injection period:
Oil production rate versus time
Note that all the production system operations in this example are entered as events using the ETAB - In-line
Event Data in a Table keyword, the event table being terminated by the ENDE - End of the ETAB Event
Table keyword.
2 Weinstein, H.G., Chappelear, J.E. and Nolen J.S., Second Comparative Solution Project: A Three-Phase Coning Study, SPE 10489,
JPT, March 1986, pp. 345-353
3 SPE 12278, 1987
4 Aziz, K., Ramesh, A.B., and Woo, P.T., 4th SPE CSP: Comparison of Steam Injection Simulators, SPE 13510, JPT, (Dec. 1987), pp.

1576-1584

1466 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

The data for this run is in mspe4a.dat


5. Compositional Example of Miscible Flooding - 5th SPE Comparison
The fifth SPE comparative examples5 is a study of miscible flooding using a compositional model. This
example is a WAG process.
The data for this run is in mspe5.dat
6. Fine Scale Model - 10th SPE Comparison Case 2
The 10th SPE comparison test is for upscaling techniques6 .
The data for this run is in mspe10_events.dat

References and Further Reading

15.13 Flux Option Examples

The following examples contain datasets showcasing the use of the flux option keywords. For more information
regarding the flux option in Tempest MORE, see Flux Option in the MORE Technical Reference.
1. A simple case which writes out a flux file containing boundary values compatible with the FLXT FLUX
option - flxWrite.dat
Simple cases which read from the flxWrite.flx flux file, generated from flxWrite.dat -
flxRead.dat, flxRead1.dat, flxRead2.dat
2. A simple case which writes out a flux file containing boundary values compatible with the FLXT PRES
option - flxWritePres.dat
A simple case which reads from the flxWritePres.flx flux file, generated from flxWritePres.
dat - flxReadPres.dat
3. A simple case which writes out a flux file using FLXT PRES option where a flux region consists of discon-
nected parts - flxWritePresAnnular.dat
5SPE 16000, 1987
6Christie, M.A. and Blunt, M.J., Tenth SPE Comparative Solution Project: A Comparison of Upscaling Techniques, SPE 72469, JPT,
August 2001, pp. 308-317

15.13. Flux Option Examples 1467


Tempest MORE Help, Release 8.1

A simple case which reads from the flxWritePresAnnular.flx flux file, generated from
flxWritePresAnnular.dat - flxReadPresAnnular.dat

1468 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

15.14 Network Examples

The following examples contain simple datasets showcasing network models. For more information regarding
network modelling in Tempest MORE, see Network Model in the MORE Technical Reference.
1. A simple network model with well pipes only - networkExamples1_event.dat
2. A simple two level group network model – networkExample2_events.dat
3. A simple two level group network model with a pipeline pump – networkExample3_events.dat
4. A complex three level group network model with a pipeline pump – networkExample4_events.dat

15.14. Network Examples 1469


Tempest MORE Help, Release 8.1

15.15 Operations Examples

Introduction

The following examples showcase different applications of OPERATIONS as described in the Techref document.
1. Setting up and Invoking a Simple Operation - OperationExample01.dat
2. Setting up a Simple Operation with input parameters - OperationExample02.dat
3. Conditional Separator Respecification using LOCAL variable and IF statements - OperationExample03.dat
4. Maintaining the Field GOR using the IF and ELSE statements - OperationExample03a.dat
5. Converting multiple Producers into Injectors using the FORW loop - OperationExample04.dat
6. Plugging the worst perforations off of multiple wells using FORW and FORC loops - OperationExam-
ple05.dat
7. Plugging all the completions of the worst branch in a well using the FORB loop - OperationExample06.dat
8. Plugging the worst completion of a branch in a well using the FORI loop - OperationExample07.dat
9. Example with STATIC variable, IF statements and well function - OperationExample08.dat
The following examples are explained in this page under the Examples section.
1. Use of operations to turn a producer into an injector and to plug worst perforation off - Opera-
tions_Convert_Plug.dat
2. Conditional Triggering of WWAG - OperationExampleMisc01.dat

Examples

1. Use of operations to turn a producer into an injector and to plug worst perforation off
This example uses two different operations to demonstrate how operations can be used in RECU section of
MORE simulation deck to carry out various tasks. The first operation is used to turn a producer into a gas
injector if the GOR of that particular producer exceeds 350 kSm3 /Sm3 while the second operation is used to
plug worst completion for well OP2 every six months for two consecutive years. The grid architecture and
wells used in this example are shown below.

The grid architecture and wells used.


Plot A below shows that producer OP1 turns into a gas injector and starts injecting gas at a rate of 300
kSm3 /day when its GOR exceeds 350 kSm3 /Sm3 .

1470 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Fig. 15.15: Plot A: GOR and Gas Injection Rate versus Time

Fig. 15.16: Plot B: Water Cut versus Time

15.15. Operations Examples 1471


Tempest MORE Help, Release 8.1

The data set used in this example can be found in Operations_Convert_Plug.dat.


2. Conditional Triggering of WWAG
The following example shows the operation XX that will be executed every 100 days for an unlimited
number of times. WAG for well I1 is invoked if the field pressure falls below 1500 psi. The local variable
“counter” is used so that the WWAG is entered only once. Otherwise, the same WWAG will be entered
multiple times which can cause unexpected behaviour.
operationExampleMisc01.dat:

OPER
local counter
if (&counter<1)
if( &fpavh<1500 )
ETAB
I1
0 WIT 1000
0 BHPT 10000
0 GIT 4000 SECOND
0 BHPT 6000 SECOND
0 STRE CO2 B
0 WWAG 3 3 MONTH
ENDE
endi
endi
set &counter++
ENDO

ETAB
ALL
0 INVO XX DAYS=100 MEXE
ENDE

The results for operationExampleMisc01 shows WWAG for well I1 is activated only once when the field
average pressure falls below 1500 psi (see the following figure).
The data set used in this example can be found in OperationExampleMisc01.dat

1472 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

15.15. Operations Examples 1473


Tempest MORE Help, Release 8.1

15.16 Solvent Examples

The following examples contain datasets showcasing solvents. For more information regarding solvents in Tem-
pest MORE, see The Four Phase Todd-Longstaff Solvent Model in the MORE Technical Reference.
1. A miscible solvent example with a Todd-Longstaff mixing parameter of 1.0 – solventMiscible.dat
2. A miscible solvent example with residual oil – solventMiscibleMROW.dat
3. A miscible solvent example with a Todd-Longstaff mixing parameter of 0.5 – solventMiscibleTodd0.5.dat
4. A partially miscible solvent example – solventPartialMiscible.dat
5. A partially miscible solvent example with miscibility factors versus pressure and solvent fractions – sol-
ventPartialMiscibleMFVS_MFVP.dat
6. SPE 5th Comparative Solution Project: Four Component Model (Todd-Longstaff), Scenario 1 –
mspe5_4p_c1.dat
7. SPE 5th Comparative Solution Project: Four Component Model (Todd-Longstaff), Scenario 2 –
mspe5_4p_c2.dat
8. SPE 5th Comparative Solution Project: Four Component Model (Todd-Longstaff), Scenario 3 –
mspe5_4p_c3.dat

1474 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

15.17 Relative Permeability examples

The document demonstrates the use of some of the horizontal scaling and vertrical scaling options in Tempest
MORE.

Horizontal Scaling

Description

This section contains examples of oil-water relative permeabilities including the use of hysteresis and End-Point
Scaling (EPS) options. Gas-water and oil-gas relative permeability curves will also work in a similar way in a
two-phase simulation model.
1. A simple oil-water relative permeability example without any hysteresis or end-point scaling. This simple
example will be used as a template for example 2 and example 3 that discuss the use of end-point scaling
and hysteresis data handling in KRWO table respectively: relperm_ow.dat
2. These examples demonstrate how EPS 3 and EPS 4 scale the relative permeability curves using the user-
specified SWCR array respectively: relperm_ow_eps3.dat , relperm_ow_eps4.dat
3. This example demonstrates the use of KRWO table when both of wetting phase imbibition and drainage
(hysteresis) data are entered: relperm_ow_hysteresis_wet.dat
4. This example demonstrates how SWCR array scales the relative permeability curves when both the wetting
phase imbibition and drainage data is entered in the input KRWO table: relperm_ow_hysteresis_wet_eps.dat
5. This example explains how the EPS arrays SOWC and IOWC can be used to introduce hysteresis of
non-wetting oil phase in a KRWO table with the same set of non-wetting imbibition and drainage data:
relperm_ow_nonwet_eps.dat
6. This example explains the use of HYST (and IEPD) keywords to apply hysteresis to non-wetting phase oil
without explicitly entering the hysteresis data in KRWO table: relperm_ow_nonwet_eps_hyst_iepd.dat
7. This simple oil-wet example demonstrates the use of KRWO table when both of imbibition and drainage
(hysteresis) data are entered for both the wetting and non-wetting phases: relperm_ow_oilwet.dat
8. This simple oil-wet example demonstrates the use of EPS arrays IWCR, SWCR, SOWC and IOWC with
KRWO table when both of imbibition and drainage (hysteresis) data are entered for both the wetting and
non-wetting phases: relperm_ow_oilwet_eps.dat
9. This example demonstrates the use of KRWO table when both the imbibition and drainage (hysteresis) data
for oil-water capillary pressure is entered: relperm_ow_hyst_pcow.dat
All data sets are based on 11 x 1 x 1 grid model with two phases of oil and water. The model is initialised with
non-equilibrium conditions with a range of water saturations (linearly decreasing from 1 to 0) explicitly entered
using the SWAT array. There are 2 wells in each model, one producer and one injector, at the two ends. 3D view
of the initial oil saturation distribution is shown below:

15.17. Relative Permeability examples 1475


Tempest MORE Help, Release 8.1

The injector injects 10000 stb/d of oil for the first year, and 10000 stb/d of water for the next 19 years. The
producer is set an oil production target of 10000 stb/d.
The only data set that is an exception is that used for oil-wet case. In this case, the location of the two wells was
switched, the injector well injects 10000 stb/d of water for the first 10 years and 10000 stb/d of oil for the next 10
years. The producer is set a water production target of 2000 stb/d.

Examples

1. In this example, wetting phase imbibition data is entered using KRWO keyword. By default, this will be used
for drainage (hysteresis) as well. This simple example will be used as a template for example 2 and example
3 that discusses the use of end-point scaling and hysteresis data handling in KRWO table respectively. See
relperm_ow.dat

KRWO
--Sw KrwI KrowD Pc
0.0 0.0 1.0 1* /
0.1 0.0 1.0 1* /
0.5 0.5 0.5 1* /
0.9 1.0 0.0 1* /
1.0 1.0 0.0 1* /
/

1476 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Cell history plot for the first cell shows how water saturation (Sw) changes with time, and how water relative
permeability (Krw) changes with water saturation.

Note how Krw honours Sw as per the input KRWO.


2. The examples in (a) and (b) demonstrate how EPS 3 and EPS 4 scale the relative permeability curves using
the user-specified SWCR (critical water saturation) array respectively. Both the examples use the KRWO
table used in example 1
(a) The default EPS method is the 3-point scaling. As explained in the Relative Permeability TechRef , the
cell water saturation is scaled as per the defined SWL (connate water saturation), SWCR (critical water
saturation) and SWU (upper water saturation) arrays. The scaled water saturation is then looked up
in the input KRWO table to find the corresponding relative permeability value. In this example only
SWCR is used.

SWCR=0.4

See relperm_ow_eps3.dat for complete example.

15.17. Relative Permeability examples 1477


Tempest MORE Help, Release 8.1

To check the effect on Krw, a cell history plot for the first cell shows how Sw (time) and Krw (Sw)
change.

Note how saturation reversal occurs at scaled Swcr = 0.4 instead of input Swcr = 0.1 when the injection
phase in the cell changes from oil to water (drainage to imbibition of wetting phase).
To check the effect on Kro, a cell history plot for the eleventh cell shows how Sw (time) and Kro (Sw)
change.

Compare this with the corresponding plot for EPS 4 case below and note that the residual oil saturation
is scaled for EPS 4 case but not for EPS 3.
(b) The default 3-point scaling can be changed to 4-point scaling using EPS keyword in the INPUT sec-
tion.

EPS 4

See relperm_ow_eps4.dat for complete example.


As described in the Relative Permeability TechRef , 4-point scaling is the same as 3-point scaling
except that the residual oil saturation (1- SOWC) is also scaled.
Cell history plot for the first cell shows how Sw (time) and Krw (Sw) changes.

1478 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

To check the effect on Kro, a cell history plot for the


eleventh cell shows how Sw (time) and Kro (Sw) change.

Note how the residual oil saturation is scaled, and that the same scaling is applied to both Kro and
Krw.
3. This example demonstrates the use of KRWO table when both of wetting phase imbibition and drainage
(hysteresis) data are entered. The example uses the same KRWO table as that used in example 1 with the
addition of hysteresis data. See relperm_ow_hysteresis_wet.dat for complete example.

KRWO
--Sw KrwI KrowD Pc KrwhD KrowhI Pch
0.0 0.0 1.0 1* 0.0 1.0 1* /
0.1 0.0 1.0 1* 0.0 1.0 1* /
0.5 0.5 0.5 1* 0.2 0.5 1* /
0.9 1.0 0.0 1* 0.6 0.0 1* /
1.0 1.0 0.0 1* 1.0 0.0 1* /
/

15.17. Relative Permeability examples 1479


Tempest MORE Help, Release 8.1

Cell history plot for the first cell shows how Sw(time) and Krw(Sw) changes.

Since the cell is completely filled with water and oil is injected from time=0, the non-wetting phase (oil)
saturation increases while that of the wetting phase (water) decreases. As described in the Techref , this
is called the drainage process of the wetting phase, and MORE follows the KrwhD column in the input
KRWO table. As more oil is injected during the first year, Sw decreases until Sw=Swcr=0.1 and Krw=0.
When water is injected from 2001 onwards, the imbibition process begins and the wetting phase (water)
saturation increases. Note that MORE will now read off the Krw values from the wetting phase imbibition
curve under KrwI column in the input KRWO table.
4. This example demonstrates how SWCR array scales the relative permeability curves when both the wetting
phase imbibition and drainage data is entered in the input KRWO table. This example uses the same KRWO
table as that used in example 3 example, with the addition of EPS array SWCR.

SWCR=0.4

See relperm_ow_hysteresis_wet_eps.dat for complete example.


Cell history plot for the third cell shows how Sw changes with time, and how Krw changes with Sw.

1480 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Note how the Krw follows the scaled versions of the drainage and imbibition curves.
5. This example explains how the EPS arrays SOWC and IOWC can be used to introduce hysteresis of non-
wetting oil phase in a KRWO table with the same set of non-wetting imbibition and drainage data.
In example 3, the Kro (So) and So (time) history plots for the first cell were as follows:

To introduce hysteresis of the non-wetting oil phase using 4-point scaling, add the EPS arrays SOWC and
IOWC at the end of the GRID section, and EPS 4 in the INPUT section. See relperm_ow_nonwet_eps.dat
for complete example.

EPS 4

SOWC=0.4
IOWC=0.6

The output cell history for the fist cell:

15.17. Relative Permeability examples 1481


Tempest MORE Help, Release 8.1

Note how the EPS arrays have scaled the input relperm curves, and how MORE honours these.
As explained in the relperm_ow_hysteresis_wet example above, the water-filled cell is injected with oil
which results in non-wetting phase saturation increasing. This is known as the drainage process of the non-
wetting phase. Kro increases for So > SOWC=0.4 and follows the scaled version of the KrowD column of
the input KRWO table until it reaches the Somax. When water is injected after the first year, imbibition
process starts as the non-wetting phase saturation starts to reduce and MORE follows a scaled version of
KrowhI column of the input KRWO table between Somax and IOWC=0.6.
6. This example explains the use of HYST (and IEPD) keywords to apply hysteresis to non-wetting phase oil
without explicitly entering the hysteresis data in KRWO table.
Let us revisit the KRWO table in example 1. Note that the table has no hysteresis data.

KRWO
--Sw KrwI KrowD Pc
0.0 0.0 1.0 1* /
0.1 0.0 1.0 1* /
0.5 0.5 0.5 1* /
0.9 1.0 0.0 1* /
1.0 1.0 0.0 1* /
/

Now introduce a residual drainage oil saturation SOWC of 0.4 (note that the residual drainage oil saturation
in the original KRWO table is 0.1).

SOWC=0.4

Because no hysteresis data is entered, MORE will use the drainage data for hysteresis as well. If the keyword
HYST is used, it will switch on hysteresis modelling. See relperm_ow_nonwet_eps_hyst.dat for complete
example.

HYST

By default, this will use drainage end-point set in the KRWO table (set as 0.1 in the case). When this data
set is simulated, MORE generates the following warning message:

Warning in oil saturation functions:


Krow(So) non-wetting imbibition critical 0.1 less than drainage critical 0.4

This warning message is generated because, by default, SOWC will only change the residual oil saturation

1482 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

for drainage relative permeability curve, while residual oil saturation for the imbibition curve will be taken
from the actual input KRWO table. As explained in the techref , the default setting using the IEPD keyword
in the INPUT section. If the Drainage argument of this keyword is used, MORE will use the end-point
scaling array SOWC array for setting the imbibition end-point. See relperm_ow_nonwet_eps_hyst_iepd.dat
for complete example.

HYST

IEPD D

The user may then introduce hysteresis by setting a different value for IOWC array.
Assume that the user introduces IOWC of 0.6 (with 4-point scaling). See relperm_ow_nonwet_eps4.dat for
complete example.

EPS 4

SOWC=0.4
IOWC=0.6

Cell history plot below indicates the use of both imbibition and drainage curve with different end points for
residual oil saturation as expected.

15.17. Relative Permeability examples 1483


Tempest MORE Help, Release 8.1

7. This example demonstrates the use of KRWO table when both of imbibition and drainage (hysteresis) data
are entered for both the wetting and non-wetting phases. Oil-phase is made the wetting phase by using the
OIL argument of the WETT keyword. See relperm_ow_oilwet.dat for complete example.

WETT OIL

KRWO
--Sw KrwD KrowI Pc KrwI KrowD Pch
0.0 0.0 1.0 1* 0.0 1.0 1* /
0.1 0.0 1.0 1* 0.0 1.0 1* /
0.5 0.5 1.0 1* 0.0 0.5 1* /
0.9 1.0 0.0 1* 1.0 0.0 1* /
1.0 1.0 0.0 1* 1.0 0.0 1* /
/

1484 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Note that the drainage/imbibition curves for oil and water have been switched when compared to the default
water-wet case.
The output cell history for Sw(time) and Krw(Sw) for the eleventh cell is as follows:

Let us confirm the trapped water saturation by hand-calculation (reversal occurs at Sw=0.78)
The gradients of drainage and imbibition curves are 1/0.8 and 1/0.4 respectively, and
Krw(Sw=0.78)=0.68/0.8. The trapped water saturation can then be evaluated as 0.78-0.4*0.68/0.8=0.44
which agrees with MORE calculation.
8. This oil-wet example demonstrates the use of EPS arrays IWCR, SWCR, SOWC and IOWC with KRWO
table when both of imbibition and drainage (hysteresis) data are entered for both the wetting and non-
wetting phases. In this example, the following KRWO table is entered. See relperm_ow_oilwet_eps.dat for
complete example.

15.17. Relative Permeability examples 1485


Tempest MORE Help, Release 8.1

WETT OIL

KRWO
--Sw KrwD KrowI Pc KrwI KrowD Pch
0.0 0.0 1.0 1* 0.0 1.0 1* /
0.2 0.0 1.0 1* 0.0 1.0 1* /
0.5 0.5 1.0 1* 0.0 0.5 1* /
0.8 1.0 0.0 1* 1.0 0.0 1* /
1.0 1.0 0.0 1* 1.0 0.0 1* /
/

The following EPS arrays (with 4-point scaling) are added:

EPS 4

IWCR=0.1
SWCR=0.5
SOWC=0.1
IOWC=0.1

Note that the EPS arrays make the relative permeability curves the same as those used in example above.
This can be confirmed by comparing the output cell history for Sw(time) and Krw(Sw) of eleventh cell with
that of the example above.

1486 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

9. This example demonstrates the use of KRWO table when both the imbibition and drainage (hystere-
sis) data for oil-water capillary pressure is entered. The example uses the following KRWO table. See
relperm_ow_hyst_pcow.dat for complete example.

KRWO
--Sw KrwI KrowD PcI KrwD KrowI PchD
0.1 0.0 1.0 6 0.0 1.0 6 /
0.5 0.5 0.5 4 0.5 0.5 5 /
0.9 1.0 0.0 0 1.0 0.0 4 /
1.0 1.0 0.0 0 1.0 0.0 0 /
/

The Pcow input is then tabulated as follows:

The output cell history for Sw(time) and Pcow(Sw) for the first cell is as follows:

15.17. Relative Permeability examples 1487


Tempest MORE Help, Release 8.1

Note how the MORE output honours the input curves.

Vertical Scaling

Description

This section contains examples of oil-water relative permeabilities including the use of 2-point and 3-point vertical
scaling keywords XKRO and YKOW respectively.
Other 2-point vertical scaling keywords, such as XKRG and XKRW, and 3-point vertical scaling keywords, such
as YKOG, YKRG and YKRW, will also work in a similar way in an appropiately setup simulation model.
1. A simple example without any vertical scaling. This simple example will be used as a template for examples
to follow that discuss the use of 2-point and 3-point vertical scaling arrays: vert_scale_none.dat
2. This example demonstrates how 2-point vertical scaling array XKRO scales the relative permeability curves:
vert_scale_xkro.dat
3. This example demonstrates how 3-point vertical scaling array YKOW scales the relative permeability curves:
vert_scale_ykow.dat
4. This example demonstrates how both of 2-point and 3-point vertical scaling arrays XKRO and YKOW scale
the relative permeability curves: vert_scale_xkro_ykow.dat
All data sets are based on a 1 x 1 x 50 grid model with all three phases. The model is initialised with equilibrium
conditions so that the Gas-Oil contact is above the top cell of the reservoir with no gas-oil capillary pressures.
Hence, the system is practically that of a two-phase one. There are no wells in the model. 3D view of the ternary
distribution is shown below:

1488 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Examples

1. In this example, Oil-Water relative permeability data is entered using KRWO keyword. This simple example
will be used as a template for examples to follow that discuss the use of 2-point and 3-point vertical scaling
arrays. See vert_scale_none.dat for complete example.

KRWO
--Sw Krw Krow Pc
0.000 0.000 1.000 0.90
0.050 0.000 0.750 0.80
0.105 0.001 0.490 0.70
0.182 0.007 0.320 0.65
0.258 0.014 0.230 0.60
0.334 0.025 0.161 0.55
0.410 0.039 0.100 0.50
0.486 0.053 0.046 0.45
0.563 0.088 0.016 0.40
0.638 0.153 0.003 0.35
0.715 0.275 0.000 0.30
0.740 0.300 0.000 0.25
1.000 0.500 0.000 0.00
/

Scatter plot for Kro vs So from this simulation is shown below.

15.17. Relative Permeability examples 1489


Tempest MORE Help, Release 8.1

Note that the maximum oil and critical water saturations correspond to 1.0 and 0.05 respectively. Also note
that Kro(So=1)=1 and Kro(Swcr=0.05)~0.7.
2. This example demonstrates how 2-point vertical scaling array XKRO scales the relative permeability curves.
The example uses the same KRWO table as that used in first example. See vert_scale_xkro.dat for complete
example.

XKRO=0.9

Scatter plot for Kro vs So from this simulation shows that Kro at the maximum So has been vertically scaled
by a factor of 0.9:

1490 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

3. This example demonstrates how 3-point vertical scaling array YKOW scales the relative permeability curves.
The example uses the same KRWO table as that used in first example. See vert_scale_ykow.dat for complete
example.

YKOW=0.6

Scatter plot for Kro vs So from this simulation shows that Kro at the critical Sw has been vertically scaled
by a factor of 0.6:

15.17. Relative Permeability examples 1491


Tempest MORE Help, Release 8.1

4. This example demonstrates how both of 2-point and 3-point vertical scaling arrays XKRO and YKOW scale
the relative permeability curves. The example uses the same KRWO table as that used in first example. See
vert_scale_xkro_ykow.dat for complete example.

XKRO=0.9
YKOW=0.6

Scatter plot for Kro vs So from this simulation shows that Kro is scaled by a factor of YKOW=0.6 for 0 < So
< So(Sw=Swcr) while for So(Sw=Swcr) < So < 1 the scaling factor for Kro interpolates from YKOW=0.6
and XKRO=0.9 as described in the notes section of YKOW keyword.

1492 Chapter 15. Tempest MORE Examples


Tempest MORE Help, Release 8.1

Further examples to demonstrate the use of different keywords can be accessed in


simulation\\data\\more\\Keyword Examples. The simulation folder can be found in the
installation directory.

15.17. Relative Permeability examples 1493


Tempest MORE Help, Release 8.1

1494 Chapter 15. Tempest MORE Examples


CHAPTER

SIXTEEN

TEMPEST MORE FILE SYSTEM

16.1 The MORE Output File System

Introduction

This document describes the output files generated by the MORE simulator. The contents are provided as a guide,
and Roxar reserves the right to change the contents of these files without notice.
This document pertains to MORE version 8.0. The changes compared to the existing MORE 7.2 output files are:
• A fast restart option has been added. See the SAVE and LOAD keywords.

Output files

MORE produces a number of output files:


Miscellaneous (.mis) file Contains general dimensioning data
Control (.ctl) file Contains time step data
Rate (.rat) file Contains well, group and fluid in place data
Grid (.grd) file Contains fixed grid arrays
Arrays (.ara) file Contains time dependent arrays
Auxiliary arrays (.aaf) file Contains grid and time dependent auxiliary array data
Structured (.msf) file Contains various sets of static data
Well fractures (.wfr) file Contains data specific to the improved well fracture model
All these files except the .msf and .wfr files are binary files, written using C routines such as fwrite in the stdio
library. Thus the files only contain the bytes for the data items mentioned; there are no inter-record integers as
might be produced by Fortran unformatted I/O.
The .msf and .wfr files are ROFF files, which contain tagged data and can be written in binary or ASCII format.
In addition, MORE produces optional output files contingent on user settings:
Flux (.flx) file Contains flux region interface data
Binary log (.blg) file Contains well limit and target information
Fast restart (.sav) file Contains data replacing INPU, FLUI, RELA and GRID sections
The contents of the output files is considered in more detail in the respective sections. Note that when listing
array contents a Fortran-like numbering convention starting with 1 has been used with the first index varying most
quickly. Thus when an array of dimension a(n,m) is discussed, the location of a(i,j) would be n*(j-1)+i.

1495
Tempest MORE Help, Release 8.1

16.2 The Misc File

The misc file is typically called mspe3.mis for a run with input dataset name mspe3.dat. The misc file
consists of 8 sections:
Section Contents
MISC Initial Date, units, case
PRHD Page header & revision date
NUMB Numbers
PROP Properties, name, etc.
FLUI EOS parameters
LIMI Well rate limit definitions
SEPA Well stream & separator data
Restart Restart data
The data in each section will now be described.

The MISC Section

• Record of 4 char:
‘misc’
• Record of 1 int:
36
• Record of 2 ints:
1: Method (=XXX), 2: Ni=Number of values in next record (=5)
• Record of ni values (ni=5):
1, 2, 3: Initial date of run, 4: Units flag, 5: Case flag

Note:
1. The second item in MISC (36) is the total number of bytes in the MISC section.
2. The method flag for future upwards compatibility.
From version 5.0.0 onwards, the method flag has been set to a 3-digit integer of the form 500 to
indicate the major version number, minor version number and revision so that release v6.4 will be
denoted 640. This change is carried forward into the other files where the “Method” is used and will
be denoted XXX in those places too.
3. The date format is day, month, year, e.g. 1, 1, 1980.
4. The units flag takes the values: 0-Imperial, 1-Metric.
5. Case flag. Set to 0, but no longer used: from MORE 6 all runs are in mixed case.

The PRHD Section

• Record of 4 char:
‘prhd’
• Record of 1 int:
196

1496 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

• Record of 2 ints:
1: nph=Length of run headers (=75), 2: nrv=Length of revision date=30,
• Record of nrv chars:
1: revision date
• Record of nph chars:
1: program header I
• Record of nph chars:
1: program header II

Note: The second item in PRHD (196) is the total number of bytes in the PRHD section.
The run headers are the titles provided by the user with the TITLE keyword in the data file.
The revision date is a string holding the date of the most recent code change.

The NUMB Section

This is an important section, as some of the values contained are required in order to read other data items in the
MORE output files.
• Record of 4 char:
‘numb’
• Record of 1 int:
412
• Record of 1 int:
1: nn=Number of numbers in next record (currently this is 100)
• Record of nn ints:
1: Array of nn (100) numbers.

Note: The second item in NUMB (412) is the total number of bytes in the NUMB section.
The following table describes the contents of the NUMB section array.

Contents of numbers array:

Name Is
1 NPOINT number of grid points
2 NCOMPT total number of components (incl. water if present)
3 NWLMAX maximum number of wells
4 NWLACT number of active wells
5 MWZONE maximum zones per well
6 NCMPXX number of phase fraction arrays
7 NWLIMX maximum number of wells limits
8 0 no longer used
9 0 no longer used
10 0 no longer used
11 0 no longer used
12 NGRPMX maximum number of groups
Continued on next page

16.2. The Misc File 1497


Tempest MORE Help, Release 8.1

Table 16.1 – continued from previous page


Name Is
13 NGROUP actual number of groups
14 NSEPMX maximum separators per specification
15 IWELLS indicator for well changes
16 NPHASE number of phases
17 0 no longer used
18 NUMLMP number of lumped components
19 NUMSTD number of standard compositions
20 NHCOMP number of hydrocarbon components
21 NWSTRM number of well streams
22 NPVOLM number of pore volume arrays
23 NSMC 0 if oil masses related to surf. vols. using region 1 oil density only
24 NEQUIL number equilibration regions
25 0 no longer used
26 NCAPRS number capillary pressure arrays
27 ICMPRAT set to 1 is this run RATE COMP (i.e. completion data is compressed)
28 0 no longer used
29 0 no longer used
30 MXEOST maximum number of equation of states temperatures
31 NUMECL set 0 if no ECLIPSE files written out, 1 if formatted
32 NECFMT set 0 if ECLIPSE files unformatted, 1 if formatted
33 NAQUIF number of aquifers (0 if no aquifers)
34 NIRAQU number of items of aquifer data (10)
35 NDPOPT set to 1 if dual porosity, 0 otherwise
36 NREST set to 1 if this is a restart run (0 otherwise)
37 NUMLGR number of local grids
38 NQUANT number of additional rate quantities
39 NQCHAR number of characters associated with each rate quantity
40 NQINTE number of integers associated with each rate quantity
41 NQREAL number of reals associated with each rate quantity
42 IBLOCK set to 1 if this is block geometry run (flat grid blocks)
43 0 no longer used
44 NX x-dimension of output grid
45 NY y-dimension of output grid
46 NZ z-dimension of output grid
47 NIIRATE number of items of IRATE data (21)
48 NIIRPTR number of items of IRPTR data (13)
49 NIWRATE number of items of WRATE data (24)
50 NIWMCMP number of items of WMCMP data (4)
51 NIWVCMP number of items of WVCMP data (15)
52 NIWVLAY number of items of WVLAY data (15)
53 NIGRVOL number of items of GRVOL data (5)
54 NIGVLAY number of items of GVLAY data (18)
55 IWVCMP set to 1 if WVCMP written out, 0 otherwise
56 IWVLAY set to 1 if WVLAY written out, 0 otherwise
57 NXC simulation fine grid x-dimension
58 NYC simulation fine grid y-dimension
59 NZC simulation fine grid z-dimension
60 NXG simulation coarse grid x-dimension
61 NYG simulation coarse grid y-dimension
62 NZG simulation coarse grid z-dimension
63 IPEBI set to 1 if any local grids are pebi grids
64 MVERTS maximum vertex count around any pebi cell in any local grid
65 NAQN number of numerical aquifers
Continued on next page

1498 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Table 16.1 – continued from previous page


Name Is
66 EXTRALAYR set to 1 if extra layer for numerical aquifers added to grid
67 ISTHERMAL set to 1 for run containing heat (steam or thermal)
68 ISPOLYMER set to 1 for run containing polymer
69 ISLOAD set to 1 for run using the LOAD keyword

MWZONE=max (NZ, MCPW), where MCPW is the maximum number of completions in any well.
If the simulation is not coarsened, the output grid dimensions (44-46), fine grid dimensions (57-59) and coarse
grid dimensions (60-62) will all be the same.
If the simulation is coarsened and the results output on the original fine grid (the default for a coarsened run),
then the fine grid dimensions (57-59) will be larger than the coarsen grid dimensions (60-62) and the output grid
dimensions (44-46) will equal the fine grid dimensions.
If the simulation is coarsened and the results output on the coarsened grid, then the fine grid dimensions (57-59)
will be larger than the coarsen grid dimensions (60-62) and the output grid dimensions (44-46) will equal the
coarse grid dimensions.

The PROP Section

• Record of 4 char:
‘prop’
• Record of 1 int:
nbprop
Record of 6 ints defining required dimensions:

1: method For upward compatibility [= XXX]


2: nc Number of components
3: nl Number of lumped components
4: nstd Number of standard compositions
5: ms Maximum number of standard compositions [50]
6: mp Maximum number of phases [4]

Then records as follows:


Mnemonic Dimen- Type Description
sion
PHASNM mp char*16 Names of fluid phases
COMPNM nc char*16 Names of components
IDPHAS mp int Indicates if phase ip is present(Phases are 1: oil, 2: gas, 3: water, 4:
other)
IDLOCX nc*mp int Indicates if components in phase (0 if not; -1 if only component in
phase)
IPCPHZ mp int Indicates use of cap press for phase
AMOLWT nc float Molecular weights
VLIQSC nc float Molar liquid volume of components
VGASSC nc float Molar vapour volume of components
LUMPNM nl char*16 Names of lumped components
LUMPCP nc*nl int Is component in lumped component?
STDCNM ms char*16 Names of standard compositions
STDCMP nc*ms float Standard compositions
SURF- 3 float Oil, gas and water surface densities
DENS

Note: The second item in the PROP section is the total number of bytes in the section.

16.2. The Misc File 1499


Tempest MORE Help, Release 8.1

Although mp is 4, the fourth phase is never currently used.


The components are stored in the order hydrocarbons then water.
If oil and gas components are present in a block oil run, the order is oil then gas.
For a black oil run, the oil and water liquid molar volume and the gas molar volume are set.

The FLUI Section

• Record of 4 char:
‘flui’
• Record of 1 int:
nbflui
For black oil:
• Record of 1 int:
1:0 – No EoS
For EoS:
• Record of 1 int:
1: Number of hydrocarbon components (nc)
• Record of 1 int:
1: Number of temperatures actually used (ntu)
• Record of 1 int:
1: INDDIJ – Indicates binary interaction parameters on B
The value of nt in the following items is the maximum number of equation of state temperatures, obtained
from the 30th item in the NUMB array described above, not the number actually used (ntu).
Then records as follows: (all contained in eos structure)
Mnemonic Dimension Type Description
NBIPA nc int Number of non-zero bips on A
NBIPB nc int Number of non-zero bips on B
IBIPA nc*nc int Non-zero bips on A
IBIPB nc*nc int Non-zero bips on B
A2 nc*nc*nt float Binary interaction parameter on A
B2 nc*nc*nt float Binary interaction parameter on B
A3 nc*nc*nt float Binary interaction parameter on A
B3 nc*nc*nt float Binary interaction parameter on B
A1 nc*nt float EoS parameter ‘A’ for each temp
B1 nc*nt float EoS parameter ‘B’ for each temp
C1 nc*nt float Volume translation
CON 8 float Constants used in EoS
RCTEMP nt float Gas constant*absolute temperature
VOLTRN 1 int Flag indicating volume shift
TOLRNC 3 float Set of tolerances for EoS solve

Note: The second item in the FLUI section is the total number of bytes in the section.
The CON array contains values which depend upon the EoS used:

1500 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

For RK: con (1) = 1.0, con (2) = 0.0


For SRK: con (1) = 1.0, con (2) = 0.0
For PR: con (1) = 2.414213562 con (2) = -0.414213562

The remainder are:

con (3) = con (1) + con (2) - 1


con (4) = con (1) + con (2)
con (5) = con (1) + con (2) - con (1)*con (2)
con (6) = Reference surface tension
con (7) = Surface tension K-exponent
con (8) = Fraction of initial pressure at which initial
reservoir composition is flashed

The LIMI Section

• Record of 4 char:
‘limi’
• Record of 1 int:
nblimi
• Record of 4 ints:
1: number of limits (nlim); 2: mstrp=max streams + 1; 3: max limits (mlim); 4: method (=XXX)
Method is present for upwards compatibility
Current value of mstrp is 6.
Then records as follows:
Mnemonic Dimension Type Description
WLIMIT mlim char*16 Names of well limits
IDXVAR mlim int A value of 6 indicates a rate limit
A value <6 indicates a ratio limit
IDSIGN mlim int Sign associated with the limit
WLIMIT mstrp*mlim float Well limits weights – limit looks like:
w1*QO + w2*QG + w3*QW + w4*Q1 + w5*Q2 < w6

Note: The second item in the LIMI section is the total number of bytes in the section.

The SEPA Section

• Record of 4 char ‘sepa’


• Record of 1 int: nbsepa
Record of 7 ints:

1 XXX method (for upward compatibility)


2 nsep number of separator specifications
3 nistr number injection streams
4 npstr number production streams
5 mstr maximum streams
6 msep maximum separators
7 mcomp maximum components

16.2. The Misc File 1501


Tempest MORE Help, Release 8.1

Then records as follows:


Mnemonic Dimension Type Description
WSEPNM msep char*16 Separator names
WPFLNM mstr char*16 Production streams
WIFLNM mstr char*16 Injection streams
IPSTRM mstr int Is stream oil or gas? (1-Oil, 2-Gas)
NSPLST msep int Index of last sep in description
IEKVAR msep int 0: Use fixed K-values; 1: Use EoS
IEOSDN msep int 0: Fixed density; 1: EoS density
ISTEMP msep int Temperature index for sep
IPHSTM mstr int Phase split indicator
SPTEMP msep float Separator temperature
SPRESS msep float Separator pressure
VFSEPR msep float Vapour fraction
FISTRM mcomp*mstr float Fraction of component in inj stream
FPSTRM mcomp*mstr float Fraction of component in prod stream
ZFSEPR 2*msep float Liquid and vapour Z-factors
EKSEPR mcomp*msep float Kvalues for separators

The Restart Section

• Record of 4 char:
‘rest’
• Record of 1 int (number of bytes in REST section):
nbrest
• Record of 1 int:
niblok
• Record of niblok integers (currently 5):
1. nrest - number of restarts
2. ncpr - number of characters/restart
3. nipr - number of integers/restart
4. nfpr - number of floats/restart
5. load - flag indicating this run loads from a fast restart save file (1 or 0)
For each restart (1..nrest), if any,
• ncpr characters (currently 255) containing the restart file name.
• nipr integers (currently 4) containing restart step:
• nfpr doubles (current 4) containing the start time.
Then, for this run:
• ncpr characters (currently 255) containing the file name for this run
• nipr integers (currently 4) containing restart step: set to 0.
• nfpr doubles (current 4) containing the start time: set to zero.
Then, for this run:
• ncpr characters (currently 255) containing the file name for the fast restart save file when this run loads from
a fast restart
• nipr integers (currently 4) containing fast restart step: set to 0.

1502 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

• nfpr doubles (current 4) containing the fast restart start time: set to zero.

Note:
• The FAST RESTART file name is, in general, relative to the location of the Misc file. However, on Windows
it is possible to have files on different drives: in this case an absolute path name is used.
• With MORE 6.5 the RESTART section is present even if the run has not been restarted. When a run has not
been restarted (NREST in nums (36) is zero) then only the last item above, the details of the file for this run,
will be written out.

16.2. The Misc File 1503


Tempest MORE Help, Release 8.1

16.3 The Control File

The control file is typically called mspe3.ctl for a run with input dataset name mspe3.dat. This file contains
records for each step, and acts as a key to the rate file and the arrays file.
The file starts with a header record containing three integers:

1. XXX A "method" flag (for upwards compatibility)


2. ni (=3) The number of integers in each record
3. nf (=3) The number of floats in each record.

The remainder of the control file consists of a set of records, each of three integers and three reals, as follows:
Three integers (int*4):

IARR 1: the time step number


2: write flags for array 1 if array information written for this step
information 0 otherwise
3: write flags for rate 1 if array information written for this step
information 0 otherwise

Three reals (float*4):

FARR 1: Time of the step


2: Step length
3: Projected length of next step

This file should be processed until an end-of-file condition is reached. The total number of steps for which array
information and rate information are stored are of interest, as they define the number of records in the array and
the rates files respectively.

1504 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

16.4 The Rate File

The rate file is typically called mspe3.rat for a run with input dataset name mspe3.dat. This file contains
fluid in place, group, well and quantity information for each of the timesteps (see control file documentation) for
which rate information was output.
The quantity data block is new in MORE 6, and provides a means of including general values of any type in the
rate file. Each quantity has a block of associated information, written once at the start of the rate file, which defines
items such as the units of the quantity and the cell with which the quantity is associated.
The following operations are carried out once, for the first step:
• Write well names
• Write group names
• Write aquifer names
• Write quantity information

Note: Well, group, and aquifer names are all truncated to 16 characters.

Then, at each RATE reporting time:


• Write well rates
• Write group and FIP data
• Write aquifer data
• Write quantity data
The required dimensions are obtained from the numbers array (see NUMB section of the Misc file) as

ncompt numb (2) Total number of components


mw numb (3) Maximum number of wells
mwzone numb (5) Maximum number of zones per well
mwl numb (7) Maximum number of well limits
mg numb (12) Maximum number of groups
nphas numb (16) Number of phases
nstr numb (21) Number of well streams (maximum: 5)
naquif numb (33) Number of aquifers (0 if no aquifers)
nquant numb (38) Number of additional rate quantities
nqchar numb (39) Number of characters associated with each rate quantity
nqinte numb (40) Number of integers associated with each rate quantity
nqreal numb (41) number of reals associated with each rate quantity

Note: No aquifer data is written unless aquifers are present (see numbers array item 33).

Data contained in the RATE file

For the first step only:

• Well names
mw char*16 well names
• Group names
mg char*16 group names

16.4. The Rate File 1505


Tempest MORE Help, Release 8.1

• Aquifer names
naquifer char*16 aquifer names
• Quantity data
nq quantity data blocks, each consisting of:
– nqchar characters (nqchar=96):

1-16 Mnemonic
17-32 Units
33-48 Associated name
49-96 Description

– nqinte integers (nqinte=16):

1 -
Associated x-index
2 -
Associated y-index
3 -
Associated z-index
4 -
Associated local grid
5 -
Associated component index
6 -
Associated fluid in place region
7 -
Associated second fluid in place
region (for inter-region flows)
8 - Branch index of well
9 - Completion index
10 - WellFracture index

11-16 are not currently used

– nqreal reals (nqreal=4):

1 - Associated depth.

For all steps:

Well rate data

mw sets of well data, each one as follows:


Mnemonic Type Dimension Description
irate int*4 NIIRATE Integer well data
irptr int*4 mwzone*NIIRPTR Completion location data
irlim int*4 mwl*2 Well constraint information
wrate float*4 NIWRATE Miscellaneous well data
wrvol float*4 mstr*3 Well volume rates and totals
wrms float*4 ncompt*3 Well molar rates and totals
wmcmp float*4 mwzone*NIWMCMP Miscellaneous completion data
wrcmp float*4 mwzone*ncompt Completion molar flow rates
wvcmp float*4 mwzone*NIWVCMP Completion volume flows
wvlay float*4 mwzone*NIWVLAY Well layer volume flows

Group rate data

mg sets of group data, each one as follows:

1506 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Mnemonic Type Dimension Description


sep int*4 1 Separator flag
gdata float*4 leng General group data
grvol float*4 nstr*NIGRVOL General group volumes
wfr float*4 mw Fraction for each well in group
gvlay float*4 mwzone*NIGVLAY Group layer volume flows

Aquifer data

naquifer sets of aquifer data, each of NIRAQU (see numbers array item 34) values.

Note: leng =(nstr+ncompt+1)*(nphas+2)+2*nstr+4*ncompt+2*ncompt*mwzone.

NQUANT items of quantity data

See numbers array item 38.

Data definitions

The contents of irate are:


irate(1) x-index of well head location.
irate(2) y-index of well head location.
irate(3) Local grid index for well (0 implies global grid).
irate(4) 0 for inactive, 1 for producer, 2 for injection.
irate(5) Current well mode (1:oil;2:water;3:gas;4:liq;5:resv;
6:bhp;7:thp;8:pipe;9:drawdown;10:stopped)
irate(6) Reason code for shutting well (0 if never shut)
irate(7) Pump table index (0 if no pump)
irate(8) The sign of the well (+1 for prod, -1 for injector)
irate(9) Pipeline pump index (0 if no pipeline pump)
irate(10) Compressor index (0 if no compressor)
irate(11) Substituted lift curve index (0 if no substituted lift curve index)
irate(12) Number of alq increments done or compressor stages added
irate(13) Position in first WAG sequence
irate(14) Position in second WAG sequence
irate(15) The WAG status for a well (0 first cycle, 1 second cycle)
irate(16) The actual number of completions per well
irate(17) Flag indicating that well has been drilled from the drilling queue
irate(18) Historical target (1:oil;2:water;3:gas;4:liq;5:resv;-1:off)
irate(19) Historical bhp target (1 if set, 0 otherwise)
irate(20) Historical thp target (1 if set, 0 otherwise)
irate(21) Historical well efficiency factor (1 if set, 0 otherwise)

The contents of irptr are:


irptr(ik,1) Block index for each completion (1 to irate(16) above).
irptr(ik,2) x-index for completion in local grid.
irptr(ik,3) y-index for completion in local grid
irptr(ik,4) z-index for completion in local grid
irptr(ik,5) Local grid index for each completion (0 if global grid)
irptr(ik,6) x-index for completion in global grid
irptr(ik,7) y-index for completion in global grid
irptr(ik,8) z-index for completion in global grid
irptr(ik,9) Flag set to 1 if completion generated by WFRA, 2 if completion
,→generated by XFRA, 0 otherwise.
irptr(ik,10) Branch index for completion (1 for first branch etc).

16.4. The Rate File 1507


Tempest MORE Help, Release 8.1

irptr(ik,11) Flag indicating that completion is active (1 if active, 0 otherwise)


irptr(ik,12) Flag indicating that completion is open (1 if open, 0 otherwise)
irptr(ik,13) Saturation table index for the completion, if set (0 otherwise)

Note: If completion is not in a local grid, items 2,3 and 4 will be the same as items 6,7 and 8.

The contents of wrate are:

wrate(1) x-location
wrate(2) y-location
wrate(3) Well radius
wrate(4) Bottom hole pressure corrected to datum
wrate(5) Reservoir pressure at external radius corrected to datum
wrate(6) Total molar rate
wrate(7) Gas lift rate
wrate(8) Limiting bhp
wrate(9) Time of last WAG transition
wrate(10) Tubing head pressure
wrate(11) Volume injected of first WAG fluid
wrate(12) Volume injected of second WAG fluid
wrate(13) Total increment of pipeline alq so far
wrate(14) Opened time
wrate(15) Thp target
wrate(16) Oil rate target
wrate(17) Gas rate target
wrate(18) Water rate target
wrate(19) Liquid rate target
wrate(20) Voidage rate target
wrate(21) Drawdown target
wrate(22) Wellbore density (in psi/ft or bars/metre)
wrate(23) Cutback factor
wrate(24) Well efficiency factor

The contents of wrvol are:

wrvol(is,1) volumetric rate of stream is


wrvol(is,2) volumetric cumulative production of stream is
wrvol(is,3) volumetric cumulative injection of stream is

Note: The basic stream assignment is:


Oil-gas-water for producers
Gas-water for injectors

Thus:

wrvol(1,1) is the volumetric oil rate for a producer.

wrvol(2,1) is the volumetric gas rate for a producer.

wrvol(3,1) is the volumetric water rate for a producer.

wrvol(1,1) is the volumetric gas rate for an injector (as a positive number).

The contents of wmcmp are:

wmcmp(ik,1) Drawdown, Pc-Pw+Phh for completion ik


wmcmp(ik,2) CCF, the completion connection factor for completion ik

1508 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

wmcmp(ik,3) Md, the completion measured depth value to start for completion ik
wmcmp(ik,4) Md, the completion measured depth value to end for completion ik

CCF is zero for an inactive completion.


The contents of wrcmp are:
wrcmp (ik,ic) Molar production rate for component ic.

The contents of wvcmp are:


wvcmp(ik, 1) is oil rate of completion ik (1 to irate(16) above)
wvcmp(ik, 2) is gas rate of completion
wvcmp(ik, 3) is water rate of completion
wvcmp(ik, 4) is voidage rate of completion
wvcmp(ik, 5) is GOR of completion
wvcmp(ik, 6) is WCT of completion
wvcmp(ik, 7) is cumulative oil production of completion to date
wvcmp(ik, 8) is cumulative gas production of completion to date
wvcmp(ik, 9) is cumulative water production of completion to date
wvcmp(ik,10) is cumulative voidage production of completion to date
wvcmp(ik,11) is cumulative oil injection of completion to date
wvcmp(ik,12) is cumulative gas injection of completion to date
wvcmp(ik,13) is cumulative water injection of completion to date
wvcmp(ik,14) is cumulative voidage injection of completion to date

The contents of wvlay are:


wvlay(iz, 1) is oil rate of layer iz (1 to nz)
wvlay(iz, 2) is gas rate of layer iz
wvlay(iz, 3) is water rate of layer iz
wvlay(iz, 4) is voidage rate of layer iz
wvlay(iz, 5) is GOR of layer iz
wvlay(iz, 6) is WCT of layer iz
wvlay(iz, 7) is cumulative oil production of layer to date
wvlay(iz, 8) is cumulative gas production of layer to date
wvlay(iz, 9) is cumulative water production of layer to date
wvlay(iz,10) is cumulative voidage production of layer to date
wvlay(iz,11) is cumulative oil injection of layer to date
wvlay(iz,12) is cumulative gas injection of layer to date
wvlay(iz,13) is cumulative water injection of layer to date
wvlay(iz,14) is cumulative voidage injection of layer to date

Note: the completion and layer rates are positive for a producing completion or layer in a production well, and
positive for an injecting completion or layer in an injection well.

The contents of gdata are:


PAVH 1 hydrocarbon average pressure
VPORE 1 pore volume
VPHAS nphas reservoir volume of phases
VSTD nstr*nphas well stream volumes in each phase
VCURR nstr current well stream volume in place
VORIG nstr original well stream volumes in place
ZCOMP ncompt*nphase moles of component in each phase
ZCURR ncompt current moles in place
ZORIG ncompt original moles in place
CVPRD nstr cum stock tank volumes produced
CVINJ nstr cum stock tank volumes injected
CMPRD ncompt cum moles produced
CMINJ ncompt cum moles injected

16.4. The Rate File 1509


Tempest MORE Help, Release 8.1

QMPRD ncompt rate of moles produced


QMINJ ncompt rate of moles injected
QMPRDZ ncompt*mwzone rate of moles produced by zone
QMINJZ ncompt*mwzone rate of moles injected by zone

(This totals to leng above)


The contents of grvol are:

grvol(is,1) Group production volumetric rate by production stream


grvol(is,2) Group injection volumetric rate by injection stream
grvol(is,3) Group sales volume rate
grvol(is,4) Group makeup volume rate
grvol(is,5) Previous step production volume rate

The contents of wfr are:

wfr(iw) Contribution of well iw to group. Can be used with the well names to
reconstitute the group definition

The contents of gvlay are:

gvlay(iz, 1) is oil production rate of layer iz


gvlay(iz, 2) is gas production rate of layer iz
gvlay(iz, 3) is water production rate of layer iz
gvlay(iz, 4) is voidage production rate of layer iz
gvlay(iz, 5) is oil injection rate of layer iz
gvlay(iz, 6) is gas injection rate of layer iz
gvlay(iz, 7) is water injection rate of layer iz
gvlay(iz, 8) is voidage injection rate of layer iz
gvlay(iz, 9) is GOR of layer iz
gvlay(iz,10) is WCT of layer iz
gvlay(iz,11) is cumulative oil production of layer to date
gvlay(iz,12) is cumulative gas production of layer to date
gvlay(iz,13) is cumulative water production of layer to date
gvlay(iz,14) is cumulative voidage production of layer to date
gvlay(iz,15) is cumulative oil injection of layer to date
gvlay(iz,16) is cumulative gas injection of layer to date
gvlay(iz,17) is cumulative water injection of layer to date
gvlay(iz,18) is cumulative voidage injection of layer to date

The aquifer data is:

aqui(1) Aquifer influx total in reservoir volumes


aqui(2) Aquifer influx rate
aqui(3) Initial aquifer pressure (or actual pressure, for numerical
,→aquifers)

aqui(4) Aquifer Heat influx rate


aqui(5) Aquifer Heat influx total
aqui(6) Aquifer Polymer influx rate
aqui(7) Aquifer Polymer influx total
aqui(8) Aquifer dimensionless time
aqui(9) Aquifer dimensionless pressure

The mapping between these quantities and the long and short names used in Tempest are as follows:

Short name Long name


wbhp Bottom Hole Pressure
wbpr Pressure at External Radius
wthp Tubing Head Pressure
wopr Oil Production Rate
Continued on next page

1510 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Table 16.2 – continued from previous page


Short name Long name
wgpr Gas Production Rate
wwpr Water Production Rate
wgor Gas-Oil Ratio
wwct Water Cut
wgin Gas Injection Rate
wwin Water Injection Rate
wopt Oil Production Total
wgpt Gas Production Total
wwpt Water Production Total
woit Oil Injection Total
wgit Gas Injection Total
wwit Water Injection Total
wsta Producer/Injector Status

pavh Hydrocarbon Average Pressure


fipo Oil in Place
fipg Gas in Place
fipw Water in Place
gopr Oil Production Rate
ggpr Gas Production Rate
gwpr Water Production Rate
ggor Gas-Oil Ratio
gwct Water Cut
goir Oil Injection Rate
ggir Gas Injection Rate
gwir Water Injection Rate
gopt Oil Production Total
ggpt Gas Production Total
gwpt Water Production Total
goit Oil Injection Total
ggit Gas Injection Total
gwit Water Injection Total

aaqt Aquifer Influx Total


aaqr Aquifer Influx Rate

16.4. The Rate File 1511


Tempest MORE Help, Release 8.1

16.5 The Grid and Array Files

For an input file mspe3.dat these are typically called mspe3.grd and mspe3.ara.
The file starts with a header record containing one integer:
Count of number of items in header file (20).

Note: This value was 11 in versions of MORE before 4.1, and 12 in versions before MORE 6.0.

Then header, 20 integers, to match the header count:


Mnemonic Description Value
1 nga Number of grid file ar-
rays, or Number of array
file arrays
2 lkey Length of key 16
3 ltits Length of short title 4
4 ltitl Length of long title 50
5 nx Number of grid cells in
x-direction
6 ny Number of grid cells in
y-direction
7 nz Number of grid cells in z-
direction
8 idgrid Grid type flag 0 -
cartezian, 1 – radial
9 ixyflo
xy flow model:
1 – block centred 5-point
grid areally
2 – point centred 5-point
grid areally
3 – point centred 9-point
grid areally

10 izflow
z flow model:
0 – no vertical flow
1 – block centred block
grid vertically
2 – point centred grid
vertically
3 – point centred 9-point
grid

1512 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

11 iblkmd
0 – Grid arrays at point
centred locations
1 – Grid arrays at block
centres

12 2*nz+ 2
13 nLG Number of local grids
(not including the main
global grid)
14 na Number of active cells
(with rvol>0) in main
global grid
15 activeMaps
0 – Grid and arra arrays
not compressed (as
MORE 6.2)
1 – Grid and arra arrays
compressed (values only
for active cells

16 dpbdtFlag
0 – DRSDT, PBDT or
RSDT was not used in
this run
1 – DRSDT, PBDT or
RSDT was used in this
run

17 drvdtFlag
0 – DRVDT or RVDT
was not used in this run
1 – DRVDT or RVDT
was used in this run

18 coarsenFlag
0 – Run was not
coarsened
1 – Run was coarsened

19 mapaxesFlag
0 – No MAPAXES data
in the grid file
1 – MAPAXES data in
the grid file

20 Not currently used

Note: The 12th item was 2*nz+1 in older versions of MORE (before 4.1).

Note: If the mapaxesFlag is 1, the 6 floating point numbers defining the MAPAXES transformation are written

16.5. The Grid and Array Files 1513


Tempest MORE Help, Release 8.1

out at the end of the grid file, i.e. after the grid property arrays, as double precision (8 byte) floating point numbers.

If the run contains local grids, then the next item is a single integer.
Count of number of items in any integer local grid header(20).
After that a series of nLG local grid headers follows.
For each local grid (1..nLG):

Integer LG header:

1 nxL
2 nyL
3 nzL
4 ixl
5 ixu
6 iyl
7 iyu
8 izl
9 izu
10 Radial flag (0:Not radial; 1:Radial).
11 Parent local grid (0 for global)
12-13 Not currently used
14 Number of active cells (with rvol>0) in local grid
15 Pebi flag (0:Not pebi; 1:pebi)
16 Maximum vertex count for any cell in this local grid
17-20 Not currently used

LGR name (64 characters)

Let nzt = lkey + ltits + ltitl = 70.


For each of nga grid arrays, the following data is then written out:
Type Number of items Contents
Char*nzt 1
Array title:
key(16=lkey)
//Short title(4=ltits)
//Long title(50=ltitl)

Int 2*nz+2
Size information by layer:
nx*ny - Block data
4*nx*ny - Point data
(The two last elements in this
array are not used)
MVERTS*nx*ny - Pebi point data

The rest of the grid and array files consist of data blocks for each step written. These all have the same size, and
consist of data written out by layer for the global and then any local grids.
To allow cell corner values to be written, the number of possible layers is 2*nz. The number of solution values
per layer depends on the type of array. In MORE 6, arrays may be of three types: block, point or pebi point. The
only point (pebi and non-pebi) arrays are XGRI, YGRI and ZGRI.
• For non-pebi point arrays: 2*nz layers each of 4*nx*ny values.
• For pebi point arrays: 2*nz layers each of MVERTS*nx*ny values.

1514 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

• For block arrays: nz layers each of nx*ny values.


For a block array the 2nd , 4th , 6th etc. layers have the number of items set to –1 and are not used. Note that for pebi
point arrays MVERTS is the value from the numbers array which is the maximum number of vertices surrounding
any cell in any grid, not the maximum for the current local grid.
The vertex count for each pebi cell is not written out. Instead, XGRI, YGRI & ZGRI are set to a value of 1.0E20
for vertex storage not needed by a cell. For example, if MVERTS is 8 and a given cell has 6 neighbours then the
first 6 entries in XGRI, YGRI & ZGRI for that cell will contain the 6 coordinates of the vertices and the last two
entries will be set to (1.0E20,1.0E20,1.0E20)
Only block arrays are compressed if the activeMaps option is being used. In the activeMaps case the RVOL array
is always written out for all cells and is always the first array in the grid file.
RVOL acts as a key to the activeMaps cell compression. The number of values written out for other block arrays is
equal to the number of non-zero values in RVOL. Values for cells with RVOL=0 are removed by the compression.
The order of the remaining values is unchanged.
The active cells counts in the grid and array file headers (item 14) correspond to the number of cells with non-zero
RVOL values. Note that when reading grid data in the activeMaps case active cells for all the layers are read in a
single operation.
After all the arrays for the global grid, the same information is written out for each local grid. These take the same
form as for the global grid, but use the dimensions of the local grid.
For the arrays file, information is written for each time step for which array information is requested. These steps
are obtained from the cntl file. Typical grid arrays currently written out are:
K_Z Kz Z-Permeability (md)
K_Y Ky Y-Permeability (md)
K_X Kx X-Permeability (md)
PORO Phi Porosity (fraction)
ACTN Act Active Block Array
NTOG N/G Net/Gross Thickness Ratio
THIC H Thickness (ft)
XGRI Xg X-Grid Locations (ft)
YGRI Yg Y-Grid Locations (ft)
ZGRI Dpth Depth (ft)
MULX MulX X-Trans. Multiplier
MULY MulY Y-Trans. Multiplier
MULZ MulZ Z-Trans. Multiplier
SWL Swl Lowest Water Saturation (fraction)
SWCR Swcr Critical Water Saturation (fraction)
SWU Swu Maximum Water Saturation (fraction)
SGL Sgl Connate Gas Saturation (fraction)
SGCR Sgcr Critical Gas Saturation (fraction)
SGU Sgu Maximum Gas Saturation (fraction)
SOWC Sowc Critical Saturation of Oil with Water
SOGC Sogc Critical Saturation of Oil with gas
XKRW Xkrw Water Relative Perm. Curve Multiplier
XKRG Xkrg Gas Relative perm. Curve Multiplier
XKRO Xkro Oil Relative Perm. Curve Multiplier
Typical arrays file arrays are:
PRES P Pressure (psi)
SATU(1) So Oil Phase Saturation
SATU(2) Sg Gas Phase Saturation
SATU(3) Sw Water Phase Saturation
RTEMP Temp Temperature (degF)

16.5. The Grid and Array Files 1515


Tempest MORE Help, Release 8.1

Examples of array storage

The first example is the mspe3 benchmark. The problem dimensions are 9 by 9 by 4. The XGRI, YGRI and
ZGRI arrays are all point valued (so each layer contains 100 values). Data exists for layers 1 to 8 inclusive. The
solution arrays are all block values (with 81 values) and stored for layers 1,3,5 and 7.

1516 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

16.6 The Auxiliary File

The auxiliary array file [CTR1] is typically called mspe3.aaf for a run with input dataset name mspe3.dat.
This file contains records for each step, and acts as a key to the grid and arrays files.
The file starts with a single header record containing one integer:

1. XXX A "method" flag (for upwards compatibility)

This is then followed by entries corresponding to the output to the grid and array files. Each of these entries begins
with 1 character string and 3 integers, where:
• Record of 4 chars:
‘STAT’ or ‘DYNA’ to indicate this is grid or time-dependent data, respectively.
• Record of 3 ints:
1: number of items of grid or array data [=nitem];
2: number of ints [nint=0];
3: number of reals [nfloat=2].
Then follows nitem pairs of floats which are the minimum and maximum values of the grid or array data. These
items correspond with the arrays in the grd and ara files, however entries are only written if the array was defined
for the particular simulation run.
For dynamic data there is an entry for each array report step containing the maximum and minimum for that step.
These steps are defined in the ctl file. Values are first written for all items for report step 1 and then for items for
report step 2 etc.
A typical aaf file would therefore have the structure:

Method
STAT
nga 0 2
fmin1 fmax1 fmin2 fmax2 ....[repeat for all grid arrays]
DYNA
naa 0 2
fmin1 fmax1 fmin2 fmax2 ....[repeat for all dynamic arrays]
DYNA
naa 0 2
fmin1 fmax1 fmin2 fmax2 ....
DYNA
naa 0 2
fmin1 fmax1 fmin2 fmax2 ....
[repeat for all array report steps]

16.6. The Auxiliary File 1517


Tempest MORE Help, Release 8.1

16.7 The MORE Structured File

This is a ROFF file which stores various sets of static data. It may be written in formatted or binary form. The
formatted version has the file suffix .msa, the binary version the suffix .msf. The file structure is as follows:

General File Data

A filedata tag, containing details of the file, as follows:


Data item Name of data item Contains
One int byteswaptest 1
One character string filetype “stre”
One character string creationDate “time on day month year“
The value of the int contained in byteswaptest will always be 1, and may be used to check that binary file is
being read using the correct byteswapping convention.
An example of creationDate would be: “10:58:05 on 26 May 2009”. Hours, minutes and seconds are as
two integers with leading zeros if required, the month will always have three characters and the year will take 4
integers.
A version tag will follow, containing the ROFF version, currently:

major 2
minor 1

General Run Data

A rundata tag will follow the version tag. This contains overall data for the run, as follows:
Data item Name of data item Contains
One character string thisRun Name of this run
One character string initDate Date at which simulation originated
One character string restart ‘extend’ or ‘ branch’
One character string startDate Date at which simulation started
One double startTime Time at which simulation started
One character string baseRun Base run for branched restart
If the simulation is not a restart, then only initDate and thisRun will be present.
If a restart is branched, then base run information will be on another set of files with a different name, defined in
baseRun. If a restart is extended, the restart information will be appended directly onto the current file.

Non-Neighbour Connection Data

An nncs tag, containing details of the fault connections, as follows

1518 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Data item Name of data item Contains


One item nFC Number of fault connections

Array of nFC ints type Type of fault connection

Array of nFC ints i1 i-index of first connected cell


Array of nFC ints i2 i-index for second connected cell
Array of nFC ints j1 j-index of first connected cell
Array of nFC ints j2 j-index of second connected cell
Array of nFC ints k1 k-index of first connected cell
Array of nFC ints k2 k-index of second connected cell
Array of nFC ints Igr1 Local grid index of first connected cell
Array of nFC ints Igr2 Local grid index of second connected cell

Array of nFC doubles transmissibility Connection transmissibility


Array of nFC doubles thermal Connection thermal transmissibility
Array of nFC doubles area Connection areas
Note that local grid 0 is the global grid.
The type of fault connection is an integer, which will be one of the following for each connection:
1. Explicit (user specified)
2. Fault between columns in X-direction
3. Fault between columns in Y-direction
4. Local grid x-face
5. Local grid y-face
6. Local grid z-face
7. Dual porosity
8. Pinchout between layers
9. Tensor connection

Trajectory and Well Structure Information

Normally, trajectory and well structure information will only appear once in the MSF file. The exception is
extended restarts, in which case they may appear again in the file.

Trajectory Information

The trajectory tag contains geometry details for a series of trajectories. Data for each trajectory is:
One character string trajectoryName Name of trajectory

One int nPointOnTraj Number of points on trajectory


Array of nPointOnTraj doubles xTraj x-location of point on trajectory
Array of nPointOnTraj doubles yTraj y-location of point on trajectory
Array of nPointOnTraj doubles zTraj z-location of point on trajectory
Array of nPointOnTraj doubles mdTraj Measures depth of point on trajectory

Cell Intersections

The cellIntersections tag contains the measured depth entry and exit values for all cells intersected by the series
of trajectories. Data for each trajectory is:

16.7. The MORE Structured File 1519


Tempest MORE Help, Release 8.1

One character string trajectoryName Name of trajectory

One int nCellsIntersected Number of cell intersections


Array of nCellsIntersected ints cellIndex Cell indices along trajectory
Array of nCellsIntersected doubles mdEntry Measured depth at cell entry
Array of nCellsIntersected doubles mdExit Measured depth at cell exit

wellBranchStructure

The wellBranchStructure tag contains static information for a series of wells. Data for each well is:
One character string wellName Name of well

One int nBranch Number of branches in well


One int nSegment Number of segments in well
This is followed by data for each branch, as follows:
Data item Name of data item Contains
One int branchIndex Branch index: 1,...,nbranch
One character string trackName Name of track for this branch
One int parentBranch index of parent branch (can be zero if no parent)
One double mdKickOffPoint Measured depth for kick-off

One int nSegInBranch Number of segments in branch


One int isegInBranchl Lower segment index for this branch
One int isegInBranchu Upper segment index for this branch

nSegInBranch+1 doubles md Measured data at segment nodes


nSegInBranch+1 doubles tvd True vertical depth at segment nodes
nSegInBranch doubles radius Segment radius values
nSegInBranch doubles roughness Segment roughness values

Note: Segment information will only be output if the well is segmented. If an index does not exist – e.g. parent
of the first branch, will be set to -1.

wellCompletionStructure

The wellCompletionStructure tag contains static information for a series of wells. The data for each well is:
One character string wellName Name of well
One int nCompletion Number of completions in well
This is followed by data for each completion, as follows:
nCompletion ints completionSegmentIndex Segment index for each completion
nCompletion ints completionBranchIndex Branch index for each completion

Simulation Time

A time tag, containing the simulation time:


Data item Name of data item Contains
One double simtime Time in days

1520 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Details of Multi-Segment Wells

A mswdata tag, containing a block of multi-segment well data:


The mswdata tag contains details for a series of multi-segment wells. The data for each well is:
Data item Name of data item Contains
One int branchIndex branch index: 1,...,nbranch
One int nSegInBranch Number of segments in branch

nSegInBranch+1 doubles pressure Pressure at segment nodes


nSegInBranch doubles vOil Oil velocity in segment
nSegInBranch doubles vGas Gas velocity in segment
nSegInBranch doubles vWat Water velocity in segment

nSegInBranch doubles wellflowOil Oil flow rate along segment


nSegInBranch doubles wellflowGas Gas flow rate along segment
nSegInBranch doubles wellflowWat Water flow rate along segment

nSegInBranch doubles inflowOil Oil inflow flow rate to segment


nSegInBranch doubles inflowGas Gas inflow flow rate to segment
nSegInBranch doubles inflowWat Water inflow flow rate to segment
nSegInBranch doubles inflowResv Res. vol inflow flow rate to segment

nSegInBranch doubles sOil Oil saturation in segment


nSegInBranch doubles sGas Gas saturation in segment
nSegInBranch doubles sWat Water saturation in segment

nSegInBranch doubles dpFrico Oil frictional pressure loss over seg


nSegInBranch doubles dpFricg Gas frictional pressure loss over seg
nSegInBranch doubles dpFricw Water frictional pressure loss over seg
nSegInBranch doubles dpGravo Oil gravity pressure change over seg
nSegInBranch doubles dpGravg Gas gravity pressure change over seg
nSegInBranch doubles dpGravw Water gravity pressure change over seg
Note that md, tvd, and pressure are defined at each end of a segment, so a branch with 5 segments will have 6
pressure values:

Fig. 16.1: Pressures are defined at the end of each segment.

The frictional pressure loss will be positive for positive flow, up the well.
The gravitational pressure change will be positive for the usual case in which the near measured depth end of
segment has a smaller true vertical depth than the far measured depth end – i.e. the case in which the well gets
deeper as the measured depth increases.

16.7. The MORE Structured File 1521


Tempest MORE Help, Release 8.1

Details of Operations

End of File Indication

An empty eof tag terminates the file.

1522 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

16.8 The MORE Binary Log File or BLOG File

This is a ROFF file which stores target and limit data. It may be written in formatted or binary form and both will
have the same filename suffix .blg. It is generated when the keyword BLOG is used. Apart from the standard
ROFF header, the contents of the BLOG file are:
rundata tag containing details of MORE run:

version Version of MORE which created file


thisRun Name of run
initDate Initial date

if a restart run, also:

restart Followed by extend or branch


baseRun If branch, name of base run
startDate Start date of restart
startTime Start time of restart in days

For every step at which the BLOG file is written (follows the rate file times) a simtime tag, containing:

simtime Time

Between the simtime tags, other happenings during the simulation are written out as tags. At present (for MORE
8.0) these are:

glim GLIM limit triggered


wlim WLIM limit triggered
wtar Well unable to meet targets
opin Operation invoked
opex Operation executed

All of these contain:

name Name of group, well or operation


time Time of happening.

For wlim, glim, and wtar, additional data:

limitname Name of limit or target (eg wct)


value Value of the limited value (eg well water cut)
limitvalue Value of limit or target
limitaction Action taken on limit or target violation

For opin tag, series of operation argument/value pairs:

arg Argument name


val Value name

16.8. The MORE Binary Log File or BLOG File 1523


Tempest MORE Help, Release 8.1

16.9 The MORE Flux File

This is a ROFF file which stores flux region interface data. It is generated when the keyword FLXW is used. The
contents of the flux file are:
filedata tag, containing:

byteswaptest Set to 1
filetype Set to "flux"
creationDate String containing creation date of file

version tag containing ROFF version, containing:

major Set to 2 at present


minor Set to 1 at present

rundata tag containing details of MORE run:

thisRun Name of run


initDate Initial date
fluxType Type of boundary conditions, 0 for ``FLXT FLUX``, 1 for ``FLXT
,→PRES``

fluxdims tag containing flux metrics:

nfluxregions Number of flux regions


nfields Number of fields per boundary cell pair (equivalent to ncomponent)
nfluxbuffer Number of cell pairs on all flux region boundaries

For every step at which the flux file is written (follows the rate file times) a simtime tag, containing:

simtime Time

After the first simtime tag, static boundary data is written to a fluxDetails tag, containing the following arrays of
length nfluxbuffer:

iDim Direction of cell connection


ix1 x-index of first cell
iy1 y-index of first cell
iz1 z-index of first cell
iLG1 Index of local grid of first cell
flxn1 Flux region number of first cell
depth1 Depth of first cell
sfco0_1 Flow coefficient 0 of first cell
sfco1_1 Flow coefficient 1 of first cell
ix2 x-index of second cell
iy2 y-index of second cell
iz2 z-index of second cell
iLG2 Index of local grid of second cell
flxn2 Flux region number of second cell
depth2 Depth of second cell
sfco0_2 Flow coefficient 0 of second cell
sfco1_2 Flow coefficient 1 of second cell

Between the simtime tags, dynamic boundary data is written to a fluxFlows tag, containing the following arrays:

<CNAME> Rate of component <CNAME> (one array for each component in


,→simulation)

in addition, in case of FLXT PRES:

1524 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

p_1 Pressure in first cell


Pc<n>_1 Capillary pressure of phase <n> in first cell (one for each phase)
rho<n>_1 Density of phase <n> in first cell (one for each phase)
mobility<n>_1 Mobility of component <ic> in phase <ip> in first cell,
<n>:=Nc*<ic>+<ip>
p_2 Pressure in second cell
Pc<n>_2 Capillary pressure of phase <n> in second cell (one for each phase)
rho<n>_2 Density of phase <n> in second cell (one for each phase)
mobility<n>_2 Mobility of component <ic> in phase <ip> in second cell,#
<n>:=Nc*<ic>+<ip>

The tag wellData is also added between the simtime tags, containing the integer:

nWells Number of wells

and the arrays (one entry per well):

wellNames Names of wells


wellNc Number of completions
wellOilRate Oil rate
wellGasRate Gas rate
wellWaterRate Water rate
wellHeatRate Heat rate
wellSolvRate Solvent rate
wellResvRate Voidage rate

16.9. The MORE Flux File 1525


Tempest MORE Help, Release 8.1

16.10 The ROFF File Format

ROFF is an open file format for exchanging data. A ROFF file contains a number of tags, each identified by a tag
name. The tags may contain typed and named data, which may be scalar or array-valued.
A ROFF file may be formatted (ASCII) or unformatted (binary). The first 8 characters in a ROFF file are used
to define the file type. If the file is an ASCII file the 8 characters will be roff-asc, if the file is binary these 8
characters will be roff-bin. This initial string is the only exception to the series-of-tags structure.
A tag is started by the keyword tag and terminated with an endtag. The ROFF file is terminated by an eof tag.
A tag may contain data. Scalar and array values are supported.

Scalar Data

Scalar (single value) data takes the form:


• type: A character string, one of: bool, byte, int, long, float, double or char
• name: A character string used to identify the data
• value: A data value
An example of a scalar data value (in a ASCII ROFF file) are:

int nx 10
float zscale -1.0
char name "tom"

Array Data

Array (multiple value) data takes the form:


• type: A character string, one of: bool, byte, int, long, float, double or char
• name: A character string used to identify the data
• number: An int specifying how many values will follow
• values: The required number of values
An example of an array data item (in an ASCII file) is:

array int list 3


1 2 3

In ASCII mode with each item separated by a space or newline. In binary mode the items follow each other in the
file, names and character strings being separated by a binary zero (\0) value.
The representation of various ROFF items is listed in the table below. ASCII and binary files have the same
sequence of items.

1526 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

File item ASCII representation Binary representation


keyword String of alphanumerical characters, terminated by space or a new line C-string1
comment Characters delimited by ‘#’ C-string1
bool integer number, value 0 or 1 1 byte = 8 bits
byte unsigned integer number 1 byte = 8 bits
int signed integer number 4 bytes = 32 bits
long signed integer number 8 bytes = 64 bits
float floating point number in C99-convention2 4 bytes = 32 bits
double floating point number in C99-convention2 8 bytes = 64 bits
char Characters delimited by double quotes C-string1
Binary numbers have different representations on PC and UNIX/LINUX platforms. The items “int”, “long”,
“float” and “double” are byte reversed. A general ROFF reader should handle both representations, and perform
byte swapping if necessary. To automatically detect byte swapping, a special keyword “byteswaptest” should be
supplied in all ROFF files (see tag filedata below).

Reserved Information Tags

The filedata tag is storing information about the contents and the creation of the file:

tag filedata
int byteswaptest 1
char filetype "grid"
char creationDate "13:11:13 on 06 Feb 2016"
endtag

The keyword “byteswaptest” is used to check if byte swapping is necessary. (Only relevant for binary files.) The
value should always be 1.
The version tag keeps track of the file version. The current version is 2.1.

tag version
int major 2
int minor 1
endtag

ROFF Version Changes

Changes in ROFF 2.1

Improved ASCII representation of floating point numbers following C99 convention which includes clarification
for non-finite floating point numbers. ROFF 2.1 provides the additional 8 byte integer type “long” and makes a
stricter definition of “char”.

1 A C-string is a \0-terminated array of ASCII-characters, each char(acter) has one 1 byte = 8 bits. Note: ASCII is a 7-bit code. The high

bit (extended ASCII) may be used but the behaviour is unspecified.


2 C99-convention: the scientific format indicates exponents by e or E. Non-finite floating point numbers are represented in ASCII by

“Infinity”, “-Infinity”, or “NaN”. MORE uses the C-format specifiers ‘%.8g’ (float) and ‘%.16g’ (double) to get the full precision of a floating
point number while maintaining a human readable form. Examples: the float 1.2345678 · 103 looks like “1234.5678” in ASCII representation
while the orders of magnitude larger float 1.2345678 · 108 is printed in scientific format “1.2345678e+08”.

16.10. The ROFF File Format 1527


Tempest MORE Help, Release 8.1

16.11 3D Grids in ROFF Format

The 3D Grid Format

Three tags are necessary to define a 3D grid:

tag dimensions
tag cornerLines
tag zvalues

Dimension

The dimension tag specifies the number of grid cells in x, y and z directions:

tag dimensions
int nX 15
int nY 15
int nZ 4
endtag

In this document we use the term “node” for the 3D grid coordinates used to define the grid cell corners. A node
may contain multiple points if the node is a split node. The number of grid nodes in each dimension will then
be (nX+1), (nY+1) and (nZ+1). We will use the indices (i,j,k) to refer to both nodes and cells, depending on the
context. The indices (i,j,k) are increasing in the direction of the x, y and z axis respectively.

Note: The ordering of the data depends on the orientation of the local coordinate system. Here we assume a right
handed system.

Subgrids

It is possible to group the layers into subgrids, using the subgrid tag. The keyword nLayers contains the number
of layers which goes into each subgrid; for example

tag subgrids
array int nLayers 2
2 3
endtag

means that there are two subgrids. Subgrids are counted from the top of the model (see the preceding figure). The
total number of layers in the grid should match the sum of the subgrids.

Corner Lines

The corner lines are lines that go from the bottom to the top of the grid between the same pair (i,j) of nodes (in
the local coordinate system). The current version supports straight lines only. The lines are defined by the bottom
and top x, y and z values, and all coordinates are stored as a single array in the tag “cornerLines”.

tag cornerLines
array float data 1536
-1.0E+00 -1.0E+00 1.0E+00
-1.0E+00 -1.0E+00 0.0E+00
....
endtag

1528 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Fig. 16.2: Ordering of grid cells

16.11. 3D Grids in ROFF Format 1529


Tempest MORE Help, Release 8.1

The following code defines how top and bottom vertex for corner line (i,j) can be found (arr is the cornerLines
array, which is assumed to be indexed in “C” style [0, size-1]):

int pos = 6*(i*(nY+1)+j)


x_bot = arr[pos]
y_bot = arr[pos+1]
z_bot = arr[pos+2]
x_top = arr[pos+3]
y_top = arr[pos+4]
z_top = arr[pos+5]

The cornerlines should be transformed according to the coordinate system specified by the tags “translate” and
“scale”.

Z Values

For each node in the grid, up to 8 different z values can be specified, to model different kind of splits in the grid.
The following split types are available:
• 1 - No split
• 2 - Gap between cell layers / vertical split (k)
• 4 - Horizontal split (i and j)
• 8 - Both horizontal and vertical split

Fig. 16.3: Split node of type 4 and 2

There is no split types to handle split in only i or j directions. A type 4 split has to be used and the two z-values
should be duplicated. If the split node is on the edge of the grid, we may have to fill in with “dummy” values.
The number of z values for each grid node can be 1, 2, 4 or 8. Two arrays are needed to be able to store the z
values efficiently. First, there is a byte array, which stores the split type for each node. Then the z values are stored
sequentially for each node. The two arrays are stored in a single tag.

1530 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

Fig. 16.4: Split in i or j direction must be modelled as a type 4 split

tag zvalues
array byte splitEnz 1280
1 1 1 1 1 1 4 4 1 1 1 1
4 4 1 1 1 1 1 1 1 1 1 1
......
array float data 2120
0.00000000E+00 0.00000000E+00 0.00000000E+00 -2.58009033E+02
-2.05136963E+02 -1.52264893E+02 -9.93928223E+01 -4.65207520E+01
-2.24927490E+02 -1.78026611E+02 -1.31125732E+02 -8.42248535E+01
-3.73239746E+01 -1.75324463E+02 -1.35247009E+02 -9.51695557E+01
-5.50921021E+01 -1.50146484E+01 0.00000000E+00 0.00000000E+00
.....
endtag

The splitEnz array has size (nX+1)*(nY+1)*(nZ+1), and the data array has size equal to the sum of all the elements
in the splitEnz array. If the splitEnz array is missing, it can be assumed that all nodes have split type 1. The splitEnz
array can be used to build a convenient lookup table for accessing the z values.

int i;
int n = (nX+1)*(nY+1)*(nZ+1);
lookup[0]=0;
for(i=0; i < n; i++)
lookup[i+1] = lookup[i] + split_enz[i];

The lookup table will supply both split type and indices to the z values:

int node = i*(ny+1)*(nz+1) + j*(nz+1)+k;


int pos = lookup[node];
int split = lookup[node+1] - lookup[node];
if(split == 1)

16.11. 3D Grids in ROFF Format 1531


Tempest MORE Help, Release 8.1

z = zvals[pos];
if(split == 4) {
z_sw = zvals[pos];
z_se = zvals[pos+1];
z_nw = zvals[pos+2];
z_ne = zvals[pos+3]
}

For each node the z values are stored in the order:


• below_sw (the top north east corner of the cell below and south west of the node)
• below_se
• below_nw
• below_ne
• above_sw
• above_se
• above_nw
• above_ne

^k j
top| /n
| /
|/
-------------> i
w /| e
/ |
s |bot

The z values should be transformed according to the coordinate system specified by the tags “translate” and
“scale”.

Active Cells

Individual cells in the grid can be switched on and off using the “active” tag:

tag active
array bool data 900
0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0
.....
endtag

The size of the bool array should be (nX*nY*nZ) and the data stored in the order where the kindex is changing
fastest, then the j-index and the i-index slowest. In other words the state of cell (i,j,k) is found by:

bool state = data[i*nY*nZ + j*nZ + k];

Parameters

Parameters are stored much the same way as the active cell list. The parameter tag has a keyword that defines the
name of the parameter, and the continuous data values are stored in a float array. The ordering of the data is the
same as for the active cell array.

1532 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

tag parameter
char name "GR"
array float data 900
-9.99000000E+02 -9.99000000E+02 -9.99000000E+02 -9.99000000E+02
5.39286880E+01 4.53106308E+01 4.16425438E+01 3.79809189E+01
5.03324394E+01 4.57530670E+01 4.20887871E+01 3.95744324E+01
-9.99000000E+02 -9.99000000E+02 -9.99000000E+02 -9.99000000E+02
.....
endtag

We have used -999 as “undefined” value.


A few more keywords are necessary to define a discrete parameter. The discrete parameter tag should contain a
list of legal values, and also a string description for each value.

tag parameter
char name "facies1"
array char codeNames 3
"BACKGROUND"
"channel"
"splay"
array int codeValues 3
0 1 2
array byte data 900
255 255 255 255 255 0 0 2 2 2 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 0 0 0 0
....
endtag

The array itself can be either byte or integer. If the array is integer, the undefined value is -999. The byte array
cannot hold this number, so in this case we use 255 as undefined value.

Example

A simple example of a 3D grid in ROFF format is shown below and may be downloaded here. Examples of
importing ROFF grids into Tempest MORE are given in the ROFF keyword description.

roff-asc
#ROFF file#
#Creator: RMS - Reservoir Modelling System, version 6.0#
tag filedata
int byteswaptest 1
char filetype "grid"
char creationDate "28/03/2000 16:59:16"
endtag
tag version
int major 2
int minor 0
endtag
tag dimensions
int nX 4
int nY 4
int nZ 3
endtag
tag translate
float xoffset 4.62994625E+05
float yoffset 5.93379900E+06
float zoffset -3.37518921E+01
endtag
tag scale

16.11. 3D Grids in ROFF Format 1533


Tempest MORE Help, Release 8.1

float xscale 1.00000000E+00


float yscale 1.00000000E+00
float zscale -1.00000000E+00
endtag
tag cornerLines
array float data 150
-7.51105194E+01 -4.10773730E+03 -1.86212000E+03 -7.51105194E+01
-4.10773730E+03 -1.72856909E+03 -8.36509094E+02 -2.74306006E+03
-1.80319739E+03 -8.36509094E+02 -2.74306006E+03 -1.67721021E+03
-1.59790759E+03 -1.37838306E+03 -1.76964575E+03 -1.59790759E+03
-1.37838306E+03 -1.64943420E+03 -2.35930615E+03 -1.37058802E+01
-1.73318921E+03 -2.35930615E+03 -1.37058802E+01 -1.66134888E+03
-3.12070435E+03 1.35097107E+03 -1.69929712E+03 -3.12070435E+03
1.35097107E+03 -1.57925293E+03 8.72992493E+02 -3.57875952E+03
-1.83740381E+03 8.47431152E+02 -3.59302100E+03 -1.69919983E+03
1.42310211E+02 -2.19255225E+03 -1.76501416E+03 1.19165802E+02
-2.20497974E+03 -1.64164624E+03 -6.01165649E+02 -8.16412354E+02
-1.74033508E+03 -6.24019897E+02 -8.28789551E+02 -1.61610437E+03
-1.36664001E+03 5.43627319E+02 -1.72399182E+03 -1.38510107E+03
5.33268066E+02 -1.63032922E+03 -2.16166357E+03 1.88605151E+03
-1.79684680E+03 -2.18646924E+03 1.87221167E+03 -1.66471973E+03
1.82109558E+03 -3.04978149E+03 -1.84196765E+03 1.76997278E+03
-3.07830469E+03 -1.70028210E+03 1.12847400E+03 -1.63636633E+03
-1.75687329E+03 1.07964075E+03 -1.66234692E+03 -1.61605750E+03
4.02671844E+02 -2.48341324E+02 -1.71580969E+03 3.54349060E+02
-2.74442963E+02 -1.57904565E+03 -3.49764587E+02 1.11509790E+03
-1.73897253E+03 -3.95067719E+02 1.08936182E+03 -1.60136975E+03
-1.20262183E+03 2.42113232E+03 -1.81686951E+03 -1.25223315E+03
2.39345264E+03 -1.68039014E+03 2.95899072E+03 -2.41491235E+03
-2.20621582E+03 2.69251416E+03 -2.56358838E+03 -1.67514099E+03
2.39902319E+03 -9.27131165E+02 -2.24917236E+03 2.08182153E+03
-1.09244690E+03 -1.63813037E+03 1.71294312E+03 4.90207581E+02
-2.21571289E+03 1.42474670E+03 3.35464478E+02 -1.69070593E+03
9.69226196E+02 1.86272876E+03 -2.21770557E+03 7.00286621E+02
1.70488232E+03 -1.65950647E+03 -1.00056274E+02 3.03629004E+03
-2.21753052E+03 -3.17997375E+02 2.91469360E+03 -1.79164563E+03
4.25805273E+03 -1.69012305E+03 -2.25011890E+03 4.25805273E+03
-1.69012305E+03 -2.09055420E+03 3.49665405E+03 -3.25445923E+02
-2.24721460E+03 3.49665405E+03 -3.25445923E+02 -2.09085767E+03
2.73525586E+03 1.03923108E+03 -2.22715259E+03 2.73525586E+03
1.03923108E+03 -2.07578394E+03 1.97385742E+03 2.40390820E+03
-2.22719434E+03 1.97385742E+03 2.40390820E+03 -2.07759863E+03
1.21245886E+03 3.76858545E+03 -2.22732056E+03 1.21245886E+03
3.76858545E+03 -2.07979639E+03
endtag
tag zvalues
array byte splitEnz 100
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
4 4 4 4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1
array float data 160
-1.86212000E+03 -1.81760303E+03 -1.77308606E+03 -1.72856909E+03
-1.80319739E+03 -1.76120166E+03 -1.71920593E+03 -1.67721021E+03
-1.76964575E+03 -1.72957520E+03 -1.68950476E+03 -1.64943420E+03
-1.73318921E+03 -1.70924243E+03 -1.68529565E+03 -1.66134888E+03
-1.69929712E+03 -1.65928235E+03 -1.61926770E+03 -1.57925293E+03
-1.83740381E+03 -1.79133582E+03 -1.74526782E+03 -1.69919983E+03

1534 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

-1.76501416E+03 -1.72389148E+03 -1.68276892E+03 -1.64164624E+03


-1.74033508E+03 -1.69892480E+03 -1.65751465E+03 -1.61610437E+03
-1.72399182E+03 -1.69277100E+03 -1.66155005E+03 -1.63032922E+03
-1.79684680E+03 -1.75280444E+03 -1.70876208E+03 -1.66471973E+03
-1.84196765E+03 -1.79473914E+03 -1.74751062E+03 -1.70028210E+03
-1.75687329E+03 -1.70993469E+03 -1.66299609E+03 -1.61605750E+03
-1.71580969E+03 -1.67022168E+03 -1.62463367E+03 -1.57904565E+03
-1.73897253E+03 -1.69310498E+03 -1.64723730E+03 -1.60136975E+03
-1.81686951E+03 -1.77137634E+03 -1.72588330E+03 -1.68039014E+03
-2.20621582E+03 -2.20621582E+03 -1.82796802E+03 -2.20621582E+03
-2.14960815E+03 -2.14960815E+03 -1.77702563E+03 -2.14960815E+03
-2.09300049E+03 -2.09300049E+03 -1.72608337E+03 -2.09300049E+03
-2.03639270E+03 -2.03639270E+03 -1.67514099E+03 -2.03639270E+03
-1.79206702E+03 -2.24917236E+03 -1.79206702E+03 -2.24917236E+03
-1.74075476E+03 -2.19869946E+03 -1.74075476E+03 -2.19869946E+03
-1.68944263E+03 -2.14822632E+03 -1.68944263E+03 -2.14822632E+03
-1.63813037E+03 -2.09775342E+03 -1.63813037E+03 -2.09775342E+03
-1.83783435E+03 -2.21571289E+03 -1.83783435E+03 -2.21571289E+03
-1.78879150E+03 -2.16562939E+03 -1.78879150E+03 -2.16562939E+03
-1.73974878E+03 -2.11554565E+03 -1.73974878E+03 -2.11554565E+03
-1.69070593E+03 -2.06546216E+03 -1.69070593E+03 -2.06546216E+03
-1.81224512E+03 -2.21770557E+03 -1.81224512E+03 -2.21770557E+03
-1.76133228E+03 -2.17005640E+03 -1.76133228E+03 -2.17005640E+03
-1.71041931E+03 -2.12240723E+03 -1.71041931E+03 -2.12240723E+03
-1.65950647E+03 -2.07475806E+03 -1.65950647E+03 -2.07475806E+03
-1.93706641E+03 -2.21753052E+03 -2.21753052E+03 -2.21753052E+03
-1.88859277E+03 -2.16681543E+03 -2.16681543E+03 -2.16681543E+03
-1.84011926E+03 -2.11610010E+03 -2.11610010E+03 -2.11610010E+03
-1.79164563E+03 -2.06538501E+03 -2.06538501E+03 -2.06538501E+03
-2.25011890E+03 -2.19693066E+03 -2.14374243E+03 -2.09055420E+03
-2.24721460E+03 -2.19509570E+03 -2.14297656E+03 -2.09085767E+03
-2.22715259E+03 -2.17669629E+03 -2.12624023E+03 -2.07578394E+03
-2.22719434E+03 -2.17732910E+03 -2.12746387E+03 -2.07759863E+03
-2.22732056E+03 -2.17814575E+03 -2.12897119E+03 -2.07979639E+03
endtag
tag active
array bool data 48
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
endtag
tag parameter
char name "Layer"
array char codeNames 3
"1"
"2"
"3"
array int codeValues 3
1 2 3
array byte data 48
3 2 1 3 2 1 3 2 1 3 2 1
3 2 1 3 2 1 3 2 1 3 2 1
3 2 1 3 2 1 3 2 1 3 2 1
3 2 1 3 2 1 3 2 1 3 2 1
endtag
tag eof
endtag

16.11. 3D Grids in ROFF Format 1535


Tempest MORE Help, Release 8.1

16.12 The MORE Well Fractures File

This is a ROFF file which stores all data specific to the improved well fracture model. It is written in binary form
by default, but OPEN WFRA FORM in the INPU section instructs MORE to format it in ASCII. The file suffix is
.wfr in both cases. After the common ROFF header, the file structure is as follows:

Static Data

A quantities tag, containing:


Data item Name Contains
Array of strings names Short names of quantities displayed in the fracture grid
Array of strings descriptions Long descriptions of the quantities listed above
Array of strings units Physical units of the quantities listed above

Data Added during the Run

The following tags may appear at any file position. Settings made within a tag are valid from the last preceeding
simtime tag, possibly overriding previous settings.
1. A simtime tag for each report timestep, containing:
Data item Name Contains
One double simtime Simulation time
One integer reportstep Report timestep counter, starting at 1
2. A fraclist tag, listing all fractures present at the timestep for a specific well. It contains:
Data item Name Contains
A string wellname Well name
Array of integers fracindex Internal fracture index, unique for each fracture per well
Array of strings fracname User-defined or generic fracture name
Array of integers ibranch Branch index
Array of integers isegment Segment index
Array of integers nconnections Number of connections from fracture into wellbore
Array of integers ix i-index of fracture-wellbore connection, for all connections for all
fractures listed above
Array of integers iy j-index of fracture-wellbore connection, for all connections for all
fractures listed above
Array of integers iz k-index of fracture-wellbore connection, for all connections for all
fractures listed above
Array of integers iLG local grid index of fracture-wellbore connection, for all connec-
tions for all fractures listed above
3. A fracgrid tag, listing all fractures present at the timestep for a specific well. It contains:
Data item Name Contains
A string wellname Well name
One integer fracindex Internal fracture index
Array of 3 integers dimension Dimensions nx , ny , nz of fracture grid, number of cells in local i, j,
k direction
This tag is followed by three tags:
(a) A cornerLines tag
Data item Name Contains
Array of (nx + 1) × 6 doubles data Corner point values (x, y, z)bottom , (x, y, z)top for
each pillar defining the fracture grid cells, increasing
in local i direction

1536 Chapter 16. Tempest MORE File System


Tempest MORE Help, Release 8.1

(b) A zvalues tag


Data item Name Contains
Array of (nx + 1) × (nz + 1) doubles data Depth values of the cell boundaries on each pil-
lar, for each pillar from bottom to top
(c) A parameter tag
Data item Name Contains
Array of integer simIJKGs Tuples of coordinates i, j, k and local grid index for each cell
intersected by the well fracture
The section is closed by an empty endfracgrid tag.
4. A parameter tag
Data item Name Contains
A string wellname Well name
One integer fracindex Internal fracture index
Array of nx × nz doubles quantity Fracture grid cell data for each of the quantities listed in the
quantities tag

End of File Indication

An empty eof tag terminates the file.

16.12. The MORE Well Fractures File 1537


Tempest MORE Help, Release 8.1

1538 Chapter 16. Tempest MORE File System


CHAPTER

SEVENTEEN

TEMPEST MORE TECHNICAL REFERENCE

17.1 Overall Non-Linear Formulation of MORE

Reservoir simulators such as MORE solve a set of fluid conservation equations. Suppose there are Nc conserved
components. In a compositional run these are hydrocarbon components such as methane, ethane and propane. In
a black oil run the conserved components are stock tank oil, stock tank gas and water (a black oil model assumes
that the produced and injected hydrocarbons are always a mixture of the same two basic conserved surface fluids).
The discretisation system used in reservoir simulation is normally finite volume. The solution variable value is
associated with the volume Vp of a cell, and the flow terms are obtained as functions of the solution values over a
local stencil of cells.

Solution variables

Two sets of solution variables are used by MORE. One possible set are natural variables, the pressure and one
or two independent saturation variables. For example, for a three phase oil, gas and water system the solution
variables are

{P, So , Sg }

with

Sw = 1 − So − Sg

Natural variables are used in fully implicit black oil mode and for steam injection when no hydrocarbon gas is
present. The set of these for the Na active cells in the problem is the current solution

X = {P1 ..PN a , So1 , .., SgN a }

The alternative variable set, used in all other cases, and in particular for compositional studies, are molar variables.
These comprise the pressure and molar densities per unit reference volume of each component present. Again, the
set of these all the active cells in the problem is the current solution

X = {P1 ..PN a , m11 , .., mN cN a }

The advantage of the natural variable set is that fewer variables are required. For example, the three phase black
oil example above has only three solution variables, while the molar formulation would require solving for the
pressure and three additional molar quantities (stock tank oil, gas, and water). However, there is a small extra
complexity in that variable substitution may be required. For example, in an oil-gas-water system a cell may
contain oil but no free gas. In that case Sg is dropped as a solution variable and replaced by the bubble point of
the oil. Further details are given in the chapter on Black Oil

Governing equations

The mass conservation equation for active cell i for the time step T to D = T + ∆T is

Vri · mciD − Vri · mciT = ∆T · (Qci − Σj Σp Fcpij ) (17.1)

1539
Tempest MORE Help, Release 8.1

where
• Vri is the pore volume of cell i at reference pressure
• mci is the molar density per unit reference volume of conserved component c in cell i
• Qci is the injection rate or minus the production rate of component c in cell i due to wells
• Fcpij is the flow rate of component c in phase p in the direction from cell i to its neighbour j and the sum is
over all neighbours j
In the molar variable case mciD are primary variables; in the natural variable case mciD may be obtained as
functions of the natural variables.
Normally the possible phases p are reservoir oil, gas and water, or, more precisely, hydrocarbon liquid, hydrocar-
bon vapour and an aqueous phase. Usually a component is present in more than one phase; that is, stock tank gas
may be dissolved in the reservoir oil, or oil may vapourise into the gaseous phase.
The actual pore volume of a cell is Vp = br . Vr , where Vr is the pore volume of cell at reference pressure, and
will vary as function of pressure. A common simple form for br is:

br = 1 + Cr · (P − Pref )

Where Cr is commonly known as the rock compressibility, but is really a pore volume expansivity, and Pref is
the rock compressibility reference pressure.
Note that as the reference pore volumes are constant, the use of molar densities per unit reference volume makes
the mass accumulation operator on the left hand side of equation (17.1) linear in the solution variables. When these
equations are solved using Newton’s method, successive linearisation, the mass accumulation term superconverges
in one iteration, so that the accumulation of mass in the reservoir is always equal to the sum of the well injection
and production terms. The flow terms Fcpij sum to zero over all cells, as a finite volume scheme is conservative,
each flow term being an inflow for one cell and an outflow for another.
In general the flows Fcpij may involve the solution values of a number of cells, the linear pressure dependence of
flows given by Darcy’s law leading to an expression of the type
X
Fcpij = Mcpij Tik · ∆Φpik
k

where Tik are flow coefficients. On a regular grid, the flows Fcpij take a two-point form, depending only on the
pressures of the cells i and j. The flow coefficients are then termed transmissibilities, and the flow takes the form

Fcpij = Tij · Mcpij · ∆Φpij (17.2)

where Tij is the transmissibility between cells i and j. ∆Φpij is the potential difference of phase p between cell
i and cell j, which includes pressure, gravity and capillary pressure contributions

∆Φpij = Pi − Pj − g · ρp (di − dj ) + Pcpi − Pcpj

• g is the gravity constant


• ρp the density of phase p
• di the depth of cell i
• Pcpi the capillary pressure of phase p in cell i.
Mcpij is the mobility of component c in phase p for the contribution to the flow between i and j, given by

Mcpij = xcp · Krp /µp

where
• xcp is the concentration of component c in phase p
• Krp is the relative permeability of phase p
• µp is the viscosity of phase p

1540 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

This is often set to an upstream value of the mobility, depending upon the sign of the potential difference. In the
natural variable case we now have a complete set of equations. However, in the molar variable case we do not,
since there are Nc + 1 solution variables per cell (P, m1 , . . . , mN c ) but only Nc conservation equations. The extra
equation needed to obtain closure is the volume balance condition that the volume of fluid in a cell equals the pore
volume of that cell, i.e.

Vp (P ) − Vr · vf (P, m1 , ..mN c ) = 0 (17.3)

where vf is the volume per reference volume of (m1 , . . . , mN c ) moles of fluid at pressure P , and hence Vr · vf
is the fluid volume. The fluid volume is the sum of individual phase volumes per unit reference volume vf =
vo + vg + vw . The relative volumes vo , vg and vw for each phase are used to determine the fluid saturations.
These volumes are obtained knowing the total number of moles in each phase and the compressibility factors.

Solution method

We now have Nc + 1 equations and variables per cell in the molar variable case, and Nc equations and variables
per cell in the natural variable case. In both cases moving everything to the left hand side results in a set of
nonlinear equations in residual form

R(X) = 0

The basic solution technique is Newton’s method, updating the solution vector X at each iteration as

X → X + ∆X

∆X = −J −1 · R(X)
J = dR/dX being the Jacobian. This large set of linear equations must be solved at each non-linear iteration,
further details are given in Solution of the Linear System of Equations.
Successive Newton iterations are taken until the convergence criteria is met. By default, this is based on a maxi-
mum norm: for each component, the largest normalized residual must be smaller than a given tolerance, defaulted
to 0.005. When using natural variables, the volume error must also be smaller than this tolerance.
If a time-step does not converge within a maximum number of iterations (set to 15), the time-step is aborted and
MORE will attempt to solve the equations using a smaller time-step. Further information on how MORE selects
time-steps may be found under Timestep Selection and Controls.
The convergence tolerance and maximum number of iterations may be changed using the VTOL keyword, while
it is also possible to select a looser convergence criteria based on the root-mean-square norm using the RMS
keyword. However, the default values are generally sufficient and is not recommended to change these.

KMOD and PMOD options

If the KMOD and PMOD options are employed the above equations are extended as follows

Vp = Pmod · br · Vr

If Pmod reduces the pore volume, the volume balance equation will require a matching reduction in the fluid
volume, and consequently causes an increase in pressure.

Note: MORE currently assumes Pmod = 1 when initialising the study.

Kmod acts as a multiplier on the transmissibilities, so that Fcpij above becomes

Fcpij = Kmodij · Tij · Mcpij · ∆Φpij

17.1. Overall Non-Linear Formulation of MORE 1541


Tempest MORE Help, Release 8.1

Note: Kmod is a function of the flow across the interface between cells i and j.

If Kmod is defined at the cell centres, this is interpolated as

Kmodij = (Kmodi + Kmodj )/2

Kmod also acts upon the completion connection factors which control the connection between the well and the
reservoir.

Solution technique

MORE can solve the governing equations using the fully implicit, IMPES (IMplicit Pressure Explicit Saturation)
and AIM (Adaptive Implicit Method) methods. In the fully implicit method, the flow terms Fcpij are all evaluated
at time T + ∆T . This leads to a method that is unconditionally stable, and is the default method for black-oil runs.
In the IMPES method, only the pressures are evaluated at time T + ∆T but mobilities, phase densites, and
capillary pressures are evaluated at time T . This method is faster, as only the pressure variables must be solved
at each Newton iteration, but is potentially unstable. Nevertheless, it is the default method for equation of state
studies where the number of components is large, and the fully implicit method is too computationally expensive.
Finally, the adaptive implicit method is a compromise between the two methods, with only a small number of cells
treated fully implicit and the rest IMPES. It can be beneficial for runs where only a few cells are difficult to solve.
The solution method may be selected using the IMPL keyword, while for the AIM method users must additionally
set the degree of implicitness using the AIMT keyword.

MORE IMPES formulation

To obtain an IMPES formulation in molar variables the volume balance residual (17.3) for cell i

Rvi = Vpi (P ) − Vri .vf i (P, m1 , ..mN c ) = 0

T
can be expanded around the value Rvi at the start of the time step:
 
T ∂Vpi X ∂vf i
Rvi = Rvi + − Vri .∂vf i /∂Pi .∆Pi + Vri .∆mci = 0 . (17.4)
∂Pi c
∂mci

The expressions for ∆mci obtained from the conservation equations (17.1) may then be substituted into (17.4) to
form a pressure-only equation for Pi , solving for Rvi = 0 and given by
 
T ∂Vpi ∂vf i X ∂vf i
Pi − PiT + ∆T

Rvi = Rvi + − Vri (Qci + Σj Σp Fcpij ) . (17.5)
∂Pi ∂Pi c
∂mci

In this expression, PiT is the pressure at the start of the time step. The flow terms involving Qci and Fcpij on the
right hand side in (17.5) are treated as implicit functions of pressure Pi only. Saturations, mobilities and densities
are explicitly evaluated at the start of the timestep. The Jacobian is given by J = dR/dP . For later use, we will
T
refer to Rvi as the support volume.
This can be solved for pressures, and the molar density changes then obtained from the conservation equations
(17.1). At the end of this process, the volume balance residual can be re-evaluated to act as the basis for the next
time step.

Volume balance residual

Although the IMPES system is efficient, there is a disadvantage in that the re-evaluated volume balance residual
will not generally be zero at the end of the time step. Normally this volume error is monitored and acts as a
condition on the time step size. However special treatment is required if a time step fails to solve. As a volume

1542 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

error exists, reducing the time step will not improve the situation, resulting in a series of time-step reductions
terminating the run. The best solution in this case is to add a temporary support volume to correct the volume,
and then decay the support volume over a period of time. The volume error which needs to be corrected by the
recovery step is then proportional to the time step, and a step reduction will generally be followed by a successful
step.
In case a run exhibits repeated chops, MORE takes special care to prevent the support volume - and hence volume
balance error - from increasing too far, limiting both the support volume of individual cells and the total reservoir
support volume to a specified tolerance. However, if the time step fails to solve within the specified tolerance, this
results in a series of time-step reductions terminating the run. In order to prevent this, the SERV keyword may be
used to adjust the support volume tolerances, or remove them altogether (for back-compatibility with MORE 7.1).
However, the default values are generally sufficient and is not recommended to change these. If volume balance
errors lead to convergence issues a recommended alternative is to switch to the IMPEQ method, which ensures
that the volume balance residual is converged to zero.

CFL limit

In IMPES models the time step size is restricted by the explicit treatment of mobilities and densities. A measure of
the stability of the system is the Courant-Friedrichs-Lewy (CFL) factor, which essentially measures the throughput
ratio: the ratio of the amount of fluid flowing through a cell in a time step to the amount in the grid cell. IMPES
runs become unstable when the throughput ratio is greater than 1, but instability can sometimes be seen for lower
values of throughput value. For this reason, users may specify a limit on the CFL factor explicitly using the DTMX
keyword.

Adaptive Implicit Method (AIM)

The Adaptive Implicit Method (AIM) is a hybrid between the fully implicit and IMPES methods. The fully implicit
method is always stable and permits the use of large timesteps. This is recommended for black oil models, however
for a compositional case with N c components, Newton’s method leads to N c or N c + 1 linear equations per grid
cell as described in Solution method which can be very expensive, and even impractical for large simulations. By
contrast, the IMPES method only needs to solve one linear system for pressure at each time step, which can be
done efficiciently, but it also requires small timesteps due to the CFL limit.
The adaptive implicit method is a compromise between the fully implicit and IMPES methods designed to avoid
the small time steps of the IMPES method while retaining some of the advantages of a smaller linear system.
In the adaptive implicit method, cells with a high CFL or throughput are treated fully implicitly to mitigate the
effect of the small IMPES timestep. Thus cells are adaptively chosen to be solved implicitly for all variables
{P, m1 , ..mN c } or just for pressure P . Any cells containing active well completions will always be treated fully
implicitly when using the AIM method.
The AIM method is selected by either the ADAP or the IMPL keywords, together with the AIMT keyword in the
INPU section. The AIMT keyword should be used to specify the target fraction of implicit cells in the model - for
example selecting 5% of cells to be treated implicitly. MORE will periodically reset the AIM status of each cell
during the run to ensure the most efficient distribution of implicit cells. The frequency at which this happens can
also be controlled via the AIMT keyword.
The formulation of the MORE IMPES method described previously is modified when using the AIM method in
MORE. For explicit cells, since MORE v8.0, MORE uses a mofified version of IMPES, the IMPEQ formulation
described below.
In the example below, an AIM simulation has been performed and the AIM status reported to the MORE file
system. Displaying the AIM status, explicit cells are coloured blue and implicit cells (including those with active
completions) are coloured red. The AIM status of the cells evolves over time from time t = 0 to the final time
t = tend according to the CFL limit for cells.

17.1. Overall Non-Linear Formulation of MORE 1543


Tempest MORE Help, Release 8.1

Fig. 17.1: AIM status and CFL for a compositional example with a target of 5% implicit cells

MORE IMPEQ formulation (Implicit Pressure and Explicit Quantities)

With the adaptive implicit method, the IMPES pressure equation (17.5) based on linearising the volume balance
residual is inconsistent with the pressure equation formed from removing the implicit dependence on quantities
(saturations, mobilities, densities) in the fully implicit formulation. For this reason, a modified IMPES formulation
is used. To distinguish this from the original MORE IMPES formulation, the modified formulation will be referred
to as IMPEQ.
Again, the volume balance equation is used

Vp (P ) − Vr · vf (P, m1 , ..mN c ) = 0 , (17.6)

together with the Nc component conservation equations exactly as for (17.1), reproduced here for completeness

Vri · mciD − Vri · mciT = ∆T · (Qci + Σj Σp Fcpij ) . (17.7)

Unlike in the fully implicit formulation, the IMPEQ formulation holds the quantities such saturations, relative
permeabilities, mobilities and densities appearing in the flow terms Qci and Fcpij in (17.7) to be fixed at the
beginning of the timestep. Qci (P ) and Fcpij (P ) are functions only of pressure P during the time step.
Now the Jacobian for (17.6) and (17.7) leads to a linear system for changes in both pressure ∆P and moles
{∆m1 , ..∆mN c }. However, derivatives with respect to moles appear only on the diagonal of the Jacobian, because
quantities are treated explicitly in the flow terms. Therefore, Gauss elimination may be used on the diagonal blocks
to expose a pressure equation without affecting the sparsity structure of the off-diagonal Jacobian. The result is
a linear equation for the change in pressure ∆P which couples all the cells in the grid. The update to molar
densities {∆m1 , ..∆mN c } in each grid cell is obtained by simple back-substitution using the diagonal blocks in
the Jacobian only.
At each Newton iteration using the IMPEQ method, first the pressure equation is solved for the update ∆P , then
the molar densities {∆m1 , ..∆mN c } are updated by back-substitution. Next, The pressures P and molar densities
{m1 , ..mN c } are updated and then the fluid is flashed to obtain the liquid and vapour compositions and to update
the fluid volume vf in (17.6).
In the IMPEQ formulation, convergence is monitored using both (17.6) and (17.7) as in the fully implicit method.
The IMPEQ method described does more work per iteration than the original MORE IMPES formulation, since

1544 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

a flash is required at each iteration to update the fluid volume and ensure a conserved volume balance equation
(17.6). However, the volume balance residual is now converged at the end of the timestep.
The IMPEQ formulation is selected as the default for explicit cells when using the adaptive implicit method (IMPL
or ADAP) in MORE since v8.0.
The original MORE IMPES formulation is the default IMPES method for compositional studies when AIM is not
requested. The IMPEQ formulation may be requested for IMPES runs using the IMPQ keyword if required. It
is not generally recommended to change the defaults in MORE, though the IMPEQ formulation may improve
performance of IMPES runs with severe time step chopping when volume balance errors accumulate.

17.1. Overall Non-Linear Formulation of MORE 1545


Tempest MORE Help, Release 8.1

17.2 Black Oil

The black oil option in MORE can be used to simulate reservoir processes where the hydrocarbon fluids can be
represented as:
• Conventional Black Oils (Oil and Solution Gas)
• Modified Black Oils (with Oil Soluble in the Gas Phase)
• Dry Gas (gas with no dissolved oil)
• Oil (and dead oil, with no dissolved gas)
All of these treatments of the hydrocarbon fluid can be used with or without the presence of the water phase.

Black Oil Fluid Properties

In a black oil simulation, the hydrocarbon system is represented by two components, stock tank oil and stock tank
gas. The solubility of the gas component in the oil phase is defined through the solution gas oil ratio, Rs . The oil
component is nonvolatile in a conventional black oil simulation. However, a modified black oil simulation uses the
gas liquid content, Rv , to define the amount of oil component in the gas phase. The solution gas oil ratio and the
gas liquid content are defined as functions of pressure. The volumetric properties for the hydrocarbon system are
defined through the formation volume factors as a function of pressure. Viscosities are also defined as functions
of pressure. In the undersaturated region (for pressures above the bubble point), the volumetric properties and
viscosities are treated as linear functions of pressure.
The slopes of these linear relationships are obtained as the oil compressibility −Bo−1 (dBo /dp) and the normalised
viscosity slope µ−1
o (dµo /dp), respectively.

Except in fully implicit mode, the supplied black oil PVT tables are internally converted into a compositional
format, that is, into compositions and molar densities. In fully implicit black oil mode the simulator uses pressures
and saturations as solution variables and the flow equations are expressed in terms of stock tank oil, water and gas
surface volumes. However, the data input is the same in all cases.
The fluid properties data is input to the simulator as PVT tables. The oil PVT data is input using the OPVT
keyword and the gas PVT data is input using the GPVT keyword.

Oil PVT Data

The following examples show typical oil PVT table input to the simulator and different methods of supplying the
undersaturated oil properties.

Note: MORE uses mscf/stb for gas-oil ratio (Rs) in field units, which is standard, but uses (1000 sm3 )/sm3 in
metric units. Some simulators use sm3 /sm3 in metric units.

OPVT:Po Bo visco Rs Co Cv
14.7 1.062 1.040 0.001 /
264.7 1.150 0.975 0.0905 /
514.7 1.207 0.910 0.1800 /
1014.7 1.295 0.830 0.371 /
2014.7 1.435 0.695 0.636 /
2514.7 1.500 0.641 0.775 /
3014.7 1.565 0.594 0.930 /
4014.7 1.695 0.510 1.270 13.69E-06 90.E-06 /
5014.7 1.827 0.449 1.618 /
9014.7 2.357 0.203 2.984 /
/end

1546 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

In this example, oil compressibility and the normalised viscosity slope are supplied for one saturation pressure.
The slopes at this pressure are calculated and used at all other saturation pressures for calculating the equivalent
of Bo and µo in the undersaturated region. If the oil compressibility and oil viscosity slopes are provided at more
than one saturation pressure they will be interpolated.

OPVT Po Bo visco Rs
50.0 1.059 3.256 0.065 /
150.0 1.075 2.998 0.100 /
250.0 1.091 2.740 0.135 /
500.0 1.117 2.345 0.198 /
1000.0 1.157 1.930 0.297 /
1500.0 1.195 1.760 0.388 /
1700.0 1.211 1.728 0.424 /
3000.0 1.200 1.929 0.424 /
/end

In the preceding example, the oil compressibility and the normalised viscosity slope are not input directly. How-
ever, they are determined from the last two data points, supplied at a constant Rs value. In other words, the last
pressure is interpreted as an undersaturated pressure, providing oil data at Pbub = 1700, P = 3000. For saturated
oil above Pbub = 1700 an extrapolation of the saturated data at 1500 and 1700 will be used. Internally, this type
of data is converted into compressibility form.
Generally, you are encouraged to enter the table in 6-column form with at least one oil compressibility and one
viscosity slope value.
Alternatively, for dead oil, data should instead be entered using the OPVD keyword instead.
The following examples illustrate the input of a dead oil OPVD table.

OPVD Po Bo visco
1.0 1.03 0.311
50.0 0.98 0.322
100.0 0.97 0.332
150.0 0.963 0.340
200.0 0.954 0.349
250.0 0.941 0.356
300.0 0.938 0.367
350.0 0.921 0.380
400.0 0.911 0.387
450.0 0.901 0.390
500.0 0.987 0.398
/

Gas PVT Data

The GPVT keyword may be used to enter data for both wet and dry gas, as illustrated in the following examples.

GPVT: Pg Bg viscg
14.7 166.7 0.008 /
514.7 6.274 0.0112 /
1014.7 3.197 0.014 /
2014.7 1.614 0.0189 /
3014.7 1.080 0.0220 /
4014.7 0.811 0.0268 /
5014.7 0.649 0.0309 /
9014.7 0.386 0.0470 /
/end

The preceding example illustrates gas PVT data input for a dry gas phase. Gas formation volume factors and
viscosities are supplied as functions of pressure.

17.2. Black Oil 1547


Tempest MORE Help, Release 8.1

GPVT Pg Bg viscg Rv
1200 2.932 0.01523 0.01919
2000 1.7399 0.01731 0.02338
2800 1.2628 0.02042 0.03331
3200 1.1239 0.02237 0.03997
4315 0.8980 0.02900 0.06270
5515 0.7908 0.03831 0.09814
6765 0.7580 0.05297 0.15369
/end

The preceding example illustrates gas PVT data input for a wet gas phase. The gas liquid (condensate) content is
supplied as a function of pressure. Note that this is the only table needed for a wet gas problem: a second dry gas
table is not required.

Support for ECLIPSE black oil tables

MORE also supports the input of black oil tables in ECLIPSE form as follows:
ECLIPSE keyword MORE keyword
PVTO OPVT
PVDO OPVD
PVTG GPVT
PVDG GPVT
PVCDO No equivalent
When using ECLIPSE PVT keywords in MORE, it is recommended that the ETUN keyword should also be used.
By default, MORE will use interpolation for Bp and µp where Bp and µp are the formation volume factor and
viscosity for phase p. Using ETUN means that MORE will use interpolation for 1/Bp and 1/ (Bp µp ) to match
results from ECLIPSE. The difference in the interpolation method is most noticeable where PVT data is sparsely
populated or where the PVT tables are extrapolated beyond the range of user data.

Multiple PVT Tables

Multiple sets of PVT tables can be input to define variations in fluid properties in the reservoir. The GRID array
PVTN is then used to assign a particular set of PVT tables to a specific portion of the reservoir.

Note: in previous versions of MORE, each PVT table was defined at a particular temperature via the preceding
TEMP card. Then by specifying the TEMP array in the INIT section, an effect similar to that described above
using PVTN could be achieved.

Interpolation of PVT tables using the TEMP array is no longer supported; the nearest integer value and hence
specific table is used.

API Tracking

An API Tracking option is available to track variable API gravity in the reservoir. In this case, multiple oil PVT
tables are required to define fluid properties for a range of API values. See the API Tracking Technical Reference
for more details.

Viscosity Variation with Pressure Gradient

The OVPG keyword provides a simple shear-thinning model for the oil phase. Typically, this is a stiction effect:
the oil is more viscous when not moving and the viscosity drops as the oil velocity increases.

1548 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The approach used in MORE is to modify Darcy’s law as follows:

Fij = fshear · Tij · Mij · ∆Φij

where fshear = fshear (∇Φ) is a shearing factor that is assumed to depend only on the potential gradient. It varies
continuously between fshear = Fo < 1 at ∇Φij = GP0 and fshear = 1 at GP1 , and it remains constant outside the
potential gradient interval (GP0 , GP1 ).

The quantities Fo , GP0 , and GP1 are specified with the OVPG keyword in the FLUId section. The shearing factors
FSHX, FSHY, and FSHZ may be displayed in the 3D viewer by using the STOR keyword.
An analogous shear-thinning model is also available for water using the WVPG keyword.

Initialisation of black oil models

In a black oil model, initial compositions may be set using keywords RSVD and RVVD. Alternately, the saturation
pressure may be set using PBVD or PDVD. For runs with non-equilibrium initialisation, the initial dissolved
gas-oil ratio may be entered as a grid array RS. For more information, see the chapter on Initialisation.

Formulation of the black oil model

By default, black oil runs in MORE use a natural variable set as discussed in the chapter on formulation. The
complete set of possible natural variables used in a black oil run is

{P, So , Sg , Pb , Rv }

where P is the oil pressure, So and Sg are the oil and gas saturations, Pb is the bubble point pressure and Rv is
the vapour oil-gas ratio.
Solution variables are switched according to the phase state of a grid cell. Only three solution variables are
required in each grid cell for a three phase case containing oil, water and gas. Cells containing both free oil and
free gas components (phases) use P, So and Sg , with the assumption that the phases are in equilibrium. This
means that live oil and wet gas are saturated at the current pressure according to the PVT data.
When free gas vanishes, but oil is present with dissolved gas, the variables are switched to P, So and Pb . If oil
vanishes, but gas is present, the variables become P, Sg and Rv . A water-filled cell adopts P, So and Sg as solution
variables (where So = Sg = 0).
Other special cases occur with dry gas or dead oil and when there are only two phases present. For example, in an
oil-water model with no gas present, the variables are just P and So . Note that MORE uses Pb as a solution variable
to characterise undersaturated oil, whereas some other simulators use the dissolved gas-oil ratio Rs instead.

17.2. Black Oil 1549


Tempest MORE Help, Release 8.1

In the three phase case with both live oil and wet gas, the mass conservation equations for oil, water and gas in
each active cell i for the time step T to D = T + ∆T are then
 D  T
So Sg So Sg
VriD + Rv − VriT + Rv = ∆T · (Qoi − Σj Foij )
Bo Bg Bo Bg
 D  T
Sg So Sg So
VriD + Rs − VriT + Rs = ∆T · (Qgi − Σj Fgij )
Bg Bo Bg Bo
 D  T
D Sw T Sw
Vri − Vri = ∆T · (Qwi − Σj Fwij )
Bw Bw

where
• Vi is the reservoir pore volume of cell i at the current pressure,
• Qpi is the injection rate or minus the production rate of component p in cell i due to well injection and
production,
• Fpij is the flow rate of component p in the direction from cell i to its neighbour j and the sum is over all
neighbours j.
The conventional black oil equations governing flows of oil, water and gas for two-point flows are:
 
Kro Krg
Foij = Tij ∆Poij + Rv ∆Φgij
Bo µo Bg µg
 
Krg Kro
Fgij = Tij ∆Pgij + Rs ∆Φoij
Bg µg Bo µo
 
Krw
Fwij = Tij ∆Φwij
Bw µw

where
• Tij is the transmissibility between cells i and j,
• Kro , Krg and Krw are relative permeabilities for oil, gas and water phases,
• Bo , Bg and Bw are formation volume factors for oil, gas and water phases,
• µo , µg and µw are viscosities for oil, gas and water phases,
• ∆Φoij , ∆Φgij and ∆Φwij are the potential differences for oil, gas and water between cells i and j.
The potential difference ∆Φoij is given by

∆Φoij = Pi − Pj − ρoij g (di − dj )

where
• Pi , Pj are the oil pressures in cells i and j,
• ρij is an averaged oil mass density for the connection ij,
• g is the gravity constant,
• di , dj are the depths of cells i and j.
For the water and gas phases

∆Φwij = (Pi − Pcowi ) − (Pj − Pcowj ) −ρwij g (di − dj )


∆Φgij = (Pi + Pcogi ) − (Pj − Pcogj ) −ρgij g (di − dj )

where Pcowi and Pcogi are the oil-water and gas-oil capillary pressures for cell i.

1550 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.3 Equations of State

Hydrocarbon fluid thermodynamic properties are calculated using an equation-of-state in MORE EOS. This mode
allows the user to select any of the popular cubic equations-of-state: Redlich-Kwong (RK), Soave-Redlich-Kwong
(SRK), and Peng-Robinson (PR, PR79).

Cubic Equations of State

The cubic equations-of-state can be expressed in a general form as follows


RT a
p= −
ν − b (ν + c1 b)(ν + c2 b)
In the above equation, p is the absolute pressure, T is the absolute temperature, ν is the molar volume, R is the
universal gas constant and a and b are equation-of-state parameters. The constants c1 and c2 take on the following
values√for the popular
√ equations-of-state, Redlich-Kwong (1,0), Soave Redlich-Kwong (1,0), and Peng-Robinson,
(1 + 2, 1 − 2) respectively. The equation-of-state parameters, a and b for each component are expressed as

Ωa R2 Tc2
a=
Pc
Ωa = Ω0a α(Tr , ω)
Ωb RTc
b=
Pc
0
Ωb = Ωb β(Tr , ω)

where the function β(Tr , ω) = 1 for the popular cubic equations-of-state, ω is the acentric factor, and subscripts c
and r denote critical and reduced conditions. Ω0a , Ω0b , α and β depend on the equation of state chosen, as follows.

Redlich-Kwong

1
Ω0a = 0.42748, Ω0b = 0.08664, α(Tr , ω) = √
Tr

Soave Redlich-Kwong
h p i2
α(Tr , ω) = 1 + κ(1 − Tr )
κ = 0.48 + 1.574ω − 0.176ω 2
Ω0a = 0.42748 Ω0b = 0.08664 .

Peng-Robinson

Ω0a = 0.45724
h p i2
α(Tr , ω) = 1 + κ(1 − Tr )
Ω0b = 0.07780
κ = 0.37464 + 1.54226ω − 0.26992ω 2 .
It is possible to modify these Ωa and Ωb values using keywords OMGA and OMGB.
The simulator uses the above κ function when the PR option is chosen on the EQUA keyword. In 1979, Peng
and Robinson extended the above κ function to heavier hydrocarbon components (the default option PR79 on the
EQUA keyword).

κ = 0.379642 + 1.48503ω − 0.164423ω 2 + 0.016666ω 3 .

17.3. Equations of State 1551


Tempest MORE Help, Release 8.1

The simulator uses the κ function for components with acentric factors greater than or equal to 0.49. The parame-
ters Ωa and Ωb can be modified for the RK, SRK, PR or PR79 equations using the OMGA and OMGB keywords.

Mixing Rules

For mixtures, a and b are calculated as follows.


X
a= xi xj aij
i,j

aij = (1 − kij ) ai aj
X
b= xi xj bij
i,j

bij = 0.5(1 − mij )(bi + bj ) ,

where x denotes mole fraction and where kij and mij are the binary interaction parameters. When all mij are
zero, the mixing rule for b reduces to the familiar form
X
b= x i bi .
i

The binary interaction parameters default to zero if they are not supplied.

Volume Translation

Volume translation parameters can be used to obtain improved density predictions from cubic equations of state
as follows

ν̃ = ν − c ,

where ν̃ is the translated molar volume, ν is the un-translated molar volume and c is the volume translation
parameter (see Jhaveri and Youngren,1 ). The VOLU keyword is used to supply a dimensionless volume translation
parameter, s, where s = c/b and b is the equation-of-state parameter. It can be shown that the phase equilibrium
relationships are the same with or without the volume translation parameter, c. The phase equilibrium and density
calculations are performed as if there is no volume translation. The calculated molar volume is then corrected
using the volume translation parameter. For example, the translated liquid molar volume is given by
X
ν̃` = ν` − xi ci .
i

Temperature

The TEMP keyword is used to supply temperatures and the values of temperature dependent data. If more than
one temperature is entered, the first must be the reservoir temperature. Temperatures must also be supplied for
each separator stage using equation-of-state calculations (EOS option) and at standard conditions (60°F or 15°C)
when the equation-of-state is used to calculate separator liquid densities (ZFACtor option in SEPA keyword).

Component Properties Library

The simulator contains a library of component names and properties. These property values can be overridden by
supplying values using the PROP keyword. For component names not in the library, the user must supply these
values, except for the critical Z-factor and specific gravity which can be calculated using built-in correlations.
1 Jhaveri, B. S. and Youngren, G. K., Three-Parameter Modification of the Peng-Robinson Equation-of-State to Improve Volumetric

Predictions, SPE Reservoir Engineering (Aug. 1988) 1033-40

1552 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Mole Critical Temp Critical Pressure Acentric Critical Specific


Weight Deg R psia Factor Z-factor Gravity
N2 28.016 227.29 491.68 0.0390 0.29000 0.80800
CO2 44.009 547.58 1070.7 0.2390 0.27400 0.82700
HS2 34.080 671.76 1296.6 0.0810 0.28400 0.78920
C1 16.043 343.00 666.45 0.0105 0.28800 0.30000
C2 30.070 549.59 707.79 0.0992 0.28500 0.35630
C3 44.097 665.73 616.41 0.1523 0.28100 0.50690
IC4 58.124 734.13 529.39 0.1830 0.2830 0.56250
C4 58.124 765.29 551.14 0.1996 0.2740 0.58380
IC5 72.146 828.69 491.68 0.2270 0.2710 0.62420
C5 72.146 845.19 488.78 0.2510 0.2630 0.63060
C6 86.172 913.79 436.56 0.2990 0.2640 0.66330
C7 100.20 972.54 397.40 0.3490 0.2630 0.76245
C8 114.232 1023.84 361.14 0.3980 0.2590 0.78373
C9 128.259 1070.28 332.14 0.4450 0.26000 0.80201
C10 142.286 1111.86 307.48 0.4890 0.24900 0.81030
C11 156.313 1149.84 285.72 0.5350 0.24000 0.81460
C12 170.340 1184.76 263.97 0.5750 0.24000 0.81869
C13 184.367 1216.80 249.47 0.6190 0.24000 0.87164
C14 198.390 1247.40 227.06 0.6790 0.23000 0.87144
C15 212.420 1272.60 220.46 0.7060 0.23000 0.87254
C16 226.450 1299.60 204.50 0.7420 0.22900 0.87753
C18 254.500 1346.40 174.05 0.7900 0.21082 0.88733
C21 305.210 1456.08 175.89 0.9300 0.21927 0.90421
C25 366.510 1522.75 139.98 0.9760 0.20181 0.92769
WATR 18.015 1165.0 3206.0 0.3440 0.23100 1.00000

Critical Z-Factor Correlation

When Zc,i for a non-library component is not specified or is zero, the simulator will calculate Zc,i using the
correlation

Zc,i = 0.291 − 0.08ωi

The coefficients 0.291 and 0.08 may be modified using the ZCORrelation keyword.

Specific Gravity Correlation

Specific gravities gi are used when ideal mixing is specified for the separator liquid density calculations (see SEPA
keyword). When gi for a non-library component is not specified or is zero, then the simulator will calculate gi
using the correlation

gi = 0.8150 + 0.0003Mi ,

where Mi denotes the molecular weight of component i. The coefficients 0.8150 and 0.0003 can be modified with
the GCORrelation keyword.

Note: The default coefficients are reasonable only for heavy components; using the default coefficients for lighter
components can lead to errors in separator liquid rate.

Viscosity Calculation

In an equation of state run, oil and gas viscosities are automatically calculated using the Lorenz-Bray-Clark (LBC)
method. The default LBC parameters for viscosity correlation by be overriden by specifying the VCOR keyword.

17.3. Equations of State 1553


Tempest MORE Help, Release 8.1

However, an alternative correlation due to Al-Syabi, Danesh, Tohini, Todd and Tehrani may be specified using the
VICO keyword.

Surface Tensions

In an equation of state run, interpolation between immiscible and miscible relative permeability curves may be
used to account for miscibility of oil and gas phases. The SURF keyword may be used to define surface tension
data to control this behaviour. For more information on surface tension effects, see the Surface Tension Effects
section of the MORE Technical Reference.

Multiple Equation of State Regions

It is possible to use multiple Equation of State Regions in MORE. This is described in a separate chapter.

1554 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.4 Multiple Equations of State

Overview

Multiple equations of state may be specified in MORE and the EOSN keyword indicates reservoir regions where
each Equation of State (EoS) should apply. Typically this option would be used when there are multiple indepen-
dent reservoirs within the same simulation model, each with separately tuned EoS data.
When reporting fluid in place for the field, MORE accounts for EOSN, and flashes the numbers of moles in each
reservoir EoS region separately through the field separator. To make sense of the region reports, it is recommended
that the fluid in place regions (FIPN) conform with EOSN. PVT regions PVTN may also align with EOSN, though
this is not enforced.
When using EOSN, a warning is given if cells in different EoS regions are connected by a regular or non-neighbour
connection with positive transmissibility. It is likely than convergence problems could occur otherwise, if a fluid
attains different PVT properties while flowing from one cell to a neighbour.

Specifying Properties for Multiple Reservoir Equations of State

The mechanism for specifying multiple equations of state in the FLUI section uses the TEMP keyword to separate
properties for each equation of state with the qualifier RESV to indicate data will be provided for a reservoir EoS
region. TEMP RESV should be specified for each EoS region defined by EOSN.
All the FLUI section keywords relating to setting EoS properties may be specified for each EoS region after the
corresponding TEMP keyword:
Keyword Meaning
TEMP Temperature
EQUA Define the Equation of State
PROP Component properties
INTE Binary Interaction Coefficients
OMGA Equation of State Ωa Parameters
OMGB Equation of State Ωb Parameters
SURF Reference surface tension
VOLU Volume Translation Parameters
VCVI Critical Volumes
ZCVI Critical Z-factors
ZCOR Z-factor correlation
GCOR Specific Gravity Correlation

The parameters for any EoS used in the reservoir (associated with EOSN) must be specified using TEMP RESV,
before any surface EoS is defined. Note that an error is reported if this is not the case.
Now, each time one of the EoS property keywords is used, it applies to the EoS defined by the previous TEMP
keyword. As a special case, any EoS parameters specified before the first TEMP keyword will be associated with
EoS index 1 (this is allowed when only a single EoS is used). The EoS parameters must be fully specified (or
defaulted) for the first TEMP keyword, but they may be defaulted after subsequent TEMP keywords.
Any data not specified for a subsequent EoS is then taken from the previous EoS, if defined, or from defaults
otherwise. The exception is for INTE where the DUPL argument is required to enforce duplication from the
previous EoS, otherwise data for INTE will be defaulted if not specified.
This is outlined in a schematic example below:

--In this example there are 3 reservoir EoS regions and 2 surface EoS
--Begin data for the first EoS region, reservoir EoS index 1
TEMP 150.0 RESV

--Specify EoS property data for this region using keyword PROP etc.

17.4. Multiple Equations of State 1555


Tempest MORE Help, Release 8.1

--Begin data for the second EoS region, reservoir EoS index 2
TEMP 150.0 RESV

--Specify EoS property data for this region using keyword PROP etc.

--Begin data for the third EoS region, reservoir EoS index 3
TEMP 170.0 RESV

--Specify EoS property data for this region using keyword PROP etc.

--Begin data for surface EoS used by separators, EoS index 4, surface EoS index 1
--Begin data for the fourth EoS
TEMP 100.0 SURF

--Specify EoS property data for this surface EoS

--Begin data for surface EoS used by separators, EoS index 5, surface EoS index 2
--Begin data for the fifth EoS
TEMP 80.0 SURF

--Specify EoS property data for this surface EoS

It is possible to use a different type of EoS in each EOSN region by specifying the EQUA keyword multiple times.
However, the number and identity of components in each EoS region must be the same as defined using CNAM.
When ZCOR or GCOR is specified, the changes apply only to modify parameters defined by PROP the current
EoS.
Properties for each reservoir and surface EoS are reported to the .out file when using PRIN ALL.
An illustrative example dataset with three Equation of State regions can found here. Note that EoS region numbers
can then be displayed in 3D:

Fig. 17.2: Grid array showing Equation of State region numbers for the example dataset.

Specifying Properties for Multiple Surface Equations of State

For Surface Equations of State (that is, used by the separator conditions and not associated with EOSN), all EoS
properties may be defined separately in the same way.
After specifying the EoS used for the reservoir, corresponding to EOSN, subsequent TEMP keywords section
should omit the RESV argument, because they are used to describe surface EoS for separators. For clarity, it is
possible to use the SURF argument on TEMP instead to indicate that the following data is used for a surface EoS
by the separators.

1556 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

For example, often the temperature variation in the separator stream could be modelled by changing the binary
interaction parameters, keyword INTE, or Ωa (OMGA) and Ωb parameters (OMGB), or the volume shifts (VOLU
); property data defined by PROP would not typically be changed. Each separator stage specified using SEPA uses
the EoS determined by the temperature of that stage, unless the EoS index (say neos) is specified for the stage to
associate the flash with a given EoS (for EoS determined by the neosth TEMP record).
The component properties M w, P c, T c, Zc and ω (specified using the PROP keyword for the reservoir) will also
apply to the surface unless PROP is also explictly specified for a surface EoS. The binary interaction coefficients
kij suppled by INTE will be defaulted to zero for any surface EoS unless explictly specified for the relevant TEMP
record. Similarly, the Ωa and Ωb parameters supplied by OMGA and OMGB will be defaulted for surface EoS
unless explicitly specified for the relevant TEMP record.
Indices for each EoS are accumulated in the order in which each EoS is specified using the TEMP keyword as in
the example above, starting from 1 for the first reservoir EoS.
If the EoS index is not specified for a separator stage, the EoS used to flash that separator stage is described here.

Handling of Wells and Separators with Multiple EoS

When using EOSN, each well is assigned a reservoir EoS index according to the grid cells containing active
completions for the well. If a well is completed in multiple EoS regions, a warning will be given and the well will
use the reservoir EoS associated with the majority of completions (to break a tie on the maximum number, the
lowest EoS index is chosen).
Reservoir voidage rates for a well are always calculated using the reservoir EoS in the EOSN region containing
the completions. Voidage rates are currently obtained by flashing at the current field average pressure and the
temperature defined using TEMP RESV. As a special case, if a fluid-in-place region is called FIPEOSN and
FIPEOSN=EOSN, then the voidage is calculated using the average pressures in each EOSN region.
Each well is also assigned a surface EoS index for flashing the well through the separator stages: By default, a
well completed in EOSN region 1, will be assigned to surface EoS 1 (defined by the first TEMP SURF record), a
well completed in EOSN region 2, will be assigned to surface EoS 2 (defined by the second TEMP SURF record)
and so on. In case there are less TEMP SURF records than TEMP RESV records corresponding to EOSN, MORE
uses the EoS defined by EOSN when there is no direct match. This may be overridden with the WEOS keyword if
required.
When performing a separator flash for the well, the rule used by MORE to determine which surface equation(s)
of state to use is as follows:
• Use the surface EoS if specified for the separator stage using the 5th argument of the 2nd record of the SEPA
keyword.
• Else use the surface EoS for the well determined by matching the EOSN region containing the completions
to a surface EoS, or overriden with a positive value using the WEOS keyword.
• Else, if the surface EoS index is set to zero using the WEOS keyword, use the stage temperatures in SEPA
to find the surface surface EoS matched using TEMP SURF. This is the default behaviour in MORE when
multiple EoS regions are not used, and the surface EoS is not specified for the sepatator stages.
The surface EoS index for a well will be reported with the mnemonic weosind when using the WELL package in
the RATE keyword.
Separators are specified using SEPA. It is often convenient to name the separators and then attach them to a group
(or well) using GSPC (or WSPC). When using multiple equations of state, it is recommended to define separators
for groups (apart from the field group) which are partitioned by EoS region.
Separator indices for wells and groups are reported by mnemonics wsepaind and gsepaind when using the WELL
and GROUP packages in the RATE keyword. The separator configuration will also be reported to the .out file
when GENE SEPA is entered.
Typically, wells within each first level group (that is, the group which is the parent of the wells) would be completed
with the same EoS region, consistent with the separator conditions for that group, though this is not enforced.

17.4. Multiple Equations of State 1557


Tempest MORE Help, Release 8.1

When computing the fluid in place for the field using EOSN, the fluid volumes of oil and gas are calculated
by accumulating the numbers of moles in each EoS region, and then flashing to standard conditions separately
through the field separator using the reservoir EoS for that EoS region. The total volumes of oil and gas from each
EoS region will be added to the field reports of total reservoir oil and gas volumes.

Viscosity Calculation

Parameters affecting viscosity calculation only need to be supplied for reservoir EoS regions associated with
EOSN, since flow calculations are not performed for surface equations of state used by the separators. For example,
keywords VCVI and ZCVI may be supplied for each reservoir EoS. However, keywords which define the type of
viscosity calculation such as VCOR and VICO will apply to all reservoir regions: correlation coefficients for the
viscosity calculation apply to all reservoir EoS regions.

Initialisation

When using EOSN, the model may be initialised in the usual way using either equilibrium (INIT EQUI) or non-
equilibrium (INIT NEQU) options.
For equilibrium initialisation using keywords CONS (EQUI) or EQUI or F(DE (EQUI), it is recommended that
the equilibration regions (EQUI) conform with EOSN, although this is not enforced.
Similarly, when performing non-equilibrum initialisation using keywords CONS (NEQU) or F(DE (NEQU), data
would typically be provided for each EoS region (corresponding to an EQUI region), although this is not enforced.

Restrictions

The total number of Equations of State (including both reservoir and surface) is limited to 15 in the current version
of MORE.
Multiple EoS regions cannot currently be used with the Dual Porosity Source/Sink option. Also, it is not currently
possible to use multiple EoS regions together with the EOST option on the FLUI keyword to simulate general
temperature variations in Equation of State runs.
The data for multiple equations of state may alternatively be input in ECLIPSE format, in which case the NEZT
keyword should be specified . However, it is not possible to mix and match both MORE and ECLIPSE EoS
keywords in the same model, and an error will be given if this is attempted.

1558 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.5 Solution of the Linear System of Equations

Introduction

At each iteration of the nonlinear solver, it is necessary to solve a large system of linear equations described by
the Jacobian matrix, as defined in Overall Non-Linear Formulation of MORE. The linear system A.x = b is
solved iteratively using preconditioned GMRES1 ,so that at each linear iteration we must solve the approximate
system B.x = b where B is known as the preconditioner. The default preconditioner used by MORE is Nested
Factorisation, as described in SPE 122642 .
The maximum number of linear solver iterations is set to 40, but may be modified by the user using the LSOL
keyword.

Parallel Linear Solver

When running in parallel, MORE splits the problem into domains, as described in the Running MORE in Parallel
Mode section. The iterative solver algorithm (GMRES) is implemented identically in parallel to its serial counter-
part. However, the same is not true for the preconditioner which is required to accelerate convergence. Instead,
a black-white ordering is used in parallel, following the approach taken in references3 and4 . In MORE, a simple
one-dimensional decomposition is used rather than the two dimensional decomposition of reference3 . This allows
the black and white groups of cells to be of different sizes. In MORE there is only one white plane per processor:
these separate large blocks of black planes may then be solved independently in parallel.
Unfortunately the black-white ordering reduces the effectiveness of the preconditioner. Hence, for large problems
run on many processors, the number of iterations taken by the default linear solver can increase significantly,
hurting the overall scalability of MORE. This degradation can be especially bad in the presence of cross-processor
wells and numerical aquifers. In these cases it may be preferable to use an alternative parallelisation technique
known as boundary conditioning, described in the next section.

Boundary Conditioning Preconditioner

In contrast to the default preconditioner, the boundary conditioning preconditioner uses a domain decomposition
technique similar to additive Schwarz, in which each processor solves its own block of the entire matrix, plus
some elements of the matrix from other processors by overlapping the computational domains
1 Saad, Y. and Schultz, M. H., GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems, SIAM J. Sci.

Stat. Comput. 7 (1986), 856–869.


2 Appleyard, J. R. and Cheshire, I. M., Nested Factorization, SPE 12264, Proc. 7th Res. Sim. Symp., San Francisco, 2001.
3 Burrows, R., Ponting, D., and Wood, L., Parallel Reservoir Simulation with Nested Factorization, European Conference on the Mathe-

matics of Oil Recovery, Leoben, Austria, 1996.


4 Killough, J.E. et al., Parallelization of a General-Purpose Reservoir Simulator, European Conference on the Mathematics of Oil Recov-

ery, Leoben, Austria, 1996.

17.5. Solution of the Linear System of Equations 1559


Tempest MORE Help, Release 8.1

Algebraically, this may be written as


n
X
B −1
= RiT A−1
i Ri
i=1

where

Ai = Ri ARiT

and Ri is the rectangular restriction matrix to sub-domain i.


The boundary conditioning solver generalises this method by extending the overlap region to include the entire
computational domain, but in a coarsened sense. The coarsening is performed by simple matrix element summa-
tion. In addition, two levels of coarsening are available: a global “far-field” coarsening, shared by all processors,
and a more refined “near-field” coarsening used for neighbouring processor sub-domains. This may be illustrated
in the following figure, where we see how each processor sees only a coarsened version of the entire problem.
Once each processor i has assembled its own sub-system Ai .xi =bi , it is approximately solved using nested fac-
torisation. The full linear search direction for the outer GMRES solver is then obtained by projecting out the
on-process elements for each sub-domain, as in the restricted additive Schwarz method (see reference5 ).

Enabling the Boundary Conditioning Preconditioner

The Boundary Conditioning Linear Solver is enabled using the BCON keyword which should appear in the INPUT
section. It may be used in both fully implicit and IMPES runs, but is not currently available with the adaptive
implicit option.

Tuning the Boundary Conditioning Preconditioner

The boundary conditioning solver improves (that is, fewer iterations are required) the less coarsening is used, but
this increases the number of variables that must be solved on each processor, increasing the computational cost
per iteration. By default, the solver aims to use 10% additional variables per processor, using both the near-field
and far-field if possible. However, it is possible to modify these settings using the BCOP keyword. Alternatively,
one may specify the coarsening levels directly, that is

BCOP FAR 10 10 10

specifies that the far-field should be coarsened into blocks of 10x10x10 cells.

5 Cai, X.-C. and Sarkis, M., A restricted additive Schwarz preconditioner for general sparse linear systems, SIAM J. Sci. Comput., 21:

792-797, 1999.

1560 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Fig. 17.3: Sketch showing a six-way one-dimensional decomposition of a two-dimensional uniform Cartesian
grid (top) and how each processor sees only a coarsened version of the entire problem in which cells outside its
own subdomain are lumped together (for clarity, only processors 1, 4, and 5 are shown)

Algebraic Multigrid Solver

When models have high permeability channels, such as SPE10, the default nested factorisation linear solver may
be slow to converge. In these cases it is preferable to use a two-stage linear solver preconditioner. The following
section gives a brief overview to the implementation of the two-stage preconditioner; more details can be found in
reference6 .

Two-stage Preconditioner

In the fully implicit case the linear system of equations has the following form
 


 (A1p )ij (A1s )ij 
 
 ∂R ∂R ∂R1i
1i
∂P ∂S
1i
. . . ∂SN −1j
 
 j 1j
 
s = 1...N − 1
  
   
 . . .   
Aij =  .. ..
 ..  =
 

,
 c = 2...N
i, j = 1 . . . Na
   
  (Acp )ij (Acs )ij 
∂RN i ∂RN i ∂RN i
∂S1j . . . ∂S
 
∂Pj N −1j
 
 
 

where
• Na is the number of grid cells
• (A1p )ij is a 1 × 1 matrix
6 Hammersley, R and Ponting, D., Solving Linear Equations In Reservoir Simulation Using Multigrid Methods, SPE 115017, Moscow

2008.

17.5. Solution of the Linear System of Equations 1561


Tempest MORE Help, Release 8.1

• (A1s )ij is a 1 × (N − 1) matrix,


• (A1s )ij is a (N − 1) × 1 matrix
• (Acs )ij is an (N − 1) × (N − 1) matrix.
The linear equation to be solved can be written as
    
A1p A1s xp R1
=
Acp Acs xs Rc

if A1s were identically zero then the equations could be solved in the following manner

xp = A1p−1 Ro
xs = Acs−1 (Rc − Acp xp )

Working from this principle the equations are rearranged by left multiplying by a second matrix:
    
I −Q A1p A1s A1p − QAcp A1s − QAcs
=
I Acp Ass Acp Acs

Now if Q = A1s Acs−1 then A1s − QAcs = A1s − A1s Acs−1 Acs = 0 and the procedure described above can be
used to solve the equations.
However, the matrix A1s Acs−1 cannot be formed as it is a dense matrix, so an approximation must be used. Let
A denote a block matrix, with block dimensions l × m, then let D denote the block diagonal of the matrix in the
sense of cell indices:
(
Aii for i = j
D(A)ij =
0 for i 6= j

If the effect of flow terms were small, the coupling matrix might be reasonably well approximated by its diagonal
term and this would suggest taking the block diagonal matrix
X
Q1c = D(A1s )D(Acs )−1
s

The transformed linear equations then take the form

I − D(A1s )D(Acs )−1 A1p − D(A1s )D(Acs )−1 Asp A1s − D(A1s )D(Acs )−1 Acs
    
A1p A1s
=
I Acp Acs Acp Acs
 
Ã1p Ã1s
= = Ã
Acp Acs

By the choice of Q it is possible to see

D(Ã1s ) = D(A1s − D(A1s )D(Acs )−1 Acs )


= D(A1s ) − D(A1s )D(Acs )−1 D(Acs )
=0

Left multiplication by Q has partially decoupled the pressure and saturation equations and can be thought of as
Gaussian elimination on the diagonal7 or Quasi-IMPES decoupling8 .
Now that the coupling matrix Ã1s has been weakened, a combinative 2 stage pre-conditioner can be used as
follows:
• Make an approximate solution to Ã1p xp = b̃1
• Calculate the residual
7 Behie, A. and Vinsome, P., Block iterative methods for fully implicit reservoir simulation, paper SPE 9303 presented at 55th Annual Fall

Technical Conference, Dallas, September, 1982.


8 Lacroix, S., Vassilevski, Y. and Wheeler, M., Decoupling preconditioners in the implicit parallel accurate reservoir simulator (IPARS),

Numer. Linear Algebra with applications Vol. 8, No. 8, pp. 537-549, 2001

1562 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

 
xp
r = b − Ã
0
• Make an approximate solution Ãy = r
   
xp −1 b̃1
• Return + y as an approximation to Ã
0 bs
Finally, the two stage preconditioner is used iteratively in GMRES until the desired linear convergence factor is
reached.
In MORE the first stage Ã1p xp = b̃1 is calculated using an Algebraic Multigrid solver, the second stage Ãy = r
using an ILU solver.

Enabling the Multigrid Solver

The Algebraic Multigrid Solver is enabled using the MGLS keyword which should appear in the INPUT section.
If the model is an IMPES run, then Algebraic Multigrid is used for the pressure solver. If the model is a fully
implicit run, then a two-stage preconditioner is used, where the first stage is the Algebraic Multigrid Solver and
the second stage is an ILU solver. The solver cannot be used with the adaptive implicit option.

17.5. Solution of the Linear System of Equations 1563


Tempest MORE Help, Release 8.1

17.6 Aquifer Modelling

Two types of aquifers can be used in MORE: analytical and numerical. In the former, analytic approximations of
the temporal evolution of the aquifer state are used to determine the flow at the reservoir boundary. In the latter,
additional cells are added to the reservoir which represent the aquifer, and the combined system is solved in the
usual manner.

Analytic Models

The most commonly referred to comprehensive aquifer model is that of Hurst and van Everdingen1 . In essence, it
models inflow into a cylindrical reservoir from a surrounding cylindrically symmetric aquifer. But to some level of
approximation, it applies to arbitrary reservoir geometries. Since solutions to the Hurst and van Everdingen model
can only be expressed in terms of infinite series, closed form approximations are needed for efficient numerical
implementation, two of which are supported by MORE: the Carter-Tracey model and the Fetkovitch model.
It is common practice to use the non-dimensional variables length rD , time tD and aquifer depressurisation pD ,
such that

r = r∗ rD , t = t∗ tD , p = pinitial − p∗ pD , (17.8)

where pinitial denotes the initial aquifer pressure and r∗ , t∗ and p∗ the characteristic scales.
Water flow inside a cylinder of height h, with permeability k and porosity φ, water viscosity µ and density ρ, and
combined water and rock compressibility c̄, obeys the mass balance equation

p∗ ∂pD
   
1 ∂ kρ ∗ p ∂pD
rD r = φc̄ρ
rD r∗ r∗ ∂rD µ r∗ ∂rD t∗ ∂tD
(17.9)
φc̄µr∗2 ∂pD
 
1 ∂ ∂pD
⇔ rD = ,
rD ∂rD ∂rD kt∗ ∂tD
and the line source boundary condition (for rate q)
p∗ ∂pD qµ
lim rD = . (17.10)
rD →0 ∂rD 2πkh
From the condition on the quantities indexed with D to be dimensionless, we read off the characteristic scales
φc̄µr∗2 ∗ qµ
r ∗ = r ∗ , t∗ =
, p = , (17.11)
k 2πkh
See below for setting these scales through MORE keywords.
Combined with initial and boundary conditions, the second line of eq. (17.9) forms the dynamic description of the
aquifer state. Two types of asymptotic solutions are usually considered: the constant terminal pressure (CTP) and
the constant terminal rate (CTR) solutions. In general, the pressure influence function pD (tD ) is not expressible
in a closed form in terms of elementary functions. Several approximations have been published, which take the
form of an expansion in tD ,

pD (tD ) = α ln tD + β1/2 tD + β1 tD + β2 t2D + . . . + R(tD ) , (17.12)

or alternatively, the function is tabulated for the range of interest.

Carter-Tracy Aquifer

MORE’s Carter-Tracy aquifer (AQCT) is based on a CTR solution of (17.9) and allows the user to either supply
an influence table via AQUT or use the default pressure influence function depicted below. It is defined by a
non-linear interpolation between the two asymptotes (depicted in green)
( √
1.1284 tD tD  1
pD ' .
0.5[ln tD + 0.80907] tD  1
1 see e.g. Dake, L.P., Fundamentals of Reservoir Engineering, Elsevier (1978)

1564 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Hence, for a given terminal water flow rate q between the aquifer and the reservoir, the non-normalised aquifer
pressure is given by

pq (t) = p∗(q) pD (tD = t/t∗ ) − pinitial ,

with appearing parameters defined in (17.8) and (17.11).


In reality, however, the rate q is time-dependent itself, so the time-dependent aquifer pressure is given as su-
perposition of fundamental solutions pq (t). In order to avoid excessive numerical calculation of the underlying
convolution integral, Carter and Tracy2 provide an iteration scheme which approximates the convolution very ac-
curately in most cases. Expanding the solution around time tD − ∆tD , they arrive at the following expression for
the cumulative encroached water We (tD ) at the end of the timestep, i.e. the amount that has entered the reservoir
so far:
B [p(0) − p(tD )] − We (tD − ∆tD )p0D (tD )
We (tD ) = We (tD − ∆tD ) + · ∆tD . (17.13)
pD (tD ) − (tD − ∆tD )p0D (tD )

Here the aquifer influx constant B ≡ θφhc̄r∗2 comprises the combined compressibility of rock and water, c̄, and
the aquifer opening angle, θ ∈ (0 . . . 2π), as depicted here:
2 Carter, R.D. and Tracy, G.W., Trans., AIME SPE-1626-G, Vol. 219 (1960)

17.6. Aquifer Modelling 1565


Tempest MORE Help, Release 8.1

Use keyword AQCT to enter the required parameters h, k, φ, c̄, r∗ , 360 · θ/2π, pinital and µ into MORE.

Fetkovich Aquifer

An even simpler approximation for finite aquifers was given by Fetkovich3 , which relies on instantaneous pressure
propagation within the aquifer and is therefore best suitable to model small aquifers. He assumed the water inflow
from the aquifer to follow formally the same law as flow into a well completion,
dWe
= J (p̄aq − pres ) , (17.14)
dt
where p̄aq and pres denote the average aquifer water pressure and reservoir water pressure (adjusted to common
datum level between cell depth and aquifer depth) at the reservoir boundary, respectively, and J is the aquifer
productivity index in analogy to the well PI.
The quasi-stationary material balance We = c̄Winitial (pinitial − p̄aq ) yields the water inflow rate
dWe dp̄aq
= −c̄Winitial , (17.15)
dt dt
where Winitial denotes the initial water content of the aquifer, and pinitial its initial pressure.
Combining equations (17.14) and (17.15), and integrating in time, the solution reads up to first order in t:

p̄aq − pres = (pinitial − pres )e−Jt/(c̄Winitial ) . (17.16)

Inserting this expression into (17.14) yields the iteration prescription


 
pres (t − ∆t) + pres (t) h i
∆We (t) = c̄Winitial p̄aq (t − ∆t) − 1 − e−JΔt/(c̄Winitial ) ,
2
for water encroachment into the reservoir, where

p̄aq (t − ∆t) = pinitial − We (t − ∆t)/(c̄Winitial ) .

See keyword AQFE for details of entering the required parameters in MORE.

Connecting Analytic Aquifers to the Reservoir

Having defined an analytic aquifer employing either model above, it needs to be connected to the reservoir using
the AQCO keyword in order to have any effect. Although the Fetkovich and Carter-Tracy models theoretically only
apply to cylindrical geometry, in practice the aquifer can be connected to arbitrarily shaped reservoir boundaries.
In this case, the geometrical parameters defining the aquifer are fictitious numbers rather than real spatial measures.
3 Fetkovich, M. J., Journal of Petroleum Technology SPE-2603-PA, Vol. 23 (1971)

1566 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Use of Analytic Aquifers in Flux Runs

Since the aquifer state is updated each timestep in dependence on the total flow rate to the reservoir, this would lead
to discrepancies when doing sector studies using the FLXR keyword. In order to accommodate for this scenario,
all aquifer-to-flux-region flows are recorded in the flux file. Hence, in the flux runs, the missing flows are taken
from the flux file - independent of the choice of boundary conditions, FLUX or PRESSURE.

Note: For this to work correctly, care must be taken not to change the aquifer definitions between base and flux
runs.

Numerical Aquifers

Without referring to any analytical approximations, aquifers may also be represented by a small number of large
water-filled simulation cells that connect to the boundaries of the reservoir. In MORE, these connections are
treated exactly as non-neighbour connections, i.e. the connection properties must be specified by the user. In
addition, the cell properties must be given, such as size, depth, compressibilities of water and rock and the initial
pressure. Complete details about specifying aquifer cells are given under the AQNN keyword. MORE then treats
these cells as any other cells when solving the flow equations.
Specifically, MORE associates with each numerical aquifer defined one row of cells in a hidden layer of the sim-

ulation grid, which can be visualised using the toggle button in the 3D viewer. For this reason, the number of
numerical aquifers is limited to Ny , each containing no more than Nx cells in a grid of dimensions Nx × Ny × Nz .
In order to use numerical aquifers, the hidden cells must be requested using keyword NUMA. These cells are con-
nected within the aquifer and to the reservoir by the same mechanism as non-neighbour connections. Specifically,
the transmissibilities scale as the usual harmonic mean of cell sizes, Tij = [1/(2ki ai /li ) + 1/(2kj aj /lj )]−1 ,
where ki , ai , li denote the permeability, cross-section and length of the i-th cell, respectively.
In full analogy to connecting analytical aquifers, numerical aquifers are connected to the reservoir using the
AQNC keyword. In the case of a dual porosity/dual permeability, the user-defined connection layer range specifies
whether an aquifer connects to the matrix or fracture domain or both. As reminder, the first Nz /2 layers are treated
as matrix, and the second Nz /2 layers as fracture.
Wells can be completed in numerical aquifers using the CNAC event (or CNAC keyword).

Note: When using FLXN, numerical aquifers are always accounted to flux region 0. Hence care must be taken
about spurious flows into boundary cells in FLXR runs.

17.6. Aquifer Modelling 1567


Tempest MORE Help, Release 8.1

17.7 Coal Bed Methane Modelling

Formulation: Desorption Rate Calculations

The surface volume of gas (in mscf or ksm3 ) adsorbed on the coal in a grid block is given by

Mgc = C(1 − fash )v ηc Vb

where
• fash is the fraction of the coal which is ash: that is, not available to adsorb gas
• ηc is the mass density of the coal (specified in tons/acre-ft or kg/m3 )
• Vb is the bulk volume of the grid cell (in rcf or rm3 )
• v is the specific gas volume per unit mass in the coal (scf/ton or sm3 /tonne)
• C is a unit conversion factor equal to 5.6146 · 10−3 /2000.0 in field units or 10−6 in metric units

Note: In field units a ton is 2000 lbs (a short ton), and in metric units a tonne is 1000 kg.

The specific volume v is calculated from the desorption pressure in the coal, Pds , using a Langmuir expression
vL Pds
v(Pds ) = ,
PL + Pds
where
• PL is the Langmuir pressure
• vL is the specific Langmuir volume (scf/ton or sm3 /tonne).
If the pressure in the reservoir gas is different from the saturation pressure in the coal, the rate at which gas flows
from the coal to the reservoir is controlled by the change in v(Pds ), given by

dv(Pds )/dT = −(v(Pds ) − v(P ))/TL ,

where TL is the Langmuir time and v(P) is given by


vL P
v(P ) = .
PL + P
If the pressure in the cleat system is less than the saturation pressure in the coal, Pds > P , then v(Pds ) > v(P ).
Hence dv(Pds )/dT will be negative, and the gas concentration in the coal will decrease.
If the pressure in the cleat system is greater than in the coal, adsorption must only occur if there is free gas
available: that is, the coal can remain undersaturated if the cleat is full of water. To obtain this behaviour, an
upstreaming function, U (Sg ), is included, so that the rate of gas flow from the reservoir to the coal is

K
Qgrc = [v(P ) − v(Pds )]U (Sg ) ,
TL
where
(
1 if Pds ≥ P
U (Sg ) =
Sg if Pds < P ,

with constant

K = C(1 − fash )ηc Vb .

The material balance condition over the time-step is solved for the coal to obtain the end-of-step Pds value.

1568 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The Palmer-Mansoori Model

The Palmer-Mansoori model obtains the variation of cleat porosity and permeability as a function of pressure1 .
Because the porosity fraction of the cleat system is typically small, changes in the volume of the coal will affect
both the porosity and permeability considerably. In a depletion process, there are two competing effects:
• As pressure falls, the coal tends to expand and the porosity and permeability of the cleat system are reduced.
• As the pressure falls, the coal desorption pressure also falls, the coal shrinks and the porosity and perme-
ability of the cleat system is increased.
The shrinkage effect can cause a permeability “bounce” at low pressures, as shown below.
The Palmer-Mansoori expression for the porosity φ and permeability K at a pressure P and desorption pressure
Pds with respect to the reference values φ0 , K0 , P0 is given by:

φ/φ0 = 1 + f1 + f2
K/K0 = (φ/φ0 )3
cm
f1 = (P − P0 )
φ0
  
c0 K Pds P0
f2 = −1 − ,
φ0 M PL + P PL + P0

where
1−v
M =E·
(1 + v)(1 − 2v)
K = M (1 + v)/(3(1 − v))
cm = 1/M − Cr (K/M + f − 1)

The data values required for the Palmer-Mansoori model are:


• E - EROC - Young’s Modulus (units of psi or bar)
• v - PROC - Poisson’s Ratio
• c0 - FSHR - Coefficient of coal shrinkage
• f - FROC - Interpolation fraction
• Cr - CGRA - Rock grain compressibility
• φ0 - PORO - Porosity at reference pressure, P0
• PL - PLAN - Langmuir pressure (units of psi or bar)

Note: The compression term f 1 is a function of pressure, P, whilst the shrinkage term f 2 is a function of desorption
pressure.

The following shows the Palmer-Mansoori variation of φ/φ0 and K/K0 for a model with:
• E - Young’s Modulus - 445000.0 psi
• v - Poisson’s Ratio - 0.39
• φ0 - Reference porosity - 0.001
• PL - Langmuir pressure - 571 psi
• c0 - Coefficient of coal shrinkage - 0.0128
• Cr - Rock grain compressibility - 0
• f - Interpolation fraction - 0.5
1 Brill, J.P., and Mukherjee, H., Multiphase Flow in Wells, SPE Monograph Series, Vol. 17, Richardson, 1999.

17.7. Coal Bed Methane Modelling 1569


Tempest MORE Help, Release 8.1

In this plot, the pressure and desorption pressure are the same. Note that the porosity multiplication factor φ/φ0
is restricted to be at least 0.01.

Compositional Coal Bed Methane Modelling

It is possible to use the coal bed methane option with compositional modelling. The Langmuir condition is
applied on a component by component basis, so that the volume of component c absorbed is a function of the pure
component Langmuir pressure and volume using the Arri et al2 equilibrium condition expression
!−1
equil P yc X
vc = vL,c 1+P (yc0 /PL,c0 ) .
PL,c 0 c

In this expression yc are the component mole fractions in the gas. The term P yc in the numerator is the partial
pressure of component c in the gas. If the partial pressure is reduced by the presence of other gases, the amount
of gas that can be absorbed is also reduced.
The rest of the treatment of compositional coal bed methane follows the treatment of a single gas component. To
define the state of the coal, we introduce component saturation pressures Psc . The amount of gas absorbed is then
!−1
Ps,c X
vc (Ps,c ) = vL,c 1+ (Ps,c0 /PL,c0 ) .
PL,c 0 c

At equilibrium Ps,c = P yc , but when Psc 6= P yc the rate of transfer from coal to gas is

dvc /dT = −(vc (Ps,c ) − vc (P yc ))/TL

The rate of transfer of a component is proportional to the deviation of the saturation pressure from the equilibrium
value.
This condition can be solved with the material balance condition for the gas absorbed on the coal to predict the
rate of gas flow between the reservoir and the coal for each component.
2 Arri, L. E., Yee, D., Morgan, W.D. and Jeansonne, M. W., Modeling Coalbed Methane Production with Binary Gas Sorbtion, Proc.

SPE Rocky Mountain Regional Meeting, 1992, SPE 24363

1570 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

A typical process is CO2 /methane exchange. Initially the gas is 100% methane, so yCH4 = 1, and the system is
in equilibrium with PCH4 = P . When CO2 is injected into the reservoir, the mole fraction of methane falls and
yCH4 P < Ps,CH4 . The result is a transfer of methane from coal to the gas. Conversely, as there is initially no
absorbed CO2 in the coal, Ps,CO2 < yCO2 P , and CO2 is absorbed by the coal.
Compositional coal bed methane may be used with any of the MORE equations of state. These give a good
description of the PVT behaviour of gas mixtures at the comparatively low pressures typically encountered in coal
bed methane studies.
The extra data required comprises the Langmuir data for each of the components which is allowed to exist in the
coal.

Usage

In the FLUID section

The coal bed methane option is enabled by adding the keyword CBM to the fluid section:

CBM

If the Palmer-Mansoori model is required the PM argument should be used:

CBM PM

The quantities used to control the option are the Langmuir specific volume, the Langmuir pressure and the Lang-
muir time. These may be set using the LANG keyword, for example:

/ Langmuir volume of 720 SCF/TON


/ Langmuir pressure of 571 psi
/ Langmuir time of 10 days

LANG 720 571.0 10.0

The LANG keyword sets up global values; values which vary across the field may be set up using the CLANG,
PLANG and TLANG grid section arrays.
As the Langmuir volume is specified in terms of mass, we need the density of the coal. This is entered using the
CDEN keyword:

/ Density of coal is 1742 tons/acre-ft


CDEN 1742

Note: 1 ton/acre-ft is 0.0459136 lbs/cu ft.


The default coal density is obtained from a coal specific gravity of 1.3. The metric units for Langmuir volume and
coal density are sm3 /tonne and kg/m3 .

In the GRID section

The fraction of the rock which is ash is specified with the FASH keyword. For example, a 3 layer pure coal / pure
rock / pure coal sandwich would be specified by:

FASH
ZVAR
0.0 1.0 0.0 /

The default value of FASH is 0.

17.7. Coal Bed Methane Modelling 1571


Tempest MORE Help, Release 8.1

The Langmuir parameters may be set using CLANG, PLANG and TLANG. An alternative method of setting the
data in the LANG keyword above would be:

CLAN UNIF
CONST
720 /

PLAN UNIF
CONST
571.0 /

TLAN UNIF
CONST
10.0 /

If the Palmer-Mansoori model is being used, the values of five more arrays should be set. These are:
• EROC - Young’s Modulus
• PROC - Poisson’s Ratio
• FSHR - Coefficient of coal shrinkage
• FROC - Interpolation fraction
• CGRA - Grain compressibility
The reference pressure is taken from REFE. When using the Palmer-Mansoori model the reference pressure is
usually the initial pressure. ELOB may be used as an alternative way of specifying FSHR (FSHR=ELOB/PLAN).
Values of the grid arrays for coal bed methane are included under the “Coal bed methane data” section of the
MORE output file. This also generates a table of the Palmer-Mansoori multipliers.
Alternatively, non-uniform values, by layer or grid cell, may be entered using the usual MORE grid processing
options.

Note: Values of the grid arrays for CBM may be viewed in the INIT section of Tempest. As is usual in MORE,
only the first four letters of the grid keywords are significant.

In the INIT Section

The initial coal desorption pressure is specified with the PDSI grid array in the GRID or INIT sections.

PDSI
ZVAR
1108.0 1115.0 /

If the initial PDSI is less than the initial reservoir pressure, the coal will be initially undersaturated.
Values of the current desorption pressure, PDSC, may be viewed in the recurrent section of Tempest. The coal
desorption pressure is preserved across restart runs.
Not all the hydrocarbon components present need be allowed to exist in the coal. The components for which this
is required are nominated in the CCOAl keyword, for example:

CBM

CCOAL CO2 C1

The Langmuir data for these components is then entered as grid data:

1572 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

CLN1=993.0
PLN1=276.0
TLN1=10.0

CLN2=486.0
PLN2=680.0
TLN2=9.0

In the above the values are constants across all cells. However, the values may also be set to vary from cell to cell.

Coal Bed Methane in ECLIPSE and Tempest

Introduction

In coal bed methane reservoirs gas is adsorbed in the bulk of the coal, but when the reservoir pressure is reduced
it can diffuse into a fracture system and move towards production wells. The rate at which gas flows from the
coal (often termed the cleat in coal bed methane modelling) into the fracture system is typically treated using a
Langmuir model.
This has three parameters:
• the Langmuir volume, which determines the amount of gas adsorbed on the coal (usually in units of scf per
short ton or sm3 per tonne),
• the Langmuir pressure, which determines the gas release as a function of pressure,
• the Langmuir time, which specifies the characteristic time taken for the cleat-fracture system to come into
equilibrium following a pressure change.
In Tempest the desorption of gas is treated as a pressure function which acts as a source term in the cells being
modelled. ECLIPSE uses an alternative method in which a double-porosity grid is employed, with separate cells
to represent the fracture volume and the cleat. This doubles the number of cells in the study, although only the gas
saturation pressure, rather than pressure and phase saturations, is tracked for the cleat cells. The two formulations
are equivalent.

Obtaining the Langmuir Volume and Pressure from ECLIPSE Data

In Tempest the volume of gas stored in the coal per unit mass is calculated using a Langmuir expression

v(Ps ) = vL · Ps /(Ps + PL )

where
• PL is the Langmuir pressure
• vL is the Langmuir volume
• Ps is the saturation pressure of the cleat
This expression is known as a Langmuir isotherm.
In ECLIPSE, rather than parameterising the Langmuir isotherm by vL and PL , a table of adsorbed volume ve (Ps )
as a function of pressure is entered, using the LANGMUIR keyword. This is written as ve because the absorbed
volume in the ECLIPSE LANGMUIR keyword is in different units from the Tempest vL .
To obtain a match between the two methods, we need to find values veL and PL such that the curve

ve (Ps ) = veL · Ps /(Ps + PL )

matches the LANGMUIR keyword data. As an example, consider typical tabulated data in field units,

17.7. Coal Bed Methane Modelling 1573


Tempest MORE Help, Release 8.1

LANGMUIR
0 0.00
500 0.006
1000 0.008
2000 0.0110
3000 0.0134
4000 0.0145
5000 0.0150 /

The two fit parameters veL = 0.01875 mscf/ft3 and PL = 1251 psi produce a good match, as depicted here:

As a guide to fitting LANGMUIR data which shows a plateau at high Ps → Ps∗ , the relation

veL (PL ) ' veL (Ps∗ )/2

can be used to estimate PL .

Converting Langmuir Volumes from ECLIPSE to Tempest Units

Some care is now required to match the units as Tempest needs vL in terms of scf/ton, in field units, and sm3 /tonne
in metric units. The ECLIPSE LANGMUIR keyword defines veL in terms mscf/ft3 in field units and sm3 /m3 in
metric units. As Tempest is in terms of gas per mass and ECLIPSE is in terms of gas per volume, the coal density
is required to perform the unit conversion.
If the coal density is ρT in tons/scf or tonnes/sm3 , then the required MORE vL is
• vL =1000veL /ρT in field units
• vL =veL /ρT in metric units
As veL is a volume per unit volume, this need to be multiplied by the volume per unit mass in tons or tonnes (1/ρT )
to obtain a volume per unit mass. The extra factor of 1000 in the field case is because the ECLIPSE veL is in
mscf/ft3 whilst Tempest uses scf/ton.

1574 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

To obtain the density ρT from the density in standard units of lbs/ft3 or kgs/m3 , the required conversion is
• ρT = ρ/2000 In field units (as 2000 lbs/short ton)
• ρT = ρ/1000 In metric units (as 1000 kgs/tonne)
As a check, typical coal densities are
ρ (metric) ρ (field) ρT (metric) ρT (field)
Coal, Anthracite 1500 kg/m3 93.6 lbs/ft3 1.5 tonne/m3 0.0468 tons/ft3
Coal, Bituminous 1100 kg/m3 67.9 lbs/ft3 1.1 tonne/m3 0.034 tons/ft3
A typical field units vL value is 500 scf/ton, or 0.5 mscf/ton or 0.017 mscf/ft3 .
A typical metric units vL value is 40 sm3 /tonne, or 60 sm3 /m3 .

Defining the Coal Density Using the CDEN Tempest Keyword

When the coal density is entered in Tempest using the CDEN keyword, a further unit conversion is required in
field units. In metric units there is no problem: the coal density is expected in kg/m3 with typical values of 1100 to
1500 kg/m3 . However, in field units, Tempest expects the density in the traditional coal bed methane engineering
unit of tons/acre-ft (it can be seen that with vL in scf/ton, and a coal density in tons/acre-ft, it is simple to estimate
the gas volume available per acre for a given seam thickness).
The required conversion is:
• 1 ton/acre-ft = 0.0459136 lbs/ft3 (1 ton/acre-ft=2000/43560 lbs/ft3 )
• 1 lbs/ft3 = 21.78 tons/acre ft.
So for a typical coal with a density of 70lbs/ft3 the required CDEN argument will be 1524 tons/acre-ft.

Obtaining the Langmuir Time from SIGMA Values

In the same way, rather than enter the Langmuir time, ECLIPSE requests that you specify the matrix fracture
shape factor, traditionally known as σ in dual porosity modelling, and a coal diffusion coefficient entered with
DIFFCOAL.
The time constant is related to σ by the condition that
TL = (σDc Dm )−1
where
• Dc is the matrix-fracture diffusivity specified with the ECLIPSE keyword DIFFCOAL,
• Dc is a multiplier set with DIFFMMF is a multiplier which defaults to 1.
To derive this, start from the flow rate from the coal of vσDc Dm (cc − cfree ) where cc is the absorbed gas concen-
tration in sm3/m3 or mscf/ft3 .
The amount of absorbed gas stored in the coal is vcc , so if the initial cfree is low then the rate of change of the
amount of gas in the coal is d(vcfree )/dT , which is equal to the inflow, or minus the outflow
d(vcc )/dT = −vσDc Dm (cc − cfree ) ∼ −vσDc Dm cc .
For constant v, this simplifies to
dcc /dT = −σDc Dm cc ,
which may be integrated to
cc ∼ exp(−T /τ ) ,
with τ = 1/(σDc Dm ) = TL .
As an example, suppose σ = 0.08 ft-2 , Dc = 0.2 ft2 /day and Dm = 1.0, then TL = 1/(0.08 · 0.2) = 1/(0.016) =
62.5 days.

17.7. Coal Bed Methane Modelling 1575


Tempest MORE Help, Release 8.1

Other Tempest Options

Tempest also has an ash fraction keyword which can specify the fraction of the formation that is not coal. This
has the same effect as the Langmuir volume or the ECLIPSE LANGMUIR keyword, but can be more convenient.
There does not seem to be an ECLIPSE equivalent of the ash fraction, but different LANGMUIR tables can be
entered for different reservoir regions to allow for variation of the amount of adsorbed gas across the reservoir.
There is an additional option which may be used with coal bed methane in both ECLIPSE and Tempest. This is
the Palmer-Mansoori model, which models the variation in the fracture permeability as the gas desorbs from the
fractures. As the gas desorbs, the cleat shrinks, the fractures widen and the fracture system permeability increases.
The parameters which control the Palmer-Mansoori model, such as the elastic properties of the reservoir (Young’s
modulus, Poisson ratio etc.) are the same in ECLIPSE and Tempest.

1576 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.8 Coarsening Option

Introduction

The coarsening option in MORE upscales a run by constructing coarse cell depths, pore volumes, well completion
factors and transmissibilities directly from the corresponding fine grid quantities. This has some advantages
over upscaling permeabilities and then constructing coarse grid transmissibilities – for example the set of cells
grouped together by coarsening may not have simple single cell geometry, making the coarse grid transmissibility
calculation problematical, whilst the transmissibility method remains valid.

Basic Coarsening Between Two Cells

Suppose we have two cells which are coarsened by a factor of 4 in the x and y direction. The original grid looks
like the following figure.

The transmissibilities act between fine grid cell centres and look like the following figure.

We wish to replace this with a single transmissibility between the centres of the two cells, as illustrated in the
following figure.

17.8. Coarsening Option 1577


Tempest MORE Help, Release 8.1

To do this we first do a parallel sum over fine grid transmissibilities in planes across the direction of flow, then
do a series summation of the resulting sums along the direction of flow. As we need the total transmissibility to
the coarse cell centre, a half transmissibility must be used in the case in which the number of fine grid cells in the
coarsening direction is even. The whole process can be illustrated as in the following figure.

Suppose the fine grid transmissibilities are tijk and the required coarse grid transmissibility is T . The summation
operation is
 −1
X X
T =  tijk  .
i jk

Coarsening for Wells

The completion connection factors are not recalculated using averaged coarse grid permeabilities. Instead, the
coarse grid completion connection factors are obtained as a summation over the fine grid completion connection
factors.

Pore Volumes and Depths

Coarse grid pore volumes are obtained as the sum of all the fine grid pore volumes contained in the coarse grid
cell. Coarse grid cell depths are obtained as a pore volume-weighted average over fine grid cell depths contained
in the coarse grid cell.

1578 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Enabling the coarsening option

Uniform coarsening may be turned on using the COAR keyword in the INPU section of the dataset. Non-uniform
coarsening x, y, or z-direction may be specified using the CXGR, CYGR and CZGR keywords, respectively.

17.8. Coarsening Option 1579


Tempest MORE Help, Release 8.1

17.9 Dual Porosity/Permeability Systems

Introduction

MORE provides a dual-porosity model and a dual-permeability model for simulation of fractured reservoirs based
on the work of Kazemi et al.1 . Both models make use of two simulation cells to represent a single volume
of physical space by associating one cell with the matrix flow and one with the fracture flow. In MORE, the
matrix cells form the first Nz /2 layers of the grid and the fracture cells form the second Nz /2. Non-neighbour
connections between the two parts of the grid, constructed automatically by MORE, allow flow between the
matrix and fracture cells. Tempest VIEW provides a button to toggle the view between the matrix and the fracture
simulation values, as described here.
The models operate by calculating matrix-fracture transmissibility and simulating flow through the fracture
medium. The dual-permeability option also allows flow to occur between cells in the matrix medium, but the
dual-porosity option does not: matrix - matrix transmissibilities are set to zero.

Fig. 17.4: Heavily fractured reservoir with blocks of matrix (red) surrounded by fracture material (blue)

Dual porosity is a good choice for reservoirs composed of matrix blocks surrounded by connected fractures, where
flow occurs mainly in the fracture system. Dual permeability becomes applicable when flow also occurs in the
matrix system.

Transmissibility calculations

The matrix-fracture transmissibility is calculated by using the matrix permeability and is dependent upon the
geometry of the matrix blocks,

TMF = CDarcy σKM Vporv

where
• CDarcy is Darcy’s constant,
• KM is the matrix cell permeability in the X-direction,
• Vporv is the matrix cell pore volume, and
• σ is the matrix-fracture coupling factor.
Note that CDarcy σKM may be regarded as a transmissibility per unit pore volume, while σ is a quantity that
characterizes the coupling between the matrix and fracture media. For the idealised case of uniform matrix blocks
with dimensions of Lx , Ly and Lz , it is defined as

σ = 4(1/L2x + 1/L2y + 1/L2z )


1 Kazemi, H., Merrill, L. S., Porterfield K. L. and Zeman, P. R., Numerical Simulation of Water-Oil Flow In Naturally Fractured

Reservoirs, 4th Res. Sim. Symp., 1976, SPE 5719

1580 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

and hence has units ft-2 (field) or m-2 (metric).

Note: In both the dual-porosity and dual-permeability models, Lx , Ly and Lz represent the size of matrix material
blocks and are in no way related to the size of the simulation cells.

It is sometimes useful to relate σ values to effective time constants. This may be done using the relationship from
Kazemi et al1
p
τ = C (1/σ)(µw /λs) φ/KM

where
• C is a constant which depends on the unit convention, equal to 34.22 (field) or 368.4 (metric),
• µwater is the water viscosity in cP,
• s is the interfacial tension, taken to be 40 dynes/cm,
• λ is a dimensionless experimental constant, equal to 0.011, and
• φ is the matrix porosity.
This time constant is approximate, but it provides an order of magnitude estimate of the timescale over which a
given σ term contributes.
Permeabilities in the fracture system may be specified in net or gross terms. If specified in gross terms, the
effective net permeability is given by

KFnet = φF KFgross,

where φF is the fracture porosity and KFgross is the user supplied gross permeability of the actual fracture material.

Matrix Fracture Recovery Mechanisms

In a dual-porosity system (DPOR keyword in the grid section) there is no direct connection between matrix blocks.
Flow from the matrix material must be into its corresponding fracture block. Several mechanisms exist to drive
matrix fracture flows:
• Swelling due to pressure reductions
• Capillary pressure imbibition
• Gravity drainage
MORE models all three of these processes.

Matrix Fracture Flows Due To Swelling

The swelling effect is simple; if pressure is reduced in the fracture system, the pressure in the matrix is reduced,
causing the fluid in the matrix to expand and flow into the fracture. This simple process is particularly effective in
gas systems where significant expansion occurs with pressure reduction.

Matrix Fracture Flows Due To Capillary Pressure Imbibition

Capillary pressure effects will generally be much larger in the matrix material than in the fracture material, due
to the much smaller pore space sizes. We would normally expect to have different saturation tables (set using the
ROCK keyword) in the matrix and fracture systems.

17.9. Dual Porosity/Permeability Systems 1581


Tempest MORE Help, Release 8.1

Suppose the initial state of the reservoir is immobile connate water in the matrix and fractures (connate water in
the fractures is often zero). As oil is mobile in both the matrix and fractures this implies that PoM =PoF . The water
pressure in the matrix material is
PwM = PoM - Pcow (Swco )
that is, lower than the oil pressure. This lower water pressure would cause water to flow into the matrix from the
fracture, but this cannot happen in the initial state as there is no mobile water in the fractures to flow.
If, however, water is injected into the fracture system, water will become mobile in the fractures and flow into the
matrix material. This raises the pressure in the matrix material, causing oil to flow from the matrix material into
the fracture, as shown in the preceding figure.

Note: The capillary pressure imbibition process will not work this way if the fractures are gas-flooded, as the sign
of the oil-gas capillary pressure opposes the flow of gas into the matrix material, and traps the oil in the fracture
system.

Gravity Drainage Recovery Mechanism

The gravity drainage recovery mechanism assumes that the matrix material exists in lumps with a vertical height
of ∆zM . Note that this is a physical property of the fractured rock; it is not related to the dimensions of the cells
used in the geological or reservoir simulation model grid.
Consider such a lump of matrix material in a fractured reservoir. It will be assumed that the fluid distribution
within the lump is segregated. Suppose that the fraction of the depth interval ∆zM occupied by water is Fw .

The oil potential varies with depth as

dΦo /dz = Gρo

and the water potential follows

dΦw /dz = Gρw .

At the fluid contact Φo = Φw . The difference in the oil and water potentials at the centre of the lump of matrix
material yields an effective capillary pressure of
eff
Pcow,M = Φo − Φw = G(Fw,M − 0.5)∆zM (ρw − ρo ) .

1582 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

A similar potential correction can be made for the fracture adjacent to the matrix material, to obtain an effective
capillary pressure term of
eff
Pcow,F = Φo − Φw = G(Fw,F − 0.5)∆zM (ρw − ρo ) .

With both matrix and fracture potentials corrected to the same depth, the water potential difference from matrix to
fracture (ΦM F
w − Φw ) acquires an extra contribution of

eff eff
Pcow,M − Pcow,F = G.(Fw,M − Fw,F )∆zM (ρw − ρo ) .

In practice (ρw − ρo ) is estimated from the average value

(ρw,M + ρw,F − ρo,M − ρo,F )/2 .

Although this analysis is for one element of matrix material, it is assumed that the gravity contribution to the
capillary pressure is the same for all the matrix material in a simulation cell. This is not really justified - the
fractional depth of the water contact around each element of matrix material will not generally be the same, and
the ∆zM value will vary. However, the approximation has correct end points (when the fractures are oil-filled and
water-filled) and provides a reasonable picture of the gravity drainage process.
In the simulator the fractional depths of water and gas, Fw and Fg , are obtained from the cell saturations. The
critical saturations of the three phases are taken into account in this calculation. For example, if the initial water
depth fraction is Fwi and the water saturation increases, the water saturation above the Fwi is not 1 but (1-Sowcr ),
where Sowcr is the critical oil saturation in water. The assumed water distribution is thus, as illustrated in the
following figure.

In the same way, if the water saturation is reduced, the critical water saturation remains between the original and
current contacts. The gas fractional flow calculations use the critical oil saturation in gas and the critical gas
saturation in the same way. A consequence of this is that the original depth fractions or original water and gas
saturations are needed throughout the run, and are preserved on the MORE restart files when the gravity drainage
option is used.

Data Requirements

INPU

The models are requested by using the DPOR or DPER keyword.

RELA

Since two media are present, at least two sets of relative permeability data would normally be specified. These are
assigned to simulation cells using the ROCK keyword in the GRID section.

17.9. Dual Porosity/Permeability Systems 1583


Tempest MORE Help, Release 8.1

KRWO
0.25 0.000 0.92 4.00 /
0.50 0.100 0.24 0.85 /
0.70 0.200 0.00 0.00 /
/

KRWO
0.00 0.000 1.000 4.00 /
0.25 0.145 0.519 0.72 /
0.50 0.355 0.240 0.29 /
0.70 0.585 0.102 0.16 /
1.00 1.000 0.000 0.00 /
/

GRID

Since the models make use of a matrix grid stacked on top of a fracture grid, the number of layers in the model
must be doubled.

Note: Normally, the user will have to define the full corner point depth data for a DPOR or DPER model.
However, duplicating the ZCOR array can be cumbersome for large models. This may be simplified by using the
DPGR keyword which allows the user to only enter the data for the matrix cells which is then also used for the
fracture cells.

Specify the matrix-fracture coupling coefficient, σ, porosity, permeabilities and rock types for the matrix and
fracture media. For example, in a 5 layer simulation:

/ Matrix porosity of 19%, Fracture porosity of 1%

POROSITY
ZVAR
5*0.19 5*0.01

/ Gross matrix and fracture permeabilities.

K_X
ZVAR
5*1 5*10000

/ Matrix-fracture coupling factor

SIGMA
ZVAR
5*0.084 5*0.0 /

/ Different rel perms and capillary pressures for matrix and fracture media

ROCK
ZVAR
5*1 5*2 /

It is also possible to enter the matrix-fracture time constant τ in place of the coupling factor σ. This can be done
using the MFTC keyword in place of the SIGM keyword.

RECURRENT

For dual porosity/permeability runs the wells should generally be completed in fracture layers (that is, the second
Nz /2 layers), although it is also possible to perforate the matrix layers. For wells defined using trajectories, the

1584 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

FRAC, MATR, and BOTH options of the PERF event may be used to select which.

Data Requirements for the Gravity Drainage Option

The data requirements for the gravity drainage option are simple. The option is turned on by adding the GRAV
argument to the DPOR or DPER keywords:

DPOR GRAV

If gravity drainage is being used, then the value of the DZMA grid array should be specified. This is a standard
MORE grid array, and may be set up in any of the usual ways. For example, ZVAR may be used to set DZMA by
layer:

DZMA
ZVAR
8*1.5 8*0.0 /

Only the values set for the first Nz /2 (matrix) layers are used. In the case above we have requested a 1.5 ft matrix
lump thickness. Although gravity drainage produces small potential differences compared to viscous water drive,
the high transmissibilities between the matrix and fracture systems can lead to good recoveries with surprisingly
small DZMA values. Note that if capillary pressure is present, it will generally assist the gravity drainage process
in the waterflood case and impede it in the gas-flood case. However, gas has the advantage of a larger density
contrast to oil.

Results Display in Tempest VIEW

When running a dual porosity/permeability model, Tempest VIEW provides an icon to toggle the view between

the matrix and fracture simulation values:

In addition to the standard grid properties, VIEW will display arrays corresponding to the dual porosity shape
factors σ and time constants τ :

17.9. Dual Porosity/Permeability Systems 1585


Tempest MORE Help, Release 8.1

1586 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.10 Dual Porosity Source/Sink (DPSS) Option

Source/Sink Term Formulation of the Dual Porosity Model

Dual porosity models can be formulated as described in Dual Porosity/Permeability Systems using twin grids, the
first Nz /2 layers representing matrix cells and the second Nz /2 layers representing fracture cells. The component
conservation equations for a time step from T to T + ∆T may be written in residual form as
!
XX
F F M F F F
Rca (X , X ) = ∆Nca + ∆T Qca + Fcpab + Gc = 0
b p
M
Rca (X F , X M ) = M
∆Nca − ∆T Gc = 0

• Nca is the mass, moles or surface volume of conserved component c in cell a.


• Qca is the injection or production rate of component c due to wells.
• Fcpab is the flow rate of component c in phase p from cell a to its neighbour b.
• Gc is the fracture to matrix flow rate of component c.
In the dual-porosity/single-permeability model there are no interblock flow terms or well production terms in the
matrix equations. The matrix residual RM for a cell a will involve unknowns for one matrix and one fracture
cell. The number of equations (for example, oil, water, gas conservation) will equal the number of matrix cell
unknowns, for example

X M = {P M , SoM , SwM }

For fixed X F we can solve RaM =0 for X M . This can be done using Newton’s method, the change in matrix solution
over an iteration being

∆X M = −(∂RM /∂X M )−1 RM .

Once this system has converged, RM → 0, we have the solution X M for a given X F . To solve the entire reservoir
we need to know the dependence of X M on X F as X F varies.
It is required that the condition RM = 0 remain true under X F variation, so that

δRM = ∂RM /∂X M · δX M + ∂RM /∂X F · δX F ≡ 0

in the limit δX F → 0. This yields the implicit function theorem result

dX M /dX F = −(∂RM /∂X M )−1 · (∂RM /∂X F ) .

The inverse Jacobian (∂RM /∂X M )−1 used to form dX M /dX F is just that used in solving for X M .
As we now have X M and its derivatives as a function of X F the system becomes a function of the fracture variables
only,
" #
XX  
F
(X F ) = ∆Nca F
+ ∆T QFca + F
+ Gc X F, X M X F

Rca Fcpab =0
b p

with

dG/dX F = ∂G/∂X F + ∂G/∂X M · dX M /dX F

This looks like the standard flow equations for a single porosity model, with an extra term Gc which acts as a
source/sink term, analogous to the well production/injection term. The matrix solution is obtained as a dependent
function of the fracture variables at each iteration.
In light of this, MORE offers an alternative approach to running dual porosity/single permeability systems based
on a single grid, as an alternative to the usual twin grid approach. Full details on using this DPSS model are given
below.

17.10. Dual Porosity Source/Sink (DPSS) Option 1587


Tempest MORE Help, Release 8.1

Note that the above derivation does not assume any particular form for the function Gc . In MORE this takes the
usual Darcy flow form but without a depth difference term
" #
X
U
Gc = CDarcy σKM Vporv Mcp (P F + Pcp
F
− P M + Pcp M
)
p

where CDarcy , is Darcy’s constant and KM , Vporv , σ are the matrix cell X-direction permeability, pore volume, and
shape factor.
This yields precisely the same converged solution as the dual-grid approach in which

R = (RM , RF ) = 0

is solved simultaneously as a function of

X = (X M , X F )

Upscaling Fractures and Multiple Sigma Models

The need to upscale reservoir properties arises from heterogeneity: we need to obtain effective values to represent
a volume of rock over which properties vary.
In a dual-porosity system separate regions of matrix are coupled to the fracture system but not to each other. To
the extent that the fracture system in a simulation grid block is regarded as having a single pressure and set of
saturations, the source/sink contributions are then additive. If a detailed geological model exists, it may be used
to assign volume fractions to regions for which σ lies in a set of intervals. An example is when several layers of a
geological model are grouped together to form layers of the simulation model.

Such a system may be modelled using multiple shape factors, each contributing a source/sink term. The effect
is not the same as summing up matrix-fracture transmissibility contributions: each σ value will yield a different
matrix solution to its equation RM = 0. Matrix-fracture effects are included over a number of time constants
rather than one. The figure shows a highly schematic example in which matrix material is grouped into three sets
based on matrix block size and thus a representative σ value.
In the simulation each of the σ groups contributes a source/sink term, but with fi Vb replacing Vb in the single
σ model. If gravity drainage is being considered, dz will be required for each volume fraction. Using a set of
characterised matrix volume fractions is particularly significant for gas gravity drainage, as the process only occurs
for matrix material with a minimum dz value.

1588 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Using the DPSS Model

The user image of the DPSS model is much simpler than that of conventional dual-grid dual-porosity models. In
particular, the grid dimension is not doubled up; data is entered on a single grid.
A standard dual-porosity study is the simple benchmark defined in1 . The dual-grid form of this study is shipped
as part the Tempest release as the example dataset dualporo.dat. The DPSS version of this is the dataset dpss.dat.
Both runs give the same results (recovery at 1000 days of 126.3 mstb).
To use the DPSS approach we select dual-porosity modelling using the DPSS keyword. The grid is dimensioned
to the actual problem size, 8x8x1. In the DPSS approach both matrix and fracture properties are entered on the
same grid. The usual keywords (PORO, K_X etc) define the properties of the matrix material. A new set of fracture
property keywords defines the properties of the fracture material. These all have sensible defaults, so it is only
necessary to enter fracture properties which differ from matrix properties. More information is given in Arrays
related to dual porosity modelling.
In this example, we need to specify only three fracture properties and the usual σ values:

FPOR=0.01 / Fracture porosity


FKX=10000 / Fracture permeability
FSAT=2 / Fracture saturation table numbers
SIGMA=0.084 / Shape factors for matrix-fracture coupling

This is a minimal set of fracture grid data; the fracture porosity, permeability and saturation tables numbers will
normally be different from the matrix porosity, permeability and saturation table numbers.
The usual defaults apply; that is, FKY and FKZ default to FKX if not specified.
When a well is completed in a cell with a non-zero fracture porosity completion will be made into the fracture
system, so the well is completed in layer 1 as would be expected – there is no need to displace the completions
into the second set of fracture layers as in the dual grid method.

Note: The DPSS model strictly requires the fully implicit solver.

Treatment of Unfractured Regions

In many cases, fracturing is not significant over the whole volume of a reservoir – there are often regions in which
the fracture porosity is zero. This is a problem in conventional dual-porosity runs, which only permit flow in
between the fracture cells. However, in unfractured regions we want flow in the matrix. This normally leads to
the use of dual-permeability models, which permit flow in both the matrix and fracture.
In the DPSS approach we can handle unfractured regions without needing to use a dual-permeability model. The
source sink model solves a single flowing grid system, which:
• Is the matrix system in unfractured regions (with FPOR=0).
• Is the fracture system in fractured regions (with FPOR>0)
That is, the unfractured region is treated as a single porosity system defined by the matrix properties, while the
fractured region is treated as a dual-porosity, single permeability system defined by the fracture properties, with
the addition of matrix-fracture flow defined by the source/sink term.
The DPSS model may be viewed as illustrated in the following figure.
1 Kazemi, H., Merrill, L. S., Porterfield K. L. and Zeman, P. R., Numerical Simulation of Water-Oil Flow In Naturally Fractured

Reservoirs, 4th Res. Sim. Symp., 1976, SPE 5719

17.10. Dual Porosity Source/Sink (DPSS) Option 1589


Tempest MORE Help, Release 8.1

Note that at the edge of the fractured region, the normal single porosity flow goes into the fracture cells, which
is physically correct, and fluid exchange can then occur into the matrix cells. Direct matrix-matrix flow does not
exist in fractured regions; where fracturing is sufficiently strong to be worth simulating separately, it is assumed
that fracture flow dominates transport across the reservoir.
When a well is completed in a cell in an unfractured region it will be completed into the single porosity system
with properties defined by the usual keywords.

Fracture Keywords

A full list of all the fracture GRID keywords is provided in the following table.

Fracture keyword Default Description Required for


fpor No Fracture porosity
fkx, fk-x, fk_x, fpermx No Fracture x-permeability
fky, fk-y, fk_y, fpermy fkx*kykx Fracture y-permeability
fkz, fk-z, fk_z ,fpermz fkx*kzkx Fracture z-permeability
fkxy 0 Tensor option
fkyz 0 Tensor option
fkzx 0 Tensor option
fmlx 1 Fracture x-multiplier
fmly 1 Fracture y-multiplier
fmlz 1 Fracture z-multiplier
fcro croc Fracture compressibility
fref refe Fracture reference pressure
fsat satn Fracture saturation table indices
fpvt pvtn Fracture pressure table indices
feql eqln Fracture equilibration numbers
fkpt kpta Fracture KVSP table indices KVSP
fprg preg Fracture polymer regions Polymer
kpta treg Fracture thermal regions Thermal
fkrx krdx Fracture x dirn rel perms Dirn rel perms
fkry krdy Fracture y dirn rel perms Dirn rel perms
fkrz krdz Fracture z dirn rel perms Dirn rel perms
fkmx krmx Fracture x- dirn rel perms Dirn irrv rel perms
fkmy krmy Fracture y- dirn rel perms Dirn irrv rel perms
fkmz krmz Fracture z- dirn rel perms Dirn irrv rel perms
fogc sogc Fracture critical oil in gas End point scaling
fowc sowc Fracture critical oil in water End point scaling
fsgl sgl Fracture connate gas End point scaling
fsgc sgcr Fracture critical gas End point scaling
fsgu sgu Fracture max gas End point scaling
fwl swl Fracture connate water End point scaling
fwcr swcr Fracture critical water End point scaling
fwu swu Fracture max water End point scaling
fxko xkro Fracture Kro scaling factor Vertical scaling
fxkg xkrg Fracture Krg scaling factor Vertical scaling
fxkw xkrw Fracture Krw scaling factor Vertical scaling
Continued on next page

1590 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Table 17.1 – continued from previous page


Fracture keyword Default Description Required for
fxpg xpcg Fracture Pcg scaling factor Vertical scaling
fxpw xpcw Fracture Pcw scaling factor Vertical scaling
flev Leverett J-function

When using the FLEV keyword to calculate the J-function, the capillary pressure scalings are set up for example
using FXPW = FLEV * SQRT(FPOR/FK_X) as for the LEVJ keyword. Note that in this expression, FK_X is
actually the bulk fracture permeability, rather than the net fracture permeability FK_X*FPOR when using DPSS
NET.
In a DPSS run, each fracture GRID keyword defaults to the equivalent non-fracture keyword when it is not spec-
ified. The exception is for derived quantities: if LEVJ is specified and FLEV is not entered, the values of FXPW
will be taken from the input XPCW (if specified) rather than the modified XPCW derived from the J-function.
When a DPSS run is initialised using non-equilibrium initialisation (INIT NONE), the saturations may be dif-
ferent in matrix and fracture, so separate keywords exist for the fracture saturations, as provided in the following
table:
Fracture keyword Default Description
fsoi No Fracture oil saturation
fsga No Fracture gas saturation
fswa No Fracture water saturation

Results Display in Tempest VIEW

As there is only one grid in the DPSS method, we cannot use the traditional method of displaying matrix and
fracture values on the first and second Nz /2 layers of the run, and of switching between these using the dual
porosity Tempest icon.
Instead, all properties are displayed on the same grid. MORE will output values for the flowing grid in the normal
solution arrays with additional arrays for the matrix properties:

The flowing grid values are fracture values in fractured regions, single porosity (matrix) values in unfractured
regions. Matrix saturations will only be displayed in fractured areas of the reservoir.
When displaying the initial properties, the normal grid display name, such as

will again display the flowing grid value, i.e. fracture values in fractured regions, and matrix values in the unfrac-
tured regions.
If not all the reservoir is fractured, then the matrix and fracture properties may be displayed individually, for
example

and

17.10. Dual Porosity Source/Sink (DPSS) Option 1591


Tempest MORE Help, Release 8.1

respectively. Note that, while the fracture has separate directional permeabilities, there is only a single matrix
permeability in dual porosity regions, defined by K_X. This is because there is no matrix-matrix flow in this
region, and only a single permeability defines the matrix-fracture flow.

Using Multiple Shape Factors

To use multiple shape factors, add the argument FRAC to DPSS, for example, for two shape factors:

DPSS FRAC 2

Each shape factor has an associated volume fraction. The shape factor for the first volume fraction is specified
using the SIGMA grid keyword in the usual way. Alternatively, it is possible to enter SIG1 instead of SIGMA. For
the second, and subsequent fractions, we use extra keywords SIGn and SVFn where n=2..9 to enter the shape
factor and the associated volume fractions of the region:

SIG1=0.084
SIG2=0.002
SVF2=0.5

The volume fraction of the first region is 1-(SVF2+SVF3+..).

Example of Multiple Shape Factors

In this example there are two shape factors, one with a sigma of 0.05 and one of 0.0001, with volume fractions of
0.2 and 0.8 respectively.
The data for this run is in ms.dat
The reservoir is fractured at the crest, but the rim is single porosity. Looking at the Tempest porosity display, this
region can be seen clearly, as illustrated in the following figure.

1592 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

As for all the output arrays from the DPSS model, the ‘normal’ display (porosity, pressure, permeability etc.) is
that for the flowing grid: the single porosity material in single porosity regions and the fractures in dual-porosity
regions. To see the properties of the matrix and fractured material separately, look at displays like Fracture
Porosity or Matrix Porosity. In this case, the fracture porosity is illustrated in the following figure where the
fracture porosity is zero outside the fractured area.

17.10. Dual Porosity Source/Sink (DPSS) Option 1593


Tempest MORE Help, Release 8.1

The reservoir is produced using four water injection wells around the rim, and two crestal producers in the frac-
tured region. Looking at the water saturation display, we can clearly see the bloom in water saturation as flow
occurs into the fractured region (see the following figure); this is a example of the advantages of the flowing grid
display.

1594 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The matrix saturations can also be displayed, for region 1 and 2. Region 1 is illustrated in the following figure.

17.10. Dual Porosity Source/Sink (DPSS) Option 1595


Tempest MORE Help, Release 8.1

Note: There is no matrix saturation in the single porosity region.

For the slower matrix material we have:

1596 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

As expected, the water exchange is taking longer for this matrix volume fraction.
The overall water cut development shows the usual early breakthrough/slow WCT growth pattern of a fractured
reservoir, as illustrated in the following figure.

17.10. Dual Porosity Source/Sink (DPSS) Option 1597


Tempest MORE Help, Release 8.1

1598 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.11 Dykstra-Parsons Permeability Distribution

The Dykstra-Parsons model assumes that permeabilities have a normal distribution in ln(K). This implies a
probability distribution of the form
1 2 2
p(x) = √ e−(x−x̄) /(2σ )
2πσ
where x = ln(K), with mean value x̄ and standard deviation σ.
The fraction of a sample below a given x value is
Z x Z m
1 2 2
Φ(x) = p(x0 ) dx0 = √ e−(x−x̄) /(2σ ) dx0 .
−∞ 2πσ −∞
Let
x0 − x̄ √
t≡ √ ⇒ dx0 = 2σdt .

Then
Z t(x)
1 2
Φ(x) = √ e−t dt .
π −∞

This is a normalised distribution, as the Laplace-Gauss integral shows that


Z ∞ Z ∞ √
1 −t2 2 −t2 2 π
Φ(∞) = √ e dt = √ e dt = √ · = 1.
π −∞ π 0 π 2

The x value at the 50% cumulative (the permeability such that 50% of the values are greater than that permeability)
is defined as x50 = ln(K50 ), such that
Z t(x50 )
1 2 1 1
Φ(x50 ) = √ e−t dt = = Φ(∞) .
π −∞ 2 2

Thus we infer 0 = t(x50 ) = (x50 − x̄)/( 2σ), and hence x50 = x̄.
The Dykstra-Parsons coefficient EK is defined as

EK = (K50 − K84.1 )/K50 .

K84.1 is the permeability such that 84.1% of the sample has a higher permeability. If the corresponding x = ln(K)
value is x84.1 , then
Z t(x84.1 )
1 2
Φ(x84.1 ) = √ e−t dt = 0.159 .
π −∞

This may be rearranged as


Z −t(x84.1 )
2 2
e−t dt = erf −t(m84.1 ) = 0.682 .


π 0

Thus x84.1 may√be found numerically using −t(x84.1 ) = erf −1 (0.682) = 0.7061, so that σ = −(x84.1 −
x50 )/(0.7061 · 2) ≈ x50 − x84.1 . Thus, given the K50 permeability and the Dykstra-Parsons coefficient we can
obtain the mean and standard distribution of the ln(K) distribution as

µ = ln(K50 )
σ = ln(K50 ) − ln(K84.1 ) = ln(K50 ) − ln(K50 · (1 − EK )) = − ln(1 − EK ) .

In MORE the Dykstra-Parsons option is selected using the DPCF keyword. The user-entered permeability is
interpreted as K50 and the supplied EK value is used to estimate σ. The actual permeability values are then
generated from a pseudo-random number sequence with a Gaussian distribution. The seed of the random number

17.11. Dykstra-Parsons Permeability Distribution 1599


Tempest MORE Help, Release 8.1

generator may be set at the start of the MORE run, so that the “random” permeability sequence will be repeatable
from run to run. However, if the seed is set to zero, a new random distribution will be generated for each run.
Given an element y from a normal distribution with

p(y) = 1/( 2π) · exp(−y 2 /2)

and comparing with the expression above for p(m), we obtain the corresponding K value as

K = exp(x)
x = x̄ + y · σ·

The random value generated is applied to Kx . The Ky and Kz values are generated such that they preserve the
ratios Ky /Kx and Kz /Ky of the originally entered data.
The plot in the following figure shows the gas saturation obtained in a simple 1/4 five spot study run with a
Dykstra-Parsons coefficient of 0.5 and a seed value of 1.

1600 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.12 Fluid In Place Reports

MORE calculates the fluid in place for regions defined by the FIPN keyword. The FLIP keyword can be used
to request output of weighted fluids in place for user defined regions - see also the discussion on defining FLIP
arrays.
A summary of fluids in place will be written to the .out file at each array time by specifying the ARRA keyword
together with the GENE keyword with an argument FLIP as in the following example:
ARRAY MONTHS
0 1 2 3 5 10 15 /
GENE FLIP

A report of the fluids in place is then written to the .out file as follows:
FIPA===============================================================================
Fluid in place at 28 May 2003, 30.0 days
===================================================================================

Fluid in place region:all

Pore volume average pressure 253.45 barsa


Hydrocarbon average pressure 236.16 barsa

Datum corrected pore volume average pressure 216.20 barsa


Datum corrected hydrocarbon average pressure 232.55 barsa

A report is written first for the field (FIPA) as shown above. If any fluid in place regions have been specified by
the FIPN keywords, then these are written next with mnemonics FIPN1, FIPN2,... for each FIP region. The
pressure report is followed by a report of the fluids in place for each phase present in the reservoir.

Calculation of averaged pressure

The averaged pressure pk over a fluid in place region k specified using the FIPN keyword is given by
P
pi Vi
pk = Pi∈F IPk ,
i∈F IPk Vi

where the sum is over all cells i within the region F IPk (such that F IP N (i) = k). Here pi denotes the pressure
in cell i and Vi is the pore volume.

Calculation of averaged hydrocarbon pressure

The hydrocarbon average pressure phk is weighted by the hydrocarbon pore volume:
P
pi Shi Vi
phk = Pi∈F IPk ,
i∈F IPk Shi Vi

where Shi is the hydrocarbon saturation in cell i, given by Shi = Soili + Sgasi .

Calculation of datum-corrected pressure

The datum-corrected pressure pDatum,k is calculated in each region k at the datum depth Datum, entered using
the DATU keyword (or using the default value if the keyword is not entered). The formula used by MORE is
P
(pi − ρk g (di − Datum)) Vi
pDatum,k = i∈F IPk P ,
i∈F IPk Vi

17.12. Fluid In Place Reports 1601


Tempest MORE Help, Release 8.1

where di is the depth of cell i. In the above, ρk denotes the averaged density for the fluid in place region k which
is calculated using
P P
i∈F IPk p∈AllP hases (Sp,i ρp,i Vi )
ρk = P ,
i∈F IPk Vi

so that a saturation-weighted average density ρk is used in each region. Here, Sp,i denotes the saturation for phase
p in cell i.

Calculation of datum-corrected hydrocarbon pressure

The datum-corrected hydrocarbon pressure phDatum,k in each region k is calculated similarly to the datum-
corrected pressure, except that the pore volume weighting is now replaced by a hydrocarbon pore volume:
P 
i∈F IPk Pi − ρh,k g (di − Datum) Shi Vi
phDatum,k = P ,
i∈F IPk Shi Vi

where the averaged hydrocarbon density ρh,k in each fluid in place region k is given by
P P
i∈F IPk p∈HydrocarbonP hases (ρp,i Sp,i Vi )
ρh,k = P
i∈F IPk Shi Vi

Calculation of stock tank volumes

In a black oil run, there are only two hydrocarbon components (oil and gas) and the surface volumes are related to
reservoir volumes by the formation volume factors (entered using OPVT, GPVT etc.) The total fluid in place for
oil and gas is then the total surface volume of each component at stock-tank conditions:
Mnemonic Description (black oil runs)
fipo Surface volume of oil
fipg Surface volume of gas
fipw Surface volume of water

For compositional runs, there are several hydrocarbon components, and the amount of liquid and vapour is deter-
mined by a flash calculation. At reservoir conditions, the components are flashed to determine fluid saturations
and related properties.
In order to report oil (liquid) and gas (vapour) in a compositional run, the total number of moles in the reservoir are
obtained by performing a flash calculation through the separators (SEPA) to stock tank conditions. The volumes
of liquid and vapour in the stock tank separator (which is at surface conditions) are then reported:
Mnemonic Description (compositional runs)
fipo Stock tank liquid after flash calculation of reservoir moles through separators to stock tank
conditions.
fipg Stock tank vapour after flash calculation of reservoir moles through separators to stock tank
conditions.
fipw Surface volume of water

These quantities are also written to the .out under the FIPA heading as follows:
Reservoir volume Surface volume
------- ---------------- ------------------
Oil 3.3344E6 rb 2227.545 mstb
Gas 16.6460E6 rb 14289.958 mmscf
Water 5.6314E6 rb 5604.904 mstb
------- ---------------- ------------------
Total pore volume: 25.6119E6 rb
Total reference volume: 25.8140E6 rb

1602 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Calculation of mobile fluid volumes (black oil only)

In the black oil cases, MORE will also calculate mobile volumes of each phase.
Mobile volumes of water, gas and oil in place are:
Mnemonic Description
fmwip Field mobile water in place
fmgip Field mobile gas in place
fmoip Field mobile oil in place
fmoipw Field mobile oil in place with respect to water
fmoipg Field mobile oil in place with respect to gas
gmwip Group mobile water in place
gmgip Group mobile gas in place
gmoip Group mobile oil in place
gmoipw Group mobile oil in place with respect to water
gmoipg Group mobile oil in place with respect to gas

Quantities may be written to the .out file under the FIPA heading as follows:
Mobile Surface Volume
----------- ---------------------
Oil 45473.857 ksm3
Gas 7008.887 Msm3
Water 123912.379 ksm3
----------- ---------------------

These are calculated using


X V
f mwip = max(0, Sw − Swcr)
i
Bw

for water, where the sum is over all cells i. Bw denotes water formation volume factor, Sw is the water saturation,
Swcr is the critical water saturation, and V is the reservoir pore volume.
Similarly, for gas
X V
f mgip = max(0, Sg − Sgcr) ,
i
Bg

and for water-wet cases, mobile oil in place is calculated using


X V V
f moip = max(0, So − max(Sowcr, Sogcr)) + Rv max(0, Sg − Sgcr)
i
Bo Bg

where Sowcr is the critical oil in water saturation, Sogcr is the critical oil in gas saturation and Rv is the vapour
oil-gas ratio.
However, when oil is the wetting phase, MORE will report instead
X V V
f moip = max(0, So − Sowcr) + Rv max(0, Sg − Sgcr) .
i
Bo Bg

When the MOBI package is selected from the RATE keyword, MORE will also report mobile oil with respect to
oil and gas individually:
X V
f moipw = max(0, So − Sowcr)
i
Bo

and
X V V
f moipg = max(0, So − Sogcr) + Rv max(0, Sg − Sgcr)
i
Bo Bg

17.12. Fluid In Place Reports 1603


Tempest MORE Help, Release 8.1

Calculation of recovery factors

MORE calculates recovery factors for oil and gas when the FIELD package is enabled using the RATE keyword.
Mnemonic Description
foew Field oil recovery through wells
fgew Field gas recovery through wells

Other quantities of interest when calculating recoveries are:


Mnemonic Description
fipo Field oil in place
fipg Field gas in place
fipw Field water in place
fopt Field oil production total
fgpt Field gas production total
fwpt Field water production total

Each quantity has units of surface volume in the appropriate unit system.
The definitions for the qunatities foew and foeg are
total surface volume of oil production through all wells (f opt)
f oew = ,
initial surface volume of oil in place (f ipo(0))
and
total surface volume of gas production through all wells (f gpt)
f oeg = .
initial surface volume of gas in place (f ipg(0))
In a black oil run, oil and gas are pure components and so by conservation of components (assuming there is no
oil injection),

f opt = f ipo(0) − f ipo ,

where f ipo(0) denotes f ipo evaluated at time t = 0. This may also be written as

total surface volume of oil production through all wells


= .
initial surface volume of oil in place - current surface volume of oil in place

Similarly for the gas phase

f gpt = f ipg(0) − f ipg .

This will not be true in the compositional case due to the nonlinear nature of the flash for EOS cases:

f opt 6= f ipo(0) − f ipo ,

f gpt 6= f ipg(0) − f ipg .


This is explained by considering that in an EOS run, the composition of the reservoir will change over time.
Similarly, the composition of the produced liquid (after being flashed through the separators to surface conditions)
will change over time. For example, consider a CO2 injection study where the CO2 may either mix with the oil
or strip off lighter components, depending on reservoir conditions.
In the compositional case, the surface volumes of liquid (oil) and vapour (gas) are obtained by flashing the total
number of hydrocarbon moles through the separarors to stock tank conditions. The separators are defined using
the SEPA keyword, or if this is omitted, a default separator is used which flashes to stock tank conditions.
At any given time, the surface volumes of oil and gas in place in the reservoir (fipo and fipg) are obtained by
flashing the total number of hydrocarbon moles for each component in the reservoir through the separators to

1604 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

stock tank conditions. The surface volumes of oil and gas production (fopt and fgpt) are obtained by flashing the
molar production rates from each well through the separators, integrating over time, and summing for all wells.
As noted, in an EOS run, the composition of the oil and gas may change over time and the flash is also a highly
nonlinear process. To expand on this, consider two quantities of hydrocarbon, say A and B at pressure P and
temperature T . Flash each sample to surface conditions through the separators and measure the liquid (oil) and
vapour (gas) volumes, say VoA , VgA and VoB , VgB .
Now perform a flash for the combined sample C = A + B to produce surface volumes VoC , VgC for oil and gas.
In each case, the flash is performed through the separators from reservoir to stock tank conditions.
Then
VoC 6= VoA + VoB and
VgC 6= VgA + VgB ,

which is due to the nonlinearity of the separator flash and the fact that both the reservoir and produced oil (liquid)
and gas (vapour) compositions may change over time.
MORE will also report recoveries for each component to the .out file under the FIPA heading, for example in a
10 component (CO2, N2, C1, C2, C3, C4-6, C7P1, C7P2 and C7P3) compositional run with water:

Comp Original Current Injection Production Units


,→Matbal Recovery(%)
-------- ------------ ------------ ------------ ------------ --------- ---
,→----- --------
Oil 3137.119 1945.499 0.0 1178.711 mstb
,→ 37.6
Gas 23897.619 3095.523 1715.500 22535.743 mmscf
,→ 94.3
Water 5728.756 5437.015 0.0 291.740817 mstb 1.
,→000 5.1
-------- ------------ ------------ ------------ ------------ --------- ---
,→----- --------

Comp Original Original Current Current Injection


,→Injection Production Production Matbal Recovery(%)
mmscf mlbmoles mmscf mlbmoles mmscf
,→mlbmol mmscf mlbmol
-------- ------------ ------------ ------------ ------------ ------------ --
,→---------- ------------ ------------ -------- ---------
CO2 316.331089 833.590860 42.255574 111.351243 22.673583
,→ 59.749080 296.749099 781.988697 1.000 93.8
N2 507.175465 1336.501 56.516218 148.930677 36.478236
,→ 96.126892 487.137483 1283.697 1.000 96.0
C1 17251.809 45461.703 2077.753 5475.262 1239.345
,→ 3265.904 16413.402 43252.346 1.000 95.1
C2 2271.832 5986.698 343.156633 904.281124 162.085284
,→427.124668 2090.761 5509.542 1.000 92.0
C3 1545.055 4071.506 293.799814 774.216786 104.601996
,→275.645585 1355.857 3572.935 1.000 87.8
C4-6 2528.034 6661.838 572.510398 1508.671 147.364550
,→388.332814 2102.889 5541.500 1.000 83.2
C7P1 1233.953 3251.693 659.931753 1739.042 2.875167
,→ 7.576595 576.896092 1520.228 1.000 46.8
C7P2 399.988898 1054.045 266.604516 702.552153 0.075692
,→ 0.199462 133.460073 351.691949 1.000 33.4
C7P3 88.886422 234.232142 75.878164 199.952981 0.82149E-6
,→0.00216E-3 13.008259 34.279165 1.000 14.6
-------- ------------ ------------ ------------ ------------ ------------ --
,→---------- ------------ ------------ -------- ---------

The first two lines in the above report (fipo and fipg) refer to the Oil and Gas components in a black oil case,
or the liquid and vapour separator surface volumes in the compositional case, followed by the water component.

17.12. Fluid In Place Reports 1605


Tempest MORE Help, Release 8.1

Then for each hydrocarbon component in an EOS run, MORE reports the molar values and surface volumes
for each component in place as if it were an ideal gas. The conversion factor used for ideal gas volumes is
1/V = nP/(R ∗ T ) where n is the number of moles and the other quantities have their usual values.
In each case, the reported recovery is defined as
original volume in place − current volume in place
recovery = × 100%.
original volume in place
Then the recoveries for Oil and Gas will be defined as
f ipo(t = 0) − f ipo
Oil recovery = ,
f ipo(t = 0)
f ipg(t = 0) − f ipg
Gas recovery = .
f ipg(t = 0)

Note that because of the nonlinear separator flash in the EOS case, the above Oil and Gas recoveries will not be
the same as foew and foeg.

Output for Tempest VIEW

The region quantities will all be written to the .rat file at each RATE output time and may be plotted using VIEW.
The pressure quantities are listed below.
Mnemonic Description
fipg Field gas in place
fipo Field oil in place
fipw Field water in place
fgew Field gas recovery through wells
foew Field oil recovery through wells
fpr Field hydrocarbon volume pressure average
fprp Field pore volume pressure average
fprd Field datum-corrected hydrocarbon volume pressure average
fprpd Field datum-corrected pore volume pressure average
gprh Group hydrocarbon volume pressure average
gprp Group pore volume pressure average
gprhd Group datum-corrected hydrocarbon volume pressure average
gprpd Group datum-corrected pore volume pressure average
rpr Region hydrocarbon volume pressure average
rprp Region pore volume pressure average
rprd Region datum-corrected hydrocarbon volume pressure average
rprpd Region datum-corrected pore volume pressure average

1606 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.13 Flux Option

Introduction

The flux option allows the reservoir to be decomposed into different regions for which the conditions at their
boundaries are recorded in a file. These can be read back by a run in which only a subset of regions is active.
This provides a way of doing sector studies in which only a small region of the reservoir is of interest, without the
computational cost of modelling the rest of the reservoir in every run.

Required Data

The keywords associated with the flux option are:


• FLXT - specify the type of boundary conditions: pressure or component flows or none,
• FLXN - specify the flux regions to be used,
• FLXW - write a flux file from this run,
• FLXA - specify which flux regions are active in this run,
• FLXR - nominate a flux file to be read by this run.

Writing a Flux File

In a flux run, a set of FLXN region numbers should be supplied to split the reservoir into a number of flux regions.
Three types of boundary conditions (set by FLXT keyword) are supported by MORE:
• FLUX - The component flows for cell connections crossing any boundary between two regions are written
to the flux file.
• PRES - The phase pressures and densities as well as all component in phase mobilities are written to the flux
file for each cell within the boundary layer of any region. In the FLXR run, the flows into or out of cells on
the active regions’ boundaries contain contributions calculated from the former values of the inactive cells
and the corresponding simulation values in the active boundary cells.
• NONE - No flow occurs between active and inactive flux regions. Of the three available boundary con-
ditions, this one usually leads to the largest discrepancy between base and flux run and is generally only
recommended for forward prediction without base run data available.
The FLXW keyword should be used to request that a flux file be written. Flux files have the suffix .flx and are
Roff (Roxar Open File Format) files. ROFF files are described in the document MOREFileSystem.pdf which
is supplied with the Tempest release. Roff files may be binary or formatted, the default being binary, although
formatted files may be requested using the FORM argument of the FLXW keyword.
A flux file contains a header, then a fluxDetails section, then, for every time at which data is written to the
flux file, a fluxFlows section and a wellData section. For every pair of cells in different flux regions between
which a flow can occur, the following quantities are stored:
section FLXT FLUX FLXT PRES
x,y,z, and local grid coordinates
fluxDetails
direction, depth and transmissibil-
ity of each cell connection
fluxFlows for each cell pair: for each boundary cell:
• flow rate for each com- po- • cell pressure
nent (moles/day) • phase capillary pressures
• phase densities
• component-in-phase mobili-
ties

wellData flow rates for the wells in the study

17.13. Flux Option 1607


Tempest MORE Help, Release 8.1

By default, the flux file is written to after every time step. However, this may produce overly large flux files, so
optionally it is possible to set a minimum time in days between flux file write operations. For example:

FLXW 15 FORM

will result in a write operation no more frequently than every 15 days.


The list of stored flows resp. pressures etc. include those for normal and fault connections. In parallel runs, this
includes pairs of cells which are on different processors.
The root of the flux file name follows that of the run which created it, so a run started from dataset base.dat will
produce a flux file called base.flx.

Reading a Flux File

In the run which reads the flux file, the grid dimensions and the FLXN regions numbers should be the same as in
the run which wrote the flux file. The file to be read may be specified with the FLXR keyword, for example:

FLXR base

When running a case in which a flux file is being read, some of the flux regions may be made inactive. This is
done using the FLXA keyword to specify which regions are active. Suppose the base run had four regions. Then it
would be possible to use the following:

FLXR base
FLXA
3 /

Only the third fluxnum region would be modelled, cells in other regions being made inactive. Flows from the
inactive regions into the active region would be recovered from the flux file. Well rates for cells in active regions
would also be read from the flux file, so that the correct full-field production and injection rates are reported.
When pressure type boundary conditions are used in an FLXR run, using the argument

FLXR base STAT

performs some statistical analysis of the FLXR boundary flows in comparison to those in the base run.

Evolution of flux boundary values

The flux file contains a discrete set of boundary values at the simulation times they have been recorded during the
FLXW run. When the timestepping in the FLXR run differs from the former, piecewise constant boundary values
are applied by default. That is

v(t) = v(tFLXW
i ) for tFLXW
i ≤ t < tFLXW
i+1 ,

1608 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

where tFLXW
i , tFLXW
i+1 denote two consecutive record times in the flux file. Using the option INTE, linear inter-
polation is applied instead, such that for tFLXW
i ≤ t < tFLXW
i+1

tFLXW
i+1 −t
v(t) = φv(tFLXW
i ) + (1 − φ)v(tFLXW
i+1 ) with φ ≡ .
ti+1 − tFLXW
FLXW
i

Note that when the last time on record, tFLXW


i = tFLXW
max , has passed MORE applies the last boundary values
indefinitely for future times.

Examples

A number of examples showcasing the use of the flux option keywords are distributed with the Tempest installa-
tion, as described in the Flux Option Examples page. Here we will describe the first of these examples in more
detail.
The dataset flxWrite.dat is a simple case which writes out a flux file.
The significant parts of the dataset are:
• FLXW - This requests the output of flux file
• FLXN - Splits the reservoir into two flux regions.
This example is of downdip water injection. The initial state of the full run shows water in the lower half of the
reservoir:

Fig. 17.5: Water saturation at start and 15 years

At the end of the run water has reached the producers and the water cut is 85%. If the main interest is the location
of the three producers, it might be hoped that the flux option could be used to model just the top 20% of the
reservoir. So the flxn array is set up so that there are two regions:

17.13. Flux Option 1609


Tempest MORE Help, Release 8.1

The dataset flxRead.dat is the same study, but reading from the flxWrite.dat flux file, and with just the
smaller first flux region active:

FLXR flrWrite

...

FLXA
1 /

In this case only the top 20% of cells are active, but the water saturation front appears and flows to the producers
in the same way, despite the absence of injectors in the run:

Fig. 17.6: Water saturation at start, 10 years and 15 years

1610 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

It is now possible to model the changes caused by changing well locations. It is possible to do this without re-
building the flux file if the changes do not effect flow across the flux region boundary too much. So for a second
run with repositioned wells, but with only flxn region 1 active and reading from the same flux file the 20 year
water saturation looks like the following figure.

This can be compared with the result obtained by running the entire problem again as illustrated in the following
figure.

The water cut agreement is also good, as illustrated in the following figure.

17.13. Flux Option 1611


Tempest MORE Help, Release 8.1

However, some care must be taken when applying flux files to new situations. In this case there was sufficient
production so that in both cases the wells injected at their target capacity – if this were not the case the water
flow into the active sector in the runs which read the flux files would be inaccurate. In MORE the flows between
flux regions will always be preserved. Suppose the production wells were both shut in the run reading the flux
file: the flow into the active flux region would then cause the pressure to rise (to over 10000 bar in this case).
The conclusion is that flux regions can be extremely useful for doing sector models as long as the flows into the
modelled region remain appropriate.

1612 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.14 Forchheimer Flow

At high flow rates the linear relationship between pressure gradient and fluid flow velocity defined by Darcy’s law
starts to break down. The extra pressure drop is due to inertial terms in the Navier-Stokes equation and may be
represented by an extra contribution to the pressure drop which goes like the square of the flow velocity, v. This
formulation is due to Forchheimer1 . In terms of the Forchheimer coefficient, β, the pressure gradient in a given
direction, taken as the x direction here, for single phase flow, is

dP/dx = (µ/K) · v + β · ρ · v 2
= (µ/(KA)) · q + (β · ρ/A2 ) · q 2
= (µ/(KA)) · q · (1 + β · ρ · K/(µA) · q)
= (µ/(KA)) · q · 1/FN D

where

FN D = 1/(1 + β · ρ · K/(µA) · q)

and
• µ is the viscosity
• K the permeability
• ρ the mass density
• v = q/A for a volumetric flow rate a through an area A
The units of β are inverse length, so in a consistent unit system are in 1/m or 1/ft. However, this yields rather large
values for β, and so MORE accepts β in units of the Forchheimer, with 1F = 1atm s2 g−1 .
It can be seen that FND acts as a multiplier on the usual Darcy flow, q = KA/µ · dP/dx, and that the group
βρK/(µA) · q should be dimensionless.
Forchheimer flow is of importance in regions of high flow velocity, near wells. In terms of the drawdown into the
well, it is shown below that the effect of a non-zero Forchheimer coefficient is to define a D-factor for the well. It
is also possible to treat the Forchheimer effect between cells. The effect is to set up a non-Darcy flow multiplier,
FND , which multiplies the usual Darcy flow expression FND 2 . Apart from in near-well regions, this factor is often
close to unity.

The Forchheimer Effect for Interblock Flow

We wish to evaluate the coefficient FND which contains the effect of the Forchheimer term in the flow in a given
direction d = x, y, z on flow in that direction.
As above, FND = 1 + βρK/(µA) · q, but only if all quantities are specified in a consistent unit set. In an
engineering unit set, such as the MORE field or metric unit sets, a unit conversion constant, CF C , is required. In
metric units

FND = 1/(1 + CF C · β · ρ · K/(µA) · q)

CF C = (m−1 /F ) · (m2 /mD) · (cP/(P ascal · s)) · ((m3 /sec)/(m3 /day)


= 1.15741 × 10−9
In field units
CF C = (f t−1 /F ) · (f t2 /mD) · (cP/(lbs/f t2 · s)) · ((f t3 /sec)/(rb3 /day)
= 3.17277 × 10−8
1 Forchheimer, P., Zeits V. Deutsch Ing., (1901), Vol 45, p.1782.
2 Swift, G.W. and Kiel, O.G., The Prediction of Gas-Well Performance Including the Effect of Non-Darcy Flow, SPE 143, 36th Annual
Fall Meeting of SPE, 1961.

17.14. Forchheimer Flow 1613


Tempest MORE Help, Release 8.1

The density, ρ, is in kg/m3 or lbs/ft3 .

The Forchheimer Effect for Wells

The effect of Forchheimer flow in the near-well region is the same as a D-factor, described in detail in the D-
Factors for Wells section of the Technical Reference. Below we derive the required D-factor in terms of the
Forchheimer beta coefficient.
For a single phase gas completion the surface flow rate is

qsg = 1/(µg Bg ) · (2πKh) · (Pc − Pw )/(ln(ro ) − ln(rw ) + D · qsg )

where
• h is the layer thickness
• Pw and Pc are the well and cell pressures corrected to the same depth
• rw is the radius of the well
• rp is the pressure equivalent radius at which the pressure equals the cell average pressure
For radial gas flow with a non-zero Forchheimer coefficient

dP/dr = (µg /(KA)) · q + (β · ρg /A2 ) · q 2

In the case of a well in a layer of thickness h, the area for flow is 2πrh, and q = qsg .Bg , so

dP/dr = (µg /(2πrKh)) · qsg · Bg + (β · ρg /(2πrh)2 ) · qsg 2 · Bg 2

Integrate this between rw and rp :

Pc − Pw = (µg /(2πKh)) · qsg · Bg · (ln(ro ) − ln(rw )) + (β · ρg /(2πh)2 ) · qsg2 · Bg2 · (1/rw − 1/ro )

Multiply by 2πKh and divide by µg .Bg gives

1/(µg B) · 2πKh · (Pc − Pw ) = qsg · ((ln(ro ) − ln(rw )) + (β · ρg · K/(2πhµg )) · qsg · Bg · (1/rw − 1/ro ))

so that qsg is given by

qsg = 1/(µg · Bg ) · 2πKh · (Pc − PW )/(ln(ro ) − ln(rw )) + (β · ρg · K/(2πhµg )) · Bg · (1/rw − 1/ro ) · qsg )

Comparing the equation above to the equation for the surface flow rate for a single phase gas completion, it is
possible to identify D as

D = β · ρg · K/(2πhµg ) · Bg · (1/rw − 1/ro )

But
ρg .Bg = (reservoir density).(formation volume factor)
= (mass/res vol).(res vol/surface vol)
= mass/surface volume
= ρgsc

the density at standard conditions, hence

D = β · K · ρgsurf /(2πhµg ) · (1/rw − 1/ro )

Again, care is needed with units. The above is valid if all values (including the gas constant) are in a consistent
set of units. In engineering units

D = CF W · β · K · ρgsurf /(2πhµg ) · (1/rw − 1/ro )

1614 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

In metric units, CF W is obtained as

CF W = (m−1 /F ) · (m2 /mD) · (cP/P ascal · s)) · ((m3 /sec)/(ksm3 /day))


= 1.15741 × 10−6

In field units, CF W is obtained as

CF W = (f t−1 /F ) · (f t2 /mD) · (cP/(lbs/f t2 · s)) · ((m3 /sec)/(km3 /day))


= 5.65095 × 10−6

For a gas, the surface density is

Mw · P sc /(R · T sc )

so D may be re-written as

D = β · Mw · P sc · K/(2πhµg · R · T sc ) · (1/rw − 1/ro )

with R in units of Barsa/(m3 .Kg-mole.DegK) and qsg in ksm3 /day, or with R in units of psia/(ft3 .lb-mole.DegR)
and qsg in mscf/day.
Reference2 then defines a conversion constant CF W 1 which includes the 2πR factor in the constant and leaves β
in 1/ft to obtain their conversion constant value of 2.715e-15.

The Forchheimer Effect in MORE

In MORE if the FORCH CELL option is requested the Forchheimer value β will be used in interblock flow, and
if FORCH WELL is requested the value will be used to set D-factors for the wells: CELL and WELL may be used
together.
The values of β should be entered in units of the Forchheimer in both unit sets with the BETA grid keyword.
This enables users to add any required dependence on permeability and porosity using the MORE grid array
expressions.

17.14. Forchheimer Flow 1615


Tempest MORE Help, Release 8.1

17.15 Gas Pseudo-Pressure

Introduction

Gas pseudo-pressure is a pressure-dependent quantity derived from the properties of the gas phase which results
in linearism of the gas inflow equation. It allows the change in gas properties in the well inflow region to be
accurately accounted for.
A multi-phase generalisation of gas pseudo pressure allows multi-phase effects such as liquid dropout in gas
condensates to be included.

Dry Gas Pseudo-Pressure

Gas pseudo-pressure is defined as


P
P 0 · dP 0
Z
Ψ(P, T ) = 2 · (17.17)
P0 µg (P 0 , T ) · Zg (P 0 , T )

where
• P is the pressure
• µg is the gas phase viscosity
• Zg is the gas phase Z-factor
• P0 is a base pressure, taken in MORE as the standard pressure of 1 atmosphere
It can be seen that the units of gas pseudo-pressure are pressure2 /viscosity, so in MORE either psi2 /cP or bar2 /cP.
To obtain this from the user data provided in MORE, the Z-factor must be obtained from the gas formation volume
factor supplied with keywords like GPVT. The gas formation volume factor is defined as
Bg = (gas volume at reservoir conditions) / (gas volume at standard surface conditions)
and is entered in units of rb/smcf or rm3 /ksm3 . Define a like-for-like formation volume factor (that is, in units like
rmcf/smcf) as

Bg0 = Cv · Bg

where Cv is in rmcf/rb=1.0/178.107 or krm3 /rm3 =0.001.


Then using the gas law P V = nZRT , the ratio of the volume of the same quantity of gas at two different pressures
becomes
V (P, T ) Z(P, T ) · T /P
Bg0 = =
V (P0 , T0 ) Z(P0 , T0 ) · T0 /P0

by convention gas formation volumes are with respect to ideal gas Z-factors with

Z(P0 , T0 ) = 1

so Z(P, T ) can be obtained as

Z(P, T ) = (T0 /T ) · (P/P0 ) · Bg0 = Cv · (T0 /T ) · (P/P0 ) · Bg

Returning to the definition of gas pseudo-pressure above, and substituting this expression for the Z-factor,
P
P0 · T 2dP 0
Z
Ψ(P, T ) =
T0 · Cv P0 µg (P 0 , T ) · Bg (P 0 , T )

This function is calculated in MORE using trapezoidal rule numerical integration.

1616 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Gas pseudo-pressure may be used in drawdown calculations. The usual expression for inflow is obtained by
integration of the expression for the pressure gradient in the near-well region around the well. Assuming radial
flow, the volume flow of a single phase may be written as

Qv (r) = 2πrKh/µ · dP/dr

So the rate of flow in terms of the conserved surface gas volume flow rate is

Qg = 2πrKh/(µg Bg ) · dP/dr

As the rate of inflow is independent of the radius, this expression can be written as

dP/dr = Qg /[2πrKh/ (µg (P )Bg (P ))]

If the gas viscosity and formation volume factor are assumed to be independent of pressure and instead evaluated
at the cell pressure, the difference in pressure between the well radius and the cell pressure equivalent radius is
Qg [log(rc ) − log(rw )]
P c − Pw =
2πKh/(µg Bg )
or
2π · Kh P c − Pw
Qg = · = ccf · (1/µg Bg ) · (Pc − Pw )
log(rc ) − log(rw ) µg Bg
which is the usual expression for inflow in terms of the completion connection factor ccf .
However, the assumption that the gas viscosity and formation volume is independent of pressure may not be
reasonable for gas, particularly if Pc and Pw are very different. To avoid this approximation, an expression for
dΨ/dr is obtained:
2P Qg
dΨ/dr = dΨ/dP · dP/dr = ·
µg (P, T ) · Zg (P, T ) 2πrKh/(µg (P )Bg (P ))
using the condition that
Z x
d
f (y)dy = f (x).
dx
Substituting the above expression for Zg gives

dΨ/dr = dΨ/dP · dP/dr


= (2P/µg (P, T )) · 1/(Cv (T0 /P0 )(P/T ) · Bg (P )) · Qg /(2πr(Kh/µg (P )Bg (P )))
= 2 · (Cv (T0 /P0 )/T ) · Qg /(2πrKh)

Integrating between rc and rw

Ψc − Ψw = 2/(Cv (T0 /P0 )/T ) · Qg /(2πKh) · (log(rc ) − log(rw ))

and
Qg = 1/(2/(Cv (T0 /P0 )/T )) · ((2πKh)/(log(rc ) − log(rw )))(Ψc − Ψw )
= (Cv T0 )/(2 · T · P0 ) · ccf · (Ψc − Ψw )

Internally, MORE uses molar quantities, and the required molar flow rate is

Qmg = ρmsg /(2/(Cv (T0 /P0 )/T )) · ((2πKh)/(log(rc ) − log(rw )))(Ψc − Ψw )


= ρmsg (Cv T0 )/(2 · T · P0 ) · ccf · (Ψc − Ψw )

This is the final form of the drawdown in terms of the gas pseudo-pressure difference.
To use this, starting with the usual inflow condition in terms of the formation volume factor and viscosity

Qmg = ccf · M mg · (Pc − Pw )

17.15. Gas Pseudo-Pressure 1617


Tempest MORE Help, Release 8.1

with

M mg = ρmsg /(µg Bg ) = bmg /µg

it is possible to express Qg in terms of Ψ, Mg and a pseudo-pressure correction factor FP P :

Qg = Mg · ccf · FP P · (Ψc − Ψw )

FP P = (Cv · T0 (µg /bmg ) · ρmsg )/(2 · T · P0 ) = (Cv · T0 · µg · Bg )/(2 · T · P0 )


So when using gas pseudo-pressure the pseudo-drawdown FP P .(Ψc - Ψw ) replaces the normal drawdown in the
inflow rate calculations for the gas phase.
In the multi-phase case the inflow calculations are less clear. It is possible to write an inflow condition for the
conserved gas component which includes a gas relative permeability

dP/dr = Qg · 1/(2πr(KhKg (Sg (P ))/µg (P )Bg (P )))

In practice, the gas saturation will be a function of pressure in the drawdown region, as the gas saturation will
adjust so that the same pressure curve matches the required gas and non-gas phase input. If this effect is small
enough to be ignored, and Krg (Sg (P )) can be approximated by Krg (Sg (rc )) throughout the drawdown region,
then the integration variable can again be replaced by Ψ to obtain

Qmg = Kr · ρmsg (Cv T0 )/(2 · T · P0 ) · ccf · (Ψc − Ψw )

Then the usual gas mobility becomes

M mg = ρmsg · Krg /(µg Bg )

and the result is again obtained that

Qg = Mg · ccf · FP P · (Ψc − Ψw )

So, if the relative permeability can be assumed constant, it factors out of the calculations and the same pseudo-
drawdown treatment can be used.
A further simplification defines a factor

Fg = FP P · (Ψc − Ψw )/(Pc − Pw )

so that

Qg = Mg · ccf · Fg · (Pc − Pw )

The Fg factor then includes all the effects of the gas pseudo-pressure calculation in the standard expression for gas
inflow. Its role in modifying the gas phase flow is very similar to that of a D-factor in modifying the completion
connection factor for the gas phase only. As the drawdown falls to zero then the modification factor Fg tends to
unity.

Relationship to Russell-Goodrich

If we assume that the gas properties Zg and µg are approximately constant, the gas pseudo-pressure (17.17)
reduces to
Z P
2 P 2 − P02
Ψ(P ) = P 0 · dP 0 = .
µg Zg P0 µg Zg

In this case, the above derivation leads to the inflow relationship

Pc2 − Pw2
Qg = Mg · ccf · = Mg · ccf · Frg · (Pc − Pw )
Pc

1618 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

where
Pc + Pw
Frg = .
Pc

This is the well-known Russell-Goodrich1 inflow relationship in which the flow rate is found to vary as the differ-
ence between the square of the grid block and well bore pressures.

Multi-Phase Gas Pseudo-Pressure

For gas condensate producers, a multi-phase generalisation of gas pseudo-pressure may be used used to take
account of condensate dropout in the calculation of well inflow. The description below is based on that of Whitson
and Fevang2 .
In this multi-phase case, a number of conserved components can be flowing into the well

Qc = 2πrKhMc · dP/dr

where
P
• Mc is the total mobility of component c, given by Mc = c Mcp
• Mcp is the mobility of component c in phase p, given by Mcp = xcp .Krp .bmp /µp
• bmp the molar density of phase p
• xcp the mole fraction of component c in phase p
The mobility is generally a function of the phase saturations through the relative permeability Krp as well as of
the pressure through the density and viscosity.
Adding up the flows for each component, the total molar inflow rate is:

QT = 2πrKhMT · dP/dr

with
XX
MT = Mcp
c p

Suppose the composition of flow into the inflow region around the well is z, with
,
X
zc = Qc Qc0
c0

Then there is a condition on the saturations at any pressure P in the inflow region that the flowing composition is
still z: that is, there is no significant build up of material in the inflow region and the flowing composition remains
the same into the well. Apart from a brief transient period this is likely to be the case.
Thus at any pressure the saturations can be determined as a function of pressure as

zc = Mc (P, S(P ))/MT (P )

The total molar mobility can thus be obtained as a function of pressure, and so a generalised pseudo-pressure can
be defined as
Z P
Φ(P, T ) = MT (P 0 ) · dP 0
P0

1 Russell, D. G., Goodrich, J. H., Perry, G. E., and Bruskotter, J. F., Methods of Predicting Gas Well Performance, Transactions of the

ASME, JPT, 1966, p 99-108.


2 Whitson, C. H. and Fevang, O., Generalised Pseudopressure Well Treatment in Reservoir Simulation, Presented at the IBC Technical

Services Conference on Optimisation of Gas Condensate Fields, Aberdeen, UK (1997).

17.15. Gas Pseudo-Pressure 1619


Tempest MORE Help, Release 8.1

so that

dΦ/dP = MT (P )

Combining

dP/dr = QT /(2πrKhMT )

with

dΦ/dr = dΦ/dP · dP/dr = MT · dP/dr

we get

dΦ/dr = MT · QT /(2πrKhMT )

integrating over r from rw to ro to obtain

∆Φ = Φ0 − Φw = QT /(2πKh) · (ln(r0 ) − ln(rw ))

so finally the total molar flow is given by

QT = 2πKh∆Φ/(ln(r0 ) − ln(rw ))

and the individual component rates as Qc = zc QT .


Thus it is possible to define a multi-phase gas pseudo-pressure which enables the drawdown to be determined.
As the pseudo-pressure variation goes like ln(r) in the drawdown region, it is also possible to determine the
saturations as a function of radius.
Unlike the single-phase case, however, φ is not a universal function of pressure but is instead a function of the
Nc − 1 independent compositions z1 ..zN c − 1. In a simple three-phase oil-water-gas case this means we have a
2-parameter family of generalised pseudo function curves

Φ(P ; zo , zw )

with

zg = 1 − zo − zw

It is nevertheless generally practical to precalculate this family of curves over a reasonably spaced mesh in (zo ,zw ).

Gas Pseudo-Pressure in MORE

The GPP keyword in the INPUT section should be used if gas pseudo-pressure is to be applied to any well. The
ALL argument can be used to apply it to all wells; otherwise use the WGPP keyword or GPP event to apply it to
selected wells. Similarly, the RG keyword may be used to use the Russell-Goodrich model.
The MPGP keyword should be used to request multi-phase gas pseudo-pressure. If multi-phase gas pseudo pres-
sure is used, details of the solution variation in the near-well region can be obtained using the GENE CMPL output,
and the following sort of table can be obtained:
Well P-1: synthetic radial solution values
I J K Value Variation with radius
--- --- --- -------- -------- -------- -------- -------- -------- -------- --------
4 4 1 Radius 0.152 0.277 0.504 0.918 1.669 3.037 5.524
Pressure 68.948 207.489 281.305 282.776 284.245 285.713 287.179
Oil satn 0.772 0.773 0.0 0.0 0.0 0.0 0.0
Gas satn 0.110 0.109 0.744 0.744 0.744 0.743 0.743
Wat satn 0.118 0.119 0.256 0.256 0.256 0.257 0.257
--- --- --- -------- -------- -------- -------- -------- -------- -------- --------

It can seen that an oil bank has formed in a low pressure region close to the well.

1620 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Dynamic Gas Pseudo-pressure in MORE

In some cases it is not possible to pre-store all the pseudo-mobility calculations. In particular, this is the case when
velocity-dependent relative permeabilities are used.
In these cases, dynamic pseudo-pressures are used: that is, the integration through the pressure region is done for
each inflow calculation. This option will be turned on if required by MORE, but can also be selected using the
DYNA option of GPP.
When using dynamic gas pseudo-pressure, the molar inflow is obtained for a given cell pressure Pc and a given
well pressure Pw by solving the single variable non-linear equation R = 0 where

R = Pshoot − Pc , Pshoot = Pw + ∆P (Pw , Qm )

• ∆P is the integrated pressure change between radius r = rw and r = r0


• r0 the pressure equivalent radius for the cell
• Qm is the total molar flow
We solve the condition that R(Qm ) = 0 using a combination of Newton iteration and bisection to find the molar
flow for a given drawdown.

17.15. Gas Pseudo-Pressure 1621


Tempest MORE Help, Release 8.1

17.16 Initial Conditions

Data for the initial conditions of the reservoir can be specified using either the EQUIlibrium initialisation option
or the noNEQUilibrium initialisation option. For both options, the simulator allows a variety of data input options,
including multiple initialisation regions. For black oil simulations, the temperatures specified at initial conditions
are used to interpolate between fluid properties tables (see example under keyword F(DEpth) in the equilibrium
initialisation section).

Equilibrium Initialisation

For the equilibrium option, the initial conditions in the reservoir are calculated assuming gravity-capillary equi-
librium. In this case, the user supplies the locations of the gas-oil and water-oil contacts, the capillary pressures
at the contacts and the pressure at a reference location using the EQUI keyword. For compositional simulations,
temperature (not used currently), the initial overall composition and an optional saturation pressure is supplied.
For black oil simulations the composition is not required since it is uniquely determined from the saturation pres-
sure. The temperature, composition and saturation pressure can be supplied either as a constant or as a function
of depth.
When the composition is specified as a constant, it is used at all depths during the initialisation procedure. If a
gas-oil contact initially exists, the composition must yield a two phase mixture at all depths in the gas-oil transition
zone. In this case, the normal procedure is as follows:
• Use the oil bubble point composition for the composition data.
• Set the reference depth equal to the gas-oil contact depth (href=hgoc) in the equilibration data.

Note: the reference pressure (pref) in the equilibration data should be slightly less than the bubble point pressure
of the oil.

This procedure gives a constant oil composition in the oil column, while in the gas cap a dew point fluid will exist
at all depths.
A composition gradient can be specified by supplying the overall compositions or saturation pressures as a function
of depth in the oil column or gas cap. In situations where the contact locations are different in different parts of
the reservoir, multiple equilibration regions can be used to define the initial conditions.
If a saturation pressure is specified for a compositional simulation, a modified overall composition is obtained
by flashing the fluid at the saturation pressure and setting the overall composition equal to one of the individual
phase compositions. If the fluid is in the gas cap, the simulator obtains a dew point fluid by setting the overall
composition equal to the vapour composition. If the fluid is in the oil column, the simulator sets the overall
composition equal to the liquid composition to yield a bubble point fluid. When a saturation pressure is specified,
the composition at the corresponding depth must yield a two phase mixture.
When there is no gas present initially, the specified gas-oil contact should be considerably above the reservoir.
Similarly, when there is no oil present initially, a gas-oil contact below the reservoir is supplied.
When the initial water or gas saturations (SWAT, SGAS) are specified in addition to the EQUI keyword, it is
possible to set up capillary pressure modifications which ensure the initial solution is quiescent and honours the
given saturation distributions. See Stabilisation of the Initial Solution using Capillary Pressure Modifications
below.
A reservoir may have multiple equilibration regions (specified by supplying multiple contact depths using EQUI
keyword together with the EQLN keyword to define equilibration regions). If the equilibration regions communi-
cate via flow paths, the initial solution may not then be quiescent, since the solution is in equilibrium only within
each equilibration region. In this case, the threshold pressure option may be used to stabilise the initial solution if
required. Flows will then only occur between equilibration regions when the potential difference exceeds a criti-
cal value. If the threshold pressure values in THPD are defaulted, MORE will calculate threshold pressure values
such that initial solution is quiescent. Specifying the flag ONPD in the THPD keyword will specify breakthrough
pressures between equilibration regions.

1622 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Stabilisation of the Initial Solution using Capillary Pressure Modifications

In many reservoirs, some knowledge of the initial water saturation SWAT is available from log data, and the
initial distribution in the reservoir should honour this consistently with information on contact depth and capillary
pressures given by the EQUI keyword for an equilibrium initialisation.
However, given the EQUI data, saturations would normally be determined using the given contact depths and
capillary pressure data such that the phases are in hydrostatic equilibrium (see the figure). Therefore, when an
arbitrary water distribution (SWAT) is specified without any modification to the oil-water capillary pressures, the
initial solution may be non-quiescent, and there will be flows in the absence of any wells and aquifers. In this case,
MORE can stabilise the initial solution (i.e. make it quiescent) by adding modifications to the oil-water capillary
pressures for each grid block in the transition zone.
The capillary pressure modifications used to ensure stability of the initial solution are controlled by keywords
PCSH and PCSC. If initial saturations using SWAT (or SGAS) are specified together with EQUI, and neither
PCSH or PCSC are entered, MORE will use PCSH with the MIN argument as a default to ensure the initial
solution is quiescent.
The keyword PCSH adds a shift to the phase capillary pressure which stabilises the initial solution. For ex-
ample, when SWAT is specified, then the effective oil-water capillary pressure used during the simulation is
P cowLookup (Sw) + P cowShif t , where P cowLookup (Sw) is the P cow value obtained from table lookup (including
any end-point scaling). The shift P cowShif t is calculated to stabilise the initial solution in the oil-water transition
zone. See the example below.
An alternate keyword PCSC scales the capillary pressure end-points to stabilise the initial solution: In this
case the effective oil-water capillary pressure used in the simulation is P cowLookup (Sw) × P cowScale , where
P cowLookup (Sw) is the P cow value obtained from table lookup (including any end-point scaling) and P cowScale
is an additional end-point scaling which stabilises the initial solution (XPCW, XPCG are modified). A similar
situation occurs when the initial gas saturation SGAS is specified, in which case modifications are made to the
gas-oil capillary pressure P cog in each grid block. The PCSH keyword is preferred over the PCSC keyword
because any end-point scaling arrays XPCW, XPCG are left unchanged.

Non-Equilibrium Initialisation

When a simulation is conducted from an intermediate point in the producing life of a reservoir and/or when the
initial distribution of the pressures, saturations and compositions are known, the non-equilibrium initialisation
option is used. Any of several flexible input options can be used to specify the initial conditions.
The pressures, compositions, saturations and temperatures (currently used for black oil only) can vary radially as
well as vertically. At each position, the composition, pressure and water saturation must be specified. Optionally,
gas saturation or saturation pressure can be specified to modify the composition. If both the gas saturation and
the saturation pressure are specified, the simulator will issue a warning and set the saturation pressure equal to the
reservoir pressure.
For a black oil system, the composition is uniquely determined by the saturation pressure for under saturated
conditions and by the gas saturation for saturated conditions. For this reason, composition data is not needed.
The saturation pressure defaults to the value indicated by the oil PVT table. The temperature values specified at
initial conditions are used to interpolate between the fluid property tables. This option assures a smooth variation
in fluid properties from point to point in the reservoir. If the temperature at every grid point corresponds to the
temperature of a PVT table, no interpolation is performed.
In an EOS simulation, if the specified saturation pressure is less than the pressure, a modified overall composition
is obtained by flashing the fluid at the saturation pressure and setting the overall composition equal to one of the
individual phase compositions. If the gas saturation is less than zero (the default), the overall composition is set
equal to the liquid phase composition. If the gas saturation is greater than 1 − Sw , the overall composition is set
equal to the gas phase composition.
If the specified gas saturation is greater than or equal to zero and less than or equal to 1 − Sw , the fluid is flashed

17.16. Initial Conditions 1623


Tempest MORE Help, Release 8.1

and a modified overall composition is calculated by

v = ρg Sg /(ρo So + ρg Sg )
zi = (1 − v).xi + v.yi

where
• v is the vapour fraction
• Sg is the gas saturation
• So is the oil saturation
• ρg is the molar density of the gas
• ρo is the molar density of the oil
• zi is the hydrocarbon overall mole fraction of component i
• xi is the mole fraction of component i in the oil phase
• yi is the mole fraction of component i in the gas phase
To specify an arbitrary variation of the initial solution, the individual values of composition, pressure, water
saturation, gas saturation, saturation pressure and temperature (for black oil only), may be specified in the INIT
section using the usual GRID processing methods and sub-keyword.
When performing an equilibrium initialisation with the EQUI keyword, the initial state of the reservoir is qui-
escent. This means that the initial solution is stable, and there is no flow in the absence of any wells or aquifer
support.

Specification of Initial Composition in Equation of State

The traditional way of specifying initial composition in MORE has been through total hydrocarbon mole fractions,
using keywords such as CONS, F(DE, MFVD or the ECLIPSE compatible ZMFVD or COMPVD.
Setting the hydrocarbon composition is fine when the reservoir starts in a single phase hydrocarbon state with no
gas-oil contact in the reservoir. It is still possible that in a super-critical reservoir the hydrocarbon is a gas at the
top and an oil at the bottom, but there can be a smooth continuous transition with no actual contact or transition
zone containing cells with both oil and gas.
However, things are less easy for the case in which there is a gas-oil contact within the reservoir. In the transition
zone cells will have differing saturations of oil and gas, so the overall hydrocarbon composition will not be easy to
set in advance. Further, for a stable start to the run, the oil and gas phases should be in thermodynamic equilibrium
at the cell pressure.
The saturation of the phases in the transition zone is a function of the capillary pressure and the phase densities,
so to perform an equilibrium initialisation the densities and so the compositions of the oil and gas phases need to
be known separately. MORE provides a number of new facilities to help do this, described below.

XMFVd and YMFVd

These keywords allow the oil and gas composition to be specified separately as a function of depth. The phase
composition variations are then used to obtain phase pressure with respect to depth, and the phase saturations in
the oil-gas contact transition zones can be obtained. The only problem is the requirement that the oil and gas
compositions are in equilibrium – if this is not the case the saturations will change as soon as the simulation starts
running and the hydrocarbon in the cells is flashed.

GOCX and GOCY

In some cases compatible oil and gas compositions in the oil-gas contact transition zone may not be known. It
may be the case that just one or the other composition is available. However, it is then possible to determine

1624 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

the unknown phase composition from the condition that it is in equilibrium with the known phase composition.
GOCX and GOCY request that this be done:
• GOCX states that the oil composition entered is to be observed and the gas composition obtained from it.
• GOCY states that the gas composition entered is to be observed and the oil composition obtained from it.
In both cases the missing phase composition is obtained at the depth of the gas-oil contact and applied throughout
the transition zone. In the GOCX case the generated composition will be applied down to the first user specified
oil composition in the oil zone. In the GOCY case the generated composition will be applied up to the first user
specified gas composition in the gas zone.
GOCX and GOCY can also be used with the keywords which set hydrocarbon mole fraction such as MFVD. For
example, if GOCX were used with MFVD, compositions at and below the gas oil contact will be assumed to be
specifying an oil composition and compositions above the gas oil contact will be assumed to be specifying a gas
composition. The gas composition at the gas oil contact will be determined by the phase equilibrium condition.

Setting the Pressure at the Gas-Oil contact: PSET Argument of GOCX and GOCY

When the composition of one hydrocarbon phase is specified and the equilibrium composition of the other phase
determined, the resulting two phase compositions are only in equilibrium at one pressure, equal to the saturation
pressure of both fluids. So if a composition in the oil-gas transition zone is supplied, effectively the pressure at
the oil-gas contact is being set as well. If PSET is specified with GOCX or GOCY then this replacement will be
made: the calculated saturation pressure for the known phase composition will be used as the reference pressure
at the gas-oil contact.

Phase Saturation Pressures Away from the Gas-Oil Contact

If the oil composition is specified in the oil zone or the gas composition is specified in the gas zone, then that
composition will determine the saturation pressure (the bubble point for an oil or the dew point for a gas). If the oil
composition in the oil zone were to be constant (for example, if just set by GOCX with no other user specification)
then the saturation pressure would be constant below the transition zone, as illustrated in the following figure. This
is fine, as the oil phase pressure increases with depth and the oil will be under saturated.

However, things are less simple in the gas zone. In this case the pressure falls as the depth decreases so the gas
saturation pressure cannot be constant, as it would be greater than the gas phase pressure, as illustrated in the

17.16. Initial Conditions 1625


Tempest MORE Help, Release 8.1

following figure.

As the gas cannot be super-saturated it will undergo a phase split, resulting in a saturated gas for which the dew
point is equal to the gas phase pressure, as illustrated in the following figure.

1626 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Allowing this phase transition to occur will normally result in small immobile oil saturation in the gas zone. To
avoid this, the TRIM keyword may be used, which will test for supersaturated cells in the gas zone and reset them
to saturated gas states at the correct pressure, but with a zero oil saturation.

Visualisation in Tempest VIEW

If grid output is requested, MORE will output grid data at zero time. In particular, the displayed saturations
are those calculated by equilibrium initialisation, unless saturations are explicitly entered by the user for non-
equilibrium initialisation. Note that in the case of an equation-of-state simulation, phase identification of single-
phase states may subsequently change once the simulation begins based on the Li critical temperature correlation.
This may be tuned using the FCLI keyword.

Examples

1. The first example is a volatile oil case, using a PVT description from the SPE 5th problem. The reservoir
oil composition is given by:

CNAME: C1 C3 C6 C10 C15 C20 WATR /


SCMP ROIL -- reservoir oil
0.50 0.03 0.07 0.20 0.15 0.05 /

In the INIT section the reference depth and the gas-oil contact depth are set to 8345, and the oil composition
is set to ROIL at and below the contact.

17.16. Initial Conditions 1627


Tempest MORE Help, Release 8.1

EQUIL
8385 4000 8385 0 8500 0 /

GOCX PSET

F(DEPTH) /
8385 1* 1* ROIL /
8400 1* 1* ROIL /
8500 1* 1* ROIL /
/

MORE will estimate the bubble point of the oil with composition ROIL, and the gas in equilibrium with
the oil. That gas composition, which is (0.97, 0.014, 0.007, 0.003, 0.0003, 1.3E-5), will be used as the gas
composition in the equilibration, and the reference pressure will be set to the bubble point pressure of 2303
psi. A gas oil contact is obtained in the reservoir and the initial solution is stable. Without TRIM, small oil
saturations of 1.3E-6 are found in the gas zone; these are eliminated if TRIM is used.
2. The second example uses a known gas condensate composition. The equilibration condition is used to find
the composition of the dew point oil. The contact and GOC are at 7400 and just the gas composition is set:

EQUIL
7400 4000 7400 0 7800 0 /

GOCY PSET --Set up oil composition from the gas

YMFV
7000 0.0121 0.0194 0.7099 0.0869 0.0491 0.0767 0.0372 0.0053 0.0034 /
8000 0.0121 0.0194 0.7095 0.0867 0.0490 0.0768 0.0374 0.0055 0.0036 /
/

MORE will estimate the dew point oil composition and the dew point (4154 psi). The oil composition will
be set to the dew point oil at all depths.
However, in the above example it might be the case that the oil composition changes in the oil zone, and is
now at depths below the contact. In that case additional oil composition values below the contact may be
entered, for example:

XMFV
7550 0.011 0.009 0.38 0.09 0.11 0.12 0.08 0.11 0.09 /
8000 0.011 0.009 0.38 0.09 0.11 0.12 0.08 0.11 0.09 /
/

In this case the oil composition will follow the XMFV table below 7550 ft, and be interpolated between the
gas-oil contact dew point fluid and the specified value at 7550ft in the interval from 7400ft to 7550ft.
3. The third example is a black oil (oil and water ) equilibrium initialisation with a specified initial SWAT
distribution for a model consisting of 11 layers. PCSH is used to supply oil-water capillary pressure shifts
in the mobile oil-water transition zone which stabilise the initial solution (i.e. the initial solution will be
quiescent). The INIT section contains both SWAT and EQUI keywords. The relevant parts of the data for
this example are for the RELA section:

RELA / Relative permeabilities and capillary pressures

KRWO
--Sw Krw Krow Pcow
0 0 1 2 /
1 1 0 0 /
/

and in the INIT section:

1628 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

INIT EQUI / Equilibration initialisation

PCSH

EQUI / dref Pref dgoc pcog(dcog) dwoc pcow(dwoc)


1550 150 1* 0 1550 0 /
/

SWAT / Specify initial Sw distribution


ZVAR
2*0.0
3*0.2
4*0.9
2*1.0 /

In this case, the PCSH keyword is actually not required, but it has been included for clarity. Since SWAT
and EQUI are specified, PCSH is used by default with the MIN argument to stabilise the initial solution.
MORE calculates oil-water capillary pressure shifts to stabilise the initial solution while honouring the
given SWAT distribution. These shifts will be output with mnemonic PCWS using STOR PCWS. The initial
saturations are shown below.

Fig. 17.7: Initial saturations for PCSH example

The figure below shows the capillary pressure stabilisation shifts (PCWS) together with the actual capil-
lary pressures used by MORE, which are given by P COW = P cowLookup (SW AT ) + P CW S, where
P cowLookup is taken from the KRWO table.

17.16. Initial Conditions 1629


Tempest MORE Help, Release 8.1

Fig. 17.8: Capillary pressure shifts (PCWS) used to stabilise the initial solution, and the actual capillary pressures
(PCOW) used by MORE at initialisation. PCWS varies within the oil-water transition zone and is constant outside
this zone.

1630 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.17 Pressure Dependent Permeabilities and Porosity

Introduction

The group of keywords KVSP, KVPX, KVPY, KVPZ and KPTA allow the reservoir permeability and porosity to be
made pressure functions. This allows simple geomechanical effects to be included. The pressure dependence may
be reversible or irreversible and the KVPX, KVPY, KVPZ set allow the effects to be directional. KVSP, KVPX,
KVPY and KVPZ allow the pressure dependence to be specified, whilst KPTA allows those tables to be associated
with grid cells. ROCKNUM may be used as an alias for KPTA.

Entering the Pressure Tables

KVSP, KVPX, KVPY and KVPZ should be in the FLUI section. KVPX, KVPY and KVPZ should only be
included if directional effects are required. If KVPX, KVPY and KVPZ are used, the number of tables of each
type should normally be the same. If the number of tables is NKT, then the KPTA will normally contain integer
values between 1 and NKT associating tables with cells.
If an incomplete set of tables is entered, then the following defaulting rules are followed. The number of KVSP-
type tables is NKT = maximum of nKVSP, nKVPX, nKVPY , nKVPZ, where nKVSP is the number of KVSP
tables entered, for example. Each table from 1 to NKT is checked in sequence.
For KVSP, if the first table is defaulted (no KVSP data entered), the table is set to a null table in which both the
permeability multiplier and the pore volume multiplier are set to unity at all pressures.
For KVSP, if the second or any later table is defaulted, the table is copied from the first table.
For KVPX, KVPY and KVPZ, if any table is defaulted, it is copied from the permeability multiplier part of the
corresponding KVSP table.
The first column (the pressures) for any of these tables should increase monotonically. Values may be missing or
defaulted in the other columns. If so, values are linearly interpolated between supplied values and extrapolated at
constant values outside the range of supplied values.
The permeability multipliers in KVSP, KVPX, KVPY and KVPZ must be non-negative. The porosity multipliers
in KVSP must be positive and non-decreasing.
The IRRE or IRRV argument may be set with KVSP (on any of the KVSP tables if more than one is entered)
and if so an irreversible treatment will be applied to the entire KVSP, KVPX, KVPY, KVPZ set of tables. In the
irreversible case the table is followed when the pressure falls, but should it rise again the pore volumes follow the
usual rock compressibility curve based on the minimum pressure and the permeability multipliers remain constant.

Use of the Pressure Tables

The non-directional table KVSP contains multipliers KM and PVM for the permeability and the pore volume. In
addition one can also supply KMh and PVMh to model hysteresis. Depending on the argument IRRV the effective
multipliers KMOD and PVMOD will be determined from the tables.
The effective permeability multiplier KMOD is applied to normal transmissibilities, NNC (fault) transmissibilities,
and well indices. The normal transmissibility Tij between cell i and cell j is modified to TijP according to the rule:

TijP = KMOD(P )Tij


KMODi (Pi ) + KMODj (Pj )
KMOD(P ) =
2
where KMODi (Pi ) and KMODj (Pj ) are the permeability multipliers of cells i and j. The pore volume is given
by

PV(P ) = PVMOD(P ) · PVref

where PVref is the reference pore volume.

17.17. Pressure Dependent Permeabilities and Porosity 1631


Tempest MORE Help, Release 8.1

If present, the directional tables KVPX, KVPY and KVPZ are applied to flows for which a direction can be
unambiguously defined. So the KVPX table would be used for normal flows in the X-direction, fault connections
in the X-direction and local grid connections in the X-direction. KVPY is used for similar connections in the Y-
direction and completing the circle connections in radial runs. KVPZ is used for normal flows in the Z-direction,
connections across pinched out layers and local grid connections. Other connections where the direction is not so
clear (matrix-fracture connections in dual porosity runs, or flows into wells) use the KVSP table values.

Reversible Tables

If none of the KVSP tables has the argument IRRV, all tables are reversible. In this mode the effective multipliers
KMOD and PVMOD are determined by looking up the KM and the PVM columns.

Irreversible Tables

If at least one table has the argument IRRV, all tables are irreversible. In this mode the effective multipliers KMOD
and PVMOD are determined by looking up the KM and the PVM columns as long as P ≤ Pmin . The threshold
Pmin is the minimum pressure in the cell since the start of the run. On re-pressurisation, that is if P > Pmin ,
the effective permeability multiplier KMOD stays constant, taht is KMOD(P ) = KM(Pmin ), while the effective
pore-volume multiplier PVMOD follows the normal compressibility curve

PVMOD(P ) = PVM(Pmin ) · (1 + Cr · (P − Pmin )).

Here Cr denotes the rock compressibility. So with the irreversible option the pore volume follows the tabular
values on depletion but the compressibility curve on re-pressurisation as shown in the figure below:

A reversal pressure may be added to any of the KVSP, KVPX, KVPY, KVPZ set of tables. The syntax is, for
example:

KVSP IRRV PREV 300


1 0.8 1.01 /
500 0.9 1.02 /
/

This means that the porosity and permeability properties of a cell will be reversible if the minimum pressure stays
above PREV, but become irreversible if Pmin falls below PREV. So if the data above is used in an example in
which the pressure starts at 500 Bars, falls to 250 Bars, and then re-pressurises to 500 Bars again, the behaviour
of the permeability multiplier defined by KVSP will be as illustrated in the following figure.

1632 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

So when the pressure recovers, the permeability multiplier does not. If, however, the PREV value is set to 200
Bars, the behaviour becomes as illustrated in the following figure.

Here as the PREV remained below Pmin , the permeability multiplier also recovered its original value. The two
examples used may be accessed from the KVSP help page.
Unlike the IRRV flag, PREV values need to be set for each table. However, if a PREV value is set for a given
KVSP table, it will become the default for the directional KVPX, KVPY and KVPZ directional permeability
multipliers for that table number.

Irreversible Tables with Hysteresis

As described above, the normal pressure reversal behaviour is for the pore volume to recover using a compress-
ibility curve and for the relative permeability multiplier to remain constant. However, it may be useful to specify
different behaviours, and to do this extra hysteresis columns may be entered into the KVSP, KVPX, KVPY and
KVPZ tables. An example is:

KVSP IRRV
1 0.8 1.001 0.5 1.001 /
500 0.9 1.002 0.7 1.0015 /
/

The first column is pressure, the next two the usual pressure variations of the permeability multiplier KM and the
pore volume multiplier PVM, and the final two are pressure hysteresis versions of the permeability multiplier and
the pore volume multiplier, KMh and PVMh. In this case, the KM(P) function will be used for pressures at or
below the minimum pressure Pmin , but KMh(P) will be used if the pressure recovers to above Pmin . The hysteresis
curve will be displaced so that it joins up smoothly with the pressure decline curve at P = Pmin . So in the case of

17.17. Pressure Dependent Permeabilities and Porosity 1633


Tempest MORE Help, Release 8.1

the data above, cycling a cell through the same pressures as in the previous example, the results are as illustrated
in the following figure.

The gradient of the hysteresis curve is twice that of the pressure decline curve, so the permeability multiplier starts
at 0.9, falls to 0.85 at 250 Bars, then rises back to 0.85+0.1=0.95 at 500 Bars.
Plotting the permeability multiplier against pressure, as illustrated in the following figure:

The hysteresis form of irreversibility can also be controlled by the reversal pressure PREV.
For the directional permeability multiplier curves the hysteresis data may be placed in an extra third column:

KVPX
1 0.5 0.4 /
500 0.6 0.6 /
/

Note that even if some tables are entered with hysteresis columns, it is still possible to enter a traditional non-
hysteresis table and get the previous behaviour.
The hysteresis treatment may be shown diagrammatically as illustrated in the following figure:

1634 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The displaced pressure recovery curve is

KMOD(P ) = KMh(P ) − KMh(Pmin ) + KM(Pmin ),

so that

KMOD(Pmin ) = KM(Pmin )

and the recovery curve joins the decline curve at the minimum pressure.

17.17. Pressure Dependent Permeabilities and Porosity 1635


Tempest MORE Help, Release 8.1

17.18 Multi-Segment Well Model

The multi-segment well model treats the well as a number of branches. Each branch has a single parent branch
and the original branch is termed the stem. A branch is modelled as a series of coupled segments. Each segment
may have a number of completions, which connect the well to the surrounding reservoir.
A simple well is to be modelled as a series of segments, numbered from the heel of the well to the toe, as illustrated
in the following figure.

In the case of a multiple branch well, the segments are numbered along each branch, starting with the stem, as
illustrated in the following figure.

A segment is a section of well bore along which constant properties are assumed, as illustrated in the following
figure

1636 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

where
• A is cross sectional area of pipe
• m is the measured distance along pipe (positive from toe to heel) which need not be straight
Within the segment the saturation and fluid properties are assumed constant. However, the pressure and fluid
velocity are defined at the outlet end of the segment (nearest the heel). The pressure and velocity values for the
inlet end are taken from the next segment, so that the pressure varies linearly along the segment, as illustrated in
the following figure.

The pressure at the toe is a variable in the model, but the velocity at the toe is assumed to be zero. The linear
variation of pressure over the segment does not imply a constant velocity, as it would in a sealed pipe: flow to and
from the reservoir will allow the velocity to change as more fluid is added to the flux along the wellbore. This
is particularly true for the toe segment, as the velocity is zero at the influx end and generally is non zero at the
outflow end:

In this case flow into the well has resulted in a positive flow out of the toe segment. Velocities are measured as
positive up the well towards the heel; this follows the MORE convention of treating production as positive.
The segment properties are assumed constant in the segment, and so are evaluated at

Pav = (Piseg + Piseg+1 )/2

To describe a branch we require the pressure, saturation and velocity values for each segment, plus the toe pressure.
A single velocity will be assumed for all three possible phases.

Equations and Variables

From the description above, a single branch well with nseg segments and nc components will have nseg × (nc +
1) + 1 solution variables. These comprise the pressure, component mass density variables and a velocity in each
of the first segments, plus the toe pressure in the final segment.
The equations are mass balance (for each component), a volume balance and a pressure balance for each segment.
One other equation is clearly required to complete the set. This is the constraint equation, which requires that

17.18. Multi-Segment Well Model 1637


Tempest MORE Help, Release 8.1

the well satisfy its current target condition. This may a specified flow rate (at reservoir or surface conditions), a
specified bottom hole pressure at a specified depth or a specified top hole pressure. In any event the constraint
equation takes the form

Rconstraint = Tactual − Trequired = 0.0

If we define the collected set of well solution variables as Xw and the collected set of equations are expressed as
a set of residuals R, then solving the well model becomes the problem of solving the non-linear equation set

R(Xw ) = 0.0

However, the well is not just a function of the solution variables which define the solution in the wellbore. The
solution which describes the state of the reservoir, Xr , also influences the well equations through the production
and injection terms. Thus a better description of the well equations to be solved is

Rw(Xw , Xr ) = 0.0

The Segment-Reservoir Inflow Term

This is given by summing over the flows of connections between this segment and the reservoir. A given connec-
tion may be either injecting or producing. Rather different expressions are used in these two cases:
• Producing Connections
• Injecting Connections

Producing Connections

In this case the flow of a phase is given by the product of the drawdown into the well the completion connection
factor ccfk and the mobility of that phase in the reservoir.

Qpr = Σk ccfk · Mp · Pdd

Injecting Connections

In this case the flow of a phase is given by the product of the drawdown into the well (negative in the case of
injection), the completion connection factor, the voidage in the reservoir and the local density of the phase in the
wellbore. The assumption is that although what is injected is clearly dependent on what is in the wellbore, the rate
at which it is injected depends upon the ease with which the existing fluid in the reservoir can make room.

Qpr = Σk ccfk · Mv · Sp · bp · Pdd

In both cases the drawdown is Pres -Pseg , where Pres is the pressure in the reservoir cell and Pseg the pressure
in the well segment corrected to the cell centre depth. In some cases the depth of the reservoir cell may not be
contained within the segment depth interval. In these cases the drawdown is corrected by an additional hydrostatic
term which depends on the fluid density in the reservoir

Pdd = Pres − Pseg − ρg · dcor

where
• ρ is the fluid mass density (in mass/unit vol), given by
ρ = So ρo + Sw ρw + Sg ρg
• dcor is the correction depth interval, given by

1638 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

dcor = dc − dlocal
This corrects the cell pressure to the completion depth in the cell, as illustrated in the following figure.

The Segment-Segment Wellbore Term

This term includes the effect of fluids moving along the wellbore into and out of the segment. The rate at which
a fluid moves into the segment is the product of the local density and the volume flux. The volume flux is the
product of the cross sectional area of the pipe segment and the flow velocity.
For flow between segments the fluid densities and saturations are defined in the segments, whilst the velocity and
the flow are defined at the end of the segments. The saturation and density terms are thus upstreamed. If the flow
is from segment 2 to segment 1, the properties of segment 2 will be used; if the flow is from segment 1 to segment
2, the properties of segment 1 will be used. This produces the most stable numerical scheme and avoids problems
which can occur if fluids flow from segments in which they have no saturation.

The Pressure Balance Equation

The momentum balance equation equates the pressure drop over a segment to a sum over the contributing terms
supporting the pressure drop.
Consider the pressure drop over a segment, as illustrated in the following figure:

The pressure difference is P0 -P1 which is equal to the sum of the pressure resistances:

P0 − P1 = Tgrav + Tf rict

In residual terms

Rmom = P1 − P0 + Tgrav + Tf rict = 0

17.18. Multi-Segment Well Model 1639


Tempest MORE Help, Release 8.1

where each resistance is the pressure difference from inlet to outlet.

Gravity Term

The gravity term is positive for a segment with its inlet below its outlet:

Tgrav = Cg · ρ · (d0 − d1 )

where
• Cg is a gravity constant, set to 1/144=6.94496E-3 (field), 9.806650E-5 (metric).
• ρ is the fluid mass density (in mass/unit vol), given by ρ=So.ρo+Sw.ρw+Sg.ρg
• d0 and d1 are the end of segment depths:
d0 − d1 = ∆md · sin θ
where θ is the angle of inclination from the horizontal.

Friction Term

The friction term is positive from the inflow to the outflow. The pressure holdup due to friction is

Tf ric = Cf 2p · 2 · F · (L/d) · ρ · v 2

where
• F is the Fanning friction factor
• ρ is the mass density
• v is the flow velocity
Cf2p is a unit conversion factor from Pounds/sq ft to psia or Pascals to Bars, given by Cf2p = 1.0/(32.2*144.0)
(Field) and 0.00001 (Metric).
The Fanning friction factor is a function of the Reynolds number Re given by

Re = CRey · ρ · v · d/µ

If µ is measured in cP, then CRey = 1488 (Field) and 1000 (Metric).


The effects of friction changes as we move from laminar to turbulent flow. At low flow Reynolds numbers (low
flow velocities) the flow is laminar and the Fanning friction factor is given by FLam = 16/Re. As the Reynolds
number goes like v, this implies that the Fanning factor goes like 1/v and the pressure hold-up due to friction goes
like v; that is, friction is proportional to velocity.
At higher Reynolds numbers the Fanning factor becomes independent of Re, so that the friction hold-up goes
like v 2 . There are a number of forms used for the friction factor above the laminar flow region. MORE uses the
Zigrang/Sylvester correlation1 and2 , which is an accurate explicit approximation to the Colebrook equation:
1 1
FT urb = 2
16 log a · z1 − z2
a · z1 + z3
Re log Re

With a = 2.0.roughness/diameter, and constants z1 =1/3.7, z2 = 5.02, z3 =13. This equation is typically only
valid in the range of turbulent Reynolds numbers with a < 10−2 . A plot of FT urb vs a and Re is shown in the
following figure for 10−6 < a < 10−2 and 2000 < Re < 50000
1 Al-Awami, A. and Ponting, D., Simulation of Gas Injection Processes Using Compositional and Multiple-Gas Black Oil Methods, SPE

81500, Middle East Oil Show, Bahrain, 2003.


2 Brill, J.P. and Mukherjee, H., Multi-phase Flow in Wells, SPE 1999, p7.

1640 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

For numerical purposes the friction factor must be a continuous function of the Reynolds number, so MORE uses
an interpolated form:
• For Reynolds numbers less than 500, use the laminar expression
F = FLam
• For Reynolds numbers above than 2000 use the turbulent expression:
F = FT urb
• For Reynolds numbers between 500 and 2000 use an interpolation between laminar and turbulent flow:
F = wLam FLam + wT urb FT urb
with

wLam = (2000 − Re)/1500, wT urb = (R − 500)/1500

Target Constraints for the Well

If the well has some target requirement Treq , then the well constraint residual is

Rc = Tact (Xw , Xr ) − Treq

Treq is usually some surface or reservoir flow total for the well, but can also be a bottom hole or top hole pressure
constraint. We will describe rate and pressure constraints separately.
For rate constraints, Treq will be a surface rate (oil, water, gas or liquid). We therefore need and expression for
Tact ; that is, the actual surface rate for the current state of the well (Xw , Xr ).
Rate constraints are imposed at the outlet of the well – the production actually obtained, rather than that removed
from the reservoir. These two quantities may differ slightly, due to wellbore storage effects. If the heel segment
has an area of A, then actual production rates are

Tact,oil = C · A · v · bo · So

where C is a unit convention dependent constant. For field units and liquid target rates, for example, this is
3600*24* 0.1781075, converting from ft/sec to ft/day and from cu.ft to stb.

17.18. Multi-Segment Well Model 1641


Tempest MORE Help, Release 8.1

Target Constraints for a Branch

For a non-stem branch, the constraint is that the pressure in the first segment of the branch matches the pressure
at the inflow end of the parent (which is the outflow pressure for the next segment on the parent branch). We
therefore have a condition on the two pressures at the point where the segments join

Rc = POutlet − PP arent

where PP arent is obtained by interpolation between the pressures at either end of the segment, as illustrated in the
following figure.

Solving The Multi-Segment Well Equations

The equations controlling the wellbore solution Xw for a fixed reservoir solution Xr are:

Rw (Xw ; Xr ) = 0

These equations are solved using Newton’s method.


(i)
Let Xw be the current approximation to the solution at iteration i. One iteration of Newton’s method is then
• Construct the residual Rw
• Exit if converged, with Rw < 
• Construct the Jacobian J = dXw /dRw and find the proposed solution change ∆dXw = −J −1 .Rw
• Update Xw := Xw + λ.∆dXw
The step limiting factor λ is usually 1, in which case Newton’s method is quadratically convergent. However,
value of λ less than 1 may be used to improve convergence. Generally, Newton’s method will only converge
for a sufficiently good initial prediction. In many cases where the well equations are solved repeatedly, such as
in a simulator such as MORE, the solution from the last time step provides a sufficiently good starting position.
However, for the first solution of the well, or for recovering from a failed solution using the previous timestep
solution, we need a predictor. In MORE the standard single variable non-segmented well model is used to provide
such a predictor. This provides an estimate of the completion flows, from which segment saturations and velocities
can be estimated. These values then act as a starting point for the Newtonian iteration of the full multi-segmented
model.
In MORE the well solution variables for a producer are found using a toe to heel sweep. The one primary well
variable for a given branch is the toe pressure. Once this is known the mid segment pressure for the toe-most
segment can be estimated, and the resulting inflow calculated. The flow in the heelwards half of the segment and
the resulting friction can be found, so that the pressure at the heel-most end of the segment can be found in terms
of the toe pressure. This process can be repeated up the branch, so that the entire well solution of a function of the
toe pressure. The result is a system which can be solved in terms of a single solution variable, and this reduces the

1642 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

cost of solution as well as yielding a very robust method; methods like bisection can be can be used to accelerate
systems for which a simple Newton iteration will not converge.
For injectors, a similar single-variable method is used, but starting from the heel and working to the toe.

Coupling the Multi-Segment Model to the Reservoir Flow Equations

The flows into the well act as flows out of the grid blocks in the reservoir flow equations, which take the residual
form Rc = 0, with c = 1, 2, . . . , nc . In order to solve the reservoir flow equations, we need the derivatives of these
flows with respect to the reservoir solution variables: dQo /dXr , dQw /dXr , and dQg /dXr . These derivatives
have two parts:
• Direct derivatives, reflecting the dependence of the drawdown and inflow mobilities upon the reservoir
solution.
• Indirect derivatives, reflecting the dependence of the well production and injection upon the well model
solution Xw , which is coupled to the reservoir solution through the well model equations (solved at each
iteration of the reservoir equations)
Rw (Xw , Xr ) = 0.0
The required derivatives may be obtained using the implicit function theorem

dQp /dXr = ∂Qp /∂Xr − (∂Qp /∂Xw ) · (∂Rw /∂Xw )−1 · (∂Rw /∂Xr )

Using the Multi-Segment Well Model

The multi-segmented well model is requested using the keyword WSEG, followed by the name of the well and
the number of segments to be used in each branch. The total number of segments in a well should not exceed 50;
although more can be run, the time to solve the well will rise if more are used. An example of WSEG is:

WSEG P-1 5 2500

WSEG may be used with wells which are not completed along tracks. If no track is present MORE will attempt to
set up the required well segments by estimating the distance between completions. However, it is generally better
to model along a track, and this is necessary in the case of branched wells.
When using the multi-segment well model for a well completed along a track, a third argument to WSEG may
specify the measured depth at which flow modelling is to start. If defaulted, it will start at the first completion.
To add a branch to a track, the BRAN keyword can be used to specify that a given track has a parent, and to specify
the measured depth on the parent at which the branch kicks off. The child trajectory starts at a measured depth
of zero; that is, the mD=0 point on the child should match the location of the kick off point on the parent. An
example of BRAN is:

BRAN WWWW:1 WWWW 2540

17.18. Multi-Segment Well Model 1643


Tempest MORE Help, Release 8.1

17.19 Network Model

Naming and Characterising the Pipes

The network model allows the effect of pressure loses in the transportation of produced fluids upon production
rates to be modelled. The pressure losses occur in pipes, which connect wells to groups and groups to groups. So
the first requirement is to define and characterise the pipes.
A pipe is defined by a PIPE keyword or a PIPEC or PIPET event. This gives the pipe a name and allows the way
in which pressure drops along the pipes are related to flow rates to be set up.
There are two ways to characterise the pipe:
1. Using Flow Coefficients (PIPEC event) - Flow coefficients relate the pressure drop to the phase flows along
the pipe. So if these coefficients are Ao , Ag and Aw , and the oil, gas and water flows are Qo , Qg and Qw ,
then the pressure drop will be
∆P = Ao .Qo + Ag .Qg + Aw .Qg
2. Using a table (PIPET event) - In this case a named PTAB, TUBI or VFPPROD table is used to define the
pressure drop as a function of the flows. The table is identified by name. In the case of a table entered by
VFPPROD, the table is defined by a table index, the first argument, and this will be loaded into MORE with
the name tubeProdN, where N is the table index.
PTAB is a table which defines the pressure drop across the pipe as a function of the pipe outflow pressure and
the fluid ratios (like GOR). TUBI and VFPPROD are really structured to define well lift curves, and express the
BHP (well bottom hole pressure) as a function of the THP (top hole pressure) and phase flows. To use TUBI or
VFPPROD for a pipeline we interpret Pbhp as the inflow pressure and Pthp as the outflow pressure.

Attaching Pipes to Wells

The next stage is to attach pipes to wells or groups. For wells this is done with the WPIP keyword or the WPIP
event. For groups this is done with the GPIP keyword or the GPIP event. Note that a given PIPE may be used
more than once – the PIPE defines a pressure loss condition – the actual calculation is associated with well or the
group.
Note that the pipe always goes from the nominated well or group to the parent group for that well or group; that
is, it is a pipe from the well or group (see following diagram):

The pipeline pressure losses can now be obtained as a function of the production from the well or group.
Suppose a well is simply attached to a pipe – what is the effect on the well’s production? In this case there is
no condition on the outflow of the pipe, so it is allowed to be at 1atm. The pressure drop along the pipe is then
calculated from this outflow pressure and gives us an inflow pressure. As long as this inflow pressure is below the
top hole pressure of the well there will be no effect on production – the well has sufficient pressure to drive the
pipeline through a choke (see the following figure):

1644 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

If the inflow pressure were to rise above the top hole pressure, the top hole pressure would be set to the pipe inflow
pressure and limit the production of the well.
In practise the outflow pressure of the pipeline is likely to be greater than 1atm, particularly for gas pipelines, as
the expansion of gas at low pressure. It is possible to reset the outflow pressure by setting a target pressure for the
group containing a well.
This is done in the first network example (networkExample1.dat). The field has four gas wells, each set to a
target rate of 8000 ksm3/day. Two of the wells, P-1 and P-3, are attached to the PIPE named PPPP. PPPP is
characterised by a TUBI table generated using the Lift curve generation option in Tempest for a 10Km long
horizontal well trajectory. The parent group for all these wells is ALL, so the target pressure for ALL is set to 100
bars.
The events used to set these conditions are:
EFORM DAYS

EFORM WELL 'DAYS' MDL MDU SKIN MULT

ETAB
PPPP 0 PIPET lift1 /
P-1 0 WPIP PPPP /
P-3 0 WPIP PPPP /
ALL 0 GPMI 100 /
ENDE

After 10 years production the status of the pipes can be seen in the well pipe summary in the .out file:
Well Pipe Summary:
Well Pipe Oil Gas Water Top hole Inflow Outflow Pressure
name name rate rate rate pressure pressure pressure drop
sm3/d ksm3/d sm3/d barsa barsa barsa barsa
---- ---- ----- ------ ----- -------- -------- -------- --------
P-1 PPPP 0.0 5982.6 0.035 142.656 142.656 100.000 42.656
P-3 PPPP 0.0 8000.0 0.048 138.501 130.236 100.000 30.236
---- ---- ----- ------ ----- -------- -------- -------- --------

The output flow pressure for the pipe from well P-1 and the pipe from well P-3 is 100 bar as required. The inflow
pressure for the pipe from P-1 has fallen below the thp for the well when running on its rate target, so is now
controlling the well, the well thp pressure now being equal to the pipe inflow pressure. The inflow pressure for the
pipe from P-3 is still about 8 bars below the thp for the well on its rate target, so P-3 is not yet on a pipeline-set
thp control.

17.19. Network Model 1645


Tempest MORE Help, Release 8.1

Attaching Pipes to Groups

It is possible to attach a pipeline to a group as well as a well. The production from all the wells flowing into the
group then flows through the pipe. As in the case of a pipeline attached to a well, it is possible to set the outflow
pressure of the pipe by setting the GPMIN value for the parent group.
In MORE groups do not, by default, form a hierarchy. All groups set up with the GROUp keyword have ALL as
their parent group. To specify a parent other than ALL the PAREnt or GRUPTREE keywords may be used.
When a pipeflow calculation is performed for a group the inflow pressure cannot set the thp for a well directly.
Instead, it sets the node pressure for the group. This will then act as the outflow pressure for pipes attached to this
group. The pipeflow calculation proceeds down the group tree from top to bottom, finally imposing thp conditions
on the production wells which may limit the production of those wells or force them to shut.
A two level group network is illustrated in the second example (networkExample2.dat). In this case we have two
groups, G-1 and G-2. G-2 is the parent group of G-1:

PARE G-1 G-2

All four wells P-1, P-2, P-3 and P-4 are members of the group G-1:

GROUP G-1 P-1 P-2 P-3 P-4

as illustrated below:

The events to attach the pipe PPPP to the groups G-1 and G-2 and to set the outflow pressure for the pipe from
group G-2 is set to 10 bar are:

ETAB
PPPP 0 PIPET lift1 /
G-1 0 GPIP PPPP /
G-2 0 GPIP PPPP /
P-1 0 WPIP PPPP /
ALL 0 GPMI 10 /
ENDE

The sequence of pressures resulting from this configuration can be seen in the group section of the .out file:

Group Pipe Oil Gas Water Node Inflow Outflow Pressure


name name rate rate rate pressure pressure pressure drop

1646 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

sm3/d ksm3/d sm3/d barsa barsa barsa barsa


----- ---- ----- ------ ----- -------- -------- -------- --------
G-2 PPPP 0.0 4000.0 0.003 55.726 55.726 10.000 45.726
G-1 PPPP 0.0 4000.0 0.003 82.140 82.140 55.726 26.414
----- ---- ----- ------ ----- -------- -------- -------- --------

G-2 has an outflow pressure of 10 bar, and an inflow pressure of 55.7 bar, so that here is a 45.7 bar pressure loss
in the pipe from G-2. The outflow pressure for the pipe from G-1 is equal to the inflow pressure for the pipe from
G-2 – i.e. 55.7 bar. There is a further 26.4 bar pressure loss in the pipe from G-1 so that the pressure at the inflow
of the pipe from G-1 is 82.1 bar. Finally, the pipe from the well P-1 sees the node pressure of G-1 as its outflow
pressure, and there is a further pressure loss of 1.39 bar along the pipe o the well. The final inflow pressure at the
well is 83.5 bars, and the well still has plenty of thp pressure available to operate at its target rate of 1000 ksm3/d.

Well Pipe Oil Gas Water Top hole Inflow Outflow Pressure
name name rate rate rate pressure pressure pressure drop
sm3/d ksm3/d sm3/d barsa barsa barsa barsa
---- ---- ----- ------ ----- -------- -------- -------- ---------
P-1 PPPP 0.0 1000.0 0.0006 243.267 83.532 82.140 1.391
---- ---- ----- ------ ----- -------- -------- -------- ---------

The basic idea is that it the operating thp of the well is above the pipeline entry pressure the pipeline will not
constrain the well. However if the operating thp is below the entry pressure of the well, then the rate will be
constrained (unless a pump is added, as described below).
Note in the above examples how the pressure drops across the pipelines increase with flow rate and are larger at
lower pressures. The gas has a larger volume at low pressure and so the flow velocity is higher, resulting in a
larger frictional pressure loss.

17.19. Network Model 1647


Tempest MORE Help, Release 8.1

17.20 Operations

Introduction

An operation is a set of MORE input keywords or events. Operations start with an OPER keyword and end with
an ENDO keyword. An operation may be defined anywhere in the RECU section of a MORE data file – operation
definitions are read when the recurrent section is scanned prior to the actual simulation.
The MORE input data within the operation can contain substitutable names (variables), these start with the &
character. When the line of the operation containing one of these variables is executed it is substituted for its
current value. These variables may be operation arguments, FOR loop values, current simulator values or values
specific to an instance of an operation (local) or specific to an operation name (static).
As well as the lines of data within the operation which are sent to MORE, there may also be control lines such as:
• FOR and ENDF - Set up a for loop within the operation
• IF and ENDI - Set up a conditionally executed block in the operation
• SET - Set the value of a local or static variable.
The FOR and IF constructs may be nested. There are several variants of FOR which correspond to loops over
wells, groups, completions, measured depth intervals etc.
The following sections introduce operations in a step-by-step manner.

Setting up and Invoking a Simple Operation

Operations allow a number of MORE keywords or events to be combined into a group which can be used with
single INVOke command. An example is an operation to change the rates of two wells – this sets the well liquid
targets at 1 year.
OperationExample01.dat:

EFOR 'days'

OPERATION changeWellRate
WELL P-1 PROD liq QLIM=150 PMIN=100
WELL P-2 PROD liq QLIM=150 PMIN=100
ENDO

READ 1 YEARS

INVO changeWellRate

READ 5 YEARS

Operation names and keywords are not case sensitive, and operation names, like well or group names, are not
truncated to four characters.
An operation can contain any valid MORE dynamic section input, in event or keyword form, and the operation
can be invoked as a keyword or as an event.
The keywords and events generated when an operation executes may include the invocation of further operations.

Operation Arguments

The above case is not very helpful, as it only does one thing. Arguments may be used to make operations more
flexible.
An operation may have a number of arguments, each of which may be given a default value. No special characters
are required for an operation name or for the arguments, so an operation definition might look like:

1648 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

OPER INCWRATE WELLNAME CRITWCT=0.6 CRITPRES=330


ETAB
....normal events which can use &CRITWCT, &CRITPRES and &WELLNAME
ENDE
ENDO

The argument values may then be set when the operation is invoked:

INVO INCWRATE WELLNAME=F124 CRITWCT=0.85

The following example produces exactly the same result as the previous one, but uses a simpler operation with an
argument. In this case the operation is both defined and invoked using events.
OperationExample02.dat:

OPERATION changeWellRate well


ETAB
&well
0 LPT 150
ENDE
ENDO

ETAB
ALL
01/Jan/2001 INVO changeWellRate well=P-1
01/Jan/2001 INVO changeWellRate well=P-2
ENDE

READ 1 YEARS
READ 5 YEARS

Events in operations will occur at the time at which the operation is executed, and any date data supplied will be
ignored, so it is simplest to just set a time of zero for ETAB entries within an operation. It should be noted that
only one operation invocation may occur on an event line, and that other events may not occur on the same line.
The date format for events in operations is ‘0’ MDL MDU DIAM MULT SKIN. An alternative format may be
specified (although the date will still be ignored) by using EFOR within the operation.

Multiple Instances of Operations

By default an operation is executed as soon as it is invoked, and executes immediately. However, it is possible
to request that an operation be repeatedly executed. If several operations exist, or the same operation is invoked
with different arguments, then there may be a number of operation instances present in a MORE run. This type of
persistent operation is useful for repeatedly testing against an operator execution condition within an IF statement
in the operation. So in a case with two operations XXXX and YYYY, which are each invoked twice, we will
generally end up with four operation instances (see the following figure):

17.20. Operations 1649


Tempest MORE Help, Release 8.1

The pre-defined arguments MEXE, DAY, MONTH and YEAR set the maximum number of times an operator
invocation can execute and the interval between execution times in days, months or years.
If MEXE is set without a value, there is no limit to the number of executions.
The number of executions of a given operator instance is stored in the automatically defined variable &NEXE and
is preserved across restarts.
The 20th debug flag may be used to see how the lines of data in an operation are processed – that is, use DEBUG
19*0 1.

Conditional and Loop Operations

If may be useful to apply an operation to a number of wells or completions, so there are several control keywords
which can be used within an operation. These lines are never fed into the MORE reader; rather, they are used to
control the generation of data input lines.
The main operation control keywords are
• IF
• ENDIF
• ENDF
• and a set of FOR keywords.
The FOR keywords are
• FOR
• FORG
• FORW
• FORB
• FORC
• FORI
allowing operations over groups, wells, completions and intervals.

1650 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

IF Statements

IF statements may be combined with multiply executed operations to allow operation texts to be executed only
when certain conditions are met.
The following example shows how IF statements may be used. The operation RespecifySeparator will be executed
every 50 days for an unlimited number of times. The separator conditions will to be redefined if the field pressure
falls below 2000 psi and the run will be stopped when the field pressure falls below 1000 psi.
OperationExample03.dat:

OPERATION RespecifySeparator
local sepCount
if( &sepCount<1 )
if( &fpavh<2000 )

SEPA ALL EOS ZFAC / Reset separator


80 215 /
60 45 /
50 14.7 /
/
set &sepCount++
endi
endi

if( &fpavh<1000 )
STOP
endi

ENDO

INVOKE RespecifySeparator DAYS=50 MEXEC

The operation will be executed every 50 days for an unlimited number of times. The local variable sepCount is
used so that the separator redefinition is performed just once. Functions like fpavh and local and static variables
are discussed below.
The results for operationExample03 show a step in the gas-oil ratio which occurs when the separator redefinition
occurs as the field pressure falls through 2000 psi (see the following figure).

17.20. Operations 1651


Tempest MORE Help, Release 8.1

Another example using IF statement and local variable is shown here


The relational operators that may be used in IF statements are shown in the following table.
Operator Action
< less than
<= less than or equal
> greater than
>= greater than or equal

IF and ELSE Statements

IF statements may be combined with ELSE statements to allow operation texts to be executed when certain con-
ditions are met, and otherwise.
The example below shows how IF and ELSE statements may be used. The operation XXX will be executed every
10 days for an unlimited number of times. The group PILOT, containing two injection wells I-1 and I-2, is set
to a gas injection target rate of 4000 Mscf/day if the Field Gas-Oil Ratio is less than 45 Mscf/stb and 0 Mscf/d
otherwise.
OperationExample03a.dat:
GROUP PILOT I-1 I-2

OPERATION XXX
if( &fgor<45 )
ETAB

1652 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

PILOT
0 INJE
0 GGIT 4000 STREAM CO2
ENDE
else
ETAB
PILOT
0 INJE
0 GGIT 0 STREAM CO2
ENDE
endi
ENDO

INVOKE XXX DAYS=10 MEXEC

The results for operationExample03a show that the ggir(PILOT) is maintained at 4000 Mscf/day to increase fgor
to 45 Mscf/stb. ggir(PILOT) then (using control theory) varies to maintain fgor at 45 Mscf/stb:

FOR Statements

In reservoirs with a large number of wells it is common to perform the same operation on a number of the wells,
and this can result in a lot of input. A FOR statement in an operation will set up a loop variable which will be
successively given each of the values listed within curly brackets, {}.
FOR loops may be nested, so that it is be possible to loop over wells and then over intervals within that well (an
interval is a range of measured depth).
The various types of FOR loops differ in their syntax and the type of search used to fill in template values. In
addition the FORW loop allows wells to be set up by group.

The FORW Loop

This is like FOR, but well templates and groups are available. If * is used within a list then * will match any
character when selecting wells – so {*} will yield a loop over all the wells. In the same way the list item GROUP
may be used to include all the wells in a group – so {GROUP(ALL)} will also yield a loop over all the wells.
A simple example of the use of FORW is OperationExample04.dat:
EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT

OPERATION XXX RATE=100

17.20. Operations 1653


Tempest MORE Help, Release 8.1

forw well1 {group(g1),P*,A1,B1}


ETAB
&well1
0 INJE
0 WIT &RATE
ENDE
endf
ENDO

ETAB
ALL
01/jan/2002 INVO XXX RATE=175
ENDE

READ 5 YEARS

This case has 6 wells with names W-1,W-2,PX,PY,A1 and B1, with a group G1 containing the wells W-1 and W-2.
When the operation is invoked, the wells are changed from production to injection and the field injects at 1050
sm3 /day. Without the RATE argument on the INVO event the default of 100 sm3 /day would be used to get a field
injection rate of 600 sm3 /day.

The FORG Loop

This is like FORW, in that group templates are available (but not the GROUP function). So {A*,B*} will yield a
loop over all the groups starting with A or B.

The FORC Loop

This yields a loop over all the completions in a well. In this case the loop values will be an integer. The default
first value is 1, and the default last value is the number of completions in the well (not active completions). The
syntax is:

FORC COMP wellname {cml:cmu}

Where cml is the lower completion index, and cmu the upper completion index.
In this case &COMP will take values, 1,2,3. . . up to the number of completions. In the following example the
completion with the highest water cut has its completion connection multiplier set to 0. This operation is carried
out twice, in 2005 and 2006.
OperationExample05.dat:

OPERATION XXX
forw well1 {W-1,W-2}
forc comp1 &well1 {:} MAX(WCT)
ETAB
&well1
0 COMP &COMP1 1* 0
ENDE
endf
endf
ENDO

ETAB
ALL
01/jan/2005 INVO XXX MEXEC=2 YEAR=1
ENDE

The use of MAX to select one pass only from a FORC loop is discussed below.

1654 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The resulting water cut behaviour for well W-1 is:

It can be seen that the worst completion is shut on both occasions.


Note that COMP event is like CIJK but takes a single completion index rather than an I,J,K grid location.

The FORB Loop

This yields a loop over all the branches in a well. As for FORC, the loop values will be integers. The default first
value is 1, and the default last value is the number of brances in the well. The syntax is:

FORB BRCH wellname {brl:bru}

where brl is the lower branch index and bru is the upper branch index.
The following example closes the completions on the branch of a well with the highest water cut.
OperationExample06.dat:

OPERATION shutBranch well


forb worstbranch &well {} max(wct)
ETAB
&well
0 BRAN &worstbranch 0.0
ENDE
endf
ENDO

read 5 years

INVOKE shutBranch well=P-1

The FORI Loop

This yields a loop over all the completions in a well. In this case the loop values will be a pair of real numbers, the
lower and upper measured depths of a completion interval. The default is 10 intervals from the lower completion
measured depth to the upper completion measured depth. The syntax is:
FORI IVL IVU branchname wellname {ivl:ivu:iv}
Where ivl is the lower bound on the intervals, ivu is the upper bound, and iv is the length of each interval in the
loop.
To loop over the default completion intervals of branch 2 of a well would require the following, as demonstrated
in OperationExample07.dat:

17.20. Operations 1655


Tempest MORE Help, Release 8.1

OPERATION shutInterval well branch


fori intl intu &branch &well {} max(wct)
ETAB
&well
0 SQUE &intl &intu 3* Branch &branch
ENDE
endf
ENDO
.....
INVOKE shutInterval well=P-1 branch=2

The FOR Loop

Finally the basic FOR loop is a simple list of items, for example:

FOR VAR {NORTH,SOUTH,EAST,WEST}

There will be four passes through the FOR..ENDF loop and &VAR will be set to NORTH for the first pass,
SOUTH for the second, EAST for the third and WEST for the last.
FOR is extremely flexible: in this extreme case the FOR values are whole keywords with associated argument
strings.

OPERATION XXX
for var{"WELL P-3 PROD liq Q=20 P=20","WELL P-4 PROD liq Q=20 P=10"}
&var
endf
ENDO

Using MAX and MIN in FOR Loops

It is very common to wish to select out the pass of a FOR loop which has the maximum or minimum value of some
quantity – for example, the well with the largest water cut. This may be done using the MAX or MIN options
with FORG, FORW, FORC and FORI. The MAX or MIN command follows the loop specifier in curly brackets.
When MAX or MIN is present, only one pass will be made through the loop, the loop variable being set to the
value corresponding to the required maximum or minimum value. The quantities that may be used for each FOR
loop type are shown in the table at the end of this document.
In example 5 above, there will be a single pass through the loop with &well1 set equal to the name of the well in
the list specified which has the largest oil production rate.

Variables

Two types of variables may be defined. The first is a local variable which is owned by the operation instance.
The second is a static variable which is shared across all the instances of an operation – it is owned by the
operation definition. A local variable is set using the LOCAL command, and a static variable set using the STATIC
command:

static staticVariable
local localVariable

Variables may be set using the SET command and simple expressions as shown in the following table where value
evaluates to a integer or a real value.

1656 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Expression Meaning
set &variable=value variable = value
set &variable+=value variable = variable + value
set &variable-=value variable = variable - value
set &variable*=value variable = variable * value
set &variable/=value variable = variable / value
set &variable++ variable + 1
&variable may then be used in both normal and operation control lines within the operation.
A local variable was used in example 3 above. The following OperationExample08.dat is an example of the use
of a static variable:

OPERATION turnWell well


static count
if( &count<1 )
if( &wgor(&well)>10 )
ETAB
&well
0 INJE
0 WIT 1000
0 BHPT 3500
set &count++
ENDE
endi
endi
ENDO

INVOKE turnWell well=P-1 year=1 mexe=10


INVOKE turnWell well=P-2 year=1 mexe=10
INVOKE turnWell well=P-3 year=1 mexe=10
INVOKE turnWell well=P-4 year=1 mexe=10

The operation turnWell is invoked four times. However, as soon as one of these four operations is executed, the
value of the static variable count will become 1 for all the instances, and so turnWell will only be executed once
for one well.

Operations Limitations

Operations functionality has some known limitations.


• MORE does not allow dynamic creation of perforations from operation invocations. Any attempt to do so
may lead to unexpected results or run-time errors.
A suggested workaround to overcome this limitation is to pre-define all perforations that may result from
operation invocations, and then shut them. An example to demonstrate this workaround is shown below:

ETAB
ALL
100 INVO ACTION MONTH=1 MEXE
3650 END

P-1
0 PROD
0 PERF 1 1 0.15 0 1 ZONE
0 PERF 2 5 0.15 0 1 ZONE
0 SQUE 2 5 0.15 0 1 ZONE
0 OPT 1000
0 BHPT 150
ENDE

OPER ACTION

17.20. Operations 1657


Tempest MORE Help, Release 8.1

static count
local YY
if(&wopr(P-1)<600)
if(&count<3)
set &YY=&count
set &YY+=2
ETAB
P-1
0 PERF &YY &YY 0.15 0 1 ZONE
ENDE
set &count++
endi
endi
ENDO

See OperationExamplePerf.dat for complete example.


Note that all possible completions from operation invocations are pre-defined at the start of the run. When-
ever the oil production rate for well P-1 goes below 600 sm3/day, a perforation is opened. The operation
setup is such that it repeats no more than 3 times:

Fig. 17.9: The operation invokes opening of perforations for the first three times the well oil production rate goes
below 600 sm3/day.

• MORE does not allow the dynamic creation of well fractures defined using the VFRA or HFRA events. To
overcome this limitation, the user can pre-define the fractures and shut them before using the REFRA event
in the operation. A simple example to demonstrate the workaround is shown below:
ETAB
ALL
100 INVO ACTION MONTH=6 MEXE
3650 END

P-1
0 PROD
0 PERF 1 1 0.15 0 1 ZONE
0 VFRA ID VV LENGTH 1000 LAYER 1 2 COND 100
0 VFRA ID VV OFF
0 OPT 1000
0 BHPT 150
ENDE

OPER XX

1658 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

static count
if(&wopr(P-1)<600)
if(&count<1)
ETAB
P-1
0 REFRA ID VV
ENDE
set &count++
endi
endi
ENDO

See OperationExampleXFRA.dat for complete example.


Note that the fracture VV is pre-defined at the start of the run. Whenever the oil production rate for well
P-1 goes below 600 sm3/day, VV is re-fractured. The operation setup is such that the refracture only takes
place once.

Fig. 17.10: The operation invokes the refracture of fracture VV as the well oil production rate goes below 600
sm3/day.

• Restart runs, whose base runs have operations that invoke SRV, SRVW or WFRA, may not result in consistent
results with the base run.

Functions

There are a wide range of functions which can be used within an operation. When the operation is executed, the
function value is looked up and substituted into the operation in place of the function name. This value may then
either be used in the evaluation of an IF statement, or to construct the line to be sent to the MORE reader.
• Pressures: psia or barsa
• Oil, water and liquid surface rates: stb/day or sm3 /day

17.20. Operations 1659


Tempest MORE Help, Release 8.1

• Gas surface rates: mscf/day or ksm3 /day


• Reservoir volume rates: rb/day or rm3 /day
• Gas-oil ratio: mscf/stb or ksm3 /sm3
• Saturations, water cut: dimensionless
When a total volume is returned, there are two options – the external ‘big’ units normally used in MORE output (eg
mstb of oil) or the internal ‘small’ units (for example, stb of oil). The small total units have a simple relationship
to the rates, but the big units may yield less unwieldy number for many purposes. See appendix for a complete list
of available functions.

Appendix

Simulator Functions

No argument is required for simulator functions.

&InitialDay Calendar day of initial date


&InitialMonth Calendar month of initial date
&InitialYear Calendar year of initial date

&StartDay Calendar day of start date


&StartMonth Calendar month of start date
&StartYear Calendar year of start date
&StartTime Start time (in days)

Note: start-date is different from initial-date in a restart run. Initial time is zero

&EndDay Calendar day of end date


&EndMonth Calendar day of end date
&EndYear Calendar day of end date
&EndTime End time (in days)

&CurrentDay Calendar day of current time


&CurrentMonth Calendar month of current time
&CurrentYear Calendar year of current time
&Time Current time (in days), i.e. time from initial-time

&SimTime Current simulation time (in days), i.e. time from start-time

Field Functions

No argument is required for field functions.

&fpavh Average hydrocarbon pressure

1660 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

&fpavr Average pressure


&fprd Datum-corrected hydrocarbon volume pressure average
&fprpd Datum-corrected pore volume pressure average

&frrv Pore volume at reference conditions


&frpv Pore volume at reservoir conditions
&fhpv Hydrocarbon pore volume at reservor conditions

&foipb Field oil in place: big units (mstb or ksm3 )


&foips Field oil in place: small units (stb or sm3 )
&fgipb Field gas in place: big units (mmscf or Msm3 )
&fgips Field gas in place: small units (mscf or ksm3 )
&fagipb Field adsorbed gas in place: big units (mmscf or Msm3 )
&fagips Field adsorbed gas in place: small units (mscf or ksm3 )
&ffgipb Field free gas in place: big units (mmscf or Msm3 )
&ffgips Field free gas in place: small units (mscf or ksm3 )
&fwipb Field water in place: big units (mstb or ksm3 )
&fwips Field water in place: small units (stb or sm3 )

&fosat Field average oil saturation


&fgsat Field average gas saturation
&fwsat Field average water saturation

&fgor Field gas-oil ratio


&fwct Field water cut

&fopr Field oil production rate


&foptb Field oil production total: big units (mstb or ksm3 )
&fopts Field oil production total: small units (stb or sm3 )

&fgpr Field gas production rate


&fgptb Field gas production total: big units(mmscf or Msm3 )
&fgpts Field gas production total: small units (mscf or ksm3 )

&fwpr Field water production rate


&fwptb Field water production total: big units (mstb or ksm3 )
&fwpts Field water production total: small units (stb or sm3 )

&flpr Field liquid production rate


&flptb Field liquid production total: big units (mstb or ksm3 )
&flpts Field liquid production total: small units (stb or sm3 )

&fvpr Field voidage production rate


&fvptb Field voidage production total: big units (mrb or krm3 )
&fvpts Field voidage production total: small units (rb or rm3 )

17.20. Operations 1661


Tempest MORE Help, Release 8.1

&fofpr Field free oil production rate


&fofpt Field free oil production total (mstb or ksm3 )
&fospr Field solution (vapourised) oil prod. rate
&fospt Field solution (vapourised) oil prod. total (mstb or ksm3 )
&fgspr Field solution gas production rate
&fgspt Field solution gas production total (mmscf or Msm3 )
&fgfpr Field free gas production rate
&fgfpt Field free gas production total (mmscf or Msm3 )

&foir Field oil injection rate:


&foitb Field oil injection total: big units (mstb or ksm3 )
&foits Field oil injection total: small units (stb or sm3 )
&fgir Field gas injection rate:
&fgitb Field gas injection total: big units (mmscf or Msm3 )
&fgits Field gas injection total: small units (mscf or ksm3 )
&fwir Field water injection rate:
&fwitb Field water injection total: big units (mstb or ksm3 )
&fwits Field water injection total: small units (stb or sm3 )
&fvir Field voidage injection rate:
&fvitb Field voidage injection total: big units (mrb or krm3 )
&fvits Field voidage injection total: small units (rb or rm3 )

&fopp Field oil potential production rate


&fgpp Field gas potential production rate
&fwpp Field water potential production rate
&flpp Field liquid potential production rate
&fvpp Field voidage potential production rate

&foppf Field free oil potential production rate


&fopps Field solution (vapourised) oil potential production rate
&fgpps Field solution gas potential production rate
&fgppf Field free gas potential production rate

&fopi Field oil potential injection rate


&fgpi Field gas potential injection rate
&fwpi Field water potential injection rate
&fvpi Field voidage potential injection rate

&fsaltpr Field salt production rate


&fsaltpt Field salt production total
&fsaltir Field salt injection rate
&fsaltit Field salt injection total
&fsaltipb Field salt in place – big units (mstb or ksm3 )
&fsaltips Field salt in place – small units (stb or sm3 )

1662 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Region Functions

Region functions require an argument, for example, &rpavh(flip region name) or &rpavh(fipnum index).

&rpavh Region average hydrocarbon pressure


&rpavr Region average pressure
&rprd Region datum-corrected hydrocarbon volume pressure average
&rprpd Region datum-corrected pore volume pressure average

&rrrv Region pore volume at reference conditions


&rrpv Region pore volume at reservoir conditions
&rhpv Region hydrocarbon pore volume at reservor conditions

&roipb Region oil in place – big units (mstb or ksm3 )


&roips Region oil in place – small units (stb or sm3 )
&rgipb Region gas in place – big units (mmscf or Msm3 )
&rgips Region gas in place: small units (mscf or ksm3 )
&ragipb Region adsorbed gas in place: big units (mmscf or Msm3 )
&ragips Region adsorbed gas in place: small units (mscf or ksm3 )
&rfgipb Region free gas in place: big units (mmscf or Msm3 )
&rfgips Region free gas in place: small units (mscf or ksm3 )
&rwipb Region water in place: big units (mstb or ksm3 )
&rwips Region water in place: small units (stb or sm3 )

&rosat Region average oil saturation


&rgsat Region average gas saturation
&rwsat Region average water saturation

&rsaltipb Region salt in place – big units (mstb or ksm3 )


&rsaltips Region salt in place – small units (stb or sm3 )

Group Quantities

Group quantities require an argument, for example, &ggor(group name).

&ggor Group gas-oil ratio


&gwct Group water cut

&gopr Group oil production rate:


&goptb Group oil production total: big units (mstb or ksm3 )
&gopts Group oil production total: small units (stb or sm3 )

&ggpr Group gas production rate:


&ggptb Group gas production total: big units (mmscf or Msm3 )
&ggpts Group gas production total: small units (mscf or ksm3 )

17.20. Operations 1663


Tempest MORE Help, Release 8.1

&gwpr Group water production rate


&gwptb Group water production total: big units (mstb or ksm3 )
&gwpts Group water production total: small units (stb or sm3 )

&glpr Group liquid production rate


&glptb Group liquid production total: big units (mstb or ksm3 )
&glpts Group liquid production total: small units (stb or sm3 )

&gvpr Group voidage production rate


&gvptb Group voidage production total: big units (mrb or krm3 )
&gvpts Group voidage production total: small units (rb or rm3 )

&gofpr Group free oil production rate


&gofpt Group free oil production total (mstb or ksm3 )

&gospr Group solution (vapourised) oil prod. rate


&gospt Group solution (vapourised) oil prod. total (mstb or ksm3 )

&ggspr Group solution gas production rate


&ggspt Group solution gas production total (mmscf or Msm3 )

&ggfpr Group free gas production rate


&ggfpt Group free gas production total (mmscf or Msm3 )

&ghpr Group heat production rate


&ghptb Group heat production total: big units (MMBtu or GJ)
&ghpts Group heat production total: small units (MBtu or MJ)

&goir Group oil injection rate


&goitb Group oil injection total: big units (mstb or ksm3 )
&goits Group oil injection total: small units (mstb or ksm3 )

&ggir Group gas injection rate


&ggitb Group gas injection total: big units (mmscf or Msm3 )
&ggits Group gas injection total: small units (mscf or ksm3 )

&gwir Group water injection rate


&gwitb Group water injection total: big units (mstb or ksm3 )
&gwits Group water injection total: small units (mstb or ksm3 )

&gvir Group voidage injection rate


&gvitb Group voidage injection total: big units (mrb or krm3 )
&gvits Group voidage injection total: small units (rb or rm3 )

1664 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

&ghir Group heat injection rate


&ghitb Group heat injection total: big units (MMBtu or GJ)
&ghits Group heat injection total: small units (MBtu or MJ)

&gopp Group oil potential production rate


&ggpp Group gas potential production rate
&gwpp Group water potential production rate
&glpp Group liquid potential production rate
&gvpp Group voidage potential production rate

&goppf Group free oil potential production rate


&gopps Group solution (vapourised) oil potential production rate
&ggpps Group solution gas potential production rate
&ggppf Group free gas potential production rate

&gopi Group oil potential injection rate


&ggpi Group gas potential injection rate
&gwpi Group water potential injection rate
&gvpi Group voidage potential injection rate

&gpin Group pipeline inflow pressure


&gpou Group pipeline outflow pressure
&gdpi Group pipeline pressure loss
&gdpu Group pipeline pump pressure gain

&gsaltpr - Group salt production rate


&gsaltpt - Group salt production total
&gsaltir - Group salt injection rate
&gsaltit - Group salt injection total

Well Quantities

Well quantities require an argument, for example, &wgor(well name).

&wbhp Well bottom hole pressure


&wthp Well tubing head pressure

&wbpr Well pressure at radius


&wbp Well block pressure
&wbp4 Well block pressure (4-point average)
&wbp5 Well block pressure (5-point average)
&wbp9 Well block pressure (9-point average)

&wgor Well gas-oil ratio


&wwct Well water cut

17.20. Operations 1665


Tempest MORE Help, Release 8.1

&wopr Well oil production rate


&wgopr Well gross oil production rate
&woptb Well oil production total: big units (mstb or ksm3 )
&wopts Well oil production total: small units (stb or sm3 )

&wgpr Well gas production rate


&wggpr Well gross gas production rate
&wgptb Well gas production total: big units (mmscf or Msm3 )
&wgpts Well gas production total: small units (mscf or ksm3 )

&wwpr Well water production rate


&wgwpr Well gross water production rate
&wwptb Well water production total: big units (mstb or ksm3 )
&wwpts Well water production total: small units (stb or sm3 )

&wlpr Well liquid production rate


&wglpr Well gross liquid production rate
&wlptb Well liquid production total: big units (mstb or ksm3 )
&wlpts Well liquid production total: small units (stb or sm3 )

&wvpr Well voidage production rate


&wgvpr Well gross voidage production rate
&wvptb Well voidage production total: big units (mrb or krm3 )
&wvpts Well voidage production total: small units (rb or rm3 )

&wofpr Well free oil production rate


&wgofpr Well gross free oil production rate
&wofpt Well free oil production total (mstb or ksm3 )

&wospr Well solution (vapourised) oil production rate


&wgospr Well gross solution (vapourised) oil production rate
&wospt Well solution (vapourised) oil prod. total (mstb or ksm3 )

&wgspr Well solution gas production rate


&wggspr Well gross solution gas production rate
&wgspt Well solution gas production total (mmscf or Msm3 )

&wgfpr Well free gas production rate


&wggfpr Well gross free gas production rate
&wgfpt Well free gas production total (mmscf or Msm3 )

&whpr Well heat production rate


&whptb Well heat production total: big units (MMBtu or GJ)
&whpts Well heat production total: small units (MBtu or MJ)

1666 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

&woir Well oil injection rate


&wgoir Well gross oil injection rate
&woitb Well oil injection total: big units (mstb or ksm3 )
&woits Well oil injection total: small units (stb or sm3 )

&wgir Well gas injection rate


&wggir Well gross gas injection rate
&wgitb Well gas injection total: big units (mmscf or Msm3 )
&wgits Well gas injection total: small units (mscf or ksm3 )

&wwir Well water injection rate


&wgwir Well gross water injection rate
&wwitb Well water injection total: big units (mstb or ksm3 )
&wwits Well water injection total: small units (stb or sm3 )

&wvir Well voidage injection rate


&wgvir Well gross voidage injection rate
&wvitb Well voidage injection total: big units (mrb or krm3 )
&wvits Well voidage injection total: small units (rb or rm3 )

&whir Well heat injection rate


&whitb Well heat injection total: big units (MMBtu or GJ)
&whits Well heat injection total: small units (MBtu or MJ)

&wpoto Well oil potential (signed: positive if production, negative if injection)


&wpotg Well gas potential (signed: positive if production, negative if injection)
&wpotw Well water potential (signed: positive if production, negative if injection)
&wpotl Well liquid potential (signed: positive if production, negative if injection)
&wpotv Well voidage potential (signed: positive if prod. ,negative if injection)

&wopp Well oil potential production


&wgpp Well gas potential production
&wwpp Well water potential production
&wlpp Well liquid potential production
&wvpp Well voidage potential production

&woppf Well free oil potential production


&wopps Well solution (vapourised) oil potential production
&wgpps Well solution gas potential production
&wgppf Well free gas potential production

&wopi Well oil potential injection


&wgpi Well gas potential injection
&wwpi Well water potential injection
&wvpi Well voidage potential injection

17.20. Operations 1667


Tempest MORE Help, Release 8.1

&wefa Well efficiency factor

&woprh Well oil production rate (historical)


&wopthb Well oil production total (historical): big units (mstb or ksm3 )
&wopths Well oil production total (historical): small units (stb or sm3 )

&wgprh Well gas production rate (historical)


&wgpthb Well gas production total (historical): big units (mmscf or Msm3 )
&wgpths Well gas production total (historical): small units (mscf or ksm3 )

&wwprh Well water production rate (historical)


&wwpthb Well water production total (historical): big units (mstb or ksm3 )
&wwpths Well water production total (historical): small units (stb or sm3 )

&wlprh Well liquid production rate (historical)


&wlpthb Well liquid production total (historical): big units (mstb or ksm3 )
&wlpths Well liquid production total (historical): small units (stb or sm3 )

&wrprh Well reservoir volume production rate (historical)


&wrpthb Well resv. vol. production total (historical): big units (mrb or krm3 )
&wrpthb Well resv. vol. production total (historical): small units (rb or rm3 )

&woirh Well oil injection rate (historical)


&woithb Well oil injection total (historical):big units (mstb or ksm3 )
&woiths Well oil injection total (historical):small units (stb or sm3 )

&wgirh Well gas injection rate (historical)


&wgithb Well gas injection total (historical):big units (mmscf or Msm3 )
&wgiths Well gas injection total (historical):small units (mscf or ksm3 )

&wwirh Well water injection rate (historical)


&wwithb Well water injection total (historical): big units (mstb or ksm3 )
&wwiths Well water injection total (historical): big units (stb or sm3 )

&wrirh Well reservoir volume injection rate (historical)


&writhb Well res. vol. injection total (historical): big units (mrb or krm3 )
&wriths Well res. vol. injection total (historical): small units (rb or rm3 )

&wbhph Well bottom hole pressure (historical)


&wthph Well top hole pressure (historical)
&wrprh Well reservoir pressure (historical)

&wgorh Well gas oil ratio (historical)


&wwcth Well water cut (historical)

1668 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

&wtemp Well temperature


&wpin Well pipeline inflow pressure
&wpou Well pipeline outflow pressure
&wdpi Well pipeline pressure loss
&wdpu Well pipeline pump pressure gain
&wpumpin Well pipeline table index

&wsaltpr Well salt production rate


&wsaltpt Well salt production total
&wsaltir Well salt injection rate
&wsaltit Well salt injection total
&wbsaltc Well salt concentration in the wellbore

Production rates are positive for production, zero for injection.


Injection rates are positive for injection, zero for production.

Completion Quantities

Completion quantities require two arguments, for example, &copr(completion index, well name).

&copr Completion oil production rate


&cgpr Completion gas production rate
&cwpr Completion water production rate
&clpr Completion liquid production rate
&cvpr Completion voidage production rate

&coir Completion oil injection rate


&cgir Completion gas injection rate
&cwir Completion water injection rate
&cvir Completion voidage injection rate

&cgor Completion gas-oil ratio


&cwct Completion water cut

&cpr Completion cell pressure


&cso Completion cell oil saturation
&csg Completion cell gas saturation
&csw Completion cell water saturation

Branch Quantities

Branch quantities require two arguments, for example, &bopr(branch index, well name).

&bopr Branch oil production rate


&bgpr Branch gas production rate
&bwpr Branch water production rate

17.20. Operations 1669


Tempest MORE Help, Release 8.1

&blpr Branch liquid production rate


&bvpr Branch voidage production rate

&boir Branch oil injection rate


&bgir Branch gas injection rate
&bwir Branch water injection rate
&bvir Branch voidage injection rate

&bgor Branch gas-oil ratio


&bwct Branch water cut

Interval Quantities

Interval quantities require four arguments, for example, &ibso(mdl,mdu, branch, well name,) where mdl and mdu
define a measured depth interval.

&iopr Interval oil production rate


&igpr Interval gas production rate
&iwpr Interval water production rate
&ilpr Interval liquid production rate
&ivpr Interval voidage production rate

&ioir Interval oil injection rate


&igir Interval gas injection rate
&iwir Interval water injection rate
&ivir Interval voidage injection rate

&igor Interval gas oil ratio (average of completions in interval)


&iwct Interval water cut (average of completions in interval)

&iso Oil saturation for surrounding cell(s)


&ikmax Minimum k value of the interval (based on global grid)
&ikmin Maximum k value the interval (based on global grid)
&ikmid K value at the measured depth halfway between mu and ml (based on global grid)

&itvdmdu tvd at mdu of the interval


&itvdmdl tvd at mdl of the interval
&itvdmid tvd at the measured depth halfway between mdu and mdl

FOR Loop MIN/MAX Parameters Combinations

The table below shows which parameters may be used in MIN/MAX statements for each of the FOR loop types.

1670 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Table 17.2: Parameters used in MIN/MAX state-


ments for each FOR loop type
FORG FORW FORB FORC FORI
gor gor gor gor gor
wct wct wct wct wct
opr opr opr opr opr
gpr gpr gpr gpr gpr
wpr wpr wpr wpr wpr
lpr lpr lpr lpr lpr
vpr vpr vpr vpr vpr
oir oir oir oir oir
gir gir gir gir gir
wir wir wir wir wir
vir vir vir vir vir
opt opt
gpt gpt
wpt wpt
lpt lpt
vpt vpt
oit oit
git git
wit wit
vit vit
bhp
thp
bpr
bp
bp4
bp5
bp9

17.20. Operations 1671


Tempest MORE Help, Release 8.1

17.21 Running MORE in Parallel Mode

MORE can be run in parallel on multi-processor machines which support the MPI (Message Passing Interface
Protocol). This is available on a wide range of computers which are capable of running more than one task in
parallel. A MPI-parallel job is usually executed using the mpiexec command of the form:

mpiexec -n 4 mored.exe datasetName

In this case, four instances of MORE would be started, and these instances can communicate via MPI to send
and receive commands. Internally, MORE wrappers all MPI calls within a parallel support class, so that using
an alternative protocol would be possible, but MPI seems to be the most usable and widespread system currently
available.
Once the simulation has started, MORE splits the problem into domains, usually by dividing the reservoir into
groups of planes in the longest of the x and y directions. The division will be chosen so that roughly equal numbers
of active cells are assigned to each processor. A description of the division may be found in the .out file from the
MORE run, and looks like the following:

Parallel run with 4 processors

Processor Active cell range Outer plane range


--------- ----------------- -----------------
1 1 42144 1 36
2 42145 82826 37 65
3 82827 122551 66 97
4 122552 163217 98 150
--------- ----------------- -----------------

Alternatively, the parallel domains may be viewed through Tempest using PRINT PPCE MAP in the GRID
section, which will produce a display such as illustrated in the following figure.

1672 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Two example datasets using PRINT PPCE MAP in the GRID section can be found in pt1.dat and pt2.dat.
Many aspects of the simulation such as property lookup and equation of state flash calculations proceed indepen-
dently, each processor working on the cells assigned to that processor. However, in the flow calculations and the
linear solver, special techniques are needed to solve the total problem - further details may be found in the Solution
of the Linear System of Equations section.
Input and output operations are carried out by the first processor, the other processors going into a temporary
server mode and simply responding to requests for data from processor 1. Input data is treated in the same way
– it is read into a look-ahead buffer by process 1, and each full buffer is passed to the other processors. Each
processor then reads from the look-ahead buffer.
In MORE, two different domain partitionings are used. Initially the grid is divided equally between the processors.
This splitting is used to perform the grid calculations of pore volume and transmissibility. Once the pore volumes
are known, the problem is re-split to attempt to keep the number of active cells on each processor equal. This is
illustrated in the following figure; the small number of active cells on the right hand side of the reservoir means
that the domains on that side need to span a larger number of planes of cells.

17.21. Running MORE in Parallel Mode 1673


Tempest MORE Help, Release 8.1

1674 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.22 PEBI Gridding

Introduction

PEBI (perpendicular-bisector) gridding is one approach that can be used to offer unstructured computational grids
and that has some attractive characteristics when attempting to model a reservoir with high resolution grid cells
targeted around selected, localised features.
In Tempest MORE, 2.5D PEBI gridding has been selected. That is, areal refinement is achieved through the
construction of PEBI grid cells that may have any number of areal neighbours while vertical refinement is achieved
by simply increasing the number of grid layers. The PEBI grids are constructed as a new form of local grid and
embedded within the (non-PEBI) global grid.

PEBI Grid Geometry

A 2D PEBI grid is constructed from a set of cell centres by constructing a line from each cell centre to the centres
of its nearest neighbours. A perpendicular bisector is then constructed on each of these lines and truncated where
they intersect another perpendicular bisector.
The following figure illustrates this: the dashed blue line connects cell i to its neighbour cell j; the dashed red
line is the perpendicular bisector; the solid black lines are the cell faces constructed from the intersection of the
perpendicular bisectors after the whole grid has been processed. Note that not all cell centres are shown.

Fig. 17.11: Construction of the interface between two PEBI cell centres

MORE has adopted a 2.5D PEBI grid in which the 3D domain is filled with vertically stacked layers of 2D PEBI
grids. A typical cell with 6 lateral (I,J) neighbours is illustrated below. A PEBI cell can have any number of lateral
neighbours from 3 up but 6 is common.

17.22. PEBI Gridding 1675


Tempest MORE Help, Release 8.1

Fig. 17.12: 2.5D PEBI grid cell

Each of these cells is split into a number of slices with each slice being a triangular prism formed between a lateral
cell face and the vertical centreline of the cell (see the following figure):
A limitation of the MORE implementation is that all of the pillars in a PEBI grid must be vertical although a PEBI
cell need not be horizontal. For example, the (X,Y) co-ordinates of Top1 and Bot1 must be the same and similarly
for TopC and BotC etc. However, the Z co-ordinates of TopC, Top1 etc. may all be different.
The following figure illustrates a real world example of two neighbouring stacks of PEBI cells with their con-
stituent slices displayed.
In a simulation the solution variables are stored for each PEBI cell and so their values are the same for each slice.
The slices are used only to simplify some of the necessary computations such as transmissibility calculations.

Visualisation

Tempest VIEW does not currently offer support for viewing PEBI grids so MORE outputs a corner point grid that
represents the geometry of the PEBI grid. To do this each PEBI cell is split into its constituent triangular prism
slices and each slice is written out as a degenerate corner point cell. This means that there are currently three
issues in the Tempest VIEW 3D display:
• If cell outlines are enabled, then the radial spokes delineating the PEBI slices are also visible.
• The above procedure combined with the PEBI to I,J mapping means that the I,J indices reported by Tempest
VIEW are very hard to interpret.
• It is not currently possible to view PEBI cell transmissibilities.
The radial spokes can be distracting when trying to understand the structure of the grid but a simple trick can be
very useful. By selecting Grid J Index on the Tempest 3D view, and disabling cell outlines, it is possible to get
a more understandable view of the grid structure; the PEBI to I,J mapping will very often result in neighbouring

1676 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Fig. 17.13: 2.5D PEBI cell split into its constituent slices

Fig. 17.14: Neighbouring stacks of PEBI cells, each divided into slices

17.22. PEBI Gridding 1677


Tempest MORE Help, Release 8.1

Fig. 17.15: PEBI spokes displayed when cell outlines are enabled

1678 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

cells having different J indices, and so neighbouring cells will get a different colour, allowing the cell boundaries
to be seen without having to explicitly render their outlines.

Fig. 17.16: PEBI grid coloured by Grid J Index with cell outlines disabled

Setting Up a Simulation Containing PEBI Grids

In order to generate a PEBI local grid, it is necessary to specify the resolution of the initial uniform grid, the
resolution of refined features and the locations of features to be gridded:

TRXY
152.4 152.4
1219.2 1219.2
/

/ BACKG REFIN NZ IL IU JL JU KL KU NAME


PEBI 1* 152.4 6 1 10 1 10 1 3 PEBI_I1

Each PEBI grid is constructed within a box of global cells (for the example above the box extends over I from
1 to 10, J from 1 to 10 and K from 1 to 3). Unlike regular local grids created with the LGRD keyword the I&J
dimensions are not specified and are instead calculated internally. However, the K dimension is still required and,
just as for LGRD, specifies the number of grid layers in the PEBI local grid (6 layers in the example above).
When the PEBI grid is first constructed a regular quadrilateral grid is setup with a resolution controlled by the first
argument, i.e. dx=dy=BACKG. Next, new cells are created to enhance resolution around features of interest using
the TRXY and FLXY keywords which specify (X,Y) co-ordinates along the paths of interesting linear features.
TRXY adds points along well trajectory-type features by creating cells with a spacing of REFIN along the path.
FLXY adds points along fault type trajectories by creating cell pairs along the path with a spacing of BACKG.

17.22. PEBI Gridding 1679


Tempest MORE Help, Release 8.1

TRXY aims to place the cell centres on the well trajectory whereas FLXY aims to place the boundary between
each pair of created cells along the fault.
When a fault-type feature is added, a polygon is constructed that completely encloses it within which no additional
cell centres will be added. This is done in order to preserve cell boundaries running along the fault line.
If the REFIN argument is defaulted it is set to the value of BACKG. If the BACKG argument is defaulted it is set
to the average of the (X,Y) cell dimensions of the global grid covered by the PEBI grid.
Once the initial grid and the refinement points have been added MORE automatically smoothes the grid structure
by both moving cell centres and adding new infill cells. Note, however, that none of the points created to define a
feature of interest are allowed to move.
An example of this using a refined well trajectory is shown below. Well I1 was defined as follows:
TTAB
I1
152.4 152.4 2537.46 0.0
1219.2 1219.2 2567.94 1509.0
ENDT
/

The PEBI grid was defined using the example at the beginning of this section. As can be seen, the trajectory is
modelled at higher resolution than the background grid but with a gentle relaxation to the background resolution
provided by the infill cells.
In the above example the PEBI grid was defined to cover the entire global grid but it is possible, and usually
preferable, to specify multiple PEBI grids.

Transmissibility Calculations

Lateral transmissibilities between PEBI cells are calculated by finding slices within neighbouring cells that share
an interface and then finding a combined transmissibility as follows:
The centres of cell i and the common interface are found allowing the calculation of the cell centre to face centre
vector, di . The transmissibility contribution from cell i is then
A · di
Ti = ki
di · di
where ki is the permeability in the direction of the cell face for cell i. Details of how this is calculated will be
given below.
A similar calculation is performed for the matching slice in cell j to obtain Tj and finally the combined interface
transmissibility is obtained from
1 1 1
= +
T Ti Tj
In the vertical direction a very similar calculation is performed but using the following geometry
In this case di is the half height of cell i, otherwise the calculation is the same as that used for the lateral neighbours.
Once the vertical transmissibility for each slice has been calculated, the total vertical transmissibility between cell
i and cell j is given by the sum of the slice transmissibilities.

Permeability Transformations

Permeabilities are usually supplied to a simulation as Ki, Kj & Kz, (that is, aligned with the cell frame), but the
PEBI calculations require them in the in the x,y,z frame and so the supplied permeabilities need to be transformed.
The Tensor Permeabilities page describes how MORE can transform permeabilities from the (x,y,z) frame into the
(i,j,k) frame by performing the following transformation

Kijk = (ET )−1 · Kxyz · KT

1680 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Fig. 17.17: Resulting PEBI grid structure

17.22. PEBI Gridding 1681


Tempest MORE Help, Release 8.1

Fig. 17.18: Common interface between slices within lateral neighbouring PEBI cells i & j

Fig. 17.19: Common interface between slices within vertical neighbouring PEBI cells i & j

1682 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

where E is the matrix that transforms the (x,y,z) direction vectors into the local frame of (ea , eb , ec ):
 
eax eay eaz
E =  ebx eby ebz 
ecx ecy ecz

where
ea = eax .ex + eay .ey + eaz .ez
eb = ebx .ex + eby .ey + ebz .ez
ec = ecx .ex + ecy .ey + ecz .ez

To find the permeabilities for the PEBI transmissibility is calculated exactly as it is for the tensor permeability
option and the matrix of cell-frame permeabilities is constructed as
 
Ki 0 0
Kijk =  0 Kjj 0 
0 0 Kk

The (x,y,z)-frame permeabilities are then found from

Kxyz = ET .Kijk .(ET )−1

The angle, θ, between the cell interface normal and the x-axis is then found:

Fig. 17.20: Angle between the interface normal and the x-axis

and the permeability in the direction of the cell interface is calculated as

KN = Kx cos2 θ + Ky sin2 θ

17.22. PEBI Gridding 1683


Tempest MORE Help, Release 8.1

17.23 Polymer Tracking Option

Introduction

The MORE polymer option is enabled by the POLY keyword in the INPUt or FLUId section of the dataset.
Polymer tracking adds an extra equation to the usual three conservation equations for oil, water and gas. The
extra equation reflects the conservation of polymer mass. Polymer is transported by the water phase, and may be
adsorbed on the rock. The polymer conservation equation is treated implicitly and is only available in the implicit
black oil mode.
The extra solution variable controlling polymer transport is the polymer concentration Cply , which has units of
(mass of polymer)/(unit surface volume of water), for example, lb/STB.
The existence of polymer has two effects on fluid flow in the reservoir:
1. The viscosity of the water is altered, depending upon the polymer concentration in the water.
2. The permeability of the rock to water is reduced by the presence of adsorbed polymer.
We now discuss these in turn.

Viscosity Changes

The main objective of injecting polymer is normally to increase the viscosity of the injected water and improve
the reservoir sweep. Hence, the water viscosity generally increases with the polymer concentration.
However, due to the long polymer chains, the water viscosity is generally reduced by the effect of shearing, which
is a function of the velocity at which the water is travelling. The shear rate may be obtained from the superficial
flow velocity and the water viscosity will be a function of the shear rate. A model to take account of shear effects
is described below.

Polymer Adsorption

As a polymer is transported through the reservoir, it tends to become adsorbed onto the rock. The amount of
adsorbed polymer is Cads , measured as (mass of adsorbed polymer)/(unit pore volume). In a simple reversible
case the amount of adsorbed polymer is a function of the concentration of polymer in the water

Cads = Cads (Cply )

However, in many cases the process of adsorption is not reversible, so that


max
Cads = maxbCads (Cply ), Cads c
max
where Cads is the maximum value of Cads for a cell to date in the run.
A model for polymer adsorption and permeability reduction factor has been developed by Hirasaki and Pope1 , and
is described below. Alternatively, users may enter look-up tables specifying the adsorbed polymer as a function of
polymer concentration and the water permeability reduction factor as a function of the adsorbed rock concentration
of polymer.

Model Development

Governing Equations for Polymer Flow

The conservation equations for polymer take the form


max
∆T (Fply + Qply ) =[Vp (Cply Sw bw + (1 − φ)/φ.Cads (Cply , Cply ))]T +ΔT
max
− [Vp (Cply Sw bw + (1 − φ)/φ.Cads (Cply , Cply ))]T
1 Hirasaki, G.J. and Pope, G.A., SPE 4026, SPEJ Aug 1974.

1684 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

where
• Vp is the cell pore volume
• φ is the pore volume
• Fply is the flow rate of polymer from cell to cell
• Qply is the flow rate of polymer to and from wells
• Cads is the polymer adsorption per unit bulk volume of rock
This is solved at each time-step together with the usual governing equations for black oil.

Viscosity Modification

The water viscosity multiplier as a function of polymer concentration is a simple user-supplied look-up table of
the form:

Cmult = Cmult (Cply ) (17.18)

This relationship is defined by the PPRO keyword and is the the only table look-up required in the MORE polymer
model.
The effects of shearing are taken account using the Meter model, as presented by Lake2 . At low shear rates, ė the
polymer viscosity µp is independent of shear rate and can be assumed to be equal to that given from the multiplier
from equation (17.18), that is

µ0p = µ0p (ė → 0) = Cmult (Cply )µw (17.19)

At high shear rates, the polymer viscosity decreases and approaches a limiting value not much greater than the
water viscosity. For simplicity, we assume the limit corresponds to the water viscosity, that is

µ∞ ∞
p = µp (ė → ∞) = µw

Note: A fluid whose viscosity decreases with increasing shear rate is called shear thinning.

The Meter model says the viscosity at some intermediate shear rate is given by

µ0p − µ∞p
µp = µ∞
p +
1 + (ė/ė1/2 )X−1

where X is a user-supplied empirical coefficient and ė1/2 is the shear rate at which µp is the average of µ0p and µ∞
p .
µ∞p is the high shear-rate viscosity which will be taken to be the water viscosity; while the low-shear viscosity µ0p
is defined by equation (17.19).
The shear rate ė is calculated from
uw
ė = √
4 φKw Sw
where
• uw is the superficial flux of polymer-rich water
• φ is the porosity
• Sw is the saturation of the polymer rich (water) phase
• Kw is the permeability of the polymer rich (water) phase
2 Lake L.W.:, Enhanced Oil Recovery, Prentice-Hall, New Jersey, 1989.

17.23. Polymer Tracking Option 1685


Tempest MORE Help, Release 8.1

that is,

Kw = Krw (Sw )K

where
• K is the rock permeability
• Krw is the relative permeability to water.
Note that, as the superficial water flux is itself a function of the water viscosity, a non-linear equation must be
solved at each cell interface to determine the shearing effect.
A plot of viscosity as a function of shear rate calculated from the Meter model is illustrated in the following figure:

As can be seen, changing the values of ė1/2 and X changes the mid-point and shape of the viscosity/shear-rate
distribution. Typical reservoir shear rates are of order 1 to 10 s-1 . If attempting to obtain ė1/2 from the water
superficial flux, remember that 1 Darcy = 1x10-12 m2 and that reservoir rates are typically measured per day rather
than per second. MORE uses a default value of 5 sec-1 .

Adsorption and Permeability Reduction

The polymer adsorption and permeability reduction factors may be specified using the PADT and PAKW tables.
PADT specifies the equilibrium adsorbed rock concentration of polymer, in polymer mass per unit mass of rock,
as a function of the concentration of the polymer in the water, that is

Cadm = Cadm (Cply ) (17.20)

This is related to the polymer adsorption per unit reservoir volume, Cads , by the relationship
φ
Cadm = Cads ×
Cv ρR
where

1686 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

• ρR is the rock density in standard units, (lb/cuft or kg/m3 ).


• Cv is 5.61458 in field units, 1.0 in metric units.
Note that, as polymer is adsorbed by the rock, the concentration of polymer in the water will decrease. Hence,
(17.20) is a non-linear equation that must be solved to calculate the adsorbed rock concentration.
Adsorption may may be reversible or irreversible. In the irreversible case, even if the polymer concentration in
the water falls, the adsorbed polymer concentration will not fall from its maximum value.
The PAKW defines a water permeability reduction as a function of the adsorbed polymer concentration. Hence,
the first column of the PAKW table is the adsorbed polymer concentration, in the same units as the second column
of the PADT table.

Functional Model

Alternatively, users may use a functional model developed by Hirasaki and Pope1 to model the polymer adsorption
and permeability reduction factors. Here, it is observed that the maximum polymer mass adsorption is
α
mmax = Vp (1 − φ)CA (Mp η)1/3 (φ/K)1/2 (17.21)
η
where
• CA is a constant, whose value is 1.780x10-2 (field) or 5.952x10-3 (metric)
• Mp is a the polymer mole weight
• α is a tortuosity factor
• η is a the polymer dependency function, defined by
µp − µw
η= , (17.22)
Cply µw
where the polymer viscosity µp = Cmult µw , as in (17.19). We then assume a Langmuir isotherm type dependence
on the polymer concentration, so that
Cply
m(Cply ) = mmax (Cply ) ,
Cply + C1/2

where C1/2 is the polymer concentration in the water at which the adsorbed concentration reaches half its maxi-
mum value. This is defaulted to 0.1 lb/scf or 1.60 kg/sm3 , but may also be set by the user. For Cply  C1/2 we
see that m → mmax as required.
The polymer mole weight Mp may be set by the user, if not a default value of 105 g/gmol is used. The tortuosity
factor α is to take account of the change in shape the polymer undergoes when it is confined in a pore throat as
opposed to being in a dilute solution. Hirasaki and Pope suggest that 2 < α < 8 and a default value of 4 is
assumed.
The water permeability reduction factor Rk is given by
Krp
Rk = = (1 − βNδ )4 ,
Krw
where β is a history matching parameter (defaulted to 1), while the dimensionless group Nδ is a measure of the
reduction in pore radius due to polymer adsorption and is given by
Cply
Nδ = Ck (Mp η)1/3 (φ/K)1/2 , (17.23)
Cply + C1/2

where CK is a constant whose value is 2.525x10-2 (field) or 8.440x10-3 (metric).

Note: Although equation (17.23) follows a similar functional form to equation (17.21), the permeability reduction
factor Rk used by the functional model does not explicitly depend on the adsorbed polymer concentration. Hence,

17.23. Polymer Tracking Option 1687


Tempest MORE Help, Release 8.1

while adsorption may be modelled as reversible or irreversible, the permeability reduction factor will not be
affected.

The constants CA and CK are are 118.0 and 3.9x10-3 , respectively, when permeability is in mD and the perme-
ability dependency function η is in decilitres/gm (the inverse of gm/100 mL). From equation (17.22) we see the
normal units of η will be inverse concentration, that is, STB/lb or sm3 /kg, and we can use the conversion factors 1
gm/100 mL = 10 gm/L = 10 kg/m3 = 3.5 lb/STB.
Furthermore, CA was originally developed by Hirasaki and Pope in units of µgm/gm with densities in gm/cm3 . To
convert to mass/unit pore volume in lb/STB or kg/m3 , an additional factor to convert from gm/cm3 was needed.

Data Requirements

Enabling the Polymer Option

The polymer option is enabled by entering:

POLY

in the FLUID or INPUT sections. An example of a polymer run is explained here.

Variation of Water Viscosity with Water Polymer Concentration

This is defined by the PPRO table:

PPRO / Cply Cmult


0.0 1.0 /
0.035 2.0 /
0.1 5.0 /
0.35 40.0 /
/

• The first column of PPRO specifies the polymer concentration Cply in lb/STB (field) or kg/sm3 (metric).
• The second column contains the viscosity multiplier.

Note: Constant value extrapolation will be used for polymer concentration values outside the table

Note: If POLY is used without setting PPRO, a warning is issued and the water viscosity multiplier set to unity.

Polymer Shearing Effects

The PSHE keyword sets the option for the modelling polymer shearing:

PSHEAR [NONE][ON][OFF]

The default is OFF. The polymer shearing effects require a considerable amount of extra calculation in MORE
and should only be turned on if required.

Variation of Adsorbed Polymer with the Water Polymer Concentration

This is controlled by the PADT keyword.

1688 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

PADT is a table which specifies the saturated polymer adsorption concentration on the rock as a function of the
polymer concentration in the water. A separate table may be specified for each saturation table region.
The polymer concentration in the water is specified in mass per unit water surface volume. The adsorbed polymer
concentration is specified in polymer mass per unit mass of rock. This means of specifying the adsorbed polymer
density needs a rock density, and this can be set using the first argument of PADT (in the case of several PADT
tables, the first occurence is taken). The default density corresponds to a specific gravity of 2.5.

Note: The rock density is specified in units of kg/m3 or lb/cuft (not lb/STB).

By default, polymer adsorption is reversible, but the IRRE or IRRV argument of PADT may be used to select
irreversible adsorption. In that case, the polymer per unit mass of rock will not fall even if the water polymer
concentration does fall. An example of IRREversible adsorption into rock with a density of 130 lbs/cuft is shown
below:

PADT 130 IRRV


0 0
0.1 0.00001 /
/

The 3D grid array Cadm is available in Tempest for visualising the adsorbed polymer mass per unit mass of rock:

Variation of Water Relative Permeability with Water Polymer Concentration

This is controlled by the PAKW keyword.


The PAKW keyword is a simple method of specifying the effect of any polymer adsorption on rock upon the water
phase relative permeability. It should be used in conjunction with the PADT keyword.
The PAKW table specifies the water relative permeability modification factor as function of the adsorbed polymer
concentration on the rock in mass of polymer per mass of rock, as defined in the second column of the PADT
table.
A PAKW table may be specified for each saturation table region.
A simple polymer example dataset using the keywords PADT and PAKW can be accessed here.

17.23. Polymer Tracking Option 1689


Tempest MORE Help, Release 8.1

Enabling the Functional Model for Adsorbed Polymer and Water Permeability Reduction

Alternatively, the user may use the PADS keyword to turn on the Hirasaki and Pope functional model for polymer
adsorption and water permeability reduction, as described above. PADS should be used as an alternative to PADT
and PAKW.
The user may select either reversible or irreversible adsorption using the REVE or IRRE arguments of PADS
respectively. In the latter case the adsorbed polymer will not fall even if the water polymer concentration falls.
By default, the reported polymer concentration in the water is not affected by the adsorbed polymer concentration,
which is assumed to be small. However, it is possible to account for the loss of polymer to the rock by using the
LOSS argument of PADS.

Parameters Required by the Polymer Modelling Correlations

The PMIS keyword sets various values which appear in the correlations for the polymer model:

--MP alfa beta chalf ehalf eExp


PMIS 3e6 4.0 1.2 1* 2.3 2.4 /

• The first argument specifies the polymer mole weight, Mp (default = 105 g/gmol)
• The second argument is the tortuosity factor α (default = 4.0)
• The third argument is the water permeability reduction parameter β (default = 1.0)
• The fourth argument is the polymer adsorption concentration C1/2 (default=0.1 lb/STB)
• The fifth argument is the mid-point shear rate ė1/2 (default=5.0 s-1 )
• The sixth argument is the shear rate exponent X (default=2.0)
A simple polymer example dataset using the PMIS keyword can be accessed here.

Note: The first four arguments are only relevant if using the PADS keyword to select the Hirasaki and Pope
functional model. They are not required when using PADT and PAKW.

Note: The fifth and sixth argument are relevant for the viscosity shearing model which may be turned on using
the PSHE keyword.

Initial Polymer Concentration

This is entered by the CPLY keyword. CPLY is a MORE grid type keyword, which is automatically set up when
the POLYMER option is selected. All of the usual MORE options for setting up arrays may be used to define
CPLY values.
An example would be:

CPLY
ZVAR
0.04 4*0.045 8*0.0 /

The 3D grid view below shows the initial polymer concentration:

Injection Polymer Concentration

An injection well may be assigned a polymer concentration, which will be associated with water injected by that
well. This may be specified using the POLY event.

1690 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

An example would be:

--* Define well completions and targets using events


EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT
ETAB

I-1
01/Jan/2000 INJE
01/Jan/2000 PERF 5000.00 5200.00 0.50000 0.00000 10.0000
01/Jan/2000 WIT 4000.00
01/Jan/2000 POLY 0.15000
01/Jan/2000 BHPT 10000.0
01/Jan/2005 POLY 0.00010

The plot below shows the polymer injection rate for the well I-1:

17.23. Polymer Tracking Option 1691


Tempest MORE Help, Release 8.1

17.24 Relative Permeability Calculations

One of two wettability options can be used to calculate three phase relative permeabilities, based on the reservoir
characteristics.
The wettability options are:
• oil wet - in order of decreasing wettability the phases are
– oil
– water
– gas
• water wet - in order of decreasing wettability the phases are
– water
– oil
– gas
When a wettability keyword is not supplied, the reservoir rock is assumed to be water wet (the default option).

Relative Permeability Data Input

Regardless of the wettability option selected, the following data is supplied to the simulator:
• Krw (Sw ) - Water relative permeability in the presence of oil
• Krow (Sw ) - Oil relative permeability in the presence of water
• Krg (Sg ) - Gas relative permeability in the presence of oil and connate water
• Krog (Sg ) - Oil relative permeability in the presence of gas and connate water
When the hysteresis option is used:
• Krwh (Sw ) - Hysteresis water relative permeability in the presence of oil
• Krowh (Sw ) - Hysteresis oil relative permeability in the presence of water
• Krgh (Sg ) - Hysteresis gas relative permeability in the presence of oil and connate water
• Krogh (Sg ) - Hysteresis oil relative permeability in the presence of gas and connate water
These tables should be obtained from standard water-oil and gas-oil relative permeability tests.

Intermediate Phase Relative Permeabilities

The relative permeability of the wetting and nonwetting phases are functions of their respective saturations, while
the intermediate phase relative permeability is calculated using a variety of methods.
The following generalisation of Stone’s second method (Stone1 ) is one possibility. For the default water-wet case
we have

Kro = f1 · (Krow + f2 · Krw ) · (Krog + f2 · Krg ) − f2 · (Krw + Krg )

where:
• f1 = 1/Krow (Swco ), inverse of the oil relative permeability at connate water saturation
• f2 - Trapping factor
The two commonly used modifications to Stone’s second method are obtained from the above formula as follows:
1 Stone, H.L., Estimate of Three-Phase Relative Permeability and Residual Oil Data, J. Cnd. Pet. Tech (Oct-Dec 1973) 54-61.

1692 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

• f2 = Krow (Swc ) gives the formula recommended by Aziz and Settari. This is the default value.
• f2 = 1 gives the formula which is discussed by Dietrich and Bonder. This form is equivalent to scaling the
relative and absolute permeabilities so that Krow (Swc ) = 1.
For water-wet calculations, the standard relative permeability data supplied to the simulator is used directly (after
conversion to an equally spaced format). However, standard relative permeability tests do not provide all the data
needed for the oil-wet option. For this case, the tables are interpreted to provide appropriate data for Stone’s
method.
The following table shows the relationship between the standard data and the data used by the simulator.

Table 17.3: Relative Permeability Data Used


Water Wet Oil Wet
Wetting Phase for Oil-Water System Krw Kro (KRWO Column 2)
Intermediate Phase for Oil-Water System Krow Krwo (KRWO Column 3)
Non-wetting Phase for Intermediate-Gas System Krg Krg (KRGO Column 2)
Intermediate Phase for Intermediate-Gas System Krog Krwg (KRGO Column 3)
As a second option, you can select the Linear model, sometimes called the ECLIPSE model, in which the oil
relative permeability is calculated from

(Sw − Swc ) · Krow + Sg Krog


Kro =
Sw − Swc + Sg

where the Krow and Krog are looked up directly as functions of the oil saturation So .
The third option is Stone’s 1st model in which

Kro = f · S̄o · Cg · Cw

where
Krog Krow
Cg = Cw =
1 − S̄g 1 − S̄w

and
So − Som Sw − Swl Sg
S̄o = S̄w = S̄g =
1 − Swl − Som 1 − Swl − Som 1 − Swl − Som

Som is the minimum oil saturation for flow: that is, Som = min (Sogc , Sowc ) and f = 1/Kro (Swl ) where Swl is the
minimum (connate) water saturation.
Krow is looked up at an oil saturation of So = 1 − Sw whereas Krog is looked up at a saturation of 1 − Sg − Sw .

The Oil-Wet Option

In the oil-wet option, the oil relative permeability becomes a simple function of So , whilst the water relative
permeability is constructed using Stone’s method.
When using Stone’s method for a conventional water-wet system we do not look up any relative permeabilities
as a function of the actual oil saturation. Instead, we look up Krw (Sw ), Krg (Sg ), Krow (So = 1 − Sw ), and
Krog (So = 1 − Sg − Swco ). Then we combine Krow and Krog using Stone’s method to get Kro (Sw , Sg ).
Using Stone’s method in an oil-wet system is analogous, but with water playing the role of oil. We look up
Kro (So ), Krg (Sg ), Krwo (Sw = 1 − So ), and Krwg (Sw = 1 − Sg ). Then we combine Krwo and Krwg using Stone’s
method to get Krw (So , Sg ).
As a simple example, consider the following data:

17.24. Relative Permeability Calculations 1693


Tempest MORE Help, Release 8.1

KRWO Swat Krw Krow


0.1 0.0 1.0 /
0.5 0.2 0.2 /
1.0 1.0 0.0 /
/
KRGO Sgas Krg Krog
0.00 0.0 1.0 /
0.20 0.1 0.3 /
0.90 1.0 0.0 /

Consider a cell with saturations of Sw = 0.3, Sg = 0.3, and So = 0.4.


The KRWO data is looked up at an oil saturation of So = 0.4, starting from the top of the table. Interpreting the
third column as a water-oil table, Krwo is Krwo (Sw = 1 − So ) = Krwo (0.6). Applying linear interpolation we
obtain
1.0 − 0.6 0.6 − 0.5
Krwo (0.6) = 0.2 · + 0.0 · = 0.16
1.0 − 0.5 1.0 − 0.5
And Kro (So ) is
0.5 − 0.4 0.4 − 0.1
Kro (0.4) = 0.0 · + 0.2 · = 0.15
0.5 − 0.1 0.5 − 0.1
Note that this table is not looked up at the actual water saturation of Sw = 0.3.
The KRGO data is looked up at a gas saturation of Sg = 0.3, interpreting the third column as a gas-water table.
Thus
0.9 − 0.3 0.3 − 0.2
Krg = Krg (0.3) = 0.1 · + 1.0 · ≈ 0.2285
0.9 − 0.2 0.9 − 0.2
Krwg is obtained from the last column as Krwg at a gas saturation of Sg = 0.3 (i.e. at a water saturation of
Sw = 1 − Sg = 0.7). This gives us
0.9 − 0.7 0.7 − 0.2
Krwg (Sw = 1 − Sg ) = Krwg (0.7) = 0.3 · + 0.0 · ≈ 0.0857
0.9 − 0.2 0.9 − 0.2
Connate water is not used in the Krwg lookup, as this is interpreted as a water-gas table. Connate oil is regarded
as zero.
We now take these values and combine them to Krw using Stones method with f1 = f2 = 1.
Krw = (Krwo + Kro ) · (Krwg + Krg ) − Kro − Krg
= (0.16 + 0.15) · (0.0857 + 0.2285) − 0.15 − 0.2285 = −0.2810
which goes negative, so

Krw (So , Sg ) = 0

The results of the oil-wet lookup are thus rather different from the water-wet case. In this example, the water is
immobile, even though Sw is well above the first non-zero point on the Krw table. In broad terms the intermediate

1694 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

phase (oil in the water wet-case, and water in the oil-wet case) finds it more difficult to flow as it is held up by the
other two phases.

Relative Permeability Hysteresis

The treatment of hysteresis has been developed in MORE to allow both non-wetting and wetting phase hysteresis.
In order to switch on hysteresis modelling, separate relative permeability curves are entered for increasing and
decreasing phase saturation. Both curves are entered in the same table: therefore, if gas saturation functions are
entered with GSF, the earlier column of Krg values is used when the gas saturation is increasing, and the later
column of Krgh value is used when the gas saturation is decreasing. Hysteresis modelling may also be switched
on using by imbibition end-point scaling arrays, described below.
The normal way of describing flooding processes in reservoir engineering is using the terms drainage and imbi-
bition. In an imbibition process the wetting phase saturation increases, and in drainage process the wetting phase
saturation decreases.
In MORE the default is for water to be wetting with respect to oil, and for oil or water to be wetting with respect
to gas. The WETT keyword may be used to model the oil-wet case, but gas is always a non-wetting phase.
The wettability conditions determine what type of hysteresis can be modelled. For the water-wet case, it is possible
to model wetting phase hysteresis in Krw and non-wetting phase hysteresis in Kro . Wetting and non-wetting phase
hysteresis are rather different, and impose different validity conditions on the relative permeability data provided.
Looking at the input of a simple saturation table like GSF, this takes the form

GSF
Sg Krg Pcog Krgh Pcogh
: : : : :
/

As gas is non-wetting, the Krg column corresponds to increasing gas saturation (that is, drainage), and the Krgh
column corresponds to decreasing gas saturation (that is, imbibition).
In a more complex table in which relative permeabilities for two phases are entered together, such as KRGO, the
drainage and imbibition curves may be identified in the same way

KRGO
Sg Krg Krog Pcog Krgh Krogh Pcogh
: : : : : : :
/

Krg and Krgh are drainage and imbibition curves respectively. Krog is the oil-in-gas relative permeability curve for
increasing oil saturation: that is, imbibition. Krogh is the oil-in-gas relative permeability curve for decreasing oil
saturation: that is, drainage. So the columns could also be labelled

KRGO
Sg KrgD KrogI Pcog KrgI KrogD Pcogh
: : : : : : :
/

Non-wetting Phase Hysteresis

D
The calculation procedure is as follows (see the following figure). The drainage relative permeability curve Krn
is followed while the saturation of the non-wetting phase, Sn , is increasing (the drainage process). When the
saturation changes direction so that the saturation of the non-wetting phase is decreasing (the imbibition process),
I
the dashed scanning curve, which is parallel to the hysteresis curve, Krnh is followed. Later if the saturation
D
exceeds the previous maximum, the curve Krn is again used. The treatment is that of Carlson2 . The saturation
2 Carlson, F.M., Simulation of Relative Permeability Hysteresis to the Nonwetting Phase, SPE 10157 presented at the SPE Annual Tech-

nical Conference and Exhibition, San Antonio, Texas, October 5-7, 1981.

17.24. Relative Permeability Calculations 1695


Tempest MORE Help, Release 8.1

shift, ∆S, is calculated such that


D I
Krn (Snmax ) = Krh (Snmax ) + ∆S

Non-wetting phase hysteresis leads to trapped saturations. The critical saturation on the imbibition or scanning
curve is normally greater than that on the drainage curve, so some of the non-wetting phase is trapped.
An example of this would be gas injection into oil. Gas is non-wetting, and the injection process causes a decrease
in the oil saturation: that is, it is a drainage process. However, if the gas is then produced, which might be due
to oil movement on water injection, is not usually possible to recover all the gas, as the gas will cease to flow
when the critical saturation on the scanning curve is reached. In pore space model terms, this is because the gas
is trapped in non-connected bubbles in the centre of the pore space, surrounded by the wetting phases of oil and
water which are connected to the rock material.

Internally, MORE stores the maximum saturation in the simulation to date and the shift ∆S: these are stored as
items on the restart files and may be viewed through Tempest.
Note that the imbibition curve should be steeper than the drainage curve. MORE will check for this and issue a
warning message if required. Such an error can cause the imbibition curve to cross the drainage curve and lead to
a predicted Kr (S) curve which does not go to zero as S goes to zero:

1696 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

To prevent this, a limiting Krlim (S) function is applied, which is sharply rising linear function of saturation starting
at S = 0. The hysteresis Kr is not allowed to be above this limiting line and so is forced to zero as S approaches
zero.

Wetting Phase Hysteresis

In the wetting phase hysteresis case there is no trapped saturation: the critical saturation values of the drainage
and imbibition curves must be the same. The imbibition curve lies above the drainage curve and the calculation
procedure is as illustrated in the following figure:
Suppose we start with a system completely saturated with the wetting phase, at the top of the drainage curve, point
A. If the system in then completely drained, to point B, and then the wetting phase saturation is again increased,
then the system will follow the imbibition curve to point C.
If the drainage process is stopped at some intermediate minimum saturation Smin , point D, then the system follows
the scanning curve, KrS , which is parallel to the imbibition curve KrI . The treatment is that of Carlson2 .

17.24. Relative Permeability Calculations 1697


Tempest MORE Help, Release 8.1

Note: In this case MORE tracks the minimum saturation rather than the maximum saturation.

Capillary Pressure Hysteresis

If the normal and hysteresis capillary pressure curves Pcog and Pcogh or Pcow and Pcowh entered with KRGO,
KRWO, GSF and WSF are different, MORE will model capillary pressure hysteresis. The reservoir is assumed to
have formed by a drainage process: oil displaces water and gas displaces oil. The treatment is that of Killough3 .
In the case of gas, the simulation is assumed to start on the drainage process, gas increasing, and curve. If the gas
saturation continues to increase, the capillary pressure continues to track that curve. If the saturation decreases,
it moves onto a scanning curve which interpolates between the drainage and imbibition curves (see the following
figure).
3 Killough, J.E., Reservoir Simulation with History-Dependent Saturation Functions, Trans. SPE-AIME, Feb 1976, SPE 5016.

1698 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

If the gas saturation is reduced to the trapped gas saturation, Sgtrap , the interpolation leads to 100% drainage curve.
The interpolation expression is:
I D I
Pcog = Pcog + f · (Pcog − Pcog )

with
1 1
Sg −Sgtrap +e − e
f= 1 1
Sgmax −Sgtrap +e − e

where e is defaulted to 0.1 but may be reset using the PCHC keyword.
The trapped gas saturation is obtained from the Krg hysteresis calculation described above if Krg hysteresis is
active, or is otherwise Sgcrit .

D I
Note: Pcog is the gas increasing curve, Pcog in the input; Pcog is the gas decreasing curve, Pcogh in the input.

In the water capillary pressure case the normal drainage curve is obtained if the water saturation continues to
decrease, and a scanning curve is started if the water saturation increases (see the following figure).

17.24. Relative Permeability Calculations 1699


Tempest MORE Help, Release 8.1

The expression used for the interpolation is:


D I D
Pcow = Pcow + f · (Pcow − Pcog )

with
1 1
Sw −Swmin +e − e
f= 1 1
Swmax −Swmin +e − e

where Swmax = 1.0 − Swntrap , the sum of the trapped oil and gas saturations.
Currently MORE uses a scanning curve in capillary pressure hysteresis. Including further loops in the Killough
model will produce capillary pressure discontinuities after the third saturation reversal which can cause conver-
gence problems and timestep reductions.

Saturation Scaling

Different grid blocks may have different values for the critical saturations, maximum saturations, etc. Because of
this, the relative permeability for a given saturation may vary within the grid.
One approach to this is to use several relative permeability tables, which may be accomplished by using the SATN
keyword.
Another approach is to scale the given relative permeability tables to make the saturation table endpoints match
the saturation endpoints specified for each grid block.
These two approaches are described in the following sections:
• Using Multiple Saturation Tables
• End Point Scaling

Using Multiple Saturation Tables

To use multiple saturation tables, two actions are required:


1. Enter more than one saturation function table using keywords such as KRWO and KRGO.
2. Supply the SATN keyword to assign these tables to cells. ROCK is an alias for SATN.

1700 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

As a simple example, suppose we wish to assign one set of saturation tables to the first layer of the grid and another
set to the second layer of the grid. This is done in the dualporo.dat test example, in which the first layer represents
the matrix and the second layer represents fractures. Two sets of saturation tables are entered in the RELA section

KRWO
0.25 0.000 0.92 4.00 /
0.30 0.020 0.705 2.95 /
0.40 0.055 0.42 1.65 /
0.50 0.100 0.24 0.85 /
0.60 0.145 0.11 0.30 /
0.70 0.200 0.0 0.00 /
/

KRWO
0.00 0.000 1.0 4.000 /
0.10 0.050 0.770 1.850 /
0.20 0.110 0.587 0.900 /
0.40 0.260 0.33 0.400 /
0.60 0.475 0.173 0.200 /
0.80 0.715 0.057 0.110 /
1.00 1.000 0.0 0.000 /
/

These tables are assigned to cells by setting up the SATN array in the grid section

SATN
ZVAR
1 2 /

This sets SATN to 1 in the first layer and 2 in the second.


The saturation table regions may be viewed using Tempest to confirm the assignment to cells, displayed from the
Grid Array tab as illustrated in the following figure:

17.24. Relative Permeability Calculations 1701


Tempest MORE Help, Release 8.1

End Point Scaling

The keywords for saturation scaling are listed below. They are predefined arrays, and their syntax is described in
the GRID section of the help. Illustrative examples and discussion on some of these keywords can be found here.
• SWL - scales the smallest water saturation entry in a KRWO table.
• SWCR - scales the highest water saturation for which the water is immobile. If SWCR is supplied, but not
SWL, then SWL will be supplied automatically as SWL = SWCR.
• SOWC - scales the critical oil-in-water saturation. This is the highest oil saturation for which the oil is
immobile in an oil-water system.
• SWU - scales the maximum water saturation, the largest water saturation entry in the KRWO table.
• SGL - scales the connate gas saturation.
• SGCR - scales the critical gas saturation. This is the highest gas saturation for which the gas is immobile.
• SOGC - scales the critical oil-in-gas saturation. This is the highest oil saturation for which the oil is immo-
bile in an oil-gas system.
• SGU - scales the maximum gas saturation. This is the largest gas saturation entry in a gas saturation table.

Three and Four-Point Scaling

In MORE options are available to select how end point scaling is to operate. The default is three-point scaling in
which the lower, critical and upper saturations of the scaled table are defined, and the corresponding point of the
unscaled tables transformed to these values.
For example, consider scaling the water relative permeability function Krw (Sw ) at a water saturation Sw , where
the scaled critical and maximum water saturations are SW CR and SW U respectively, and the corresponding
unscaled (table) values are Swcr and Swu . The water relative permebility Krw (Sw ) is evaluated by looking up the
table
input saturation table at the scaled saturation Sw , where

table (Sw − SW CR)


Sw = Swcr + (Swu − Swcr )
(SW U − SW CR)
table table
That is, Krw (Sw ) = Krw (Sw ) for SW CR < Sw < SW U , while Krw (Sw ) = 0 for Sw < SW CR and
table
Krw (Sw ) = Krw (Swu ) for Sw > SW U .
In four-point scaling, the lower, critical, other phase residual, and upper saturations are transformed. For an
oil-water system, these would be Swl , Swcr , Sr = 1 − Sowc and Swu .
Defining SR = 1 − SOW C as the scaled other phase residual saturation, there are now two cases to consider:

table (Sw − SW CR)


Sw = Swcr + (Sr − Swcr )
(SR − SW CR)

for SW CR < Sw < SR, and

table (Sw − SR)


Sw = Sr + (Swu − Sr )
(SW U − SR)
table
for SR < Sw < SW U . As in three-point scaling, Krw (Sw ) = 0 for Sw < SW CR and Krw (Sw ) = Krw (Swu )
for Sw > SW U .
The advantage of four-point scaling is that the same scaling is applied to Krw and Kro .
The scaling option can be selected using the EPS keyword. The difference between the three-point and four-point
options is illustrated below:

1702 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

End-Point Scaling and Hysteresis

End-point scaling may also be used when modelling hysteresis. In this case, the following arrays may be used to
scale the imbibition end points:
• IWL
• IWCR
• IOWC
• IWU
• IGL

17.24. Relative Permeability Calculations 1703


Tempest MORE Help, Release 8.1

• IGCR
• IOGC
• IGU
Note that in all cases the defaults are the unscaled saturation table values taken from the table data. However,
IEPD may be used to request that the defaults are taken from the corresponding drainage array instead.
Using any of the imbition end-point scaling arrays will automatically switch on hysteresis modelling, even if the
table data does not contain hysteresis data. In the case in which the table data does not show hysteresis, and
only drainage endpoint data is entered with the default setting of IEPD, then unspecified imbibition endpoints
taken from the rock tables may be different from the drainage endpoints. In this case the HYST keyword may be
used to turn on hysteresis modelling, and MORE will search for differences between the drainage and imbibition
endpoints and use hysteresis modelling as required.

Capillary Pressure Scaling

For capillary pressures the default is to use the same scaling as for the relative permeabilities. However, a different
scaling can be selected using the EPSP keyword. This includes a two-point scaling, in which only the lower and
upper saturations are used: for example, Swl and Swu .
This has the advantage that the transition zones defined by the capillary pressures in the equilibration calculations
and which define the fluid in place are not effected by changes to the critical saturations imposed later in order to
achieve a history match.

Vertical Scaling Of The Relative Permeability Values

Different grid blocks may have different values for the maximum relative permeabilities and maximum capillary
pressure. To incorporate this effect without any vertical scaling you would have to use several relative permeability
tables, whilst vertical scaling may suffice by using just one. There are five keywords that will scale the relative
permeability curve or the capillary pressure curve:
• XKRW
• XKRG
• XKRO
• XPCW
• XPCG
These are multipliers for the water, gas, oil relative permeability curves and the water-oil, gas-oil capillary pressure
curves respectively. They are predefined arrays, and their syntax is explained in the GRID section.
In the water wet 3-phase case, XKRW and XKRG will scale the water and gas curves respectively. XPCW will do
vertical scaling on the water-oil capillary pressure, Pcow . XPCG will do vertical scaling on the gas-oil capillary
pressure, Pcog .
In addition, it is possible to select 3-point vertical scaling for the relative permeability curves. The keywords
• YKOG
• YKOW
• YKRG
• YKRW
may be used to set the oil relative permeability multiplier at the gritical gas/water saturation, and the gas/water
relative permeability multiplier at the critical other-phase saturation respectively.
Illustrative examples and discussion on some of these keywords can be found here.

1704 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Surface Tension Effects

If the SURF keyword is used in equation of state mode, surface tensions are calculated and used to control the
approach to a straight line oil-gas relative permeability curve as miscible conditions are approached, following the
approach of Coats4

The surface tension is obtained using the Macleod-Sugden correlation5 :


!4
X
σ= [P ]c · (xc · bo − yc · bg )
c

where
• [P ]c is the parachor for component c,
• bo , bg are phase molar densities
• xc , yc are molar compositions
An immiscibility fraction
 σ K
f=
σ ref
is defined, where σref is the reference surface tension at immiscible conditions, and K an exponent defaulted to
0.25. σref and P may be entered with the SURF keyword.
The relative permeability used is then:
im m
Krog (σ) = f · Krog + (1 − f ) · Krog

where
4 Coats, K. H., An Equation of State Compositional Model, SPE 8284, Society for Petroleum Engineers Journal 20 (1980), 363–376.
5 Reid, R. C., Prausnitz, J. M., and Poling, B. E., The Properties of Gas and Liquids, 4th Edition, McGraw-Hill, New York, 1988.

17.24. Relative Permeability Calculations 1705


Tempest MORE Help, Release 8.1

im
• Krog is the rock curve relative permeability, and
m
• Krog is a straight line relative permeability
both rescaled to the same modified end points, given by
im
Sogcr (σ) = f · Sogcr

im
Sgcr (σ) = f · Sgcr
The total effect is that as σ → 0 the critical oil and gas saturations tend to zero, and the shape of the curve tends
towards a straight line. This is illustrated in the preceding figure.

1706 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.25 Restarts

Introduction

At all times during a simulation run, information is written to .ara file (if GENE with REST, and ARRA are sup-
plied) and .rat file (if FREQ keyword is used) to provide a starting point for a subsequent run. This subsequent
run that has a starting date before the ending date of the BASE run is called a “Restart Run”.
In Tempest MORE, the user can either do a Fast Restart or a Flexible Restart.
In either case, the user must make sure that the starting date of restart run is such that both RATE (2D) and ARRA
(3D) results are available for this date in base run.

Fast Restarts

A fast restart run uses the LOAD keyword in the INPU section to read the INPU, RELA, FLUI and GRID sections
data from the .sav file. This file is generated using the SAVE keyword of the INPU section of the base run, and
contains all the calculations for grid setup and transmissibility.
Since the time-consuming grid calculations are not needed, fast restarts are quicker to initialise than Flexible
Restarts. This type of restart is recommended when only the RECU section data is to be modified.

How to do a Fast Restart Run?

1. In the base run, use the SAVE keyword to generate a .sav file.
2. Set up the restart data file consisting of LOAD keyword, and INIT and RECU section data.
Keywords such as IDAT, SDAT, EDAT, TITL and OPEN may be entered before the LOAD keyword.
3. Using the keyword OPEN IRST, enter the path to the output files of the base run. This is required to load
the dynamic simulation data.
For example:

TITL 'Fast Restart LOAD example'


IDAT 01 JAN 2000
SDAT 01 JAN 2010
OPEN IRST
'BASE'
LOAD 'BASE'
INIT
INCL
'init.minit'
RECU
INCL
'recu.mdyna'

4. Run the two data sets, and compare their results.

Restrictions on a Fast Restart Run

• Both the base and restart data sets must be run on the same version of MORE using the same of number of
processors.
• Fast restarts cannot be used with grid coarsening (CXGR, CYGR, CZGR).
• All standard restart restrictions also apply.

17.25. Restarts 1707


Tempest MORE Help, Release 8.1

Flexible Restarts

A flexible restart reads the complete data file, and is slower to initialise than the fast option as all the grid calcula-
tions have to be reperformed. However, it offers more flexibility as it allows changing some of the data (other than
that in RECU section) in the base run, and restarts from earlier versions of MORE are also allowed. Also, there is
no restriction on the number of processors that the restart data set can be run on.

How to do a Flexible Restart Run?

1. Create a copy of the BASE.dat run and save it as RESTART.dat


2. Change the Start time or Date under the keyword SDAT in RESTART.dat
3. Use the keyword OPEN IRST in RESTART.dat and enter the path to BASE.dat in the following line.
4. Make sure that the starting date of RESTART.dat is such that both RATE (2D) and ARRA (3D) results are
available for this date in BASE.dat run.
5. Make changes to the RESTART.dat file as desired.
6. Run RESTART.dat and compare the results from two runs.

What data cannot be changed at a restart?

• The grid dimensions and the total number of active cells.


• Number of local grids.
• Enabling or disabling the argument OUTP of the keyword COAR as compared to BASE.dat.
• Switching from Cartesian grid to radial and vice versa.
• Changing CRAT, LRAT and/or COMP flags on RATE.
• Changing PRINT MAP/ACTI flags.
• Number of components.
• Number of phases.
• Number of aquifers.
• The type of well model, for existing wells.

Examples

1. Lets demonstrate how to do a flexible restart run with a simple example. Run the dataset BASE.dat.
The simulation has an initial date and start date of 1 Jan 2000,

IDATE 1 JAN 2000


SDATE 1 JAN 2000

outputs 2D results every month and 3D results at the end of 4th , 6th and 10th month:

RATE 1 MONTH EXACT


FREQ 0 1 1 /
ARRA MONTH
4 6 10 /
GENE PRES REST

and an end date of 1 Jan 2001:

1708 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

ETAB
ALL
01/Jan/2001 END
ENDE

Create a copy of BASE.dat and save it as RESTART.dat. In RESTART.dat, make the following
changes:
• Change the Start Time:

IDATE 1 JAN 2000


SDATE 1 JUL 2000

Note that we selected such a start time for RESTART.dat that had both the 2D and 3D results in
BASE.dat
• Use the keyword OPEN IRST in RESTART.dat and enter the path to BASE.dat in the following
line:

OPEN IRST
'BASE'

• Make changes in RESTART.dat file. For example, change the multiplier in the PERF of the producer
well P-1 to double the Kh value and extend the end date to 1 JAN 2002. You may like to compare the
producer BHP from both runs:

The final version of RESTART.dat can be found in RESTART.dat. Note that you need to run
BASE.dat first.
2. Lets now demonstrate how to do a fast restart run using the same BASE dataset as that used in the example
above. Open the dataset BASE.dat and enter the keyword SAVE in the INPU section.

IDATE 1 JAN 2000


SDATE 1 JAN 2000
SAVE

Create a copy of the BASE.dat and save it as FAST_RESTART.dat. In FAST_RESTART.dat, make


the following changes:
• Enter the LOAD keyword in the INPU section, and other permitted keywords before the LOAD key-
word as necessary.

17.25. Restarts 1709


Tempest MORE Help, Release 8.1

INPU
IDATE 1 JAN 2000
SDATE 1 JUL 2000
OPEN IRST
'BASE'
LOAD 'BASE'

• Remove the FLUI, RELA and GRID data sections, and continue to enter data in INIT and RECU
sections.

LOAD 'BASE'
INIT
. . .
. . .
RECU
. . .
. . .
STOP

• Make changes in the dynamic section of the FAST_RESTART.dat, and compare the results to those
of BASE.dat.
An equivalent version of RESTART.dat (used in flexible restart example) can be found in
FAST_RESTART.dat. Note that you need to run BASE.dat with SAVE keyword first.

1710 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.26 Directional Relative Permeabilities

Introduction

Directional relative permeabilities allow you to use separate tables to look up the relative permeabilities in the x,
y and z directions. In the irreversible option, separate tables may be specified to look up relative permeabilities in
the x+, x-, y+, y-, z+ and z- directions.

Usage

In the RELA Section

KRDR [IRRV]

This turns on the directional relative permeability option. IRRV is optional and requests irreversible directional
relative permeabilities. In the irreversible case separate tables may be specified for flows in the positive and
negative directions.

In the GRID Section

KRDX
KRDY
KRDZ

These keywords assign saturation tables to the interblock flows in the x, y and z directions. ROCK (or SATN) still
assigns the tables use for equilibration, fault flows and well production rate calculations. In the irreversible case,
the following keywords assign saturation tables to the interblock flows in the negative x, y and z directions:
KRMX
KRMY
KRMZ

KRDX, KRDY and KRDZ are standard MORE grid arrays, and can be set up in any of the usual ways (see the
following example):
KRDX
ZVAR
3 4 /

KRDX=3

All three arrays default to a value of 1.


Values should lie in the range 1 to nSatTab, where nSatTab is the number of tables entered in the RELA section.

Example

The following describes changes to a simple quarter-five spot to use directional relative permeabilities.
In the RELA section:
KRDR / <===Turn on directional relative permeabilities

krwo sw krw kro / <===First set of saturation tables


0.20 0.0 1.0 /
0.45 0.0625 0.125 /
0.70 0.5 0.0 /

17.26. Directional Relative Permeabilities 1711


Tempest MORE Help, Release 8.1

/
krwo sw krw kro / <===Second set of saturation tables
0.20 0.0 1.0 /
0.45 0.0 0.125 /
0.65 0.0 0.125 /
0.70 0.5 0.0 /
/

In the GRID section:

/ Use 2nd set of saturation tables for x direction


KRDX
ZVAR
2 /

/ Use 2nd set of saturation tables for y direction (alternative expression input)
KRDY = 2

The following figure illustrates results for the above run; the blue line is a rock curve run using only table 1.

1712 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.27 Capillary Pressure and the Leverett J-Function

Definition

The Leverett J-Function is a dimensionless group which attempts to correlate variation in capillary pressure with
rock properties.
The J-function is expressed as
  12
Pc (Sw ) K
J(Sw ) = ·
σ Φ

where
• K is the absolute permeability,
• Φ is the porosity,
• Pc is the capillary pressure,
• Sw is the water saturation and
• σ is the surface tension (see also1 )
The idea is that a single J-function may be used over a range of rock properties. The relationship is not universal
across formations but may be useful for correlating capillary pressure variation within a field or type of rock. It
may also be useful for transforming laboratory data to field conditions.
Rearranging the above expression, the capillary pressure for a given J-function is
  12
Φ
Pc (Sw ) = J(Sw ) · σ ·
K

Units

The above expression assumes that all the quantities present are measured in a consistent set of units: for example,
with K in m2 , σ in Nm-1 , Pc in Nm-2 . If we use an engineering unit set, then a unit-dependent constant U must be
introduced:
  12
1 Pc (Sw ) K
J(Sw ) = · ·
U σ Φ
  12
Φ
Pc (Sw ) = U · J(Sw ) · σ ·
K
For metric units, with Pc in Bars, σ in Dynes/cm and K in mD, we get

Bar Nm−1 1
U= −2 · Dynes ·
q
Nm cm
m2
mD
1
= 10−5 · 10−3 · √ ≈ 0.318316
9.8692 · 10−16
For field units, with Pc in psia, σ in Dynes/cm and K in mD, we get
 
psia  Bar Nm−1 1 
U= · · ·q
Bar Nm−2 Dynes
cm
m2
mD

≈ 14.50377 · 0.318316 ≈ 4.61678


1 Petroleum Engineers Handbook, pp. 26-25, 26-26, Editor, H.B. Bradley, 3rd Edition, Society of Petroleum Engineers, Richardson, Texas,

Feb. 1992

17.27. Capillary Pressure and the Leverett J-Function 1713


Tempest MORE Help, Release 8.1

Using the J-Function to Obtain Reservoir Capillary Pressures

The preceding expressions are not immediately helpful, as the J-function cannot be measured directly. However,
if the capillary pressure is measured for a reference rock and fluid sample, the J-function can be obtained as
 12
1 Pcref (Sw ) K ref

J(Sw ) = · ·
U σ ref Φref

The J-function may then be used to predict capillary pressures at other surface tensions, porosities and permeabil-
ities
 12   12
K ref

σ Φ
Pc (Sw ) = Pcref (Sw ) · ref · ·
σ Φref K

In some cases the J-function is extended to include a contact angle Θc , so that


  12
1 Pc (Sw ) K
J(Sw ) = · ·
U σ · cos Θc Φ

in which case the expression for the capillary pressure becomes


 12   21
K ref

σ · cos Θc Φ
Pc (Sw ) = Pcref (Sw ) · · ·
σ ref · cos Θref
c Φref K

This can be re-written as


  21
Φ
Pc (Sw ) = Pcref (Sw ) · L ·
K

where
 21
K ref

σ · cos Θc
L = ref ·
σ · cos Θref
c Φref

If the same fluid is used for the reference lab measurements as exists in the reservoir being modelled by the
simulator then

σ ref cos Θref


c = σ cos Θc

and L becomes simply the square root of K/Φ for the reference sample
 12
K ref

L=
Φref

This expression is the basis of the default MORE treatment of the Leverett J-function. The reference Pc (Sw ) data
is entered using KRWO or WSF. The value of L is set up as the grid array LEVJ. Internally, MORE will then set
up a capillary pressure scaling array XPCW such that
  12
Φ
Xpcw = L ·
K

and this will multiply the oil-water capillary pressure data entered by the user as

Pc (Sw ) = Pcref (Sw ) · Xpcw

In terms of the MORE array expression handler, this is the operation

XPCW= LEVJ*SQRT(PORO/PERMX)

1714 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The preceding discussion has been in terms of the oil-water capillary pressure and the water saturation, but similar
expressions may be obtained for the oil-gas capillary pressure in terms of the gas saturation. In the oil-gas case
the reference Pc (Sg ) data is entered using KRGO or GSF, and the oil-gas capillary pressure data is scaled by
  12
Φ
Xpcg = L ·
K
To summarise the LEVJ approach: the user supplies capillary pressure data measured at some reference conditions,
and sets the LEVJ array to the value
 ref  21
σ · cos Θc K
L = ref ref
·
σ · cos Θc Φref
This will result in a scaling factor being applied to the capillary pressure which assumes that the Leverett J-
function takes the same value for reference and field conditions: that is,
 ref  12   12
1 Pcref (Sw ) K 1 Pc (Sw ) K
J(Sw ) = · ref ref
· ref
= · ·
U σ · cos Θc Φ U σ · cos Θc Φ

Using the J-Factor Directly

The above discussion reflects the case in which the J-factor is implicitly determined from reference (measurement)
data and used to convert that data to reservoir conditions. However, there may be cases in which the dimensionless
J-function itself is known. In this case it may be entered in the KRWO/KRGO or WSF/GSF tables in place of the
usual capillary pressure data. LEVJ should then be chosen to convert this to the required capillary pressure values
in the reservoir.
Looking at the definition of the capillary pressure as a function of the J-factor and comparing that with the
expression
  12
Φ
Pc (Sw ) = U · J(Sw ) · σ · cos Θc ·
K
it can be seen that this requires a value of LEVJ set to the product of the unit conversion factor and the surface
tension
L = U · σ · cos Θc

MORE will then multiply the input J-function by


  12
Φ
Xpcw = L ·
K
to obtain the required capillary pressure.

Treatment of Capillary Pressures by MORE when LEVJ, XPCW or XPCG is En-


tered

As previously described, LEVJ sets up capillary pressure multipliers such that


XPCW = XPCG = LEVJ*SQRT(PORO/PERMX)

It is also possible to enter XPCW and XPCG directly. In both cases MORE will multiply the reference capillary
pressure data entered using KRWO/WSF and KRGO/GSF by XPCW and XPCG respectively, when calculating
phase pressures to determine the phase flows in the simulation.
However, during initialisation the inverse operation is performed. When equilibrating the model the hydrostatic
pressure difference is known as a function of depth and we wish to determine the saturation at that depth. In the
oil-water case the required saturation is Swinit such that
required
Pcow
Pcref (Swinit ) =
Xpcw

17.27. Capillary Pressure and the Leverett J-Function 1715


Tempest MORE Help, Release 8.1

Comparison with ECLIPSE Treatment

This is rather different from the J-function treatment in ECLIPSE, in which the user enters a surface tension value
rather than the product of the surface tension and the unit conversion factor. To match the ECLIPSE form, enter a
LEVJ value which is the product of the required surface tension and the unit conversion factor.

1716 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.28 Shale Gas Modelling

Introduction

MORE contains a limited shale gas modelling option. This model allows the user to define the amount of gas
contained in the shale as a pressure function (AGVP - Available Gas Vs Pressure) and an SRV (Stimulated Reser-
voir Volume) keyword to model the effect of change in reservoir permeabilities induced by complex hydraulic
fracturing.

Formulation

In this treatment a shale gas reservoir is treated in the same way as a coal bed methane reservoir. The shale gas
reservoir will typically have a low porosity and permeability, and the gas is contained in the bulk of the rock.
The gas contained in the shale is characterized by a saturation pressure, Ps . Initially, Ps is equal to the reservoir
pressure, P , as the system is in equilibrium. If the pressure in the reservoir is reduced, gas will generally be
evolved from the bulk of the rock and can be produced.
In the coal bed methane case the variation in the gas contained in the rock with pressure can be described using a
Langmuir function. In the shale gas case a more general form is required, as shale gas can be absorbed on organic
matter and recovered by desorption, or held in micro-pore spaces and recovered by Darcy type convective flow.
So a general pressure function, AGVP, is used to define the volume absorbed as a function of saturation pressure.
AGVP is in units of surface volume of gas per reservoir volume of rock (mscf/rb or ksm3 /rm3 ). Note that, as
ultra-low porosity is assumed for shale, reservoir volume of rock is identified with total reservoir volume.
The traditional problem with shale gas reservoirs is that it is difficult to reduce the pressure in the reservoir
significantly. Shale gas reservoirs have low permeabilities, typically in the nano-Darcy range, and even leaving
producers an open hole will not reduce the pressure in a significant volume of the reservoir. However, this problem
maybe overcome by fracturing or fracking the reservoir.
In the fracturing process water and proppant are injected and set up a complex system of fractures around the
well. Simply producing a single planar fracture as assumed in the WFRA well fracturing option will not usually
be sufficient to access a significant fraction of the rock. Instead, it is assumed that a complex branched fracture
system is created, and this increases the permeability over a given volume of the reservoir, the Stimulated Reservoir
Volume (M. J. Meyerhofer et. al., SPE 1198901 ) or SRV.
The SRV keyword in MORE is treated as an ellipsoidal volume in the reservoir, defined by vertical and areal
primary axes lengths and angle of rotation from the xyz frame used to define reservoir locations. The SRV can
be created at some point in the simulation, corresponding to the time of the fracturing operation. Within the
SRV the permeabilities are enhanced by a specified factor, and the enhancement factor may optionally decay with
time. Typically the permeability enhancement created by the SRV is many orders of magnitude and may either be
constant throughout the SRV or taper off at the edges of the stimulated volume. The enhancement will be applied
to inter-block flows and well completion connection factors.
The permeability enhancement created by the SRV allows the reservoir pressure to be reduced, and for significant
flows into the wells to occur. The gas covered will depend on the pressure reduction achieved within the reservoir,
causing gas to move out of the source rock. The details of the flow may be complex, a mixture of Darcy flow,
Knudsen flow and diffusion, so we do not attempt to model it from first principles. Instead, the flow from the
source rock is characterised by a time constant, the Langmuir time, as for coal bed methane.
The rate of transfer from the source rock to flowing porosity per unit reservoir volume will be given by:

F = dV (Ps )/dT = −(V (P ) − V (Ps ))/τ

where
• P is the pressure in the flowing porosity
• Ps is the saturation pressure (with P = Ps ) initially
1Mayerhofer, M.J., Lolon, E.P. et al, What is Stimulated Reservoir Volume (SRV)?, 2008 Shale Gas Production Conference, Forth Worth,
Texas, Nov 2008, SPE 119890.

17.28. Shale Gas Modelling 1717


Tempest MORE Help, Release 8.1

• τ is the Langmuir time


As the flow occurs, the amount of gas in the source rock will reduce, and so the value of Ps can be found at the
end of each time step from material balance (as described Coal Bed Methane Modelling).
Typically, Ps will tend to approach P with an exponential time constant of τ

Ps ∼ P · (1 − exp(−T /τ ))

where the form of V (Ps ) is entered using the AGVP keyword.


If V (Ps ) is linear in pressure, then this would describe a case in which the recovery from the source rock is mainly
by Darcy flow from pore space. If V (Ps ) is more like a Langmuir curve, that is

V (Ps ) ∼ VL · PL /(Ps + PL )

then a diffusive recovery from organic mater in the shale might be dominant.
In general, some intermediate combination would be expected.
Note that this is a single porosity formulation – we do not attempt to predict the recovery or the recovery rate from
a dual porosity model if the fracture spacing and the details of the storage of the gas in the source rock. However,
it can be shown that a linear AGVP function will yield the same results as a simple dual porosity model with a
single shape factor; Ps becoming the pressure in the matrix material and P the pressure in the fracture material.

Data Requirements

In the FLUId section, use the SHAL keyword to enable shale modelling.
Enter the pressure variation of the gas contained in the source rock using AGVP, for example:

AGVP
0.0 0.0 /
1000 0.03 /
/

In this case, in FIELD units, we have V (Ps ) =30 scf/rb at Ps =1000 psia. Set up the Langmuir time using the third
parameter of the LANG keyword:

LANG 2* 1000.0

In the RECU section, use the SRV keyword to specify the location, size, orientation, permeability multiplication
factor and time constant of the stimulated reservoir volume:

-- X Y Z Da Db Dz θ FK τ SRV
SRV 5000 1000 2550 300 1000 40 26 1.0E11 365

The angle of rotation θ is from the positive y-axis towards the positive x-axis; that is, clockwise in a normal
coordinate frame with the y-direction upwards.
If θ =0, then Da=Dx and Db=Dy.
If the SRV time constant is defaulted the permeability multiplication factor will remain constant in time - in this
case it will increase the basic permeability by a factor of 1011.
If the SRV time constant is set the improvement will decay like

F K(T ) = F K(TSRV ) · exp(−(T − TSRV )/τSRV )

This can be used to model the loss in the efficiency of the fracturing job with time, for example through proppant
loss. The SRV may be re-fractured at a later stage in the simulation if required.
The permeability improvement may be set to be constant throughout the SRV (the CONS option), or to taper
quadratically from the centre of the ellipsoid to the boundary (the VARI option). In the VARI case the permeability

1718 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

multiplication factor will be F K.(1 − w) where w = (fa2 + fb2 + fc2 ), fa , fb and fc the fractional distances of a
cell along the three primary axes of the ellipsoid. The boundary of the ellipsoid is w = 1 and the centre is w = 0,
so with VARI the permeability increase will fall to zero at the boundary of the ellipsoid.

Note that FK is a multiplication factor – the original permeability may be extremely small, but must be non-zero for
the SRV permeability enhancement to have an effect: if the base permeability is zero, then the SRV permeability
will also be zero.
The SHALE option uses the KMOD option to change the cell-to-cell transmissibilities and the well completion
connection factors during the simulation; the KMOD itself cannot be used at the same time as the SHALE option.

17.28. Shale Gas Modelling 1719


Tempest MORE Help, Release 8.1

17.29 Solubility Modelling

Introduction

MORE is able to model solubility of components in alternate phases using the SOLU keyword. This allows:
• Solubility of hydrocarbon components in the aqueous phase (aqueous hydrocarbon)
• Solubility of water in the hydrocarbon phase (vapourised water)
A typical usage is to model the dissolution of components such as CO2 in the aqueous phase.

Required Data

Solubility modelling is enabled by tables relating pressure to solubility expressed as a ratio of surface volume
units. The range of pressures should cover the range of pressures in the reservoir during simulation. Outside this
given range, solubility values are calculated by constant value extrapolation.
Consider a compositional model with a CO2 component with metric units (UNIT). A table of CO2 solubility in
water is given as:

SOLU CO2
-- Pressure (bar) Solubility (Mscf/Stb)
150.00 0.0100
500.00 0.0198
1000.00 0.0297
1500.00 0.0388
3000.00 0.0660
/

This will be reported in the .out file as follows:

Solubility table for CO2:

Pressure RhaVol Rhamolar Kvalue


psia mscf/stb
------------ ------------ ------------ ------------
Row 1 : 150.000000 0.010000 0.001342 746.097332
Row 2 : 500.000000 0.019800 0.002657 377.311784
Row 3 : 1000.000 0.029700 0.003986 251.874522
Row 4 : 1500.000 0.038800 0.005207 193.035395
Row 5 : 3000.000 0.066000 0.008858 113.893535
------------ ------------ ------------ ------------

The 3rd column is the molar solubility ratio (Rhm with units mol/mol), converted from the 2nd column (units
mscf/stb) assuming the ideal gas law for the component CO2 at standard conditions, and the 4th column represents
the corresponding aqueous-hydrocarbon K-value K = 1+Rhm Rhm . Internally, MORE uses this K-value to determine
equilibrium conditions for solubility.
To model solubility of gas in a black oil model, a SOLU table may be entered for component GAS.
Solubility may be visualised as 3D grid data using Tempest VIEW:
Output Description
mnemonic
Rhaq Gas-water ratio for hydrocarbon in aqueous phase (for a single hydrocarbon component in the
aqueous phase)
RhaX Gas-water ratio for hydrocarbon in aqueous phase for SOLU table X (when there are multiple
hydrocarbon components in the aqueous phase; X lies between 1 and the number of SOLU tables
for hydrocarbon)
Rwv Water-gas ratio for water in hydrocarbon phase

1720 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The above arrays are always reported in volume units.


The dissolved hydrocarbons are accounted for when reporting well production rates and totals. Reported oil and
gas surface volume flows for wells and completions use the separator conditions in the SEPA keyword. The sep-
arator flash is performed using total hydrocarbon molar rates, which includes hydrocarbon components dissolved
in the aqueous phase: it is assumed that solubility of hydrocarbons in the aqueous phase is effectively zero at the
surface separator.

Property modelling

The properties of the oil (hydrocarbon liquid) and gas (hydrocarbon vapour) are modified according to the solu-
bility as follows:
1. At the current reservoir pressure, the aqueous-hydrocarbon K-values are used to solve a K-value flash equa-
tion to determine the number of moles of each hydrocarbon component which are dissolved in the aqueous
phase, as well as the number of moles of water vapourised into the hydrocarbon.
For aqueous hydrocarbons, the effective number of moles of each hydrocarbon component is reduced by the
amount dissolved in water, and the effective number of moles of water is increased by the same amount.
For vapourised water, the effective number of moles of water in the water phase is reduced by that vapourised
into hydrocarbon, and the effective number of moles of hydrocarbon is icreased by the same amount.
The phase saturations and hence the relative permeabilities of each phase will depend on solubility.
2. After accounting for partitioning into water, the effective number of moles of each hydrocarbon component
left (in oil or gas) are flashed at reservoir conditions (using an EOS for compositional runs, or table lookup
in black oil runs) to obtain hydrocarbon liquid and vapour phases and their properties (such as saturation,
viscosity, density).
Water properties (viscosity, density) are obtained in the usual way by table lookup (e.g WPVT). The in-
tensive properties of the water phase (viscosity and compressibility) are assumed to be independent of the
hydrocarbons dissolved in the aqueous phase. However, since the number of effective moles of water has
increased for aqueous hydrocarbons, the water saturation Sw depends on the hydrocarbons dissolved in the
aqueous phase.
3. We now know the phase mobilities for each component (aqueous, liquid and vapour hydrocarbon). Compo-
nents are transported according to their carrier phases, and the component in phase mobilities of each com-
ponent (see the Technical Reference) can be updated to account for dissolved hydrocarbons or vapourised
water.
For example, the component CO2 in the example above may be mobile in any or all of the aqueous, liquid and
vapour hydrocarbon phases. The intensive properties for water (viscosity, density) depend only on pressure, but
the effective water saturation increases. The CO2 dissolved in water is removed from the hydrocarbon flash and
hydrocarbon property calculations. CO2 is now mobile in all 3 phases (gas, oil and water) and the production of
hydrocarbon from the well may include the CO2 dissolved in the water phase.

Initialisation

The normal MORE initialisation provides the number of moles of each hydrocarbon componenent in the hydro-
carbon phase, mcv , and the number of of moles of water in the aqueous phase, mwa . In order to take account of
solubility effects, a K-value flash is performed to calculate the initial ratios of dissolved components at reservoir
conditions.
However,
P this can only be performed for saturated cells containing both hydrocarbon and water phases, i.e.
c mcv > 0 and mwa > 0. For cells that are not saturated, then the user may provide initial gas-water ratio
for hydrocarbons which dissolve in the aqueous phase using the array RHAQ (if there is one soluble component)
or RHA1, RHA2 etc. (if there is more than one soluble component). In the same same way the initial water-gas
ratio for water in the hydrocarbon phase may be set using the array RVW in the INIT section. Nevertheless, as
soon as another phases contacts such a cell, a K-value flash will then reset these values.

17.29. Solubility Modelling 1721


Tempest MORE Help, Release 8.1

17.30 The Four Phase Todd-Longstaff Solvent Model

Introduction

The four-phase Todd Longstaff models the flow oil, gas, solvent and water in the reservoir. The gas phase is the
original reservoir gas and the solvent is usually an injected fluid such as carbon dioxide. The solvent does not
dissolve in the oil, but is miscible with the oil to an extent determined by the fraction of solvent in the combined
gas+solvent phase. The default is that if the gas+solvent phase is purely solvent, then the gas+solvent phase will
be miscible with the oil, in the sense that the relative permeability curves become straight lines and the residual
oil falls to zero.
To a displacement process in which both phases flow at the same speed at all saturations, the mobility of the fluids
must be proportional to their saturations. This implies straight line relative permeabilities and a common viscosity
value. The Todd Longstaff viscosity mixing rule allows the phase viscosities to be mixed to an extent determined
by the Todd-Longstaff mixing parameter, usually termed ω. If ω = 1 the mixing is complete and both phases flow
with a common mixed viscosity; if ω = 0 the phases flow with their own viscosities.

Required Data

The MORE implementation of the four phase Todd-Longstaff model has a number of extra tables, set by the user,
which can change the behaviour of the model. These are all defaulted; the only extra data required is the solvent
specific gravity or molecular weight (SOLV) and the solvent phase formation volume and viscosity as a function
of density (SPVT).
Treating the solvent as a saturation allows additional control over how the phases flow to be included in the model.
For example, non-zero relative permeability end points may be set to more accurately represent the process and
avoid unrealistically high recovery predictions. The optional controls are:
Keyword Description Default
MFVS Miscibility factor vs. solvent fraction Straight line
MFVP Miscibility factor vs. pressure No variation
SSF Krs (Ss ) solvent saturation function Krs (Ss ) = Krg (Sg )
MROW Miscible limit residual oil vs. water satn Equals zero
MCSW Miscible critical solvent saturation vs. water satn Equals zero
FFVS Fractional flows (gas and solvent) vs. solvent fraction Straight line
TLMS Minimum miscibility saturation factor Equals 0.01

Details of the Property Model: Relative Permeabilities

The core of the Todd-Longstaff solvent model is the dependence of the relative permeability of the oil and
gas+solvent system upon the composition of the gas+solvent phase. When reservoir gas dominates this phase
(fs = Ss /Sgs → 0, Sgs = Sg + Ss ) the oil and gas+solvent phases flow in the normal immiscible manner. When
fs approaches 1 then the oil and gas+solvent phases flow in a miscible manner. In this miscible limit the flows
of oil, gas and solvent reflect their saturations and miscible flow can be achieved. In this section we consider the
variation of the phase relative permeability functions with the solvent concentration in the gas+solvent phase.

The Gas and Solvent Relative Permeabilities

The gas+solvent phase flows with a relative permeability of Krgs (sgs ), Sgs = Sg + Ss , where Sg and Ss are the gas
and solvent saturations. Krgs is a saturation dependent relative permeability curve which is interpolated between
Krg and Krs as a function of the solvent fraction

Krgs (Sgs ) = fg Krg (Sgs ) + fs Krs (Sgs ) ,

where fs = Ss /(Sgs + Smisc ) and fg = 1 − fs .

1722 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Smisc is a value that degrades the effect of the solvent at very low saturations, but has minimal effect at high
saturations. It has a default of 0.01.
Within the gas+solvent phase the default individual gas and solvent relative permeabilities are Krg = fg Krgs (Sgs )
and Krs = fs Krgs (Sgs ).
However, some extra generality can be added by allowing tabulated functions of fs and fg to replace the default
straight line functions, so that
Krg = ffg (fg )Krgs (Sgs )
Krs = ffs (fs )Krgs (Sgs ) .
ffg and ffs may be entered with the FFVS keyword. By default ffg (fg ) = fg and ffs (fs ) = fs .

The Oil Phase

With ω = 1 we should get the same particle velocities for all three hydrocarbon phases. This requires a set of
miscible limit permeabilities which obey
So
Krom = · Krh
So + Sgs
Sg
Krgm = · Krh
So + Sgs
Ss
Krsm = · Krh
So + Sgs
Krh is some relative permeability for the oil+gas+solvent system at the current water saturation, and is taken as
Krow (Sw ), the oil relative permeability with respect to water.
This is fine for the case in which the phase system is just oil-solvent and the miscible limit has been reached, but
in general there will be gas as well as solvent present. In that case we interpolate the approach to miscibility in
the solvent fraction fs = Ss /(Ss + Sg ). At some fs value the oil and gas relative permeabilities will consist of two
contributions:
• The miscible limit relative permeabilities: Krom and Krgsm
• The immiscible limit relative permeabilities: Kroi and Krgsi
The immiscible limit curves are the usual oil and gas relative permeabilities, Kro usually being based on a three
phase model such as Stone I or Stone II. The effective relative permeabilities are then interpolated between the
miscible and immiscible limit values:
Kro = fm Krom + (1 − fm )Kroi
Krgs = fm Krgsm + (1 − fm )Krgsi
fm is the miscibility factor, which approaches 1 in the miscible case. The default is that fm is simply the solvent
fraction in the gas+solvent phase, so that

fm = fs = Ss /(Sg + Ss ) .

However, MORE allows this dependence to be changed using the MFVS and MFVP tables to add a different
dependence on the miscibility factor fs and to add a pressure dependence if required:

fm = MFVS(fs )MFVP(P )

This might be used to allow the miscibility factor to approach 1 at a lower fs than unity, or to limit the miscibility
which can be obtained at low pressures.
However, it would not be correct to simply add the miscible and immiscible relative permeability curves with
a weight factor of fm , as these curves generally have different critical saturation end points. For example, if
the miscible relative permeability has a zero critical saturation, oil can drain down to that saturation if even a
small miscible component was mixed in. To avoid this, the relative permeability curves being mixed must first be
scaled to the same end points. This common end point is itself interpolated between the miscible and immiscible
endpoints. So the mixing process becomes:

17.30. The Four Phase Todd-Longstaff Solvent Model 1723


Tempest MORE Help, Release 8.1

1. Find the interpolated residual oil and critical gas+solvent saturations:


Sor (fm ) = fm Sorm + (1 − fm )Sori
Sgsc (fm ) = fm Sgscm + (1 − fm )Sgsci
2. Scale both miscible and immiscible curves to the common end-points.
3. Interpolate the scaled curves:
scal scal
Kro = fm Krom + (1 − fm )Kroi
scal scal
Krgs = fm Krgsm + (1 − fm )Krgsi
scal
Where, for example, Krgsi is the curve Krgsi (Sgs ) scaled so that the critical saturation is Sgsc (fm ).
In the default case the miscible limit residual oil and the miscible limit critical gas+solvent are zero. However, it is
possible that, even for a miscible process, some of the oil is not swept by the solvent, so that there is a residual oil
even in the miscible limit. This may be entered as a function of the water saturation; the residual oil may increase
for high water saturations as the water shields more oil from the solvent.
In MORE the miscible limit residual oil and critical saturation may be set using the MROW and MCSW tables.

Details of the Property Model: Viscosities

If two phases are to be miscible, then the mobilities must be proportional to the fluid in place. This implies straight
line relative permeabilities and equal viscosities. In the Todd-Longstaff model a fourth power mixing law is used
to construct viscosities which are mixtures of two or three phase viscosities with saturation weighting. Depending
on the ω parameter value, the phase viscosities are interpolated between the natural individual phase values and
the mixed values1 .
µo = µio1−ω µmoω
µs = µis1−ω µmsω
µg = µig1−ω µmgω

Where µio , µis and µig are the standard unmixed individual phase viscosities and µmo , µms and µmg are the mixed
phase viscosities

µmo = µo µs µ̄os
µms = µo µs µg /µ̄osg
µmg = µg µs /µ̄gs

where fourth-power viscosity mixtures are defined as


 4
Sa 1/4 Sb 1/4
µ̄ab = µ + µ
Sab a Sab b
 4
Sa 1/4 Sb 1/4 Sc 1/4
µ̄abc = µa + µb + µ .
Sabc Sabc Sabc c

For a simple oil-solvent system with no gas present and ω = 1 the oil and solvent viscosities become equal and
the relative permeabilities are straight lines, so that the molar mobility of the components becomes proportional
to their local molar densities and the oil and solvent velocities become equal.

Details of the Property Model: Densities

When fluids flow in a reservoir according to Darcy’s law, the flow has a dependence upon the fluid phase densities.
If two fluids are completely co-mingled, then they must flow in the same manner, and the same fluid density be
1 Todd, M. R. and Longstaff, W. J., The Development, Testing and Application of a Numerical Simulator for Predicting Miscible Flood

Performance, SPE 3484, JPT, July 1972, p 874-882.

1724 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

used in the flows for both phases. This mixed phase density would naturally be the saturation-based average of
the individual phase densities, for example
Sa ρa + Sb ρb
ρmab =
Sa + Sb
Using ω as a mixing parameter this leads to an interpolated expression

ρio = (1 − ω)ρio + ωρmos


ρis = (1 − ω)ρis + ωρmosg
ρig = (1 − ω)ρig + ωρmgs

However, the Todd-Longstaff paper suggests a neat method of obtaining the density fractions which involves
inverting the viscosity mixing laws to obtain an estimate of the effective phase fractions and using those to define
the densities. This works well except for the (unlikely) case in which the phase viscosities are equal and in that
case the simple mixing rule above is employed.

Using the MORE SOLVENT TL Option

The basic data requirements for the SOLV TL option are:


• SPVT - To set the PVT properties of the solvent
• SOLV
– Used as a FLUI section keyword to set solvent molecular weight or gravity.
– Used as a RECU section keyword to set solvent fraction in the injection stream
The six optional tables which allow the model to be adjusted are discussed in the following subsections.

MFVS

This defines the degree of oil to (gas+solvent) miscibility as a function of the solvent fraction in the (gas+solvent)
phase. If a cell contains just oil and solvent, such that the solvent fraction is 1, the oil and (gas+solvent) relative
permeabilities are deemed to be miscible. If a cell contains just oil and gas, such that the solvent fraction is 0, then
the oil and (gas+solvent) relative permeabilities are deemed to be immiscible.
If the solvent fraction (in the gas+solvent phase) is fs = Ss /(Sg + Ss ), then for some fs in the range {0,1} the oil
and (gas+solvent) relative permeabilities are:

Kro = fm Krom + (1 − fm )Kroi


Krgs = fm Krgm + (1 − fm )Krgi

where fm = fm (fs ). The variation of fm with fs is defined by the MFVS table, which defaults to a simple straight
line, fm = fs , or, in tabular form:

MFVS
0 0 /
1 1 /
/

However, in some cases the system may become effectively miscible at lower solvent fractions than 1, so MFVS
might be used to set a non-default form of the function fm (fs )

MFVS
0 0 /
0.8 1 /
1 1 /
/

17.30. The Four Phase Todd-Longstaff Solvent Model 1725


Tempest MORE Help, Release 8.1

MFVP

In some cases miscibility may be achieved at high pressure but not at low pressure. It is possible to limit the degree
to which the miscible limit of the relative permeability curve is obtained as a function of pressure using MFVP.
By default MFVP is set to unity for all pressures, equivalent to:

MFVP
1000 1 /
10000 1 /
/

However, if a non-default MFVP curve is entered, then the miscible relative permeability curves will become:

Kro = fmp Krom + (1 − fmp )Kroi


Krgs = fmp Krgsm + (1 − fmp )Krgsi

with f = fm (fs )fp (P ) where fm is obtained from MFVS and fp from MFVP.

SSF

Solvent saturation function. This is like the usual gas saturation functions which define gas relative permeability as
a function of saturation. SSF allows the relative permeability of the solvent phase to be entered as a function of the
solvent saturation. The end points of the Krs (Ss ) function should match those of the Krg (Sg ) function. When the
gas+solvent relative permeability is obtained as a function of the combined gas+solvent saturation, Sgs = Sg + Ss ,
then a mixture of the Krs and Krg curves is used:

Krgs (Sgs ) = fs Krs (Ss ) + (1 − fs )Krg (Sg ) .

So the overall gas+solvent phase properties change smoothly from those for the gas to those for the solvent as the
solvent fraction in the combined gas+solvent phase increases. This allows the user to deal with cases where the
solvent relative permeabilities are larger or smaller than the gas relative permeabilities.

MROW

Miscible residual oil with respect to water saturation.


By default, the miscible limit relative permeability curves are straight lines, the corresponding endpoints are zero.
However, MROW allows you to set a residual oil saturation which operates even in the miscible limit case of
fm → 1.

MCSW

Miscible critical solvent with respect to water saturation. This is very similar to MROW.
By default, the miscible limit relative permeability curves are straight lines, the corresponding endpoints are zero.
However, MCSW allows the user to set a residual solvent saturation which operates even in the miscible limit case
of fm → 1.

1726 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The shape of the miscible limit Krom and Krgsm curves with KROW and KCS set is shown above. Note that the
sum of So and Sgs must be 1 − Sw , so for large Sw values it may not be possible to observe both endpoints in both
phases – as (Smrow + Smcsw ) may exceed 1 − Sw . In that case the lower endpoint such as Smrow for Kro will be
observed, and the gradient at which the relative permeability can rise from endpoint is limited to dK/dS ≤ 10.

FFVS

As mentioned above, the gas+solvent relative permeability is looked up as a function of Sgs . However, it must
then be split into a gas and a solvent relative permeability. The default is to use the saturation fractions:

Krg = fg Krgs
Krs = fs Krgs ,

with fg = Sg /(Sg + Ss ) and fs = Ss /(Sg + Ss ). FFVS allows this to be modified, so that non-linear functions ffg
and ffs may be set up so that

Krg = ffg (fg )Krgs


Krs = ffs (fs )Krgs .

TLMS

The fraction of solvent within the combined fraction of gas and solvent is found using

fs = Ss /(Sgs + Smisc )

17.30. The Four Phase Todd-Longstaff Solvent Model 1727


Tempest MORE Help, Release 8.1

Smisc has a default of 0.01 and has a range of 0.0 to 1.0. It is recommended that the value of Smisc is not changed
from its default value.

Examples

A number of examples showcasing the use of the solvent option are distributed with the Tempest installation, as
described in the Solvent Examples page.
The dataset solventMiscible.dat is a simple one dimensional displacement demonstrating a miscible flood with the
Todd-Longstaff ω set to 1. The significant parts of the dataset are:
• CNAME OIL GAS SOLV WATR / Requests the use of the four phases, oil, gas, solvent and water.
• SOLV 25 TL Sets the solvent molecular weight and requests a four-phase Todd Longstaff treatment.
• TODD 1 Sets up a Todd-Longstaff omega value of 1 (use fully mixed viscosities and densities).
• PVTS This keyword is followed by PVT data for the solvent phase.
• SOLV Following the WELL keyword, this requests that the injection gas be pure solvent. Note that sol-
vent is always injected using gas surface volume rate units.
The resulting solvent phase profile shows a typical miscible profile, with no solvent ahead of the front and no oil
behind it (see the following figure).

At the end of the run recovery is 100% for both oil and reservoir gas. The gas-oil ratio shows an extremely sharp
rise at breakthrough (see the following figure):

1728 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

If the zero oil saturation behind the front is regarded as unrealistic, then the MROW table may be used to set
up a residual oil behind the front even in the miscible case. In the dataset solventMiscibleMROW.dat a table is
included:

MROW
0.0 0.1 /
1.0 0.15 /
/

The result is an oil saturation of 0.1 behind the front (see the following figure).

If the Todd-Longstaff mixing parameter is set to 0.5, using

TODD 0.5

in the original run without MROW (solventMiscibleTodd0.5.dat), the solvent saturation still goes to 1 and the oil
saturation to 0 behind the front, but there is a non zero solvent saturation ahead of the front (see the following
figure).

17.30. The Four Phase Todd-Longstaff Solvent Model 1729


Tempest MORE Help, Release 8.1

The recovery is still 100% but the gas break though is less sharp (see the following figure).

Note that the reported gas oil ratio includes both reservoir gas and produced solvent gas: MORE will report total
gas+solvent as a gas rate, then separate reservoir gas and solvent rates.
To look at a case which is less than totally miscible, it is possible to convert to using an injection gas which is 50%
reservoir gas and 50% solvent, by changing the SOLV keyword after the injector WELL keyword to:

SOLV 0.5

The result (solventPartialMiscible.dat) is a typical miscible displacement with 14% residual oil behind the front
(see the following figure).

1730 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

However, it may be the case that miscibility is well developed at the operating pressure of 390 Bar and 50% solvent
in the injection, and this may be set using MFVS and MFVP (solventPartialMiscibleMFVS_MFVP.dat):

MFVS
0 0.0 /
0.4 0.95 / -- 95% miscibility at 40:60 solvent to reservoir gas ratio
1.0 1.00 /
/

MFVP
0 0.1 /
100 0.7 /
200 0.86 /
300 0.98 /
400 1.00 / --Pure solvent develops full miscibility at 400 bar

This then recovers nearly totally miscible recoveries, with a residual oil saturation of just over 1% behind the front
(see the following figure).

17.30. The Four Phase Todd-Longstaff Solvent Model 1731


Tempest MORE Help, Release 8.1

17.31 Tensor Permeabilities

Introduction

Darcy’s law for the flow Vcp of component c in phase p in a porous media is

Vcp = CD .K.Mcp .(∇Pp − G.ρp .∇z)

where
• CD is the Darcy constant
• Mcp is the mobility of component c in phase p
• PP is the phase pressure
• G is the gravity constant
• ρp is the phase fluid density
• z is the depth
The Darcy constant is unity if all quantities are in a consistent unit set, but reservoir simulation normally uses a
mixed unit set (such as time in days).
Note that permeability is really a symmetric mixed tensor Kji , where i is a contravariant index and j a covari-
ant index. For a real symmetric matrix there will exist a similarity transformation which will diagonalise the
permeability tensor

KD = UT .K.U

This can be viewed as a rotation of the coordinate system; that is, there exists a rotated orthogonal frame in which
the permeability is a simple diagonal tensor. The three directions with respect to which the permeability tensor is
diagonal are termed the principal axes of the permeability tensor. It is common in reservoir simulation to assume
that this frame coincides with the local grid orientation. However, this need not be the case, and the tensor option
in MORE allows this assumption to be avoided. The three diagonal elements of the permeability tensor with
respect to its principal axes are termed the principal permeabilities.

Entering Details of the Permeability Matrix into MORE

As a symmetric 3x3 matrix, the permeability tensor has 6 degrees of freedom. This allows us to specify the
permeability tensor in two ways:
• Enter the three principal permeabilities and three angles of rotation which define the principal directions.
• Enter the six independent permeabilities which define the permeability tensor.
Before continuing, we define true coordinates as the usual x, y and z system used in reservoir simulation to specify
grid and well locations. It is normal in reservoir simulation to use a right-handed system: if x increases along the
page, y increases down the page and z increases into the page. This has the same handedness as the standard set
of axes used in mathematics, in which x increases along the page, y up the page and z out of the page.

1732 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Entering Permeability Using Principal Values and Principal Directions

This is the traditional way in which MORE has entered tensor permeabilities, and the DEVX/DEVY/AXES option
used in MORE 6 and beyond is back-compatible with MORE 5.5. DEVX, DEVY and AXES are all MORE grid
arrays, and are all entered in degrees. They are similar to the usual set of Euler angles which define a rotation in
three dimensional space, although not identical.
Suppose the principal axes of the permeabilities tensor are a, b and c. These are defined in the original xyz space
by unit vectors ea , eb and ec . MORE will expect the principal permeability values Ka , Kb and Kc in these
directions to be entered using the usual K-X, K-Y and K-Z keywords. We will first consider the (ea ,eb ) plane in
which Ka and Kb are defined. This will often correspond with the bedding planes of the reservoir, but this is not
a requirement - we are simply locating a rotated frame with respect to the external xyz system.
DEVX and DEVY define the dip angles of the (ea ,eb ) plane in the true x and y directions (see the following
figure).

17.31. Tensor Permeabilities 1733


Tempest MORE Help, Release 8.1

The plane containing ea and eb may be parameterised as z = a.x + b.y (by construction it passes through (0,0,0)).
The conditions for x = 0 and y = 0 define the coefficients a and b such that

z = tan(θdevx ).x + tan(θdevy ).y

If we consider points on the unit circle x = cos(φ), y = sin(φ) it is simple to show that the direction of maximum
dip is given by φ such that dz/dφ and d2 z/dφ2 < 0, that is, at α, such that

tan(α) = tan(θdevy )/ tan(θdevx )

There are two values of α which satisfy this condition, but the second derivative condition may be used to find the
maximum z solution.
The maximum dip angle is given by β, where

tan(β) = cos(α). tan(θdevx ) + sin(α). tan(θdevy )

Note: In these expressions angles are measured as dips (downwards from horizontal) and as clockwise from the
x-axis.

The angle between ec , the normal to the (ea ,eb ) plane, and the original z axis is the angle of maximum dip, β. ec
is the principal direction for Kc .
The first two actions to rotate the xyz axes into the principal tensor axes are thus a rotation of α around the z-axis,
then a rotation of β around the transformed x axis. The original xy axes have now been rotated into the (ea ,eb )
plane. Finally, a further rotation of γ around the transformed z-axis in the (ea ,eb ) plane will align the transformed

1734 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

axes with (ea ,eb ,ec ). α, β and γ are the well-known Euler angles which define a rotation in three dimensional
space
 
cos α cos β cos γ − sin α sin γ cos α cos β sin γ + sin α cos γ cos α sin β
U =  − sin α cos β cos γ − cos α sin γ − sin α cos β sin γ + cos α cos γ − sin α sin β  .
− sin β cos γ sin β sin γ cos β

The angle entered with the MORE AXES keyword is not the final Euler angle γ. Rather it is the angle between
the principal tensor direction ea corresponding to Ka and the original x axis when viewed in plan.
Clearly, the additional rotation required will yield γ ≈ θaxes − α. The exact expression is

tan γ = (tan θ cos α cos β − sin α)/(tan θ sin α + cos α cos β)

For zero β this reduces to tan γ = tan(θaxes − α).


The DEVX, DEVY and AXES keywords allow the principal permeability directions to be entered, and the prin-
cipal permeability values are supplied with the usual permeability keywords K-X, K-Y and K-Z. The principal
directions ea , eb , ec , are now known in terms of the Euler rotation angles α, β, γ obtained from DEVX, DEVY
and AXES. It is then possible to transform the permeability tensor (Ka , Kb , Kc ), which is diagonal in the frame
ea , eb , ec , into the usual frame ex , ey , ez , using the transformation:

Kxyz = U.Kabc .UT

Note that Kxyz will not generally be diagonal, but will be a symmetric tensor which may be written in terms of
the six independent permeability values Kx , Ky , Kz , Kxy , Kyz , and Kzx
 
Kx Kxy Kzx
Kxyz =  Kxy Ky Kyz 
Kzx Kyz Kz

Kxy has been chosen to represent Kxy and Kyx , Kyz to represent Kyz and Kzy etc.

Entering Permeability as Six Independent Tensors in the True xyz Frame

The preceding expression above provides an alternative method of entering the permeability tensor; it is possible
to enter the six independent elements of the general permeability tensor in the true xyz frame. This is done using

TENSor XYTRue ZTRUe

and the grid keywords KX, KY, KZ, KXY, KYZ and KZX.
Note that all the usual aliases exist: K-XY, K_XY, PERMXY etc.
The XYTRUE and ZTRUE arguments imply that the permeability values are to be regarded as being with respect
to true xyz space, not the local grid system.
Note that the TENS keyword should always appear in the input section of a run which is to use tensor permeability
calculations.

Transforming from the xyz into the ijk Frame

Using either the (KX, KY, KZ, DEVX, DEVY, AXES) method or the (KX, KY, KZ, KXY, KYZ, KZX) system
the effect is to define the permeability tensor with respect to the xyz grid system. To define transmissibility values
between cells, we need to transform K to a local system orientated with respect to the grid. Suppose we have a
grid cell with direction vectors in the local frame of ea , eb and ec ; that is, these may be written in terms of their
xyz components as
 
ea = eax .ex + eay .ey + eaz .ez
 eb = ebx .ex + eby .ey + ebz .ez 
ec = ecx .ex + ecy .ey + ecz .ez

17.31. Tensor Permeabilities 1735


Tempest MORE Help, Release 8.1

It may be shown1 that the required transformation of the permeability from the xyz to the abc frame is

Kijk = (ET )−1 .Kxyz .ET

where
 
eax eay eaz
E =  ebx eby ebz 
ecx ecy ecz

Obtaining Transmissibilities Using Tensor Permeabilities

We now have a general symmetric permeability tensor


 
Ki Kij Kik
Kijk =  Kij Kjj Kjk 
Kik Kjk Kk

These are with respect to the local cell axes, which need not be orthogonal. At this stage we will not consider the
effect of local grid distortion.
The effect of the non-diagonal nature of the permeability tensor in the local frame is to make the flow between
two cells through a cell face depend on the pressures of more than the two cells connected by the interface. The
usual two-cell transmissibility is replaced by a general set of flow coefficients, so that

Fcpab = M Ucpab .Σe Fabe .(Ppe − G.ρpab (de − dab ))

where the summation is over all the cells e which effect the flow between cell a and cell b. In the two-cell case
Fabe =Rab for e=a and Fabe = -Rab for e=b. The term in (de -dab ) corrects the phase potential in cell e to the mean
depth of cell a and b. M Ucpab is the upstreamed mobility between cell a and b. Although this looks slightly
different from the usual Darcy flow expression it is really the same, and only gives different results when the
summation over the flow coefficients Fabe is increased to more than two terms.
In a general three dimensional case, up to 18 cells may effect the flow though the interface between one cell and
another. When all the cell interfaces are considered, the result is a 27-point scheme; that is, the flow equation
residual of a cell may involve the pressures of 26 other cells. However the mobility is still only a function of
the mobilities of the cells either side of the interface. The effect of the tensor permeability is to introduce the
possibility of flow to the neighbour in one direction being a function of the pressure gradient to the neighbour in
another direction.
Consider the flow between cell a and cell b in the d-direction (d=i, j or k). As the tensor has been rotated into
the local frame, we consider contributions from tensor permeability elements Kde , where e=i, j and k. The term
in Kdd represents the usual cell to cell permeability – in fact this is the only term considered in the usual 2-point
formulation. We now need to consider the new terms in Kdu and Kdv , v, u 6= d. These are flows in the d direction
caused by pressure gradients in directions other than d.
To evaluate the flow we need to estimate the transverse pressure gradient in the direction u. A suitable symmetrical
estimate is:

dP/ddu = 1/4((Pau+ − Pa )/dau+ + (Pa − Pau− )/dau− + (Pbu+ − Pb )/dbu+ + (Pb − Pbu− )/dbu− )

where Pau+ is the pressure of a cell with a positive offset in the u direction from cell a. This is illustrated in the
following example; to estimate the additional flow through the interface marked due to the off-diagonal tensor
term Kdu we combine the four marked gradient estimates.
1 Rachford, H. H. and Rice, J.D., Procedure for Use of Electrical Digital Computers in Calculating Flash Vapourization Hydrocarbon

Equilibrium, JPT (Oct 1952); Trans AIME, 195

1736 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

This gives rise to a flux

Fd = CD .Kdu .dP/ddu .ed

The resulting flux through the mutual interface area A between the cells is

A.Fd = Ad .CD .Kdu .dP/ddu


≡ Fau+ .Pau+ + Fa .Pa + Fau− .Pau− + Fbu+ .Pbu+ + Fb .Pb + Fbu− .Pbu−

Fau+ are the required transmissibility coefficients. Ad is the interface area between the cells in the direction d,
and Kdu is the harmonic average of the tensor term Kdu in cells a and b. Reduced expressions for the transverse
pressure gradient dP/ddu may be used if some of the required cells are inactive.

Viewing Permeability Arrays with Tempest

In the case of the DEVX/DEVY/AXES input a wide range of arrays may be viewed to help check that the tensor
permeabilities have been entered correctly. The following figure illustrates the range of initial array data available.

17.31. Tensor Permeabilities 1737


Tempest MORE Help, Release 8.1

DEVX, DEVY and AXES are the keyword data used to define the orientation of the principal axes (as discussed
earlier in this document).
The principal axis permeabilities are Kxp, Kyp and Kzp. These are the original permeability values with respect
to the principal axes; that is, the data originally entered with K-X etc.
The six true permeability arrays Kxt..Kzxt are the resulting permeabilities with respect to the usual x, y and z
axes. Note that although there are three principal permeabilities with respect to the principal axes, there are six
independent elements of the permeability tensor with respect to the x, y and z directions. As the permeability
tensor is symmetric, only three off-diagonal elements are plotted (that is, Kyxt=Kxyt etc.).
If the grid is not aligned with the x, y and z axes, the permeability tensor used to calculate transmissibilities with
respect to the local cell flow directions needs a further transformation. The result is the tensor set Kx..Kzx. These
are the final permeabilities. In a non-tensor run, Kx, Ky and Kz are the entered values and Kxy, Kyz and Kzx are
assumed to be zero.

Example

A simple example may be used to illustrate some of these ideas. Suppose we have a simulation with a non-isotropic
Kx/Ky permeability distribution, with the input data

K_X=1000
K_Y=100

The 1000 mD permeability acts at 45° to the x-direction

DEVX=0
DEVY=0
AXES=45

1738 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Tempest will show that the principal permeabilities are the input values, KXP=1000, KYP=100 and the resulting
permeability values in the true x and y directions are

KXT=550, KYT=550, KXYT=KYXT=-450

Note that the determinant of the permeability is unchanged (see the following figure).

1000 0 550 −450
D= = = 302500 − 202500 = 100000
0 100 −450 550

As there is no further rotation from the x-y to the grid system the actual permeabilities used are KX=KXT,
KY=KYT, KXY=KXYT.
As expected, flow is skewed towards the principal axis with 1000 mD permeability at 45° to the x-direction:

Now, suppose we rotate the grid through 45 degrees, leaving all the other data untouched. The actual permeabilities
used are further rotated from the xy to the grid system, and become Kx=100 and Ky=1000 again. As would be
hoped, the saturation pattern is symmetrical when the grid is aligned with the principal permeability axes (see the
following figure).

17.31. Tensor Permeabilities 1739


Tempest MORE Help, Release 8.1

Wells and Fault Flows

When completion connection factors are obtained, the determinant of the permeability tensor in the directions
normal
p to the direction penetration is used. For example,
p for a vertical well in the non-tensor case, the Kh value
uses Kx Ky . In the tensor case this is generalized to Kx Ky − Kxy Kyx . This ensures that the connection is
invariant under grid rotations.
Faults and connections specified using NNC are still treated as two-point non-tensor flows.

1740 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.32 Steam and Thermal Options

Introduction

The MORE thermal option is enabled by:


• adding the THERMAL keyword in the INPUT or FLUI section of the dataset.
• using the STEAM keyword in the FLUI section
• specifying STEAM as a component
Temperature tracking adds an extra equation to the usual three conservation equations for oil, water and gas. The
extra equation reflects the conservation of thermal energy.
Energy is transported by all the phases in the reservoir, and may also be conducted from cell to cell. Energy is
held by each phase and by the reservoir rock as a function of temperature.
A semi-analytic model of heat loss to the cap and base rock is included.

Governing equations

The extra solution variable controlling energy transport is the temperature, stored as a relative value; that is, deg
C or deg R.
The conservation of internal energy may be written
" #  
∂ X X
φ ρj Sj Uj + (1 − φ)ργ Uγ = −∇ ·  ρj Hj vj − λ∇T  − HLoss + QH
∂t j j

The phase specific internal energy, Uj , is related to phase specific enthalpy, Hj , by


p
Uj = Hj − CU
ρj

where p is the pressure, ρj is the mass density (lb/ft3 or kg/m3 ), and CU is a units conversion constant. Units
of specific internal energy and specific enthalpy are Btu/lb or kJ/kg. The two sums in the first expression are
performed over the flowing phases (that is, j = oil, water and gas) but note the accumulation term also considers
the rock term

(1 − φ)ργ Uγ

Thus internal energy is conserved but enthalpy flows.


The other parameters in this conservation of internal energy expression are:
• vj , the Darcy phase velocity
• the thermal conductivity λ in Btu/(lb day °F) or kJ/(m day K)
• the specific heat loss, HLoss in Btu/(ft3 day) or kJ/(m3 day)
• the specific enthalpy injection/production rate, QH , in the same units as HLoss .

Details of the Thermal and Steam Properties

The Steam Table

The most important properties of the steam-water system, in particular the specific volumes, enthalpies, and
viscosities are held as in-built correlations in MORE. These are taken from Ejiogu and Fiori2 and Tortike and
2 Ejiogu, G.C., and Fiori, M., High-Pressure Steam Properties Correlations, SPE 15405, 61st Annual Technical Conference and Exhibi-

tion, New Orleans, Oct. 5-8, 1986.

17.32. Steam and Thermal Options 1741


Tempest MORE Help, Release 8.1

Farouq Ali3 .

Specific Heats

A correlation due to Gambill is presented by Brill and Mukherjee1 for estimating the specific heat of oil
1
Co = √ (0.388 + 4.5 · 10−4 · TF ) [Btu/(lb ◦F)]
γo

where γo is the stock tank oil gravity [water = 1] and TF is the temperature in deg F.
We therefore use the form

Co = Ao + Bo · TF [Btu/(lb ◦F)]

with defaults of
0.388
Ao = √ [Btu/(lb ◦F)]
γo

and
4.5 · 10−4
Bo = √ [Btu/(lb ◦F2 )]
γo

Constant pressure specific heat, Cp , is related to specific enthalpy by


 
∂H
Cp =
∂T p

The specific enthalpy of oil is


Bo
Ho = Ao · (T − Tref ) + · (T 2 − Tref
2
)
2
Oil specific heat coefficients Ao and Bo can be set in the simulation by using the UOIL keyword.
The specific heats of gas and water are also calculated similarly. The respective heat coefficients may be set using
the UGAS and UWAT keywords respectively.

Rock Internal Energy

The specific heat of the rock takes the form

Cr = Ar + Br · TF

The internal energy of the rock is then


Br
Ur = Ar · (T − Tref ) + · (T 2 − Tref
2
)
2
A chart showing the heat capacities of reservoir rocks, developed by Somerton, is shown in Brill and Mukherjee1 .
Fitting their plot gives default values of

Ar = 0.192 [Btu/(lb ◦F)] Br = 1.18 · 10−4 [Btu/(lb ◦F2 )]

Rock Specific Heat Coefficients Ar and Br can be set in the simulation by using the UROC keyword.
3 Toritke, W.S., and Farouq Ali, S.M., Saturated-Steam-Property Functional Correlations for Fully Implicit Thermal Reservoir Simula-

tion, SPE 17094, SPE Res. Eng., Nov. 1989, pp. 471-475.
1 Brill, J.P., and Mukherjee, H., Multiphase Flow in Wells, SPE Monograph Series, Vol. 17, Richardson, 1999.

1742 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Thermal Conductivities

Following the model of Grabowski et al.4 , the overall thermal conductivity is given by
X
λT = (1 − φ)λr + Sj λj
j

where λr is the [dry] rock thermal conductivity and the summation j runs over the phases, oil, water and gas.
Each of the conductivities in this expression is cast into the form

λ = (A + B · T ) · (1 + C · (P − Pref ))

The conductivities are therefore linear in both temperature and pressure.

Oil Thermal Conductivity

The oil thermal conductivity λo may be estimated from


1.62 
1 − 3 · 10−4 · (TF − 32) [Btu/(ft day ◦F)]

λo =
γo

where γo is the stock tank oil gravity; see Brill and Mukherjee1 for details.
This can be written as

λo = (Ao + Bo · TF ) · (1 + Co · (P − Pref ))

with defaults of
1.635 4.86 · 10−4
Ao = , Bo = − , Co = 0.0.
γo γo
The oil thermal conductivity can be set in the simulation by using the THCO keyword.

Water Thermal Conductivity

Following Reid et al.5 , the water thermal conductivity λw may be estimated as

λw = (Aw + Bw · TF ) · (1 + Cw · (P − Pref ))

with defaults of Aw = 7.525, Bw = 0.01542 and Cw = 0.0.


The water thermal conductivity can be set in the simulation by using the THCW keyword.

Steam Thermal Conductivity

Liquid thermal conductivities are typically 10 to 100 times larger than those of the low-pressure gas at the same
temperature. MORE uses the familiar linear form

λg = (Ag + Bg · TF ) · (1 + Cg · (P − Pref ))

with defaults of Ag = 0.0, Bg = 0.0 and Cg = 0.0.


The steam thermal conductivity can be set in the simulation by using the THCG keyword.
4 Grabowski, J.W., Vinsome, P. K. , Lin, R. C., Behie, A., Rubin, B., A Fully Implicit General Purpose Finite Difference Thermal Model

for In Situ Combustion, SPE 8396, Paper presented at 54th Annual Fall Technical Conference and Exhibition, Las Vegas, Sept. 23-26, 1979.
5 Reid, R. C., Prausnitz, J. M. , and Poling, B. E., The Properties of Gases and Liquids, 4th Edition, McGraw-Hill, New York, 1988

17.32. Steam and Thermal Options 1743


Tempest MORE Help, Release 8.1

Rock Thermal Conductivity

Thermal conductivity values for dry rock depend on the degree of consolidation and the mineral content, and
should be determined for the particular target reservoir. It is assumed here that the conductivity will be modelled
by

λr = (Ar + Br · TF ) · (1 + Cr · (P − Pref ))

A typical value of Ar for Kern River oil sands unconsolidated rock is 6.0 Btu/(ft day °F) and for consolidated
Berea sandstone the value is 34.0 Btu/(ft day °F).
MORE uses defaults of Ar = 20, Br = 0.0 and Cr = 0.0.
The rock thermal conductivity can be set in the simulation by using the THCR keyword.

Thermal Expansion

All the fluids will generally expand with temperature. The expansion of the steam and water phases is covered by
the steam table. A standard quadratic form is used for the effect of temperature on oil and water formation volume
factor:
Bo (P, T ) = Bo (P, Tbase ) · [1 + Axo · (T − Tbase ) + Bxo · (T − Tbase )2 ]
Bw (P, T ) = Bw (P, Tbase ) · [1 + Axw · (T − Tbase ) + Bxw · (T − Tbase )2 ]
where Tbase is the reference temperature of 60 °F/15 °C. The thermal expansion coefficients Axo , Bxo , Axw , Bxw
are zero by default, but can be set using the keywords THXO and THXW respectively.
For gas, a simpler linear relationship is assumed based on the ideal gas law:
1
Bg (P, T ) = Bg (P, Tbase ) · [1 + · (T − Tbase )]
Tinit
where Tinit is the initial reservoir temperature.
The rock pore volume is also a function of temperature, although in this case the pore space will be reduced as the
rock grains expand:

Vp (P, T ) = Vp (P, Tbase ) · [1 − Axr · (T − Tbase ) − Bxr · (T − Tbase )2 ]

The thermal expansion coefficients for rock can be set using the keyword and THXR.

Heat Loss Model

The most widely used Heat Loss Model in thermal simulation is that due to Vinsome and Westerveld6 . In this
model it is assumed that heat is only lost vertically into the cap and base rock and that it is infinitely thick; that is,
conservation of cap/base rock energy. The temperature variation is described by
 z
T (z, t) = (a0 + a1 z + a2 z 2 ) exp −
d
where z is the distance into the cap/base rock such that the interface between the reservoir and its exterior is
defined to be z = 0, and t is the time from the start of the simulation. The diffusion length d is related to the
thermal diffusivity of the cap/base rock K by
1√
d= K ·t
2
The coefficients a0 , a1 and a2 are fitting coefficients whose values are determined by satisfying various boundary
conditions described below. The diffusivity is related to the rock thermal conductivity by
λ λ
k= =
CV ρ · Cr
6 Vinsome, P. K. W. and Westerveld, J., A Simple Method for Predicting Cap and Base Rock Heat Losses in Thermal Reservoir Simulators,

J. Can. Pet. Tech., July 1980, pp. 87-90

1744 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

where CV is the volumetric specific heat [in Btu/(ft3 °F) or kJ/(m3 K)], λ is the rock thermal conductivity [in
Btu/(ft day °F) or kJ/(m day K)], ρ is the rock compressed density [in lb/ft3 or kg/m3 ] and Cr is the user supplied
rock thermal capacity [in Btu/(lb °F) or kJ/(kg K). The conductivity and specific heat are approximated by the
temperature independent terms; that is, λ is set to Ar

THCR Ar Br

and Cr is set to Ar in

UROCK Ar Br Rhor PoroRef

The expression above provides simple analytical expressions for the amount of heat flowing from the reservoir
into the cap-rock over a time step and the total amount of heat transferred to the cap rock at the start of the step.
If we know this total energy transfer to the start of the step, then the values of a0 , a1 and a2 may be obtained and
the heat loss obtained.
For a given cell on the boundary of a reservoir, the cap rock is interpreted as the column of rock adjoining the
outer face of the cell.
Note that the model is capable of describing the back-flow of heat from the cap and base rock to the reservoir rock
as would be expected for a cold-water follow-up of a hot-water injection.
The model is activated by adding HLOS ON to the INPUT or FLUID section.

Using the Steam and Thermal Options in MORE

The basic data requirement for turning on steam/thermal modelling is to use STEA or THER keyword in the dataset.
The oil and rock properties may be modified using the keywords described in the previous section, but the defaults
are often acceptable.
An example demonstrating a thermal model using heat loss model can be found here.

Oil Viscosity Change with Temperature

One of the main benefits of heat injection is the reduction of oil viscosity with temperature. The variation of oil
viscosity with temperature is described using keyword OVVT

OVVT
100.0 1.0 /
150.0 0.2 /
200.0 0.034 /
250.0 0.01 /
/

This acts as multiplier to the value entered using OPVT.


Note that the viscosity of gas and water can also vary with temperature. The variation can be described using the
keywords GVVT and WVVT respectively.
If multiple viscosity tables are specified in a data set, the TREG keyword can be used to assign different tables to
corresponding thermal regions.

Initial Reservoir Temperature

This is entered by the RTEM (Reservoir Temperature) keyword in the INITIAL section and it follows the usual
MORE convention on grid/initial arrays. An example for a 5-layer system would be:

RTEM
ZVAR
210 212 214 216 218 /

17.32. Steam and Thermal Options 1745


Tempest MORE Help, Release 8.1

Steam Injection

To specify the heat injected steam injection, we must define the specific enthalpy of the water as it enters the
formation. This is done via the STEAM event. An example would be

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
HA_4
01/Jan/2000 INJE
01/Jan/2000 PERF 5800 6000 0.5 0 1
01/Jan/2000 SIT 20000
01/Jan/2000 BHPT 4000
01/Jan/2000 STEAM 340 1* 0.7 1*
ENDE

Generally the steam temperature or pressure may be entered, and the steam quality, which is the fraction of the
injected water in the steam phase. Finally, the mixture specific enthalpy may be entered directly.

Hot Water Injection

To specify the heat injected by hot water injection, all that is required is the temperature of the water as it enters
the formation. This is done via the TEMP event.

EFOR 'dd/mmm/yyyy' MDL MDU RAD SKIN MULT


ETAB
HA_4
01/Jan/2000 INJE
01/Jan/2000 PERF 5800 6000 0.5 0 1
01/Jan/2000 SIT 20000
01/Jan/2000 BHPT 4000
01/Jan/2000 TEMP 325
ENDE

1746 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.33 Timestep Selection and Controls

Time Step Selection

Each simulation time step is selected according to a number of criteria, based on the solution changes in the
previous step, the simulation schedule, IMPES stability criteria, and user specified limits. The aim is to make
nonlinear solver converge smoothly while also minimizing the overall simulation time. If a time step does not
converge, the step size is reduced and solved again.

Time Step Controls

The keywords DELT and DTMX may be used to control time stepsize and timestepping tolerances in the simulator:
• DELT specifies the size of the next time step. This option is useful at the beginning of a simulation and
when major well changes are made at a new recurrent data specification (see READ keyword)
• DTMX specifies a table of maximum step sizes vs. time.

Simulation Step Codes

As the simulation proceeds, each reported step is written on a new line, starting with a four letter code defining
the reason for taking a particular timestep; the number of steps reported to the .out file and to standard output is
defined by the RATE keyword.
The meaning denoted by each step code is listed below:
arra Step to ARRA reporting time
chop Step following a step reduction
caut Caution step due to recent chops
cflm Step defined by CFL limit
chLE Step repeated due to linear solver exception
delP Step defined by pressure change target
delS Step defined by saturation change target
delT Step defined by temperature change target
delt Step defined by a DELT keyword
divi Step divided to prevent unequal split of time to a report
esol Step to ESOL reporting time
esum Step to ESUM reporting time
evnt Step to event time
flxr Step to FLXR time
hist Step to historical rate time defined in HTAB
init Initial time step
incr Step increased due to succesful last step
max Maximum step
mend End of simulation
oper Step to operation INVO time
potn Step to well POTN calculation time
rate Step to RATE reporting time
repe Step repeated due to well or group limit checks
rept Step to time specified with READ
rexs Step set by Rex controller
test Step to well TEST time
verr Step defined by volume error target
wag Step set by WAG well control mode
wagE Step repeated as WAGT tolerance exceeded
wmod Step following a well modification

17.33. Timestep Selection and Controls 1747


Tempest MORE Help, Release 8.1

Some other abbreviations are used on the time-stepping output:


nStep Total number of steps so far
Re Total number of reduced (chopped) steps so far
NR Number of flow equation iterations required for step
LS Average number of linear solver iterations required for step

1748 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.34 Tracer Calculations

The tracer option allows a tracer to be attached to a conserved fluid component. The component may be stock
tank oil or gas in a black oil model, any of the components in an equation of state run, or water.
The tracer solution variable C is the number of moles of traced component per mole of total component. The
traced component is assumed to have the same properties as the untraced component. The result is a conservation
equation for traced component as well for the total component

CiT +ΔT · mTci+ΔT − CiT · mTci T +ΔT T +ΔT


Vri · = Cqi · Qci − Σj Σp Cij · Fcpij
∆T

• CiT +ΔT is the tracer concentration at the time T + ∆T .


T +ΔT
• Cqi is injection tracer concentration of an injector, or minus the completion cell tracer concentration
for a producer.
T +ΔT
• Cij is the upstreamed tracer concentration for flow between cells i and j.
• Fcpij is the flow of component c in phase p in the direction from cell i to j.
Looking at the above equation, it can be seen that the tracer can also be viewed as a extra species being carried
along by flows of component c. In this case, the tracer concentration can be viewed as an amount of tracer per mole
of the carrier. This makes little difference in practice, but it means that a tracer can be used to model a quantity
like salinity and need not be normalised to unity. However, it is important that the tracer does not significantly
affect the properties of the carrier component.
Tracer calculations are carried out for each timestep after that timestep has been completed. So there is no need in
the above expression to form carrier component flows in terms of Darcy’s law: these flows are known at the end
of the step.

Reporting Tracer Rates and Tracer in Place Values

This is straightforward to black oil models in which the tracer carriers are also surface fluids; for example we can
have oil, gas and water tracers.
So it would be possible in a black oil model to have three tracers
• OOO, associated with the oil component
• GGG, associated with the gas component
• WWW, associated with the water component
which would be set up using the keyword TRAC. See tset0.dat for complete example:

--Set up three tracers, associated with oil, gas and water carriers

TRAC OOO OIL


TRAC GGG GAS
TRAC WWW WAT

To get extra tracer rate, total and fluid-in-place information, select the WELL, GROUP and FIELD packages with
RATE; for example

RATE 10 DAYS WELL FIELD GROUP

Loading the output into Tempest VIEW, there are three new items for each well and for each tracer, the tracer
concentration, the traced production rate and the traced production total. So, for example, for a production well
you see the following:

17.34. Tracer Calculations 1749


Tempest MORE Help, Release 8.1

Therefore the mnemonic is, for example, wtorOOO for the Well Tracer Oil Rate for OOO.
For well P-1, the plots look like:

In this case the initial tracer concentration is 50%, so the traced oil rates and totals are half the oil rates and totals.
Note that the traced fluid rates take the units of their carriers, so that the traced oil total is in ksm3 . Looking at the
gas tracer you see as the following figure:

In this case the gas production rises faster than the traced gas production, reflecting the fact that the majority of
the gas produced at the end of the run is injected gas with a tracer concentration of zero. This can also be seen
from the lower tracer concentration at the end of the run.
Looking at the group GGG we see similar tracer concentrations and traced fluid rates and totals, but additionally
there are traced fluid-in-place values, as illustrated in the following figure:

1750 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The reduction in the traced gas-in-place value reflects the production of the traced gas, as illustrated in the follow-
ing figure.

Simple tracers can be used in an equation of state run. A tracer is then carried by a component such as methane.
In this case the traced component rates and totals are reported in moles. So for tracer A, values reported for a
production well and groups are as illustrated in the following figure:

If the initial C1 tracer concentration is 1.0, the production concentration might take the form as illustrated in the
following two figures. See tset1.dat for complete example.

Reporting Surface Rates, Totals And Fluid-In-Place Values For Compositional


Runs: Use Of Tracer Sets

For equation of state modelling the use of component tracers is not ideal; the results of real interest are the surface
volumes. In a compositional model surface volumes are defined by the separators. A separator consists of a
number of stages and converts the stream of components coming from the well into stock tank oil and gas.
To trace the origin of the surface stream from a well or group we need to track all the components which feed the
separator, as these all affect the surface oil and gas volumes. To do this, a tracer set may be used.
A tracer set may be set up in a compositional run using the TSET keyword. Each tracer set will set up Nch tracers

17.34. Tracer Calculations 1751


Tempest MORE Help, Release 8.1

Fig. 17.21: The arrival of injection gas at the producer can be seen in the reduction in the concentration of the
in-place C1.

Fig. 17.22: The reduction of the moles in place reflects the moles recovered.

1752 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

(where Nch is the number of hydrocarbon components). However, the rates reported will be those which are
obtained when all the traced components in the set are flashed through the separator. The entire tracer set can be
set up using just the tracer set name.
In a common application, one set to 1 above the gas-oil contact and one set to 1 below the gas oil contact. See
tset2.dat for complete example:

TSET A AOGC
TSET B BOGC

MORE will then report the set A and set B oil and gas production rates for the wells and groups, and the A and B
volumes in place. For example, as illustrated in the following figure:

It can be seen how the gas from above and below the contacts contribute to the total gas production. As the well is
completed in the bottom layers of the reservoir, the initial flow is mainly from below the contact, but this changes
as lighter components are drawn down from above the contact.

17.34. Tracer Calculations 1753


Tempest MORE Help, Release 8.1

17.35 API Tracking

The API tracking option allows for modelling the oil component as mixture of different types of oil with different
surface densities and PVT properties. This option is available for black oil simulations. However, it is not currently
available with vaporised oil (wet gas).
API gravity is a measure introduced by the American Petroleum Institute and related to the oil’s specific gravity
(with respect to pure water) by:
141.5
γAPI = − 131.5
γoil
When using the API tracking option two or more oil PVT tables have to be provided one for each API gravity
value. The oil property look up for the oil in a cell depends also on the oil’s API gravity. For cells with an API
gravity between two tabulated API gravity values the properties are interpolated between the two associated oil
PVT tables. This is in contrast to the use of PVT-regions, where a single PVT-table is attached to a cell.
With the interpolation of oil properties between different PVT tables an API tracking simulation can be more
sensitive to PVT data handling. Because different simulators use different methods to handle PVT data, users may
wish to use the ETUN keyword to better match other simulators.
As the oil is displaced the oil API-value for a cell changes in time. To account for that, a mass conservation
equation is solved at the end of each time step to update the surface oil density and thus the API gravity. This
update step is similar to a tracer update, see Tracer Calculations.

Enabling API Tracking

API tracking is enabled with the APIT keyword in the FLUI or INPU sections.

PVT Data

In the FLUI section two or more oil PVT tables have to be specified together with their API gravity values. Oil
PVT tables are entered with either PVTO or OPVT. However, due to its greater flexibility, PVTO is generally
recommended. API gravity values are entered with the keywords SGRA, e.g.
FLUI BLACKOIL

APIT -- switch on API tracking

-- oil API gravity | gas specific gravity


SGRA
37.0 0.75 -- gravities of table 1
SGRA
32.0 0.75 -- gravities of table 2
SGRA
27.0 0.75 -- gravities of table 3

-- 3 oil PVT tables


PVTO
...
/

An alternative to SGRA is the keyword SDEN which specifies the oil and gas surface densities. In metric units the
following input is equivalent to that above.
FLUI BLACKOIL

APIT -- switch on API tracking

-- oil surface density | gas surface density

1754 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

SDEN
838.9 0.9172 -- surface densities of table 1
SDEN
864.6 0.9172 -- surface densities of table 2
SDEN
891.9 0.9172 -- surface densities of table 3

-- 3 oil PVT tables


PVTO
...
/

Note: SGRA keywords must be ordered with decreasing oil API gravity. SDEN keywords must be ordered with
increasing oil surface density. The PVTO or OPVT tables must follow that order accordingly.

API Groups

The API tracking option overrides the concept of PVT regions. Since PVT tables are selected and interpolated
between according to a cell’s oil API, all tables may be applied to the whole reservoir. However, it is possible to
group PVT tables together to API groups. In that case the PVTN array is used to assign an API group number to
a region. Oil property look-up for a cell in such a region takes only those PVT tables into account which belong
to that API group indicated by the cell’s PVTN region number.
The use of more than just one API groups must be indicated by the keyword APIG. Which tables belong to which
API group is indicated by a break in monotonicity of the oil API gravity or the oil surface density.
Example: using SGRA would require decreasing oil API gravity. Places where this rule is violated indicate the
start of new API-group.

FLUI BLACKOIL

APIT -- switch on API tracking

APIG 2 -- work with two API groups

-- oil API gravity | gas specific gravity


-- gravities of API group 1
SGRA
37.0 0.75
SGRA
32.0 0.75
-- gravities of API group 2 Note: the break in API monotonicity happens here!
SGRA
42.0 0.65
SGRA
35.0 0.65
SGRA
29.0 0.65

-- 5 oil PVT tables


PVTO
...
/

Initialisation

The initial oil API gravity distribution over the reservoir is specified in the INIT section.

17.35. API Tracking 1755


Tempest MORE Help, Release 8.1

If the initial conditions are determined by equilibration the oil API gravity can vary with depth. This initial API
gravity variation versus depth is supplied with the keyword AGVD. The oil API gravity distribution is stored in
the array OAPI.
Alternatively, when the system is initialised with non-equilibrium conditions, the initial oil API gravity distribution
can be specified by directly populating the array OAPI, e.g for a grid with 600 cells

OAPI VARI
250*37.0 250*32.0 100*27.0 /

Reporting

With API tracking switched on, the oil API gravity array OAPI is written to the array file at each array output
time. OAPI can be displayed as 3D View in VIEW.

If the WELL package has been selected with the RATE keyword, the quantity WAPI will be written to the rate file
at each rate output time. For open producers the quantity WAPI is the API gravity of the oil in the wellbore. For a
shut well MORE reports zero WAPI. The WAPI vector can be displayed as 2D View in VIEW.

1756 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Example

A complete API tracking example can be found here API_example.dat

17.35. API Tracking 1757


Tempest MORE Help, Release 8.1

17.36 Brine Tracking

Introduction

The BRINE tracking option provides a model for blending waters with different salinities and for assessing the
effect of varying salinity on the flow performance.
When using the BRINE tracking option, the water properties looked up during the simulation vary with the salt
concentration. To define the variation of water density and viscosity with the salt concentration, two or more
salt concentrations must be specified in the brine PVT table. The water property look up during the simulation
depends on the salt concentration. For cells with a salt concentration between two tabulated salt concentrations
the properties are interpolated between the provided property values.
As the brine is displaced the salt concentration for a cell changes in time. To account for that, a mass conservation
equation is solved at the end of each time step to update the salt concentration. This update step is similar to a
tracer update, see Tracer Calculations.

Enabling Brine Tracking

Brine tracking is enabled with the BRINE keyword in the FLUI or INPU sections.

PVT Data

In the FLUI section brine properties must be provided using the PVTB keyword. Every brine table should specify
properties for two or more salt concentrations. The brine properties may be augmented with salt dependent water
surface densities using the BDEN keyword.

PVTB
-- P_ref Csalt_ref
3000.0 0.0 /
-- Csalt Bw Cw mu Cmu
0.0 1.000 3.0E-6 1.00 1.00E-6
7.0 0.9 2.0E-6 1.10 1.01E-6
10.0 0.8 1.9E-6 1.11 1.011E-6 /

BDEN
64.0 65.0 67.0 /

Initialisation

The initial salt concentration over the reservoir is specified in the INIT section.
If the initial conditions are determined by equilibration the salt concentration can vary with depth. This initial
variation of the salt concentration with depth is supplied with the keyword SCVD, e.g.

SCVD
5000.0 5.0
5200.0 6.7
5400.0 8.3
5500.0 9.0
/

The salt concentration is stored in the array SALT.


Alternatively, when the system is initialised with non-equilibrium conditions, the initial salt concentration can be
specified by directly populating the array SALT, e.g for a grid with 600 cells

1758 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

SALT VARI
250*4.5 250*7.2 100*9.3 /

Brine Injection

The salt concentration for injected water can be specified and changed for each water injecting well with the
WSALT event, e.g.

EFOR WELL 'dd/mmm/yyyy'


ETAB
WIN 01/Jan/2017 INJE
WIN 01/Jan/2017 WIT 2000
WIN 01/Jan/2017 WSALT 0.5
ENDE

Brine in Aquifers

The Carter-Tracy and Fetkovich aquifers can be sources of brine. The keywords AQCT and AQFE which are
used to define a Carter-Tracy and Fetkovich aquifer respectively both support an argument to specify the salt
concentration in the aquifer’s water.

Reporting

With BRINE tracking switched on, the salt concentration array SALT is written to the array file at each array
output time. SALT can be displayed as 3D View in VIEW.

The following quantities will be written to the rate file at each rate output time, when certain packages have been
selected with the RATE keyword:
• WELL package

17.36. Brine Tracking 1759


Tempest MORE Help, Release 8.1

– wsaltpr - salt production rate


– wsaltpt - salt production total
– wsaltir - salt injection rate
– wsaltit - salt injection total
– wbsaltc - salt concentration in the wellbore
• GROUP package
– gsaltpr - salt production rate (for well groups)
– gsaltpt - salt production total (for well groups)
– gsaltir - salt injection rate (for well groups)
– gsaltit - salt injection total (for well groups)
– gsaltip - salt in place (for fluid in place groups)
• FIELD package
– fsaltpr - salt production rate
– fsaltpt - salt production total
– fsaltir - salt injection rate
– fsaltit - salt injection total
– fsaltip - salt in place
These vectors appear in VIEW’s summary section, e.g.

and can be displayed as 2D View in VIEW, e.g.

1760 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

The vectors are also available as functions in operations.

Example

A complete BRINE tracking example can be found here BRINE_example.dat

Brine Tracking Limitations

The following options are currently not available with brine tracking
• Steam
• thermal
• polymer
• solvent
• dual porosity
• flux runs
• numerical aquifers

17.36. Brine Tracking 1761


Tempest MORE Help, Release 8.1

17.37 Trapped Oil Option

Formulation

If a trapped oil saturation is defined using the SORM grid keyword, the simulator makes the following transfor-
mation at the start of the run

SoTrap=min(SORM,So)

Then new saturations are defined as follows


Vo = Soi − SoTrap
Vg = Sgi
Vw = Swi
Vo
Son =
Vo + Vg + Vw
Vg
Sgn =
Vo + Vg + Vw
Vw
Swn =
Vo + Vg + Vw

where the new initial saturations Son , Sgn , Swn replace the original initial saturations Soi , Sgi , Swi .
Pore volume and reference pore volume are modified to remove the trapped oil volume:

rvoln = (1.0 − SoTrap ) · rvol


pvoln = (1.0 − SoTrap ) · pvol

The fluid in place in the isolated SoTrap saturation is reserved and added to each fluid in place report.
The normal simulation then proceeds in the non-trapped oil space, the isolated trapped oil playing no role. Note
that the trapped oil will not react to pressure changes; that is, it will not evolve gas into the non-trapped oil space
even if the pressure falls below the bubble point.

Output

The usual saturations are those within the non-trapped oil space. However, the overall saturations including the
trapped oil are available:
• Soto - Total oil saturation allowing for trapped oil
• Sgto - Total gas saturation allowing for trapped oil
• Swto - Total water saturation allowing for trapped oil
• Ssto - Total solvent saturation allowing for trapped oil

1762 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.38 Velocity Dependent Relative Permeabilities

At high flow rates in gas condensate systems there is some evidence that the relative permeabilities change as a
function of flow velocity for example, see Henderson et al, SPE 307701 .
The velocity can be characterised by a dimensionless group, the capillary number, given by
Vg · µg
Ncap =
σgo

where
• Vg is gas velocity
• µg the gas viscosity
• σgo the oil-gas surface tension
all converted to SI units.
The gas velocity is then expressed in terms of the apparent gas velocity Vga as

Vg = Vga /((1 − Sw ) · ϕ)

where
• Sw is the water saturation
• ϕ is the porosity
The apparent gas velocity is obtained as gas volume flow rate per unit area.
The velocity dependence generally starts to be effective at around

Ncap ∼ 10−4

and so this is only an issue in the near well region.


Generally, the effect is small, but can be important in the condensate dropout case where an oil saturation bank
can form close to the well and limit well deliverability. As described in the section on gas-pseudo-pressure, if the
pressure falls below the dew point in the well inflow region even a small amount of oil drop-out will cause the oil
saturation to rise until the oil saturation exceeds the critical oil saturation. If the effect of a high flow rate is to
cause the oil-gas relative permeability to have a lower critical oil saturation the result may be much less condensate
blocking.
To include this effect we interpolate between low-gas-velocity and high-gas-velocity curves. Define a low-gas-
velocity factor f

0≤f ≤1

such that f = 1 corresponds to a zero gas flow capillary number and f = 0 corresponds a very high gas flow
capillary number. It is then further assumed that the relative permeability for very high gas flow capillary number
becomes a simple straight line curve. The full relative permeability used is then

Kro (Ncap ) = f · Krolgv + (1 − f ) · Krohgv


Krg (Ncap ) = f · Krglgv + (1 − f ) · Krghgv

The high gas velocity relative permeabilities are Krohgv and Krghgv , straight line relative permeabilities, both
rescaled to the same modified end points, given by

Sogcrhgv (Nc ) = f · Sogcr


Sgcrhgv (Nc ) = f · Sgcr
1 Henderson, G.H., Danesh, A., Tehrani, D.H., Al-Shaidi, S. and Peden, J.M., Measurement and Correlation of Gas Condensate

Relative Permeability by the Steady-State Method, SPE Res. Eval. and Eng., April 1998, SPE 30770

17.38. Velocity Dependent Relative Permeabilities 1763


Tempest MORE Help, Release 8.1

where Sogcr and Sgcr are the critical saturation values. Thus the end points become zero at the high gas flow
capillary number limit of f = 0.
The low-velocity contributions Krolgv and Krglgv are the normal relative permeability curves at low capillary
number.
A definition of the factor f is required. This should approach 0 for large capillary numbers (high flow rates)
and 1 for small capillary numbers (low flow rates). MORE follows the form proposed by Whitson, Fevang and
Saevareid, SPE 564762 , and defines
1
f=
(Ncap /NcapRef ) + 1

where
• Ncap is the capillary number
• NcapRef is a reference capillary number entered with the VDKR keyword and defaulted to 10−4 .
The second argument of the VDKR keywords allows the surface tension used in the capillary number calculation
to be reset (the default is 20 dynes/cm). ALL may be used with the VDKR keyword to request that the velocity
dependent relative permeabilities be applied to all the wells. Alternatively WVDK can be used to turn the option
on only for selected wells.
However, note that the velocity dependent relative permeability effect is only applied to producing completions of
producing wells; the effect will not occur in the case of injecting completions.
MORE obtains the effect of velocity dependent relative permeabilities within the context of a dynamic gas pseudo-
pressure calculation. The effect of the velocity dependence is integrated through the drawdown region near the
well. The effect is naturally much more marked in the near-well region where the gas flow velocity is highest.
At each radius the gas velocity is estimated from the total molar flow, multiplied by the mole fraction in the gas,
multiplied by the molar volume to obtain the volume flow, and then divided by the flow area to get the apparent
gas velocity.

2 Whitson, C.H., Fevang, O. and Saevareid, A., Gas Condensate Relative Permeability for Well Calculations, Ann. Tech. Conf. and

Exhibition, Texas, Oct 1999, SPE 56476

1764 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.39 Well Fracturing Model

The well fracturing model allows the effect of a hydraulic fracture in connecting a well to additional cells in a
reservoir to be modelled.

Fig. 17.23: For vertical wells the fracture will appear in completed layers with the specified layer range.

The fracture geometry is defined by angle, length and a range of global grid layers. The fracturing event occurs
at specified times in the simulation (using the WFRA keyword or event). Extra connections in the fractured well
appear at the fracture time and their connectivity may decay with time as specified below. Fractures consist of two
vertical wings, possibly of unequal lengths or with a non-zero bend angle between them.

Fig. 17.24: For horizontal wells the fracture will cut across the well at a specified measured depth. For vertical
wells, each completion will connect out into a fracture.

The connection from the cell to the well consists of two parts:
• Inflow from cell into fracture

17.39. Well Fracturing Model 1765


Tempest MORE Help, Release 8.1

• Flow path along fracture to well


The connection from cell to fracture is like the existing FX or FY fractured completion, but allows for the angle
of the fracture and its available area within the cell and the resulting path length across the cell. The connection
along the fracture takes into account the distance d to the well (so that completions further away are less effective)
and the conductance of the fracture (specified either directly as conductance (mD m) or as the product of width
and permeability of fracture).

Fig. 17.25: Top view of a single fractured reservoir cell depicting the various lengths involved in the fracture flow
calculation. See main text for definitions of all quantities.

Each flow from a fracture-completed cell into the well is treated independently; that is, unless the improved
well fracture model is used, MORE does not directly model interference between flows from different cells on a
fracture.

Cell to Fracture Connection

The connection from cell to fracture is

ccfc = 8 · C · Kc · df · dz/dn (17.24)

where
• Kc is the superposition of the cell’s Kx and Ky permeabilities along the normal to the fracture plane.
• df is the length of the fracture in the cell: this is set by the boundaries of the cell in the case where the
fracture crosses the cell, or the ends of the fracture in the case in which it terminates inside the cell. For,
example a short fracture might stay within the boundaries of the cell in which the cell is completed.
• dz is the thickness of the cell.
• dn is the mean distance across the cell in the direction at right angles to the fracture plane. This provides
an estimate mean distance fluid must flow to reach the fracture. On average the distance to the edge of cell

1766 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

is dn/2 on either side, so the mean distance to flow is dn/4. However, flow occurs from two sides which
accounts for the factor of 8 in the expression above.
• C is a unit conversion constant.

Flow Along the Well Fracture

The completion connection factors ccfc in the above calculation are the transmissibilities for flow from the reser-
voir cells into the fracture. The effective connection factor of each fracture completion for flow along the fracture
to the well needs to take into account two effects:
1. The friction along the fracture arising from its finite aperture.
2. The crowding in the finite fracture volume due to flows from all other fracture completions. For a producer,
as inflow moves towards the wellbore from the outer completions it has to share the fracture aperture with
flow from completions nearer the well.
MORE’s standard model is detailed below and an improved model is described separately.

Standard WFRA Model

This model treats the first effect, the friction along the fracture, rigorously, and uses an approximation for the
second effect, the crowding inside the fracture.

Friction Along the Fracture

The flows along each side of the fracture are treated independently. Let us consider a single side in the following.
For each connection, the inverse of the ccf for one fracture-completion, if it were the only one, is just the sum of
the resistances from the cell into the fracture and along the fracture to the well,
1 1 1
= + . (17.25)
ccf ccfc ccfp

Here, ccfc is the completion connection factor (17.24) from the cell to the fracture, and ccfp is the path-length
dependent completion connection factor for flow along the fracture to the well. It is defined as

ccfp = C · cond · dz/d , (17.26)

with cond the fracture conductivity, dz the cell height and d the distance between fractured cell and well trajectory.
This captures the effect of the finite aperture on the flow between a single completion and the well.

Shared Path Correction

The following model describes a fracture within a single grid layer as a series of completions without cross-flow.
We consider the case of a producer but an analogous argument holds for the injector case.

Electrical analogue

Essentially we have a problem similar to one in electrical circuit theory: a resistance network like the following,
where the input nodes Ii correspond to the fracture-completions, and the output node O corresponds to the well.
The cell and well pressures translate to nodal voltages and the ccf s into and along the fracture correspond to two
types of conductances, 1/Rf and 1/Rc , as depicted in diagram 1.
We would like to convert it into an effective network such as shown in diagram 2 with independent paths between
each input Ii and output O.
Unfortunately, an exact correspondence does not exist, so we consider diagram 3 instead, in which all input nodes
have been collapsed into one.

17.39. Well Fracturing Model 1767


Tempest MORE Help, Release 8.1

Rf 1 Rf 2 Rf 3 Rf 4 Rf 5 Rf 6
O
Rc1 Rc 2 Rc 3 Rc 4 Rc 5 Rc 6

I1 I2 I3 I4 I5 I6

Fig. 17.26: Diagram 1: Electric analogue of a single layer fracture.

O
R5 R6
R1 R2 R3 R4
I1 I2 I3 I4 I5 I6

Fig. 17.27: Diagram 2: Desired star-shaped network.

Rf 1 Rf 2 Rf 3 Rf 4 Rf 5 Rf 6
O
Rc1 Rc 2 Rc 3 Rc 4 Rc 5 Rc 6

Fig. 17.28: Diagram 3: Simplification of diagram 1.

1768 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Under the condition of keeping the currents through the resistances Rc1...n unaltered, it can be uniquely trans-
formed to diagram 4.

O
R1 R2 R3 R4 R5 R6

Fig. 17.29: Diagram 4: Network equivalent to diagram 3 with effective resistances.

The effective resistances Ri are determined such that the currents match those through the corresponding original
resistances Rci in diagram 3. To solve for these resistances, we use the following approximate step-by-step
scheme. It is based on the fraction of the conductance available to each current contribution when that path is
shared.
The crucial approximation then consists in identifying the resistances in diagram 4 with those in diagram 2.
Consider the i-th connection in diagram 3, starting at 1 from the left. The network to the right of that path can
be represented by a single effective resistance R̂i . Then, by applying Ohm’s law, the ratio between the combined
current q̂i through that network and the current on the i-th path is the inverse of the respective resistance ratio,
q̂i Rci
= . (17.27)
qi R̂i
Hence, by recursion, the combined current through all paths from i onwards is related to the current through the
first path as
R ci R c1
q̂i = · ... · q1 .
R̂i R̂1
Since the ratio (17.27) is usually less than one, the currents decrease rapidly with increasing i. To find the effective
resistances in diagram 4, we require the ratio between successive currents qi+1 /qi . By construction, q̂i = qi+1 +
q̂i+1 , and hence

q̂i q̂i+1 Rc
=1+ = 1 + i+1 .
qi+1 qi+1 R̂i+1

Multiplying by qi+1 /qi and using (17.27), we obtain


 
Rci qi+1 Rci+1
= 1+ . (17.28)
R̂i qi R̂i+1

Translating back to completion flows

Exploiting the analogy between electric and flow networks, the ratio between successive completion inflows is
just qi+1 /qi . In the approximation of diagram 3 this ratio equals ccfi+1 /ccfi , i.e.

Rci+1 −1
 
ccfi+1 Rci
= 1+ . (17.29)
ccfi R̂i R̂i+1
By solving the linear system describing the third diagram above, we obtain the completion resistance ratios
(17.28), which we use to successively calculate the effective completion connection factors.
Since these usually decay (too) quickly along the fracture within the framework of this model, completions far
from well produce very little. To compensate, the effect of this shared path calculation can be limited by using
the WFSP keyword or corresponding argument to the WFRA keyword or event. MORE then calculates a mixed

17.39. Well Fracturing Model 1769


Tempest MORE Help, Release 8.1

ccf between the value obtained from recursion formula (17.29) and expression (17.25), with the WFSP coefficient
being the linear weight.
The situation is analogous to a horizontal well: if the wellbore friction is greater than the typical drawdowns, the
toe completions will fail to produce and only the heel end of the well will be effective.

Treatment of Fracture Time Constant

If a well is fractured at some time Tfrac in the simulation, then at every subsequent step a correction factor F (w, τ )
is calculated:
  
T − Tfrac
F (w, τ ) = w + (1 − w) exp −
τ

This is then applied to the well fracture completion connection factor. The effect is that the additional connectivity
supplied by the fracture at the time of the fracturing operation decays to w ∈ (0 . . . 1) at a rate set by the time
constant τ . Both constants can be entered with the WFRA keyword or event. The default are w = 0, τ = ∞, that
is, F (w, τ ) = 1.

1770 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.40 Improved Well Fracturing Model

In order to model the flow inside well fractures more accurately, MORE provides improved well fracture mod-
elling. See the documentation of well fracture modelling for a general introduction to the topic. Here, we only
describe the improved fracture flow model.

Model Details

The fracture is modelled as nodal network (see figures below) with unknown pressures p~i on the internal nodes
and unknown flows ~qe between internal and external nodes. The list of external nodes combines nodes in reservoir
cells and along the wellbore.
Solving a well fracture happens in three stages:
1. We find the internal node pressures by modelling voidage Darcy flow qij between neighbouring network
nodes i and j, that is

qij = µij [pi − pj − ρij g(di − dj )] .

where pi and di are the pressure and depth of node i respectively, µij and ρij the fluid mobility and density,
and g standard gravity.
2. For each external node associated with a reservoir cell, we calculate the component flows to the adjacent
internal node in the usual manner from the drawdowns determined in the first step.
3. To obtain the fracture component flows into the well through each wellbore node, we sum all flows obtained
in the previous step and attribute fractions according to the relative drawdowns of the wellbore nodes.
For links between internal and external nodes i and j, we set the mobilities µij to the corresponding bulk voidage
mobilities multiplied by ccfc defined in the documentation of the original WFRA model. For links between two
internal nodes i and j, we set the mobilities µij to the averaged bulk voidage mobility of all external nodes
multiplied by the average ccfp of the two internal nodes.
In step 2, we use the bulk component-in-phase mobilities of the respective cells in calculating the inflows into the
fracture. For outflows we use the wellbore mobilities once all producing well connections have been summed up.
Each well fracture is considered as a single entity with a single connection into the wellbore. By default, the
connectivity between the fracture and the well takes into account the perforated length (for vertical fractures) or
the well radius (for horizontal fractures). The user may control this connectivity but not individual reservoir-
fracture connections, which are automatically handled by MORE.

Fracture Network Topology

The improved fracture model generates a fracture network based on the fracture geometry. While the model
is quite general, the choice of network topology is currently limited to the following two cases, which may be
selected using the WFPLUS keyword:
1. By default, a one-dimensional grid along the fracture trajectory. Reservoir cells feed into the fracture at
different fracture grid nodes thus modelling the friction along the fracture accurately.
2. A star-shaped topology in which all reservoir cells connect to a single fracture grid cell via independent flow
paths. The conductivities for these links are set to (1/ccfp + 1/ccfc )−1 . This corresponds to the standard
WFRA model without the shared path correction, see WFSP.

Using the Improved Fracture Model

Along with improved physical modelling, the improved fracture model comes with new HFRA and VFRA events
to simplify setting up fractures. These events automatically use the improved fracture model.

17.40. Improved Well Fracturing Model 1771


Tempest MORE Help, Release 8.1

Fig. 17.30: The simulated fracture network depicting a one-dimensional fracture flow path. The yellow points
denote nodes associated with reservoir cells, which are linked to the well fracture network by the connectivities
derived from rock permeability (green). The connectivities for links along the fracture (blue) are derived from the
fracture connectivity given in the WFRA definition.

Fig. 17.31: The simulated fracture network using the star-shaped topology. In this setup, the reservoir cells
(yellow points) are linked to the well through a single internal node via effective two-point connectivities. No
direct crossflow through the fracture from one cell to another can occur.

1772 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Furthermore, the REFRA may be used to re-fracture an existing well fracture. This may be used to dynamically
reset or modify certain fracture parameters.
Several global settings for the fracture model may also be set using the WFPLUS keyword.

Output

Each fracture appears as a single entry in the Layer panel in Tempest VIEW. The usual rate vectors are presented

as for completions: All fractures can be displayed using the toggler button from the well toolbar in the 3D

Fig. 17.32: Fracture summary vectors. Note that the mnemonics for these vectors all start with x.

viewer. Using the right-click menu in the viewer, the user can open the Well Fractures menu. Besides allowing
the user to change the transparency of the grid or that of fractures, this allows the user to select a fracture property
(from a drop-down list) to be displayed over all fractures. Each internal node is represented by a two-dimensional
cell, as shown in the example below:
A legend range can be seen in the top right hand corner of the 3D view if a fracture grid property is select from
the drop-down. The context menu for this legend allows the user to configure the colour scale in the same way as
the 3D legend.
When using the MODEL STAR option of the WFPLUS keyword, the fracture geometry is simplified to a single
cell on each side of the fracture. This can be seen in the example below:
A more geologically realistic example based on the Emerald dataset is Emerald_VFRA_HFRA.dat, which illus-
trates how, by default, the fractures follow the geological layers:
Further examples demonstrating different options are found in the HFRA and VFRA event help pages.

Fracture Model Limitations

• The improved fracture model uses well potentials as part of the solution method, so these are automatically
requested at every time-step. While the well potential calculation interval may be set using the POTN
keyword or event, it is not recommended to do so as this will adversely affect the fracture flow calculation.
• Similarly, well potentials must be used for group guide rates, which is equivalent to using the POT option
of GTAR - the CCF option may not be used.

17.40. Improved Well Fracturing Model 1773


Tempest MORE Help, Release 8.1

Fig. 17.33: Example of three well fractures (with network topology 1) displaying the internal node pressures.
Hovering the mouse over the respective fracture provides its details at the bottom of the viewer.

1774 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Fig. 17.34: Example of three well fractures (now with network topology 2) displaying the singular fracture
pressures.

17.40. Improved Well Fracturing Model 1775


Tempest MORE Help, Release 8.1

Fig. 17.35: Example of several well fractures in a geologically realistic example.

1776 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

• It is not possible to use the improved fracture model with multi-segmented wells.
• It is not possible to use the improved fracture model with coarsening.
• Using well fractures and local grid refinements (LGRs):
– It is not possible to start fractures from inactive cells (using WFPLUS INAC) when the grid contains
local grid refinements (LGRs).
– The one-dimensional fracture network topology is also refined provided the fracture completely resides
inside a single LGR. If the fracture crosses an LGR boundary, the fracture network topology is not
refined and follows the global grid.

Transitioning from the Standard WFRA Model

The WFPLUS keyword may be used to convert existing fractures created by WFRA keyword or the WFRA event
to the improved fracture model.
Example datasets for using the improved fracture modelling with WFRA events and the WFPLUS keyword are
WFRA_WFPLUS.dat and WFRA_WFPLUS_LEGACY.dat.
Note that, since the improved model does not treat each fracture node as an individual completion, in contrast
to the standard model, discrepancies in well reference depth can arise when combining the DATU keyword with
option TOPC and the LAYER or DEPTH fracturing options. To ensure the well reference depths are based on the
top connected cell rather than the top completion, the DATU keyword provides the option TOPL to be used as
alternative to TOPC.

17.40. Improved Well Fracturing Model 1777


Tempest MORE Help, Release 8.1

17.41 Well Management

The simulator allows you to apply a flexible well management strategy. Fluid production and injection can be
controlled at the individual well level or at the group (and field) level. When well and group constraints are
violated, remedial actions will be carried out.
Group (and field) level control is applied at the end of a timestep. For individual wells, a well TEST keyword
enables you to check if wells that have been shut-in due to constraint violations can be reopened.

Note: In MORE 6 the default is not to re-test wells: TEST is required to turn on well testing.

Group Definition

Wells in a group are specified using the GROUP keyword. To determine the production and injection from a
pattern, a fraction of a well can be assigned to a group. Wells can belong to more than one group. However, you
must be aware that adding production and injection from the individual groups can lead to a higher total than the
field.
The following two examples illustrate the specification of groups in the simulator.
This example assigns wells N-01, N-03, N-08, N-10 and N-11 to a group named FS#2:

GROUP FS#2 N-01 N-03 N-08 N-10 N-11

This example defines a group named PILOT with 5 wells:

GROUP PILOT 533 534 536 438 500

The group starting with the four letters DRIL is special, and contains wells to be drilled (see Notes below) as
the need arises. GROUP ALL contains all the wells listed in the other groups and hence can be considered as a
GROUP containing all the wells in the field.
Normally in MORE, groups are sets of wells with no particular hierarchy. However, is is possible to set up a
hierarchy using the PARENT keyword. This allows a group to be a member of another group. This allows a
hierarchical control pattern to be set up similar to that described by Holmes in1 .

Group Control Specification

Group controls for production wells can be specified using the GLIM keyword or the GPLIM event. For injection
wells the ILIM keyword or the GILIM event can be used.
Two types of limits can be specified:
• rate limits,
• ratio limits (valid only for producers),
Limit options: when a group limit is violated, a remedial action takes place. By using the options MIN or MAX
both limit types can be defined as
• minimum limit - action triggered if actual value falls below limit value
• maximum limit - action triggered if actual value rises above limit value
It is also possible to turn a rate type limit into a group target using using the option HOLD. The HOLD option
defines a continuous adjustment of the group to meet a rate target.
Possible remedial actions include:
1 Holmes, J.A., Enhancements to the Strongly Coupled, Fully Implicit Well Model: Crossflow and Collective Well Control, SPE 12259, 7th

Symposium on Reservoir Simulation, San Francisco, 1983

1778 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Action Description
BOOST boost by a factor
CUTB cut back by a factor
DRIL open well from drilling queue
REDE redefine member wells
SHUT shut all wells in the group
STIM stimulate wells in the group
STOP stop run
WORK workover wells in the group
Please consult the keyword (GLIM, ILIM) or event (GPLIM, GILIM) help pages for applicable actions.
The DRIL action searches the drilling queue for a well belonging to the group and drills the well. Only one well
is drilled at a time. The drill queue must be set up before any drill actions can be performed.
The REDE action applies a redefinition which needs to be set up using either the GRED keyword or the GPRED,
GIRED events.
The STIM action revises the well index values of the wells in the group according to input specified on the STIM
well sub keyword. The wells in the group are stimulated one at a time until there is no violation or all possible
wells have been stimulated.
The WORK action supports three options to select the type of workover:
• WRKS - Shut the worst well in the group
• WRKA - Workover all the wells in the group
• WRKW - Workover the worst well in the group
A well is worked over by plugging zones one at a time until there is no violation or only one zone is open.

Control Specification for Individual Wells

The controls discussed in the previous section can be specified for individual wells using the WLIM keyword or
the PLIM, ILIM events.

Using Guide Rates and Subgroup Targets

When a group has a rate target, normally all the wells in that group are available to assist in meeting that target. If
the wells are under individual control and the group is not meeting any of its targets, no action is taken. However,
if the group rate exceeds the target, then some wells will be placed under collective control: that is, controlled
by the group. Some wells will generally remain under individual control, for example, bottom hole pressure, top
hole pressure of well rate limits and the remaining group production or injection will be distributed between the
collectively controlled wells. The division will be made on the basis of the guide rates for each well.
In MORE the default is to use the total completion connection factor for each well to define a guide rate, although
potential based guide rates may be selected using the GTAR keyword. The actual value of the guide rate is not too
important, but the fractional value is.
For a group with a target rate of T for which the individually controlled wells are producing a total of TI , the
target assigned to collectively controlled well w is

Tw = (T − TI ) · fw
GRw
fw = P
v GRv
P
where v GRv is the sum of the guide rates over all the collectively controlled wells in the group.
It is possible to set the guide rate GR for a well directly, using the WUGR keyword, but for consistency it is often
best to set the guide rates for all the wells in a group.

17.41. Well Management 1779


Tempest MORE Help, Release 8.1

Normally all the wells in a group are available for collective control. However, if a group contains a subgroup and
that subgroup is itself on a group target, it is treated like a well on an individual control and the wells which it
contains are hidden from the parent group.
It is also possible to specify guide rates for sub-groups within a parent group using the GUGR keyword. The
groups are then treated as single entities. Targets will be assigned to such groups in the same way as collective
targets can be assigned to wells in a group.
Specifying guide rates for subgroups allows a predetermined split of a group target between two subgroups.
Suppose a group XX contains just two subgroups, AA and BB: if AA and BB are assigned guide rates of 0.6 and
0.4, any group target will be split between the subgroups in a 60:40 ratio. This assumes that the subgroups are
capable of making those rates; if not, they will be on individual control and just subtract from the required parent
group rate to be distributed.

Recycling of Produced Fluids

A specified fluid stream produced from a group of wells can be reinjected after accounting for any sales and/or
makeup into injectors in the same or another group. The amount of sales and makeup can be controlled by
specifying a target for sales (or makeup) and an upper and lower limit (bounds) for makeup (or sales).

Recycle calculations are performed at the end of every timestep. To obtain the correct composition of the recycle
fluid, the first timestep is repeated. The RECY keyword defines the fluid to be re-injected into an injection group,
GINJ, in terms of the production from a production group, GPROD.
The SALE card allows the user to specify that a fraction or rate of the group production from GPROD is deducted
from the stream available for re-injection. If the recycle stream has excess capacity over that needed for injection
into GINJ, it will be added to the sales stream.

Example Of Recycling with Sales and Makeup

Suppose a study has the following keywords to control production and injection using the recycling option (metric
units)

RECY RGAS ALL ALL GAS


SALE 100 RATE
MAKE 50 RATE
WELL P-1 PRODUCE GAS QLIM=0 PMIN= 100.0
WELL I-1 INJECTS RGAS QLIM=2000 PMAX=2000.0
READ 1 YEAR
WELL P-1 PRODUCE GAS QLIM=1000 PMIN=100.0
READ 2.0 Years /
WELL P-1 PRODUCE GAS QLIM=1200 PMIN=100.0
READ 4.0 Years /
WELL I-1 INJECTS RGAS QLIM= 800 PMAX=2000.0
READ 6.0 Years /

The production from well P-1 is recycled into well I-1, subject to a sales rate of 100 ksm3 /day, but a makeup
(MAKE) gas is available at a rate of 50 ksm3 /day. The injector has an initial target of 2000 ksm3 /day, but this is
subject to the recycling conditions:

1780 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

• Between 0 and 1 year there is no injection: as there is no production, no gas is available.


• Between 1 and 2 years there is injection at a rate of 950 ksm3/day. 1000 ksm3 /day is produced, of which
100 ksm3 /day is sold, leaving 900 ksm3 /day. This is below the injection target of 2000 ksm3 /day, so the
makeup gas is used, resulting in a final injection rate of 950 ksm3 /day.
• Between 2 and 4 years, the injection rate rises to 1150 ksm3 /day, as an extra 200 ksm3 /day is being produced.
• Between 4 and 6 years the injection rate is 800 ksm3 /day. Plenty of recycle gas is available, but the injector
is controlled by its injection target.

Output of Recycling and Reinjection

In the output from MORE, group values are reported for recycling and reinjection where the recycling rate is
associated with the production group: it is the amount of gas taken from the production stream for recycling.
The reinjection rate is associated with the injection group: it is the amount of injection which originated from
recycling.
As an example, suppose we have injection and production wells in groups XXX and YYY respectively, with parent
groups FXXX and FYYY

GROUP XXX i-1


GROUP YYY p-1

PARE XXX FXXX


PARE YYY FYYY

RECYCLE PRDG YYY XXX GAS

Then the recycle total is reported in groups YYY, FYYY and ALL (as illustrated in the following figure).

whilst the reinjection total is reported in XXX, FXXX and ALL (as illustrated in the following figure).

Setting up the Drill Queue

The drill queue is the group with name DRIL. If drill actions are to be performed then the group DRIL and all its
member wells must be defined at the start of the simulation (time 0). For each well in the drill queue, the definition
must include the producer/injector status, completions/perforations, and a BHP target, which are all subsequently
used when the well is drilled.
The example below demonstrates a basic set up of the drill queue:

17.41. Well Management 1781


Tempest MORE Help, Release 8.1

GROUP GCONTROL P-1 P-2 P-3 -- set up the control group


GROUP DRIL P-1 P-2 -- add wells to be drilled to the drill queue

EFOR 'DAYS'
ETAB

-- define controls for group GCONTROL


GCONTROL
100 GPLIM OIL 1800 DRIL MIN -- drill when group oil production rate falls
,→below 1800

-- setup wells for the drill queue at start time


P-1
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 2000.00
0 BHPT 68.9475

P-2
0 PROD
0 PERF 2537.46 2587.46 0.1520 0.0 1.0
0 OPT 5000.00
0 BHPT 68.9475

-- setup other wells


P-3
10 PROD
10 PERF 2537.46 2587.46 0.1520 0.0 1.0
10 OPT 5000.00
10 BHPT 68.9475
ENDE

READ 10 YEARS -- Run simulation to 10 years

By default, wells are drilled sequentially in the order they are defined in the group receiving the drill action.
However, the DPRIO event may be used to request that wells are drilled in decreasing order of their drilling
priority.
By default, drilled wells that are subsequently shut are removed from the drill queue. However, the DRIL keyword
may be used to allow wells to be re-opened (or re-drilled) after they have be shut.

1782 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

17.42 Well Index Calculations

In MORE, a well index can be supplied directly, or calculated internally, using one of several options for vertical
or horizontal wells. For deviated wells, the total well index for each completion must be supplied.
The different options for well index processing are discussed under the ZONE well sub keyword. The following
discussion presents the well index calculation methods used in the simulator.
Regardless of the grid configuration, well rates and pressures are related using the following basic well correlation

qil = λil WIl (pl − pbh )

where
• qil is the molar production rate of component i from completion l
• λil is the molar mobility of component i in completion l. For an injection well, the total molar mobility
times the injected fluid composition is used.
• WIl is the well index for completion l
• pl is the pressure of completion l (converted to datum)
• pbh is the bottom hole pressure of the well
By default, the datum depth is set by the DATU keyword. However, individual well reference depths can also be
set using the DREF keyword or event.
The well index is given by the following general expression
kl hl fl
WIl = Θ
ln(rol /rw ) + Sl
where
• Θ is π2 , π or 2π for Cartesian grid corner, edge and interior wells, respectively. For radial grids, Θ is the
included angle in radians.

• kl is k1 k2 for completion l, k1 and k2 are permeabilities in the principal directions perpendicular to the
well
• hl is the thickness of completion l
• fl is the zonal multiplier for completion l
• rol is the well block equivalent radius for completion l
• rw is the well bore radius
• Sl is the skin value for completion l
The well index has units of md-ft (field) or md-m (metric). It is, however, common to define the cell connection
factor (CCF) in terms of default ECLIPSE units, cP×rb/day/psi (field) or cP×rm3 /day/bars (metric). The CCF is
related to the well index WI by

CCF = Cdarcy × W I

where Cdarcy =0.001127 (field) or Cdarcy =0.008527 (metric).

Vertical Wells in 2D and 3D Cartesian Systems

For these systems, Peaceman gives an expression for the well block equivalent radius. His formula is valid for
rectangular grid blocks and conventional 5-point differences in 2D or 7-point differences in 3D when the principal
permeability axes are aligned with the grid. Under these conditions, the well block equivalent radius is given by
 p p 1/2
∆X 2 ky /kx + ∆Y 2 kx /ky
ro = f (α)
(ky /kx )1/4 + (kx /ky )1/4

17.42. Well Index Calculations 1783


Tempest MORE Help, Release 8.1

where
p
• α = (∆Y /∆X) kx /ky
• f (α) = 0.28073 for point centred 5-point grids and interior wells in block centred grids
 
• f (α) = 0.28073 · exp arctan(α)
α for edge wells, block centred grids

• f (α) = 0.28073 · exp 12 [1 + π α2 + α1 − α arctan(α)] for corner wells, block centred grids
 

For edge and corner wells in block centred grids, the exponential correction terms are applied only for vertical
wells. This well model works best if the first two grid intervals next to the well are uniformly rectangular and the
permeabilities are nearly constant. Well correction may be turned off using the WCOR keyword.

Horizontal Wells in 2D and 3D Cartesian Systems

For horizontal wells in 3D, the simulator uses the same formula used for vertical wells. For example, for a
horizontal well completed in the x-direction, the well block equivalent radius is calculated using the expression
above, except kx is replaced by kz and ∆X is replaced by ∆Z.
The accuracy of the well correlation will be poor if the grid sizes and permeabilities vary substantially for the
first few intervals around the well. This fact should be considered when designing a grid for horizontal well
calculations.
A horizontal well in the missing direction (y-direction) of a 2D cross section is analogous to a vertical well in a
2D areal system, so the same calculation procedure is used. A horizontal well in the x-direction of a 2D cross
section is treated like a vertical well in a cross section.
If a horizontal well is specified for a 2D areal system, the well index is calculated using the same procedure as for
vertical wells in a 2D cross section.

Well Trajectories and Completions

Most wells are initially defined by a trajectory in real xyz-space, which corresponds to a Measured Depth dMD
along the trajectory from some reference point such as drilling platform. If this reference point of (x0 , y0 , z0 ) is
assigned the Measured Depth dMD (x0 , y0 , z0 ) = 0, then at any subsequent point along the trajectory, the dMD is
given by
q
dMD (x, y, z) = dMD (xp , yp , zp ) + (x − xp )2 + (y − yp )2 + (z − zp )2

where (xp , yp , zp ) is the predecessor of (x, y, z).

Note: The z-position is usually called the True Vertical Depth (TVD).

It is therefore sufficient to supply MORE with a trajectory in the following format

wellAB2
-- X Y Z(TVD) MD
695508.000 7712850.000 2024.830 0.0
695508.000 7712847.000 2033.070 1*
695508.000 7712850.000 2042.850 1*
695509.000 7712848.000 2052.650 1*

This data can be included in the RECU section of MORE by using the TFIL or TTAB keywords.
Completion intervals can then be defined for this well with respect to the MD interval using the WELL sub-keyword
COMP. For the example trajectory above, the well specification would look something like the following

1784 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

WELL wellAB2 PROD LIQU Q=0.0 PMAX=650.0


COMP wellAB2 2028.0 2035.0 0.09 -2.5 /
COMP wellAB2 2041.0 2049.0 0.09 0.0 /

in which two intervals have been defined between Measured Depths of 2028 and 2035, 2041 and 2049 m, both
having a radius of 0.09 m and the first having a skin of -2.5, the second a skin of 0.0.
As wells are re-completed with time, the COMP keywords for a particular well maybe re-specified any number of
times during the RECU section.
Internally, MORE will compute which cells are intersected by the user-specified well trajectory, as illustrated in
the following figure.

Once it is known within which cells the well trajectory lies, its direction which may be made up of one or more
segments is projected onto the 3 surfaces of the cell defined by the cell mid-points. Thus contributions of the
path length along these surfaces are computed, the direction cosines, which are then used in a generalised form
of the well index calculations discussed previously to compute Completion Connection Factors (CCFs) for well
segments which are designated as open completions by the COMP keyword.

Fractured Completions

With CIJK a fractured completion may be specified using the FX or FY options, for a fracture running across the
cell in the x or y direction. In the FX case, the fracture runs in the x-direction across a grid block. The area for
the flow is Dx · Dz and the distance the fluid must travel into the well is Dy /4 on average. Allowing for the two
sides on the fracture the completion connection factor becomes
CD · 8 · Ky · Dx · Dz
CF X =
Dy + (4/π · S · Dx )

17.42. Well Index Calculations 1785


Tempest MORE Help, Release 8.1

In the FY case the equivalent expression is


CD · 8 · Kx · Dy · Dz
CF Y =
Dx + (4/π · S · Dy )

D-Factors for Wells

For most purposes in reservoir simulation Darcy’s law is perfectly adequate. Flow is a simple linear function of
pressure difference. However, near wells it is possible for gas to flow sufficiently quickly that non-Darcy effects
appear, and the rate flow is rather less than a linear dependence on the pressure gradient would suggest. This is
due to the effect of inertial terms in the Navier-Stokes equation: the gas is accelerated and decelerated as it passes
through the tortuous pore space. The effect is similar to turbulence, and has the effect of impeding the flow.
Traditionally, non-Darcy effects in gas flow near wells are treated with a D-factor – an additional rate dependent
skin term.
The calculation of completion connection factors was discussed in the Horizontal Wells in 2D and 3D Cartesian
Systems section. These calculations generally include a skin factor S. In the presence of a D-factor we add an
additional term to the skin factor of D · qg , where qg is the gas flow at surface conditions.
The expression for the well index from above is of the form
K ·h
WI = Θ
ln(ro /rw ) + S
with Θ = 2π for the usual case where no edge correction is applied.
In the presence of a D-factor, the well index becomes
K ·h
WI = Θ
ln(ro /rw ) + S + D · qg
where qg is the flow rate of gas (as a surface rate). However, this gas flow rate itself depends on the well index as

qg = Mgg · Pdd · WI
K ·h
= Mgg · Pdd · Θ
ln(ro /rw ) + S + D · qg
K · h · Fq
= Mgg · Pdd · Θ = Fq · qg0
ln(ro /rw ) + S
where
• Mgg is the mobility of gas in the reservoir gas phase.
• Pdd is the drawdown into the well.
• qg0 is the expected flow in the absence of a D-factor.
• Fq is a modification factor of the form
ln(ro /rw ) + S 1
Fq = =
ln(ro /rw ) + S + D · qg 1 + f · qg
with
D
f=
ln(ro /rw ) + S
The final condition on the gas flow is therefore
qg0
qg =
1 + f · qg
This can be re-expressed as

f · qg2 + qg − qg0 = 0

1786 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

This is a simple quadratic condition which enables qg , the gas flow in the presence of a D-factor, to be obtained
in terms of qg0 , the gas flow in the absence of a D-factor.
The gas flow in the absence of the D-factor, qg0 , is a function of the gas phase mobility in the reservoir. The
D-factor is only applied to flow in the reservoir gas phase; the oil and water phases do not flow sufficiently fast
to show non-Darcy effects. However, the D-factor is normally measured in terms of the surface gas rate, so the
mobility of surface gas in the reservoir gas phase is used; gas which flows into the well dissolved in oil is not
included in the calculation.
In the compositional case this simple approach is not possible: the surface gas rate depends on the separator
conditions at surface. In this case we use the reservoir gas phase flow rate, converted to an ideal gas flow rate at
surface conditions. The same is done with steam in the thermal case: the gas rate used in the D-factor calculation
is a molar rate converted to an ideal gas flow rate at surface conditions.
For injectors, the rate of injection is controlled by the voidage mobility in the injection cell. In this case, the
flow correction factor is obtained from the gas mobility exactly as before, but is applied only to the gas phase
component of the voidage mobility, which becomes

Mv = Mvo + Fq · Mvg + Mvw

MORE also contains more advanced inflow equations for modelling gas wells, these are described in more detail
in Gas Pseudo-Pressure.

17.42. Well Index Calculations 1787


Tempest MORE Help, Release 8.1

17.43 Obtaining Skin and D-factor from A and B Coefficient Well


Test Data

The testing of a well, or sections of a well, can be used to obtain a relationship between the well to reservoir
pressure difference and the linear and quadratic terms in the gas flow rate, that is:

Pr2 − Pw2 = Aqg + Bqg2 ,

where Pr and Pw are the reservoir and well pressures, and qg is the gas flow rate in surface volume terms.
We wish to use these coefficients to define the well skin and D-factor. The required relationship is derived below.

Derivation of Relationship

Darcy flow

For Darcy flow, the gas flow rate qgD into a well at some radius r reads

2πrKh dP
qgD = · ,
Bg µg dr
where
• K and h are the inflow permeability and interval length
• µg is the gas phase viscosity
• Bg is the gas formation volume factor, given by:
Bg = hreservoir volume gasi/hsurface volume gasi .
From the real gas law, gas volume is v = nRT Z/P , so Bg = Cv (Z/P )/(Zsc /Psc ) where ‘sc’ indicates surface
conditions and Z(P ) is the gas z-factor and Cv is the unit conversion factor from surface to reservoir volume units
(e.g. Cv = 1000 sm3/ksm3 for metric units). With Zsc = 1, Bg = Cv ZPsc /P , and so
2πrKhP dP
qgD = · ,
µg Cv ZPsc dr
which can be re-arranged to give
dP µg Cv ZPsc D
= · qg .
dr 2πrKhP
Let φ ≡ P 2 , so dφ/dr = dφ/dP · dP/dr = 2P dP/dr and we get
dφ µg Cv ZPsc D
= · qg .
dr πrKh
If we assume that the gas properties Z and µg are approximately constant, this can be integrated between the
wellbore radius rw and the block equivalent radius rr (at which P = Pr ) to obtain
µg Cv ZPsc
φr − φw = Pr2 − Pw2 = · [log(rr ) − log(rw )] qgD ,
πKh
which yields an expression for the flow into a well completion
Pr2 − Pw2
qgD = ccfD · , (17.30)
2µg Cv ZPsc
where the term

ccfD ≡ 2πKh/ [log(rr ) − log(rw )]

is the usual completion connection factor.

1788 Chapter 17. Tempest MORE Technical Reference


Tempest MORE Help, Release 8.1

Non-Darcy flow

Non-Darcy effects are commonly taken into account in the gas flow rate qg through skin and rate-dependent skin
constants S and D, while retaining formal analogy to eq. (17.30):
Pr2 − Pw2
qg = ccf · ,
2µg Cv ZPsc
where

ccf ≡ 2πKh/ [log(rr ) − log(rw ) + S + Dqg ] .

Although a single ccf value is normally associated with a single completion, if we can assume the ccf denominator
and the quadratic drawdown are constant across an entire well or a range of completions, then a relationship is
obtained for the well flow
P 2 − Pw2
P
k 2πKk hk
qgw = · r ,
log(rr ) − log(rw ) + S + Dw qg 2µg Cv ZPsc
where the D-factor is now in terms of the flow for the whole well and the sum is over completions. With N =
2 2
P
k 2πKk hk the sum of ccf numerators, this may be re-arranged to provide an expression for Pr − Pw :

Pr2 − Pw2 = qg [log(rr ) − log(rw ) + S + Dw qg ] · 2µg Cv ZPsc /N .

Comparing this with the original expression

Pr2 − Pw2 = Aqg + Bqg2 ,

it is possible to identify A and B as:

A = [log(rr ) − log(rw ) + S] · 2µg Cv ZPsc /N

B = 2Dw µg Cv ZPsc /N
These relationships may be inverted to obtain expressions for S and D:

S = AN/(2µg Cv ZPsc ) − log(rr /rw )

Dw = BN/(2µg Cv ZPsc ) .
So if the basic completion geometry (rw , K, h..) is known the skin and D-factor values may be obtained from A
and B.
Note that the D-factor for a well w and for a completion k are related by the requirement that

Dw qgw ≈ Dk qg

so that the completion D-factor is


!,
X
Dk ≈ Dw qgw /qg ≈ Dw ccfk0 ccfk .
k0

Limitations of Model

The derivation above follows that of the Russell-Goodrich inflow model, in which gas expansion is modelled using
a constant Z-factor expression. In particular, the derivation assumes constant Kh, µg , and Bg from the well radius
rw to the constant pressure radius rr .
In practice, the constant pressure radius may be quite large, and these assumptions may not be valid. In particular,
the default implementation of the ABC event assumes that the constant pressure radius may be approximated by
the well block equivalent radius ro , as derived by the Peaceman formula. For small grid cells this approximation
is unlikely to be correct and may lead to significant errors.

17.43. Obtaining Skin and D-factor from A and B Coefficient Well Test Data 1789

S-ar putea să vă placă și