Identify Additional IWEL and SWEL Items
In particular, add entries from WECON, WGRUPCON and, WVFPEXP and fix an incorrect item attribution for the WTEST 'reason' parameter. Thanks to [at]tskille for invaluable assistance in identify these items.
This commit is contained in:
@@ -39,15 +39,64 @@ namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems
|
||||
Status = 10, // Well status
|
||||
VFPTab = 11, // ID (one-based) of well's current VFP table.
|
||||
|
||||
EconWorkoverProcedure = 14, // Economic limit workover procedure (WECON(7)).
|
||||
// 0 => No action taken ("NONE"),
|
||||
// 1 => Close worst-offending connection ("CON"),
|
||||
// 2 => Close worst-offending connection and
|
||||
// all other connections below this ("+CON"),
|
||||
// 3 => Shut/stop well ("WELL"),
|
||||
// 6 => Plug well ("PLUG").
|
||||
|
||||
PreferredPhase = 15, // Well's preferred phase (from WELSPECS)
|
||||
|
||||
item18 = 17, // Unknown
|
||||
XFlow = 22,
|
||||
item25 = 24, // Unknown
|
||||
item32 = 31, // Unknown
|
||||
WTestCloseReason = 39,
|
||||
WTestConfigReason = 42,
|
||||
WTestRemaining = 45,
|
||||
|
||||
XFlow = 22, // Whether or not well supports cross flow.
|
||||
// 0 => Cross flow NOT supported
|
||||
// 1 => Cross flow IS supported.
|
||||
|
||||
WGrupConControllable = 24, // Well controllable by group (WGRUPCON(2))
|
||||
// -1 => YES, 0 => NO
|
||||
|
||||
EconLimitEndRun = 29, // Whether or not to end simulation run at next report time
|
||||
// if well is shut or stopped for any reason (WECON(8)).
|
||||
// 0 => No, 1 => Yes.
|
||||
|
||||
item32 = 31, // Unkown
|
||||
|
||||
WGrupConGRPhase = 32, // Phase to which well's guiderate applies (WGRUPCON(4))
|
||||
// 0 => None/defaulted,
|
||||
// 1 => Oil,
|
||||
// 2 => Water,
|
||||
// 3 => Gas,
|
||||
// 4 => Liquid,
|
||||
// 5 => Surface flow rate of injecting phase (injectors only),
|
||||
// 6 => Reservoir fluid volume rate.
|
||||
|
||||
WTestCloseReason = 39, // Dynamic reason for closing a well
|
||||
// 0 => Flowing or manually SHUT/STOPped
|
||||
// 3 => Well closed for Physical reasons (P)
|
||||
// 5 => Well closed for Economic reasons (E)
|
||||
// 6 => Well closed for Group/Field reasons (G)
|
||||
// 9 => Well closed for THP design limit (D)
|
||||
|
||||
WTestConfigReason = 40, // Which checks to perform when deciding to
|
||||
// close a well in WTEST (WTEST(3)).
|
||||
//
|
||||
// Product of prime factors representing individual reasons.
|
||||
// 2 => Physical (P),
|
||||
// 3 => Economic (E),
|
||||
// 5 => Group or Field (G),
|
||||
// 7 => THP design limit (D),
|
||||
// 11 => Test connections individually (C).
|
||||
//
|
||||
// Example: PEG = 2 * 3 * 5 = 30
|
||||
// PEGDC = 2 * 3 * 5 * 7 * 11 = 2310
|
||||
|
||||
WTestRemaining = 45, // Remaining number of times well can be tested (WTEST(4)).
|
||||
// 0 => Unlimited number of tests
|
||||
// >0 => Well can be tested at most this many more times
|
||||
|
||||
item48 = 47, // Unknown
|
||||
|
||||
HistReqWCtrl = 49, // Well's requested control mode from
|
||||
@@ -55,6 +104,16 @@ namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems
|
||||
|
||||
LiftOpt = 53, // Well's lift gas injection to be calculated by optimisation or not
|
||||
|
||||
THPLookupVFPTable = 54, // How to look up VFP table values for THP controlled wells
|
||||
// (WVFPEXP(2)). 0 => Implicit, 1 => Explicit.
|
||||
|
||||
EconLimitQuantity = 55, // Quantity to which well's economic limits apply (WECON(10))
|
||||
// 0 => Well's flow rate ("RATE")
|
||||
// 1 => Well's potential flow rates ("POTN")
|
||||
|
||||
EconWorkoverProcedure_2 = 66, // Secondary economic limit workover procedure (WECON(12)).
|
||||
// Usually just a copy of EconWorkoverProcedure.
|
||||
|
||||
MsWID = 70, // Multisegment well ID
|
||||
// Value 0 for regular wells
|
||||
// Value 1..#MS wells for MS wells
|
||||
@@ -76,9 +135,23 @@ namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems
|
||||
// = 2 for MSW wells and DF (WELSEGS item 7)
|
||||
|
||||
|
||||
CloseWellIfTHPStabilised = 86, // Whether or not to close well
|
||||
// if operating in "stabilised"
|
||||
// part of VFP curve (WVFPEXP(3))
|
||||
// 0 => No, 1 => Yes
|
||||
|
||||
PreventTHPIfUnstable = 93, // Whether or not to prevent well
|
||||
// changing from rate control to THP
|
||||
// control if constrained to operate
|
||||
// on unstable side of VFP curve.
|
||||
// WVFPEXP(4).
|
||||
// 0 => No,
|
||||
// 2 => YES1,
|
||||
// 3 => YES2.
|
||||
|
||||
CompOrd = 98, // Well's completion ordering scheme.
|
||||
|
||||
LiftOptAllocExtra = 144
|
||||
LiftOptAllocExtra = 144,
|
||||
};
|
||||
|
||||
namespace Value {
|
||||
@@ -147,6 +220,61 @@ namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems
|
||||
Auto = 3,
|
||||
};
|
||||
|
||||
namespace WGrupCon {
|
||||
enum Controllable : int {
|
||||
Yes = -1,
|
||||
No = 0,
|
||||
};
|
||||
|
||||
enum GRPhase : int {
|
||||
Defaulted = 0,
|
||||
Oil = 1,
|
||||
Water = 2,
|
||||
Gas = 3,
|
||||
Liquid = 4,
|
||||
SurfaceInjectionRate = 5,
|
||||
ReservoirVolumeRate = 6,
|
||||
};
|
||||
} // namespace WGrupCon
|
||||
|
||||
namespace WVfpExp {
|
||||
enum Lookup : int {
|
||||
Implicit = 0,
|
||||
Explicit = 1,
|
||||
};
|
||||
|
||||
enum class CloseStabilised : int {
|
||||
No = 0,
|
||||
Yes = 1,
|
||||
};
|
||||
|
||||
enum class PreventTHP : int {
|
||||
No = 0,
|
||||
Yes1 = 2,
|
||||
Yes2 = 3,
|
||||
};
|
||||
} // namespace WVfpExp
|
||||
|
||||
namespace EconLimit {
|
||||
enum WOProcedure : int {
|
||||
None = 0, // NONE
|
||||
Con = 1, // CON
|
||||
ConAndBelow = 2, // +CON
|
||||
StopOrShut = 3, // WELL
|
||||
Plug = 6, // PLUG
|
||||
};
|
||||
|
||||
enum EndRun : int {
|
||||
No = 0, // Run continues if well shut/stopped
|
||||
Yes = 1, // Run terminates if well shut/stopped
|
||||
};
|
||||
|
||||
enum Quantity : int {
|
||||
Rate = 0, // Apply limits to actual flow rates ("RATE")
|
||||
Potential = 1, // Apply limits to potential flow rates ("POTN")
|
||||
};
|
||||
} // namespace EconLimit
|
||||
|
||||
} // Value
|
||||
} // IWell
|
||||
|
||||
@@ -165,13 +293,25 @@ namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems
|
||||
DatumDepth = 9, // Well's reference depth for BHP
|
||||
Alq_value = 10, // Well's artificial lift quantity
|
||||
|
||||
DrainageRadius = 17, // Well's drainage radius - item 7 from WELSPECS
|
||||
EfficiencyFactor1 = 24, // Item2 from WEFAC; this value is repeated at two locations.
|
||||
EfficiencyFactor2 = 31, // Item2 from WEFAC
|
||||
WTestInterval = 32,
|
||||
EconLimitMinOil = 12, // Well's minimum oil production rate economic limit (WECON(2))
|
||||
EconLimitMinGas = 13, // Well's minimum gas production rate economic limit (WECON(3))
|
||||
EconLimitMaxWct = 14, // Well's maximum water cut economic limit (WECON(4))
|
||||
EconLimitMaxGor = 15, // Well's maximum gas/oil ratio economic limit (WECON(5))
|
||||
|
||||
DrainageRadius = 16, // Well's drainage radius (WELSPECS(7))
|
||||
|
||||
WGrupConGuideRate = 17, // Well's guide rate (WGRUPCON(3))
|
||||
|
||||
EconLimitMaxWgr = 18, // Well's maximum water/gas ratio economic limit (WECON(6))
|
||||
|
||||
EfficiencyFactor1 = 24, // Well's efficiency factor (WEFAC(2))
|
||||
|
||||
EfficiencyFactor2 = 31, // Well's efficiency factor (WEFAC(2), copy of EfficiencyFactor1)
|
||||
WTestInterval = 32, // Well's WTEST interval (WTEST(2))
|
||||
HistLiqRateTarget = 33, // Well's historical/observed liquid
|
||||
// rate target/limit
|
||||
WTestStartupTime = 39,
|
||||
|
||||
WTestStartupTime = 39, // Well's WTEST startup time (WTEST(5))
|
||||
|
||||
HistGasRateTarget = 54, // Well's historical/observed gas rate
|
||||
// target/limit
|
||||
@@ -182,7 +322,14 @@ namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems
|
||||
LOmaxRate = 56, // Well's maximum lift gas rate
|
||||
LOweightFac = 57, // Well's wighting factor for preferential allocation of lift gas
|
||||
LOminRate = 67, // Well's mimimum lift gas rate
|
||||
LOincFac =115,
|
||||
|
||||
EconLimitMaxWct_2 = 71, // Well's secondary maximum water cut economic limit (WECON(11)).
|
||||
|
||||
EconLimitMinLiq = 82, // Well's minimum liquid production rate economic limit (WECON(14)).
|
||||
|
||||
WGrupConGRScaling = 84, // Guide rate scaling factor (WGRUPCON(5))
|
||||
|
||||
LOincFac = 115,
|
||||
|
||||
TracerOffset = 122, // Tracer data start at this index
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user