diff --git a/opm/simulators/utils/PartiallySupportedFlowKeywords.cpp b/opm/simulators/utils/PartiallySupportedFlowKeywords.cpp index 06c04f140..5c9e0dada 100644 --- a/opm/simulators/utils/PartiallySupportedFlowKeywords.cpp +++ b/opm/simulators/utils/PartiallySupportedFlowKeywords.cpp @@ -35,28 +35,22 @@ partiallySupported() { "BRANPROP", { - {5,{false, allow_values {"NONE"}, "BRANPROP(ALQ-DEN): option is not supported and should be defaulted (1*)"}}, // ALQ_SURFACE_DENSITY - }, - }, - { - "COMPORD", - { - {2,{true, allow_values {"DEPTH", "INPUT", "TRACK"}, "COMPORD(COMPORD): should equal DEPTH INPUT or TRACK – will STOP"}}, // ORDER_TYPE + {5,{true, allow_values {"NONE"}, "BRANPROP(ALQ-DEN): option is not supported. Default is supported."}}, // ALQ_SURFACE_DENSITY }, }, { "EDITNNC", { - {12,{false, allow_values {}, "EDITNNC(FACE1): not supported use 1* - will continue"}}, // FACE_FLOW12 - {13,{false, allow_values {}, "EDITNNC(FACE2): not supported use 1* - will continue"}}, // FACE_FLOW21 + {12,{true, allow_values {"NONE"}, "EDITNNC(FACE1): not supported use default."}}, // FACE_FLOW12 + {13,{true, allow_values {"NONE"}, "EDITNNC(FACE2): not supported use default."}}, // FACE_FLOW21 }, }, { "EHYSTR", { - {5,{true, allow_values {"KR", "PC", "BOTH"}, "EHYSTR(HYSTOPT): relative permeability hysteresis option should equal BOTH, KR, or PC – will STOP"}}, // limiting_hyst_flag - {6,{true, allow_values {"RETR"}, "EHYSTR(HYSTSCAN): only RETR supported – will STOP"}}, // shape_cap_press_flag - {7,{false, allow_values {}, "EHYSTR(HYSTMOB): mobility option not supported and is ignored"}}, // init_fluid_mob_flag + {5,{true, allow_values {"KR", "PC", "BOTH"}, "EHYSTR(HYSTOPT): relative permeability hysteresis option should equal BOTH, KR, or PC"}}, // limiting_hyst_flag + {6,{true, allow_values {"RETR"}, "EHYSTR(HYSTSCAN): only RETR supported"}}, // shape_cap_press_flag + {7,{false, allow_values {"DRAIN"}, "EHYSTR(HYSTMOB): mobility option not supported and is ignored"}}, // init_fluid_mob_flag {8,{false, allow_values {"OIL"}, "EHYSTR(HYSTWET): only OIL supported value is ignored"}}, // wetting_phase_flag {9,{false, allow_values {"NO"}, "EHYSTR(HYBAKOIL): not used and is ignored"}}, // baker_flag_oil {10,{false, allow_values {"NO"}, "EHYSTR(HYBAKGAS): not used and is ignored"}}, // baker_flag_gas @@ -66,24 +60,24 @@ partiallySupported() { "ENDSCALE", { - {1,{false, allow_values {"NODIR"}, "ENDSCALE(DIRECT): only default value of NODIR supported"}}, // DIRECT - {2,{false, allow_values {"REVERS"}, "ENDSCALE(IRREVERS): only default value of REVERS supported"}}, // IRREVERS + {1,{true, allow_values {"NODIR"}, "ENDSCALE(DIRECT): only default value of NODIR supported"}}, // DIRECT + {2,{true, allow_values {"REVERS"}, "ENDSCALE(IRREVERS): only default value of REVERS supported"}}, // IRREVERS }, }, { "EQLOPTS", { - {1,{false, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported – value ignored"}}, // OPTION1 - {2,{false, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported – value ignored"}}, // OPTION2 - {3,{false, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported – value ignored"}}, // OPTION3 - {4,{false, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported – value ignored"}}, // OPTION4 + {1,{true, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported"}}, // OPTION1 + {2,{true, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported"}}, // OPTION2 + {3,{true, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported"}}, // OPTION3 + {4,{true, allow_values {"THPRES"}, "EQLOPTS(MOBILE/QUIESC/IRREVER): options not supported"}}, // OPTION4 }, }, { "FOAMOPTS", { - {1,{false, allow_values {"GAS"}, "FOAMOPTS(FOAMOPT1): only the default option of GAS is supported – value ignored"}}, // TRANSPORT_PHASE - {2,{false, allow_values {"TAB"}, "FOAMOPTS(FOAMOPT2): only the default option of TAB is supported – value ignored"}}, // MODEL + {1,{true, allow_values {"GAS"}, "FOAMOPTS(FOAMOPT1): only the default option of GAS is supported"}}, // TRANSPORT_PHASE + {2,{true, allow_values {"TAB"}, "FOAMOPTS(FOAMOPT2): only the default option of TAB is supported"}}, // MODEL }, }, { @@ -103,36 +97,36 @@ partiallySupported() { "GCONPROD", { - {2,{true, allow_values {"NONE", "FLD", "ORAT", "WRAT", "GRAT", "LRAT", "RESV"}, "GCONPROD(TARGET): valid option should be NONE/FLD/ORAT/WRAT/GRAT/LRAT or RESV – will STOP"}}, // CONTROL_MODE - {11,{true, allow_values {}, "GCONPROD(ACTWAT): water violation procedure not implemented – will STOP"}}, // WATER_EXCEED_PROCEDURE - {12,{true, allow_values {}, "GCONPROD(ACTGAS): gas violation procedure not implemented – will STOP"}}, // GAS_EXCEED_PROCEDURE - {13,{true, allow_values {}, "GCONPROD(ACTLIQ): liquid violation procedure not implemented – will STOP"}}, // LIQUID_EXCEED_PROCEDURE - {21,{false, allow_values {}, "GCONPROD(COMBPROC): linearly combined procedure is not used and should be defaulted (1*) – will continue"}}, // LIN_TARGET_EXCEED_PROCEDURE + {2,{true, allow_values {"NONE", "FLD", "ORAT", "WRAT", "GRAT", "LRAT", "RESV"}, "GCONPROD(TARGET): valid option should be NONE/FLD/ORAT/WRAT/GRAT/LRAT or RESV"}}, // CONTROL_MODE + {11,{true, allow_values {"NONE"}, "GCONPROD(ACTWAT): water violation procedure not implemented, item should be defaulted"}}, // WATER_EXCEED_PROCEDURE + {12,{true, allow_values {"NONE"}, "GCONPROD(ACTGAS): gas violation procedure not implemented, item should be defaulted"}}, // GAS_EXCEED_PROCEDURE + {13,{true, allow_values {"NONE"}, "GCONPROD(ACTLIQ): liquid violation procedure not implemented, item should be defaulted"}}, // LIQUID_EXCEED_PROCEDURE + {21,{true, allow_values {"NONE"}, "GCONPROD(COMBPROC): linearly combined procedure is not used and should be defaulted (1*)"}}, // LIN_TARGET_EXCEED_PROCEDURE }, }, { "GEFAC", { - {3,{true, allow_values {"YES"}, "GEFAC(GRPNETWK): Extended Network Model efficiency NO option not implemented – will STOP"}}, // TRANSFER_EXT_NET + {3,{true, allow_values {"YES"}, "GEFAC(GRPNETWK): Extended Network Model efficiency NO option not implemented"}}, // TRANSFER_EXT_NET }, }, { "GRIDOPTS", { - {1,{true, allow_values {"NO", "YES"}, "GRIDOPTS(TRANMULT): should be set to either NO or YES – will STOP"}}, // TRANMULT + {1,{true, allow_values {"NO", "YES"}, "GRIDOPTS(TRANMULT): should be set to either NO or YES"}}, // TRANMULT }, }, { "GUIDERAT", { - {2,{true, allow_values {"OIL", "LIQ", "GAS", "RES", "NONE"}, "GUIDERAT(PHASE): unsupported option must be OIL LIQ GAS RES or NONE – will STOP"}}, // NOMINATED_PHASE - {9,{true, allow_values {"YES"}, "GUIDERAT(GROPT01): only the default option of YES supported – will STOP"}}, // ALLOW_INCREASE + {2,{true, allow_values {"OIL", "LIQ", "GAS", "RES", "NONE"}, "GUIDERAT(PHASE): unsupported option must be OIL LIQ GAS RES or NONE"}}, // NOMINATED_PHASE + {9,{true, allow_values {"YES"}, "GUIDERAT(GROPT01): only the default option of YES is supported"}}, // ALLOW_INCREASE }, }, { "MISCIBLE", { - {3,{false, allow_values {"NONE"}, "MISCIBLE(MISOPT): only option NONE is supported – value ignored"}}, // TWOPOINT + {3,{true, allow_values {"NONE"}, "MISCIBLE(MISOPT): only option NONE is supported"}}, // TWOPOINT }, }, { @@ -147,68 +141,83 @@ partiallySupported() { "MULTIREG", { - {4,{false, allow_values {"F", "M", "O"}, "MULTIREG(REGION_NAME): must equal to F/M or O"}}, // NOT_DEFINED + {4,{true, allow_values {"F", "M", "O"}, "MULTIREG(REGION_NAME): must equal to F/M or O"}}, // NOT_DEFINED }, }, { "MULTREGP", { - {3,{false, allow_values {"F", "M", "O"}, "MULTREGP(REGION_NAME): must equal to F/M or O"}}, // REGION_TYPE + {3,{true, allow_values {"F", "M", "O"}, "MULTREGP(REGION_NAME): must equal to F/M or O"}}, // REGION_TYPE }, }, { "MULTREGT", { - {6,{false, allow_values {"F", "M", "O"}, "MULTREGT(REGION_NAME): must equal to F/M or O"}}, // REGION_DEF + {6,{true, allow_values {"F", "M", "O"}, "MULTREGT(REGION_NAME): must equal to F/M or O"}}, // REGION_DEF }, }, { "NNC", { - {12,{false, allow_values {}, "NNC(FACE1): not supported use 1* - will continue"}}, // VE_FACE1 - {13,{false, allow_values {}, "NNC(FACE2): not supported use 1* - will continue"}}, // VE_FACE2 + {12,{true, allow_values {}, "NNC(FACE1): not supported use 1*."}}, // VE_FACE1 + {13,{true, allow_values {}, "NNC(FACE2): not supported use 1*."}}, // VE_FACE2 }, }, { "NODEPROP", { - {6,{false, allow_values {}, "NODEPROP(GRPNAME): not used – will continue"}}, // SOURCE_SINK_GROUP - {7,{false, allow_values {}, "NODEPROP(NETTYPE): not used – will continue"}}, // NETWORK_VALUE_TYPE + {6,{true, allow_values {}, "NODEPROP(GRPNAME): not supported use default"}}, // SOURCE_SINK_GROUP + {7,{true, allow_values {}, "NODEPROP(NETTYPE): not supported use default"}}, // NETWORK_VALUE_TYPE + }, + }, + { + "PINCH", + { + {2,{true, allow_values {"GAP"}, "PINCH(PINCHOPT) equal to NOGAP is not supported."}}, }, }, { "RESTART", { - {3,{true, allow_values {}, "RESTART(RSTYPE): restart from SAVE file not supported – will STOP"}}, // SAVEFILE - {4,{true, allow_values {"UNFORMATTED"}, "RESTART(RSFORMAT): restart from SAVE file not supported – will STOP"}}, // SAVEFILE_FORMAT + {3,{true, allow_values {}, "RESTART(RSTYPE): restart from SAVE file not supported"}}, // SAVEFILE + {4,{true, allow_values {"UNFORMATTED"}, "RESTART(RSFORMAT): restart from SAVE file not supported"}}, // SAVEFILE_FORMAT }, }, { "ROCKCOMP", { {1,{true, allow_values {"REVERS", "IRREVERS"}, "ROCKCOMP(ROCKOPT): only the REVERS and IRREVERS options are supported – will STOP"}}, // HYSTERESIS - {3,{false, allow_values {"YES"}, "ROCKCOMP(WATINOPT): only equal to YES is supported"}}, // WATER_COMPACTION + {3,{true, allow_values {"YES", "NO"}, "ROCKCOMP(WATINOPT): only YES and NO are supported"}}, // WATER_COMPACTION {4,{false, allow_values {}, "ROCKCOMP(PORTXROP): transmissibility dependent on porosity model is not supported"}}, // PORTXROP }, }, + { + "ROCKOPTS", + { + {1,{true, allow_values {"PRESSURE"}, "ROCKOPTS: only the PRESSURE options are supported"}}, + {2,{true, allow_values {"NOSTORE"}, "ROCKOPTS: only the NOSTORE options are supported"}}, + {3,{true, allow_values {"PVTNUM", "ROCKNUM"}, "ROCKOPTS: only PVTNUM and ROCKNUM are supported"}}, + }, + }, { "RPTRST", { - {1,{false, allow_values {"ALLPROPS", "BASIC=1", "BASIC=2", "BASIC=3", "BASIC=4", "BASIC=5", "BASIC=6", "DEN", "KRG", "KRO", "KRW", "RSSAT", "RVSAT", "VISC"}, "RPTRST(RPTRST): invalid option or unsupported integer control format – will continue"}}, // MNEMONIC_LIST + {1,{false, allow_values {"ALLPROPS", "BASIC=1", "BASIC=2", "BASIC=3", "BASIC=4", "BASIC=5", "BASIC=6", "DEN", "KRG", "KRO", "KRW", "RSSAT", "RVSAT", "VISC"}, "RPTRST(RPTRST): invalid option or unsupported integer control format"}}, // MNEMONIC_LIST }, }, { "SATOPTS", { - {2,{false, allow_values {"HYSTER"}, "SATOPTS(IRREVERS): reversible directional relative permeability option not supported – value ignored"}}, // IRREVERS - {3,{false, allow_values {"HYSTER"}, "SATOPTS(HYSTER): hysteresis directional relative permeability option not supported - value ignored"}}, // HYSTER - {4,{false, allow_values {"HYSTER"}, "SATOPTS(SURFTENS): capillary pressure surface tension pressure dependency option not supported – value ignored"}}, // SURFTENS + {1,{true, allow_values {"HYSTER", "DIRECT"}, "SATOPTS(IRREVERS/SURFTENS): options not supported"}}, // IRREVERS + {2,{true, allow_values {"HYSTER", "DIRECT"}, "SATOPTS(IRREVERS/SURFTENS): options not supported"}}, // IRREVERS + {3,{true, allow_values {"HYSTER", "DIRECT"}, "SATOPTS(IRREVERS/SURFTENS): options not supported"}}, // IRREVERS + {4,{true, allow_values {"HYSTER", "DIRECT"}, "SATOPTS(IRREVERS/SURFTENS): options not supported"}}, // IRREVERS }, }, { "SPECGRID", { - {5,{true, allow_values {"F"}, "SPECGRID(TYPE): only option F (Cartesian grids supported) supported – will STOP"}}, // COORD_TYPE + {5,{true, allow_values {"F"}, "SPECGRID(TYPE): only option F (Cartesian grids supported) supported"}}, // COORD_TYPE }, }, { @@ -230,79 +239,80 @@ partiallySupported() { "TRACER", { - {4,{false, allow_values {}, "TRACER(SOLPHASE): partitioned tracer model not supported - ignored as not used"}}, // SOLUTION_PHASE - {6,{false, allow_values {}, "TRACER(ADSPHASE): partitioned tracer model not supported - ignored as not used"}}, // ADSORB_PHASE + {1,{true, [](const std::string& val){ return val.size()<=3;}, "TRACER(NAME): Only names of tracers up to 3 characters are supported."}}, + {4,{true, allow_values {}, "TRACER(SOLPHASE): partitioned tracer model not supported use default"}}, // SOLUTION_PHASE + {6,{true, allow_values {}, "TRACER(ADSPHASE): partitioned tracer model not supported use default"}}, // ADSORB_PHASE }, }, { "TRACERS", { - {5,{false, allow_values {"NODIFF"}, "TRACERS(DIFFOPT): numerical diffusion control not implemented. - ignored as not used"}}, // NUMERIC_DIFF - {8,{false, allow_values {"NO"}, "TRACERS(NONLIN): only linear option NO supported – will continue"}}, // PASSIVE_NONLINEAR + {5,{true, allow_values {"NODIFF"}, "TRACERS(DIFFOPT): numerical diffusion control for tracers not implemented."}}, // NUMERIC_DIFF + {8,{true, allow_values {"NO"}, "TRACERS(NONLIN): only linear option NO supported"}}, // PASSIVE_NONLINEAR }, }, { "UDQDIMS", { - {11,{false, allow_values {"N"}, "UDQDIMS(RSEED): option is not supported – value ignored"}}, // RESTART_NEW_SEED + {11,{true, allow_values {"N"}, "UDQDIMS(RSEED): option is not supported use default"}}, // RESTART_NEW_SEED }, }, { "WCONHIST", { - {3,{true, allow_values {"ORAT", "WRAT", "GRAT", "LRAT", "RESV", "BHP"}, "WCONHIST(TARGET): should be set to ORAT/WRAT/GRAT/LRAT/RESV or BHP – will STOP"}}, // CMODE + {3,{true, allow_values {"ORAT", "WRAT", "GRAT", "LRAT", "RESV", "BHP"}, "WCONHIST(TARGET): should be set to ORAT/WRAT/GRAT/LRAT/RESV or BHP"}}, // CMODE }, }, { "WEFAC", { - {3,{true, allow_values {"YES"}, "WEFAC(WELNETWK): only the YES option is supported – will STOP"}}, // EXTENDED_NETWORK_OPT + {3,{true, allow_values {"YES"}, "WEFAC(WELNETWK): only the YES option is supported"}}, // EXTENDED_NETWORK_OPT }, }, { "WELSPECS", { - {8,{true, allow_values {"STD", "NO"}, "WELSPECS(WELNETWK): only the STD and NO options are supported – will STOP"}}, // INFLOW_EQ - {12,{false, allow_values {"SEG"}, "WELSPECS(DENOPT): only the SEG option is supported – will continue"}}, // DENSITY_CALC - {14,{false, allow_values {}, "WELSPECS(STRMLIN1): not used – will continue"}}, // FRONTSIM1 - {15,{false, allow_values {}, "WELSPECS(STRMLIN2): not used – will continue"}}, // FRONTSIM2 - {16,{false, allow_values {"STD"}, "WELSPECS(TYPECOMP): not used – will continue"}}, // well_model + {8,{true, allow_values {"STD", "NO"}, "WELSPECS(WELNETWK): only the STD and NO options are supported"}}, // INFLOW_EQ + {12,{true, allow_values {"SEG"}, "WELSPECS(DENOPT): only the SEG option is supported"}}, // DENSITY_CALC + {14,{true, allow_values {}, "WELSPECS(STRMLIN1): not used and should be defaulted"}}, // FRONTSIM1 + {15,{true, allow_values {}, "WELSPECS(STRMLIN2): not used and should be defaulted"}}, // FRONTSIM2 + {16,{true, allow_values {"STD"}, "WELSPECS(TYPECOMP): not used and should be defaulted"}}, // well_model }, }, { "WELTARG", { - {2,{true, allow_values {"ORAT", "WRAT", "GRAT", "LRAT", "RESV", "BHP", "THP", "VFP", "LIFT", "GUID"}, "WELTARG(TARGET): invalid option – will STOP"}}, // CMODE + {2,{true, allow_values {"ORAT", "WRAT", "GRAT", "LRAT", "RESV", "BHP", "THP", "VFP", "LIFT", "GUID"}, "WELTARG(TARGET): invalid option"}}, // CMODE }, }, { "WGRUPCON", { - {4,{true, allow_values {"OIL", "WAT", "GAS", "LIQ", "RES", "RAT"}, "WGRUPCON(TARGET): only OIL WAT GAS LIQ RES RAT options are supported – will STOP"}}, // PHASE + {4,{true, allow_values {"OIL", "WAT", "GAS", "LIQ", "RES", "RAT"}, "WGRUPCON(TARGET): only OIL WAT GAS LIQ RES RAT options are supported"}}, // PHASE }, }, { "WHISTCTL", { - {2,{false, allow_values {"NO"}, "WHISTCTL(END): only the NO option is supported – will continue"}}, // BPH_TERMINATE + {2,{true, allow_values {"NO"}, "WHISTCTL(END): only the NO option is supported"}}, // BPH_TERMINATE }, }, { "WLIFTOPT", { - {7,{false, allow_values {"NO"}, "WLIFTOPT(OPTLIMIT): only the default NO option is supported – will continue"}}, // ALLOCATE_EXTRA_LIFT_GAS + {7,{true, allow_values {"NO"}, "WLIFTOPT(OPTLIMIT): only the default NO option is supported"}}, // ALLOCATE_EXTRA_LIFT_GAS }, }, { "WTEST", { - {3,{false, allow_values {"E", "P", "EP", "PE", ""}, "WTEST(TEST): only the E (economic) option is currently supported – will continue"}}, // REASON + {3,{true, allow_values {"E", "P", "EP", "PE", ""}, "WTEST(TEST): only the E (economic) and P (physical) reason is currently supported"}}, // REASON }, }, { "WVFPEXP", { - {5,{false, allow_values {"WG"}, "WVFPEXP(EXTRAPOLATION_CONTROL): only support linear extrapolation – will continue"}}, // EXTRAPOLATION_CONTROL + {5,{false, allow_values {"WG"}, "WVFPEXP(EXTRAP): only linear extrapolation is support "}}, // EXTRAPOLATION_CONTROL }, }, }; @@ -318,17 +328,17 @@ partiallySupported() { "EDITNNC", { - {8,{false, allow_values {0}, "EDITNNC(ISATNUM1): only default value of 0 supported – will continue"}}, // SAT_TABLE12 - {9,{false, allow_values {0}, "EDITNNC(ISATNUM2): only default value of 0 supported – will continue"}}, // SAT_TABLE21 - {10,{false, allow_values {0}, "EDITNNC(IPRSNUM1): only default value of 0 supported – will continue"}}, // PRESS_TABLE12 - {11,{false, allow_values {0}, "EDITNNC(IPRSNUM2): only default value of 0 supported – will continue"}}, // PRESS_TABLE21 + {8,{true, allow_values {0}, "EDITNNC(ISATNUM1): only default value of 0 supported"}}, // SAT_TABLE12 + {9,{true, allow_values {0}, "EDITNNC(ISATNUM2): only default value of 0 supported"}}, // SAT_TABLE21 + {10,{true, allow_values {0}, "EDITNNC(IPRSNUM1): only default value of 0 supported"}}, // PRESS_TABLE12 + {11,{true, allow_values {0}, "EDITNNC(IPRSNUM2): only default value of 0 supported"}}, // PRESS_TABLE21 }, }, { "EHYSTR", { - {2,{false, allow_values {0, 1, 2, 3}, "EHYSTR(HYSTMOD): only Carlson or Killough Hysteresis Models supported (0,1 or 2,3)"}}, // relative_perm_hyst - {13,{false, allow_values {0}, "EHYSTR(HYSWETRP): Killough’s option not supported and is ignored"}}, // FLAG_SOMETHING + {2,{true, allow_values {0, 1, 2, 3}, "EHYSTR(HYSTMOD): only Carlson or Killough Hysteresis Models supported (0,1 or 2,3)"}}, // relative_perm_hyst + {13,{true, allow_values {0}, "EHYSTR(HYSWETRP): Killough’s option not supported and should be defaulted"}}, // FLAG_SOMETHING }, }, { @@ -336,53 +346,52 @@ partiallySupported() { {3,{false, allow_values {1}, "ENDSCALE(NTENDP): depth end-point scaling not supported – value ignored"}}, // NTENDP {4,{false, allow_values {20}, "ENDSCALE(NNODES): depth end-point scaling not supported – value ignored"}}, // NSENDP - {5,{false, allow_values {0}, "ENDSCALE(MODE): depth temperature end-point scaling not supported – value ignored"}}, // COMP_MODE + {5,{true, allow_values {0}, "ENDSCALE(MODE): depth temperature end-point scaling not supported"}}, // COMP_MODE }, }, { "EQLDIMS", { - {4,{false, allow_values {1}, "EQLDIMS(NTTRVD): tracer end-point depth scaling not supported – value ignored"}}, // NTTRVD - {5,{false, allow_values {20}, "EQLDIMS(NSTRVD): tracer end-point depth scaling not supported – value ignored"}}, // NSTRVD + {4,{true, allow_values {1}, "EQLDIMS(NTTRVD): tracer regions (TNUM) not supported. This item should be defaulted to 1."}}, // NTTRVD }, }, { "EQUIL", { - {9,{true, [](int x) { return x >= -20 && x <= 0; }, "EQUIL(EQLOPT3): only values less than or equal to zero are supported (default is -5) - will STOP"}}, // OIP_INIT - {10,{false, allow_values {}, "EQUIL(EQLOPT4): compositional option not used – will continue"}}, // EQLOPT4 - {11,{false, allow_values {}, "EQUIL(EQLOPT5): compositional option not used – will continue"}}, // EQLOPT5 + {9,{true, [](int x) { return x >= -20 && x <= 0; }, "EQUIL(EQLOPT3): only values less than or equal to zero are supported (default is -5)"}}, // OIP_INIT + {10,{false, allow_values {}, "EQUIL(EQLOPT4): compositional option not used, should be defaulted"}}, // EQLOPT4 + {11,{false, allow_values {}, "EQUIL(EQLOPT5): compositional option not used, should be defaulted"}}, // EQLOPT5 }, }, { "FOAMROCK", { - {1,{false, allow_values {1}, "FOAMROCK(ADINDX): only the default(1) value is supported – value ignored"}}, // ADSORPTION_INDEX + {1,{true, allow_values {1}, "FOAMROCK(ADINDX): only the default(1) value is supported"}}, // ADSORPTION_INDEX }, }, { "GRIDFILE", { - {1,{false, allow_values {0}, "GRIDFILE(NGRID): only default value of 0 supported – will continue"}}, // GRID - {2,{false, allow_values {1}, "GRIDFILE(NEGRID): only default value of 1 supported – will continue"}}, // EGRID + {1,{false, allow_values {0}, "GRIDFILE(NGRID): output of GRID file is not supported."}}, // GRID + {2,{false, allow_values {0,1}, "GRIDFILE(NEGRID): only generate (1) or not (0) an EGRID file is supported."}}, // EGRID }, }, { "MESSAGES", { - {7,{false, allow_values {1000000}, "MESSAGES(STOPMESG): option is not supported – will continue"}}, // MESSAGE_STOP_LIMIT - {8,{false, allow_values {1000000}, "MESSAGES(STOPCOMT): option is not supported – will continue"}}, // COMMENT_STOP_LIMIT - {9,{false, allow_values {10000}, "MESSAGES(STOPWARN): option is not supported – will continue"}}, // WARNING_STOP_LIMIT - {10,{false, allow_values {100}, "MESSAGES(STOPPROB): option is not supported – will continue"}}, // PROBLEM_STOP_LIMIT - {11,{false, allow_values {10}, "MESSAGES(STOPERRS): option is not supported – will continue"}}, // ERROR_STOP_LIMIT - {12,{false, allow_values {1}, "MESSAGES(STOPBUGS): option is not supported – will continue"}}, // BUG_STOP_LIMIT - {13,{false, allow_values {10}, "MESSAGES(PRTGRPMS): option is not supported – will continue"}}, // GROUP_PRINT_LIMIT + {7,{false, allow_values {1000000}, "MESSAGES(STOPMESG): option is not supported"}}, // MESSAGE_STOP_LIMIT + {8,{false, allow_values {1000000}, "MESSAGES(STOPCOMT): option is not supported"}}, // COMMENT_STOP_LIMIT + {9,{false, allow_values {10000}, "MESSAGES(STOPWARN): option is not supported"}}, // WARNING_STOP_LIMIT + {10,{false, allow_values {100}, "MESSAGES(STOPPROB): option is not supported"}}, // PROBLEM_STOP_LIMIT + {11,{false, allow_values {10}, "MESSAGES(STOPERRS): option is not supported"}}, // ERROR_STOP_LIMIT + {12,{false, allow_values {1}, "MESSAGES(STOPBUGS): option is not supported"}}, // BUG_STOP_LIMIT + {13,{false, allow_values {10}, "MESSAGES(PRTGRPMS): option is not supported"}}, // GROUP_PRINT_LIMIT }, }, { "NETBALAN", { - {5,{false, allow_values {10}, "NETBALAN(THPMXITE): option is not supported – will continue"}}, // MAX_ITER_THP + {5,{false, allow_values {10}, "NETBALAN(THPMXITE): option is not supported"}}, // MAX_ITER_THP }, }, { @@ -394,10 +403,10 @@ partiallySupported() { "NNC", { - {8,{false, allow_values {0}, "NNC(ISATNUM1): only default value of 0 supported – will continue"}}, // SIM_DEPENDENT1 - {9,{false, allow_values {0}, "NNC(ISATNUM2): only default value of 0 supported – will continue"}}, // SIM_DEPENDENT2 - {10,{false, allow_values {0}, "NNC(IPRSNUM1): only default value of 0 supported – will continue"}}, // PRESSURE_TABLE1 - {11,{false, allow_values {0}, "NNC(IPRSNUM2): only default value of 0 supported – will continue"}}, // PRESSURE_TABLE2 + {8,{true, allow_values {0}, "NNC(ISATNUM1): only default value of 0 supported"}}, // SIM_DEPENDENT1 + {9,{true, allow_values {0}, "NNC(ISATNUM2): only default value of 0 supported"}}, // SIM_DEPENDENT2 + {10,{true, allow_values {0}, "NNC(IPRSNUM1): only default value of 0 supported"}}, // PRESSURE_TABLE1 + {11,{true, allow_values {0}, "NNC(IPRSNUM2): only default value of 0 supported"}}, // PRESSURE_TABLE2 }, }, { @@ -418,7 +427,7 @@ partiallySupported() { "SPECGRID", { - {4,{false, allow_values {1}, "SPECGRID(NUMRES): must be equal to 1"}}, // NUMRES + {4,{true, allow_values {1}, "SPECGRID(NUMRES): must be equal to 1"}}, // NUMRES }, }, { @@ -443,7 +452,7 @@ partiallySupported() { "TRACER", { - {5,{false, allow_values {0}, "TRACER(KPNUM): partitioned tracer model not supported - ignored as not used"}}, // NUM_PART_TABLE + {5,{true, allow_values {0}, "TRACER(KPNUM): partitioned tracer model not supported use default"}}, // NUM_PART_TABLE }, }, { @@ -487,7 +496,7 @@ partiallySupported() { "WELSPECS", { - {17,{true, allow_values {0}, "WELSPECS(POLYTAB): only the default value of zero is supported – will STOP"}}, // POLYMER_TABLE + {17,{true, allow_values {0}, "WELSPECS(POLYTAB): only the default value of zero is supported"}}, // POLYMER_TABLE }, }, }; @@ -536,14 +545,14 @@ partiallySupported() { "EDITNNC", { - {14,{false, allow_values {0}, "EDITNNC(DIFFNNC): not supported – will continue"}}, // DIFFM + {14,{true, allow_values {0}, "EDITNNC(DIFFNNC): not supported and should be defaulted"}}, // DIFFM }, }, { - "EHYSTR", + "EHYSTR", { - {3,{false, allow_values {1.0}, "EHYSTR(HYSTREL): Killough’s option not supported and is ignored"}}, // curvature_param_killough_wetting - {12,{false, allow_values {0}, "EHYSTR(HYTHRESH): Killough’s option not supported and is ignored"}}, // threshold_saturation + {3,{false, allow_values {1.0}, "EHYSTR(HYSTREL): Killough’s option not supported and should be defaulted"}}, // curvature_param_killough_wetting + {12,{true, allow_values {0}, "EHYSTR(HYTHRESH): Killough’s option not supported and should be defaulted"}}, // threshold_saturation }, }, { @@ -555,18 +564,18 @@ partiallySupported() { "GCONINJE", { - {13,{false, allow_values {}, "GCONINJE(WGASRATE): wet gas rate is not used and should be defaulted (1*) – will continue"}}, // WETGAS_TARGET + {13,{false, allow_values {}, "GCONINJE(WGASRATE): wet gas rate is not used and should be defaulted (1*)"}}, // WETGAS_TARGET }, }, { "GCONPROD", { - {15,{false, allow_values {}, "GCONPROD(RESVFRAC): reservoir volume fraction is not supported and should be defaulted (1*) – will STOP"}}, // RESERVOIR_VOLUME_BALANCE - {16,{false, allow_values {}, "GCONPROD(WGASRATE): wet gas rate is not used and should be defaulted (1*) – will continue"}}, // WETGAS_TARGET - {17,{false, allow_values {}, "GCONPROD(CALRATE): calorific rate is not used and should be defaulted (1*) – will continue"}}, // CALORIFIC_TARGET - {18,{false, allow_values {}, "GCONPROD(GASFRAC): gas production fraction is not used and should be defaulted (1*) – will continue"}}, // SURFACE_GAS_FRACTION - {19,{false, allow_values {}, "GCONPROD(WATFRAC): water production fraction is not used and should be defaulted (1*) – will continue"}}, // SURFACE_WAT_FRACTION - {20,{false, allow_values {}, "GCONPROD(COMBRATE): linearly combined rate is not used and should be defaulted (1*) – will continue"}}, // LINEAR_COMBINED_TARGET + {15,{true, allow_values {}, "GCONPROD(RESVFRAC): reservoir volume fraction is not supported and should be defaulted (1*)"}}, // RESERVOIR_VOLUME_BALANCE + {16,{false, allow_values {}, "GCONPROD(WGASRATE): wet gas rate is not used and should be defaulted (1*)"}}, // WETGAS_TARGET + {17,{false, allow_values {}, "GCONPROD(CALRATE): calorific rate is not used and should be defaulted (1*)"}}, // CALORIFIC_TARGET + {18,{false, allow_values {}, "GCONPROD(GASFRAC): gas production fraction is not used and should be defaulted (1*)"}}, // SURFACE_GAS_FRACTION + {19,{false, allow_values {}, "GCONPROD(WATFRAC): water production fraction is not used and should be defaulted (1*)"}}, // SURFACE_WAT_FRACTION + {20,{true, allow_values {}, "GCONPROD(COMBRATE): linearly combined rate is not used and should be defaulted (1*)"}}, // LINEAR_COMBINED_TARGET }, }, { @@ -578,38 +587,38 @@ partiallySupported() { "MULTFLT", { - {3,{false, allow_values {}, "MULTFLT(FLT-DIF): the diffusivity multiplier option is not supported – will continue"}}, // NOT_DEFINED + {3,{true, allow_values {}, "MULTFLT(FLT-DIF): the diffusivity multiplier option is not supported"}}, // NOT_DEFINED }, }, { "NETBALAN", { - {1,{true, [](const double value) { return value <= 0.0; }, "NETBALAN(NSTEP): only negative values or 0 supported – will stop"}}, // TIME_INTERVAL - {4,{false, allow_values {0.01}, "NETBALAN(GRPCNV): not supported – will continue"}}, // THP_CONVERGENCE_LIMIT - {6,{false, allow_values {1e20}, "NETBALAN(NTRGERR): not supported – will continue"}}, // TARGET_BALANCE_ERROR - {7,{false, allow_values {1e20}, "NETBALAN(NMAXERR): not supported – will continue"}}, // MAX_BALANCE_ERROR - {8,{false, allow_values {}, "NETBALAN(NTSMIN): not supported – will continue"}}, // MIN_TIME_STEP + {1,{true, [](const double value) { return value <= 0.0; }, "NETBALAN(NSTEP): only negative values or 0 supported"}}, // TIME_INTERVAL + {4,{false, allow_values {0.01}, "NETBALAN(GRPCNV): not supported"}}, // THP_CONVERGENCE_LIMIT + {6,{false, allow_values {1e20}, "NETBALAN(NTRGERR): not supported"}}, // TARGET_BALANCE_ERROR + {7,{false, allow_values {1e20}, "NETBALAN(NMAXERR): not supported"}}, // MAX_BALANCE_ERROR + {8,{false, allow_values {}, "NETBALAN(NTSMIN): not supported"}}, // MIN_TIME_STEP }, }, { "NNC", { - {14,{false, allow_values {0}, "NNC(DIFFNNC): not supported – will continue"}}, // DIFFUSIVITY - {15,{false, allow_values {0}, "NNC(DISPNNC): not supported – will continue"}}, // SIM_DEPENDENT3 - {16,{false, allow_values {0}, "NNC(AREANNC): not supported – will continue"}}, // VDFLOW_AREA - {17,{false, allow_values {0}, "NNC(PERMNNC): only default value of 0 supported – will continue"}}, // VDFLOW_PERM + {14,{true, allow_values {0}, "NNC(DIFFNNC): not supported"}}, // DIFFUSIVITY + {15,{true, allow_values {0}, "NNC(DISPNNC): not supported"}}, // SIM_DEPENDENT3 + {16,{true, allow_values {0}, "NNC(AREANNC): not supported"}}, // VDFLOW_AREA + {17,{true, allow_values {0}, "NNC(PERMNNC): not supported"}}, // VDFLOW_PERM }, }, { - "PLYMAX", + "PLYMAX", { - {2,{false, allow_values {}, "PLYMAX(SALTCON): option is ignored if the BRINE keyword is absent – will continue"}}, // MAX_SALT_CONCENTRATION + {2,{false, allow_values {}, "PLYMAX(SALTCON): option is ignored since BRINE and POLYMER combination is not implemented in OPM Flow"}}, // MAX_SALT_CONCENTRATION }, }, { "ROCKCOMP", { - {4,{false, allow_values {0}, "ROCKCOMP(CARKZEXP): transmissibility dependent on porosity model is not supported"}}, // CARKZEXP + {5,{false, allow_values {0}, "ROCKCOMP(CARKZEXP): transmissibility dependent on porosity model is not supported"}}, // CARKZEXP }, }, { @@ -621,60 +630,59 @@ partiallySupported() { "VISCREF", { - {3,{false, allow_values {}, "VISCREF(API): API tracking option is not supported - value ignored"}}, // API_GRAVITY + {3,{true, allow_values {}, "VISCREF(API): API tracking option is not supported"}}, // API_GRAVITY }, }, { "WCONHIST", { - {11,{false, [](double x) { return x == 0; }, "WCONHIST(WGRA): wet gas rate is not supported and is ignored – will continue"}}, // WGASRAT - {12,{false, [](double x) { return x == 0; }, "WCONHIST(NGL): natural gas rate is not supported and is ignored – will continue"}}, // NGLRAT + {11,{false, [](double x) { return x == 0; }, "WCONHIST(WGRA): wet gas rate is not supported use default"}}, // WGASRAT + {12,{false, [](double x) { return x == 0; }, "WCONHIST(NGL): natural gas rate is not supported use default"}}, // NGLRAT }, }, { "WCONINJE", { - {10,{false, [](double x) { return x == 0; }, "WCONINJE(RSRVINJ): is not supported and is ignored – will continue"}}, // VAPOIL_C - {11,{false, [](double x) { return x == 0; }, "WCONINJE(RSSTEAM): is not supported and is ignored – will continue"}}, // GAS_STEAM_RATIO - {12,{false, [](double x) { return x == 0; }, "WCONINJE(OILFRAC): is not supported and is ignored – will continue"}}, // SURFACE_OIL_FRACTION - {13,{false, [](double x) { return x == 0; }, "WCONINJE(WATFRAC): is not supported and is ignored – will continue"}}, // SURFACE_WATER_FRACTION - {14,{false, [](double x) { return x == 0; }, "WCONINJE(GASFRAC): is not supported and is ignored – will continue"}}, // SURFACE_GAS_FRACTION - {15,{false, [](double x) { return x == 0; }, "WCONINJE(OILSTEAM): is not supported and is ignored – will continue"}}, // OIL_STEAM_RATIO + {11,{true, [](double x) { return x == 0; }, "WCONINJE(RSSTEAM): is not supported and is ignored"}}, // GAS_STEAM_RATIO + {12,{true, [](double x) { return x == 0; }, "WCONINJE(OILFRAC): is not supported and is ignored"}}, // SURFACE_OIL_FRACTION + {13,{true, [](double x) { return x == 0; }, "WCONINJE(WATFRAC): is not supported and is ignored"}}, // SURFACE_WATER_FRACTION + {14,{true, [](double x) { return x == 0; }, "WCONINJE(GASFRAC): is not supported and is ignored"}}, // SURFACE_GAS_FRACTION + {15,{true, [](double x) { return x == 0; }, "WCONINJE(OILSTEAM): is not supported and is ignored"}}, // OIL_STEAM_RATIO }, }, { "WCONINJH", { - {8,{false, [](double x) { return x == 0; }, "WCONINJH(RSRVINJ): is not supported and is ignored – will continue"}}, // VAPOIL_C - {9,{false, [](double x) { return x == 0; }, "WCONINJH(OILFRAC): is not supported and is ignored – will continue"}}, // SURFACE_OIL_FRACTION - {10,{false, [](double x) { return x == 0; }, "WCONINJH(WATFRAC): is not supported and is ignored – will continue"}}, // SURFACE_WATER_FRACTION - {11,{false, [](double x) { return x == 0; }, "WCONINJH(GASFRAC): is not supported and is ignored – will continue"}}, // SURFACE_GAS_FRACTION + {8,{true, [](double x) { return x == 0; }, "WCONINJH(RSRVINJ): is not supported and is ignored"}}, // VAPOIL_C + {9,{true, [](double x) { return x == 0; }, "WCONINJH(OILFRAC): is not supported and is ignored"}}, // SURFACE_OIL_FRACTION + {10,{true, [](double x) { return x == 0; }, "WCONINJH(WATFRAC): is not supported and is ignored"}}, // SURFACE_WATER_FRACTION + {11,{true, [](double x) { return x == 0; }, "WCONINJH(GASFRAC): is not supported and is ignored"}}, // SURFACE_GAS_FRACTION }, }, { "WCONPROD", { - {13,{false, allow_values {}, "WCONPROD(WGASRATE): wet gas rate is not used and should be defaulted (1*) – will continue"}}, // E300_ITEM13 - {14,{false, allow_values {}, "WCONPROD(MOLARATE): molar rate not used and should be defaulted (1*) – will continue"}}, // E300_ITEM14 - {15,{false, allow_values {}, "WCONPROD(STEAMRAT): steam rate is not used and should be defaulted (1*) – will continue"}}, // E300_ITEM15 - {16,{false, allow_values {}, "WCONPROD(DELTAP): pressure offset not used and should be defaulted (1*) – will continue"}}, // E300_ITEM16 - {17,{false, allow_values {}, "WCONPROD(DELTAT): temperature offset not used and should be defaulted (1*) – will continue"}}, // E300_ITEM17 - {18,{false, allow_values {}, "WCONPROD(CALRATE): calorific rate not used and should be defaulted (1*) – will continue"}}, // E300_ITEM18 - {19,{false, allow_values {}, "WCONPROD(COMBPROC): linearly combined rate not used and should be defaulted (1*) – will continue"}}, // E300_ITEM19 - {20,{false, allow_values {}, "WCONPROD(NGL): natural gas liquid rate is not used and should be defaulted (1*) – will continue"}}, // E300_ITEM20 + {13,{false, allow_values {}, "WCONPROD(WGASRATE): wet gas rate is not used and should be defaulted (1*)"}}, // E300_ITEM13 + {14,{false, allow_values {}, "WCONPROD(MOLARATE): molar rate not used and should be defaulted (1*)"}}, // E300_ITEM14 + {15,{false, allow_values {}, "WCONPROD(STEAMRAT): steam rate is not used and should be defaulted (1*)"}}, // E300_ITEM15 + {16,{false, allow_values {}, "WCONPROD(DELTAP): pressure offset not used and should be defaulted (1*)"}}, // E300_ITEM16 + {17,{false, allow_values {}, "WCONPROD(DELTAT): temperature offset not used and should be defaulted (1*)"}}, // E300_ITEM17 + {18,{false, allow_values {}, "WCONPROD(CALRATE): calorific rate not used and should be defaulted (1*)"}}, // E300_ITEM18 + {19,{true, allow_values {}, "WCONPROD(COMBPROC): linearly combined rate not used and should be defaulted (1*)"}}, // E300_ITEM19 + {20,{false, allow_values {}, "WCONPROD(NGL): natural gas liquid rate is not used and should be defaulted (1*)"}}, // E300_ITEM20 }, }, { "WINJTEMP", { - {2,{false, allow_values {1}, "WINJTEMP(STEAMQAL): steam injection is not supported – will continue"}}, // STEAM_QUALITY - {5,{false, allow_values {0}, "WINJTEMP(ENTHALPY): enthalpy of injected fluid is not supported – will continue"}}, // ENTHALPY + {2,{true, allow_values {1}, "WINJTEMP(STEAMQAL): steam injection is not supported, this item should be defaulted"}}, // STEAM_QUALITY + {5,{true, allow_values {0}, "WINJTEMP(ENTHALPY): enthalpy of injected fluid is not supported"}}, // ENTHALPY }, }, { "WLIFTOPT", { - {6,{false, allow_values {0}, "WLIFTOPT(OPTGAS): incremental gas weighting not supported – will continue"}}, // DELTA_GAS_RATE_WEIGHT_FACTOR + {6,{true, allow_values {0}, "WLIFTOPT(OPTGAS): incremental gas weighting not supported"}}, // DELTA_GAS_RATE_WEIGHT_FACTOR }, }, }; diff --git a/opm/simulators/utils/UnsupportedFlowKeywords.cpp b/opm/simulators/utils/UnsupportedFlowKeywords.cpp index d390975b5..682d2469b 100644 --- a/opm/simulators/utils/UnsupportedFlowKeywords.cpp +++ b/opm/simulators/utils/UnsupportedFlowKeywords.cpp @@ -29,497 +29,494 @@ namespace Opm::FlowKeywordValidation const KeywordValidation::UnsupportedKeywords& unsupportedKeywords() { static const KeywordValidation::UnsupportedKeywords unsupported_keywords = { - {"ACTION", {false, std::nullopt}}, - {"ACTIONG", {false, std::nullopt}}, - {"ACTIONR", {false, std::nullopt}}, - {"ACTIONS", {false, std::nullopt}}, - {"ACTIONW", {false, std::nullopt}}, - {"ACTPARAM", {false, std::nullopt}}, - {"ADSALNOD", {false, std::nullopt}}, - {"ADDZCORN", {false, std::nullopt}}, - {"ADSORP", {false, std::nullopt}}, + {"ACTION", {true, std::nullopt}}, + {"ACTIONG", {true, std::nullopt}}, + {"ACTIONR", {true, std::nullopt}}, + {"ACTIONS", {true, std::nullopt}}, + {"ACTIONW", {true, std::nullopt}}, + {"ACTPARAM", {true, std::nullopt}}, + {"ADSALNOD", {true, std::nullopt}}, + {"ADDZCORN", {true, std::nullopt}}, + {"ADSORP", {true, std::nullopt}}, {"AITS", {false, std::nullopt}}, {"AITSOFF", {false, std::nullopt}}, - {"ALKADS", {false, std::nullopt}}, - {"ALKALINE", {false, std::nullopt}}, - {"ALKROCK", {false, std::nullopt}}, - {"API", {false, std::nullopt}}, - {"ALPOLADS", {false, std::nullopt}}, - {"ALSURFAD", {false, std::nullopt}}, - {"ALSURFST", {false, std::nullopt}}, - {"AMALGAM", {false, std::nullopt}}, - {"APIGROUP", {false, std::nullopt}}, - {"APILIM", {false, std::nullopt}}, - {"APIVD", {false, std::nullopt}}, - {"AQANCONL", {false, std::nullopt}}, - {"AQANNC", {false, std::nullopt}}, - {"AQANTRC", {false, std::nullopt}}, - {"AQUALIST", {false, std::nullopt}}, - {"AQUCHGAS", {false, std::nullopt}}, - {"AQUCHWAT", {false, std::nullopt}}, - {"AQUCWFAC", {false, std::nullopt}}, - {"AQUFET", {false, std::string{"Use the AQUFETP keyword instead"}}}, - {"AQUFLUX", {false, std::nullopt}}, - {"AQUNNC", {false, std::nullopt}}, - {"AUTOCOAR", {false, std::nullopt}}, - {"AUTOREF", {false, std::nullopt}}, + {"ALKADS", {true, std::nullopt}}, + {"ALKALINE", {true, std::nullopt}}, + {"ALKROCK", {true, std::nullopt}}, + {"API", {true, std::nullopt}}, + {"ALPOLADS", {true, std::nullopt}}, + {"ALSURFAD", {true, std::nullopt}}, + {"ALSURFST", {true, std::nullopt}}, + {"AMALGAM", {true, std::nullopt}}, + {"APIGROUP", {true, std::nullopt}}, + {"APILIM", {true, std::nullopt}}, + {"APIVD", {true, std::nullopt}}, + {"AQANCONL", {true, std::nullopt}}, + {"AQANNC", {true, std::nullopt}}, + {"AQANTRC", {true, std::nullopt}}, + {"AQUALIST", {true, std::nullopt}}, + {"AQUCHGAS", {true, std::nullopt}}, + {"AQUCHWAT", {true, std::nullopt}}, + {"AQUCWFAC", {true, std::nullopt}}, + {"AQUFET", {true, std::string{"Use the AQUFETP keyword instead"}}}, + {"AQUFLUX", {true, std::nullopt}}, + {"AQUNNC", {true, std::nullopt}}, + {"AUTOCOAR", {true, std::nullopt}}, + {"AUTOREF", {true, std::nullopt}}, {"BIGMODEL", {false, std::nullopt}}, - {"BDENSITY", {false, std::nullopt}}, - {"BGGI", {false, std::nullopt}}, - {"BOGI", {false, std::nullopt}}, - {"BOUNDARY", {false, std::nullopt}}, - {"BPARA", {false, std::nullopt}}, - {"BPIDIMS", {false, std::nullopt}}, - {"BTOBALFA", {false, std::nullopt}}, - {"BTOBALFV", {false, std::nullopt}}, - {"CALTRAC", {false, std::nullopt}}, - {"CARFIN", {false, std::nullopt}}, - {"CART", {false, std::nullopt}}, - {"CBMOPTS", {false, std::nullopt}}, - {"CECON", {false, std::nullopt}}, - {"CECONT", {false, std::nullopt}}, - {"COAL", {false, std::nullopt}}, - {"COALADS", {false, std::nullopt}}, - {"COALNUM", {false, std::nullopt}}, - {"COALPP", {false, std::nullopt}}, - {"COARSEN", {false, std::nullopt}}, - {"COLLAPSE", {false, std::nullopt}}, - {"COLUMNS", {false, std::nullopt}}, - {"CBMOPTS", {false, std::nullopt}}, - {"COMPDATX", {false, std::nullopt}}, - {"COMPDATL", {false, std::nullopt}}, - {"COMPDATM", {false, std::nullopt}}, - {"COMPDATL", {false, std::nullopt}}, - {"COMPIMB", {false, std::nullopt}}, - {"COMPFLSH", {false, std::nullopt}}, - {"COMPINJK", {false, std::nullopt}}, - {"COMPLMPL", {false, std::nullopt}}, - {"COMPOFF", {false, std::nullopt}}, - {"COMPRIV", {false, std::nullopt}}, - {"COMPRP", {false, std::nullopt}}, - {"COMPRPL", {false, std::nullopt}}, - {"COMPSEGL", {false, std::nullopt}}, - {"COMPVE", {false, std::nullopt}}, - {"COMPVEL", {false, std::nullopt}}, - {"CPIFACT", {false, std::nullopt}}, - {"CPIFACTL", {false, std::nullopt}}, - {"CPR", {false, std::nullopt}}, - {"CSKIN", {false, std::nullopt}}, - {"CONNECTION", {false, std::nullopt}}, - {"CONNECTION_PROBE", {false, std::nullopt}}, - {"COORDSYS", {false, std::nullopt}}, - {"COPYBOX", {false, std::nullopt}}, - {"CRITPERM", {false, std::nullopt}}, - {"DATUMR", {false, std::nullopt}}, - {"DATUMRX", {false, std::nullopt}}, - {"DCQDEFN", {false, std::nullopt}}, + {"BDENSITY", {true, std::nullopt}}, + {"BGGI", {true, std::nullopt}}, + {"BOGI", {true, std::nullopt}}, + {"BOUNDARY", {true, std::nullopt}}, + {"BPARA", {true, std::nullopt}}, + {"BPIDIMS", {true, std::nullopt}}, + {"BTOBALFA", {true, std::nullopt}}, + {"BTOBALFV", {true, std::nullopt}}, + {"CALTRAC", {true, std::nullopt}}, + {"CARFIN", {true, std::nullopt}}, + {"CART", {true, std::nullopt}}, + {"CBMOPTS", {true, std::nullopt}}, + {"CECON", {true, std::nullopt}}, + {"CECONT", {true, std::nullopt}}, + {"COAL", {true, std::nullopt}}, + {"COALADS", {true, std::nullopt}}, + {"COALNUM", {true, std::nullopt}}, + {"COALPP", {true, std::nullopt}}, + {"COARSEN", {true, std::nullopt}}, + {"COLLAPSE", {true, std::nullopt}}, + {"COLUMNS", {true, std::nullopt}}, + {"CBMOPTS", {true, std::nullopt}}, + {"COMPDATX", {true, std::nullopt}}, + {"COMPDATL", {true, std::nullopt}}, + {"COMPDATM", {true, std::nullopt}}, + {"COMPDATL", {true, std::nullopt}}, + {"COMPIMB", {true, std::nullopt}}, + {"COMPFLSH", {true, std::nullopt}}, + {"COMPINJK", {true, std::nullopt}}, + {"COMPLMPL", {true, std::nullopt}}, + {"COMPOFF", {true, std::nullopt}}, + {"COMPRIV", {true, std::nullopt}}, + {"COMPRP", {true, std::nullopt}}, + {"COMPRPL", {true, std::nullopt}}, + {"COMPSEGL", {true, std::nullopt}}, + {"COMPVE", {true, std::nullopt}}, + {"COMPVEL", {true, std::nullopt}}, + {"CPIFACT", {true, std::nullopt}}, + {"CPIFACTL", {true, std::nullopt}}, + {"CPR", {false, std::string{"Keyword not supported. However CPR can be spesificed via command line options."}}}, + {"CSKIN", {true, std::nullopt}}, + {"CONNECTION", {true, std::nullopt}}, + {"CONNECTION_PROBE", {true, std::nullopt}}, + {"COORDSYS", {true, std::nullopt}}, + {"COPYBOX", {true, std::nullopt}}, + {"CRITPERM", {true, std::nullopt}}, + {"DATUMR", {true, std::nullopt}}, + {"DATUMRX", {true, std::nullopt}}, + {"DCQDEFN", {true, std::nullopt}}, {"DEBUG", {false, std::nullopt}}, - {"DELAYACT", {false, std::nullopt}}, - {"DEPTHTAB", {false, std::nullopt}}, - {"DIAGDISP", {false, std::nullopt}}, - {"DIFF", {false, std::nullopt}}, - {"DIFFCOAL", {false, std::nullopt}}, - {"DIFFDP", {false, std::nullopt}}, - {"DIFFMMF", {false, std::nullopt}}, - {"DIFFMR", {false, std::nullopt}}, - {"DIFFMR-", {false, std::nullopt}}, - {"DIFFMTHT", {false, std::nullopt}}, - {"DIFFMTH-", {false, std::nullopt}}, - {"DIFFMX", {false, std::nullopt}}, - {"DIFFMX-", {false, std::nullopt}}, - {"DIFFMY", {false, std::nullopt}}, - {"DIFFMY-", {false, std::nullopt}}, - {"DIFFMZ", {false, std::nullopt}}, - {"DIFFMZ-", {false, std::nullopt}}, - {"DIFFR", {false, std::nullopt}}, - {"DIFFTHT", {false, std::nullopt}}, - {"DIFFX", {false, std::nullopt}}, - {"DIFFY", {false, std::nullopt}}, - {"DIFFZ", {false, std::nullopt}}, - {"DIMPES", {false, std::nullopt}}, - {"DIMPLICT", {false, std::nullopt}}, - {"DISPDIMS", {false, std::nullopt}}, - {"DISPERSE", {false, std::nullopt}}, - {"DOMAINS", {false, std::nullopt}}, - {"DPGRID", {false, std::nullopt}}, - {"DPKRMOD", {false, std::nullopt}}, - {"DPNUM", {false, std::nullopt}}, - {"DR", {false, std::string{"Use the DRV keyword instead"}}}, - {"DRILPRI", {false, std::nullopt}}, - {"DSPDEINT", {false, std::nullopt}}, - {"DTHETA", {false, std::string{"Use the DTHETAV keyword instead"}}}, - {"DUALPERM", {false, std::nullopt}}, - {"DUALPORO", {false, std::nullopt}}, - {"DUMPCUPL", {false, std::nullopt}}, - {"DUMPFLUX", {false, std::nullopt}}, - {"DYNAMICR", {false, std::nullopt}}, - {"DYNRDIMS", {false, std::nullopt}}, - {"DYNAMICR", {false, std::nullopt}}, - {"DZMATRIX", {false, std::nullopt}}, - {"DZMTRX", {false, std::nullopt}}, - {"DZMTRXV", {false, std::nullopt}}, - {"DZNET", {false, std::nullopt}}, - {"ECHO", {false, std::string{"Will continue"}}}, - {"ECLMC", {false, std::nullopt}}, - {"EDITNNCR", {false, std::nullopt}}, - {"EHYSTRR", {false, std::nullopt}}, - {"ENDDYN", {false, std::nullopt}}, - {"ENDFIN", {false, std::nullopt}}, - {"ENDNUM", {false, std::nullopt}}, - {"ENDSKIP", {false, std::nullopt}}, - {"ENKRVD", {false, std::nullopt}}, - {"ENKSRVD", {false, std::nullopt}}, - {"ENPCVD", {false, std::nullopt}}, - {"ENPTVD", {false, std::nullopt}}, - {"ENSPCVD", {false, std::nullopt}}, + {"DELAYACT", {true, std::nullopt}}, + {"DEPTHTAB", {true, std::nullopt}}, + {"DIAGDISP", {true, std::nullopt}}, + {"DIFF", {true, std::nullopt}}, + {"DIFFCOAL", {true, std::nullopt}}, + {"DIFFDP", {true, std::nullopt}}, + {"DIFFMMF", {true, std::nullopt}}, + {"DIFFMR", {true, std::nullopt}}, + {"DIFFMR-", {true, std::nullopt}}, + {"DIFFMTHT", {true, std::nullopt}}, + {"DIFFMTH-", {true, std::nullopt}}, + {"DIFFMX", {true, std::nullopt}}, + {"DIFFMX-", {true, std::nullopt}}, + {"DIFFMY", {true, std::nullopt}}, + {"DIFFMY-", {true, std::nullopt}}, + {"DIFFMZ", {true, std::nullopt}}, + {"DIFFMZ-", {true, std::nullopt}}, + {"DIFFR", {true, std::nullopt}}, + {"DIFFTHT", {true, std::nullopt}}, + {"DIFFX", {true, std::nullopt}}, + {"DIFFY", {true, std::nullopt}}, + {"DIFFZ", {true, std::nullopt}}, + {"DIMPES", {true, std::nullopt}}, + {"DIMPLICT", {true, std::nullopt}}, + {"DISPDIMS", {true, std::nullopt}}, + {"DISPERSE", {true, std::nullopt}}, + {"DOMAINS", {true, std::nullopt}}, + {"DPGRID", {true, std::nullopt}}, + {"DPKRMOD", {true, std::nullopt}}, + {"DPNUM", {true, std::nullopt}}, + {"DR", {true, std::string{"Use the DRV keyword instead"}}}, + {"DRILPRI", {true, std::nullopt}}, + {"DSPDEINT", {true, std::nullopt}}, + {"DTHETA", {true, std::string{"Use the DTHETAV keyword instead"}}}, + {"DUALPERM", {true, std::nullopt}}, + {"DUALPORO", {true, std::nullopt}}, + {"DUMPCUPL", {true, std::nullopt}}, + {"DUMPFLUX", {true, std::nullopt}}, + {"DYNAMICR", {true, std::nullopt}}, + {"DYNRDIMS", {true, std::nullopt}}, + {"DYNAMICR", {true, std::nullopt}}, + {"DZMATRIX", {true, std::nullopt}}, + {"DZMTRX", {true, std::nullopt}}, + {"DZMTRXV", {true, std::nullopt}}, + {"DZNET", {true, std::nullopt}}, + {"ECHO", {false, std::nullopt}}, + {"ECLMC", {true, std::nullopt}}, + {"EDITNNCR", {true, std::nullopt}}, + {"EHYSTRR", {true, std::nullopt}}, + {"ENDDYN", {true, std::nullopt}}, + {"ENDFIN", {true, std::nullopt}}, + {"ENDNUM", {true, std::nullopt}}, + {"ENDSKIP", {true, std::nullopt}}, + {"ENKRVD", {true, std::nullopt}}, + {"ENKSRVD", {true, std::nullopt}}, + {"ENPCVD", {true, std::nullopt}}, + {"ENPTVD", {true, std::nullopt}}, + {"ENSPCVD", {true, std::nullopt}}, {"EPSDBGS", {false, std::nullopt}}, {"EPSDEBUG", {false, std::nullopt}}, - {"EQLZCORN", {false, std::nullopt}}, - {"EQUALREG", {false, std::nullopt}}, - {"ESSNODE", {false, std::nullopt}}, - {"EXCAVATE", {false, std::nullopt}}, + {"EQLZCORN", {true, std::nullopt}}, + {"EQUALREG", {true, std::nullopt}}, + {"ESSNODE", {true, std::nullopt}}, + {"EXCAVATE", {true, std::nullopt}}, {"EXCEL", {false, std::nullopt}}, - {"EXTFIN", {false, std::nullopt}}, - {"EXTHOST", {false, std::nullopt}}, + {"EXTFIN", {true, std::nullopt}}, + {"EXTHOST", {true, std::nullopt}}, {"EXTRAPMS", {false, std::nullopt}}, - {"EXTREPGL", {false, std::nullopt}}, - {"FBHPDEF", {false, std::nullopt}}, - {"FHERCHBL", {false, std::nullopt}}, - {"FRICTION", {false, std::nullopt}}, + {"EXTREPGL", {true, std::nullopt}}, + {"FBHPDEF", {true, std::nullopt}}, + {"FHERCHBL", {true, std::nullopt}}, + {"FRICTION", {true, std::nullopt}}, {"FIPOWG", {false, std::string{"Report not available"}}}, - {"FIPSEP", {false, std::nullopt}}, - {"FLUXREG", {false, std::nullopt}}, - {"FLUXTYPE", {false, std::nullopt}}, - {"FMTHMD", {false, std::nullopt}}, - {"FOAMDCYO", {false, std::nullopt}}, - {"FOAMDCYW", {false, std::nullopt}}, - {"FOAMFCN", {false, std::nullopt}}, - {"FOAMFRM", {false, std::nullopt}}, - {"FOAMFSO", {false, std::nullopt}}, - {"FOAMFST", {false, std::nullopt}}, - {"FOAMFSW", {false, std::nullopt}}, - {"FOAMMOBP", {false, std::nullopt}}, - {"FOAMMOBS", {false, std::nullopt}}, - {"FORMFEED", {false, std::nullopt}}, + {"FIPSEP", {true, std::nullopt}}, + {"FLUXREG", {true, std::nullopt}}, + {"FLUXTYPE", {true, std::nullopt}}, + {"FMTHMD", {true, std::nullopt}}, + {"FOAMDCYO", {true, std::nullopt}}, + {"FOAMDCYW", {true, std::nullopt}}, + {"FOAMFCN", {true, std::nullopt}}, + {"FOAMFRM", {true, std::nullopt}}, + {"FOAMFSO", {true, std::nullopt}}, + {"FOAMFST", {true, std::nullopt}}, + {"FOAMFSW", {true, std::nullopt}}, + {"FOAMMOBP", {true, std::nullopt}}, + {"FOAMMOBS", {true, std::nullopt}}, + {"FORMFEED", {true, std::nullopt}}, {"FULLIMP", {false, std::nullopt}}, - {"GEGONT", {false, std::nullopt}}, - {"GETDATA", {false, std::nullopt}}, - {"GASBEGIN", {false, std::nullopt}}, - {"GASCONC", {false, std::nullopt}}, - {"GASEND", {false, std::nullopt}}, - {"GASFCOMP", {false, std::nullopt}}, - {"GASFDECR", {false, std::nullopt}}, - {"GASFDELC", {false, std::nullopt}}, - {"GASFIELD", {false, std::nullopt}}, - {"GASFTARG", {false, std::nullopt}}, - {"GASMONTH", {false, std::nullopt}}, - {"GASPERIO", {false, std::nullopt}}, - {"GASSATC", {false, std::nullopt}}, - {"GASYEAR", {false, std::nullopt}}, - {"GCALECON", {false, std::nullopt}}, - {"GCONCAL", {false, std::nullopt}}, - {"GCONENG", {false, std::nullopt}}, - {"GCONPRI", {false, std::nullopt}}, - {"GCONTOL", {false, std::nullopt}}, - {"GCUTBACK", {false, std::nullopt}}, - {"GCUTBACT", {false, std::nullopt}}, - {"GCVD", {false, std::nullopt}}, - {"GDCQ", {false, std::nullopt}}, - {"GDCQECON", {false, std::nullopt}}, - {"GDIMS", {false, std::nullopt}}, + {"GEGONT", {true, std::nullopt}}, + {"GETDATA", {true, std::nullopt}}, + {"GASBEGIN", {true, std::nullopt}}, + {"GASCONC", {true, std::nullopt}}, + {"GASEND", {true, std::nullopt}}, + {"GASFCOMP", {true, std::nullopt}}, + {"GASFDECR", {true, std::nullopt}}, + {"GASFDELC", {true, std::nullopt}}, + {"GASFIELD", {true, std::nullopt}}, + {"GASFTARG", {true, std::nullopt}}, + {"GASMONTH", {true, std::nullopt}}, + {"GASPERIO", {true, std::nullopt}}, + {"GASSATC", {true, std::nullopt}}, + {"GASYEAR", {true, std::nullopt}}, + {"GCALECON", {true, std::nullopt}}, + {"GCONCAL", {true, std::nullopt}}, + {"GCONENG", {true, std::nullopt}}, + {"GCONPRI", {true, std::nullopt}}, + {"GCONTOL", {true, std::nullopt}}, + {"GCUTBACK", {true, std::nullopt}}, + {"GCUTBACT", {true, std::nullopt}}, + {"GCVD", {true, std::nullopt}}, + {"GDCQ", {true, std::nullopt}}, + {"GDCQECON", {true, std::nullopt}}, + {"GDIMS", {true, std::nullopt}}, {"GDORIENT", {false, std::nullopt}}, - {"GDRILPOT", {false, std::nullopt}}, - {"GECON", {false, std::nullopt}}, - {"GECONT", {false, std::nullopt}}, - {"GETGLOB", {false, std::nullopt}}, - {"GI", {false, std::nullopt}}, - {"GIALL", {false, std::nullopt}}, - {"GIMODEL", {false, std::nullopt}}, - {"GINODE", {false, std::nullopt}}, - {"GLIFTLIM", {false, std::nullopt}}, - {"GNETDP", {false, std::nullopt}}, - {"GNETINJE", {false, std::nullopt}}, - {"GNETPUMP", {false, std::nullopt}}, - {"GRADGRUP", {false, std::nullopt}}, - {"GRADRESV", {false, std::nullopt}}, - {"GRADRFT", {false, std::nullopt}}, - {"GRADWELL", {false, std::nullopt}}, - {"GRAVCONS", {false, std::nullopt}}, - {"GRAVDR", {false, std::nullopt}}, - {"GRAVDRB", {false, std::nullopt}}, - {"GRAVDRM", {false, std::nullopt}}, - {"GRDREACH", {false, std::nullopt}}, - {"GRIDUNIT", {false, std::nullopt}}, - {"GRUPMAST", {false, std::nullopt}}, - {"GRUPNET", {false, std::nullopt}}, - {"GRUPRIG", {false, std::nullopt}}, - {"GRUPSLAV", {false, std::nullopt}}, - {"GRUPTARG", {false, std::nullopt}}, - {"GSATINJE", {false, std::nullopt}}, - {"GSEPCOND", {false, std::nullopt}}, - {"GSSCPTST", {false, std::nullopt}}, - {"GSWINGF", {false, std::nullopt}}, - {"GTADD", {false, std::nullopt}}, - {"GTMULT", {false, std::nullopt}}, - {"GUIDECAL", {false, std::nullopt}}, - {"GSATPROD", {false, std::nullopt}}, - {"GUPFREQ", {false, std::nullopt}}, - {"GWRTWCV", {false, std::nullopt}}, - {"HALFTRAN", {false, std::nullopt}}, - {"HAxxxxxx", {false, std::nullopt}}, - {"HBNUM", {false, std::nullopt}}, - {"HDISP", {false, std::nullopt}}, - {"HMAQUCT", {false, std::nullopt}}, - {"HMAQUFET", {false, std::nullopt}}, - {"HMAQUNUM", {false, std::nullopt}}, - {"HMDIMS", {false, std::nullopt}}, - {"HMFAULTS", {false, std::nullopt}}, - {"HMMLAQUN", {false, std::nullopt}}, - {"HMMLCTAQ", {false, std::nullopt}}, - {"HMMLFTAQ", {false, std::nullopt}}, - {"HMMLTWCN", {false, std::nullopt}}, - {"HMMULTxx", {false, std::nullopt}}, - {"HMMULTFT", {false, std::nullopt}}, - {"HMMULTSG", {false, std::nullopt}}, - {"HMPROPS", {false, std::nullopt}}, - {"HMROCK", {false, std::nullopt}}, - {"HMROCKT", {false, std::nullopt}}, - {"HMRREF", {false, std::nullopt}}, - {"HMWELCON", {false, std::nullopt}}, - {"HMWPIMLT", {false, std::nullopt}}, - {"HMxxxxxx", {false, std::nullopt}}, - {"HRFIN", {false, std::nullopt}}, - {"HWKRO", {false, std::nullopt}}, - {"HWKRORG", {false, std::nullopt}}, - {"HWKRORW", {false, std::nullopt}}, - {"HWKRW", {false, std::nullopt}}, - {"HWKRWR", {false, std::nullopt}}, - {"HWPCW", {false, std::nullopt}}, - {"HWSNUM", {false, std::nullopt}}, - {"HWSOGCR", {false, std::nullopt}}, - {"HWSOWCR", {false, std::nullopt}}, - {"HWSWCR", {false, std::nullopt}}, - {"HWSWL", {false, std::nullopt}}, - {"HWSWLPC", {false, std::nullopt}}, - {"HWSWU", {false, std::nullopt}}, - {"HXFIN", {false, std::nullopt}}, - {"HYDRHEAD", {false, std::nullopt}}, - {"HYFIN", {false, std::nullopt}}, - {"HYMOBGDR", {false, std::nullopt}}, - {"HYST", {false, std::nullopt}}, - {"HYSTCHCK", {false, std::nullopt}}, - {"HZFIN", {false, std::nullopt}}, - {"IHOST", {false, std::nullopt}}, - {"IMBNUMMF", {false, std::nullopt}}, - {"IMKRVD", {false, std::nullopt}}, - {"IMPCVD", {false, std::nullopt}}, - {"IMPES", {false, std::nullopt}}, - {"IMPLICIT", {false, std::nullopt}}, - {"IMPTVD", {false, std::nullopt}}, - {"IMSPCVD", {false, std::nullopt}}, - {"INSPEC", {false, std::nullopt}}, - {"INTPC", {false, std::nullopt}}, - {"IONROCK", {false, std::nullopt}}, - {"IONXROCK", {false, std::nullopt}}, - {"IONXSURF", {false, std::nullopt}}, - {"ISOLNUM", {false, std::nullopt}}, - {"JFUNCR", {false, std::nullopt}}, - {"KRNUMMF", {false, std::nullopt}}, - {"LANGMPL", {false, std::nullopt}}, - {"LANGMUIR", {false, std::nullopt}}, - {"LANGSOLV", {false, std::nullopt}}, - {"LCUNIT", {false, std::nullopt}}, - {"LGR", {false, std::nullopt}}, - {"LGRCOPY", {false, std::nullopt}}, - {"LGRFREE", {false, std::nullopt}}, - {"LGRLOCK", {false, std::nullopt}}, - {"LGROFF", {false, std::nullopt}}, - {"LGRON", {false, std::nullopt}}, - {"LICENSES", {false, std::nullopt}}, - {"LINCOM", {false, std::nullopt}}, - {"LINKPERM", {false, std::nullopt}}, - {"LKRO", {false, std::nullopt}}, - {"LKRORG", {false, std::nullopt}}, - {"LKRORW", {false, std::nullopt}}, - {"LKRW", {false, std::nullopt}}, - {"LKRWR", {false, std::nullopt}}, - {"LOAD", {false, std::nullopt}}, - {"LOWSALT", {false, std::nullopt}}, - {"LPCW", {false, std::nullopt}}, - {"LSALTFNC", {false, std::nullopt}}, - {"LSLTWNUM", {false, std::nullopt}}, - {"LSNUM", {false, std::nullopt}}, - {"LSOGCR", {false, std::nullopt}}, - {"LSOWCR", {false, std::nullopt}}, - {"LSWCR", {false, std::nullopt}}, - {"LSWL", {false, std::nullopt}}, - {"LSWLPC", {false, std::nullopt}}, - {"LSWU", {false, std::nullopt}}, - {"LTOSIGMA", {false, std::nullopt}}, - {"LWKRO", {false, std::nullopt}}, - {"LWKRORG", {false, std::nullopt}}, - {"LWKRORW", {false, std::nullopt}}, - {"LWKRW", {false, std::nullopt}}, - {"LWKRWR", {false, std::nullopt}}, - {"LWPCW", {false, std::nullopt}}, - {"LWSLTNUM", {false, std::nullopt}}, - {"LWSNUM", {false, std::nullopt}}, - {"LWSOGCR", {false, std::nullopt}}, - {"LWSOWCR", {false, std::nullopt}}, - {"LWSWCR", {false, std::nullopt}}, - {"LWSWL", {false, std::nullopt}}, - {"LWSWLPC", {false, std::nullopt}}, - {"LWSWU", {false, std::nullopt}}, - {"LX", {false, std::nullopt}}, - {"LXFIN", {false, std::nullopt}}, - {"LY", {false, std::nullopt}}, - {"LYFIN", {false, std::nullopt}}, - {"LZ", {false, std::nullopt}}, - {"LZFIN", {false, std::nullopt}}, - {"MASSFLOW", {false, std::nullopt}}, - {"MATCORR", {false, std::nullopt}}, + {"GDRILPOT", {true, std::nullopt}}, + {"GECON", {true, std::nullopt}}, + {"GECONT", {true, std::nullopt}}, + {"GETGLOB", {true, std::nullopt}}, + {"GI", {true, std::nullopt}}, + {"GIALL", {true, std::nullopt}}, + {"GIMODEL", {true, std::nullopt}}, + {"GINODE", {true, std::nullopt}}, + {"GLIFTLIM", {true, std::nullopt}}, + {"GNETDP", {true, std::nullopt}}, + {"GNETINJE", {true, std::nullopt}}, + {"GNETPUMP", {true, std::nullopt}}, + {"GRADGRUP", {true, std::nullopt}}, + {"GRADRESV", {true, std::nullopt}}, + {"GRADRFT", {true, std::nullopt}}, + {"GRADWELL", {true, std::nullopt}}, + {"GRAVCONS", {true, std::nullopt}}, + {"GRAVDR", {true, std::nullopt}}, + {"GRAVDRB", {true, std::nullopt}}, + {"GRAVDRM", {true, std::nullopt}}, + {"GRDREACH", {true, std::nullopt}}, + {"GRUPMAST", {true, std::nullopt}}, + {"GRUPNET", {true, std::nullopt}}, + {"GRUPRIG", {true, std::nullopt}}, + {"GRUPSLAV", {true, std::nullopt}}, + {"GRUPTARG", {true, std::nullopt}}, + {"GSATINJE", {true, std::nullopt}}, + {"GSEPCOND", {true, std::nullopt}}, + {"GSSCPTST", {true, std::nullopt}}, + {"GSWINGF", {true, std::nullopt}}, + {"GTADD", {true, std::nullopt}}, + {"GTMULT", {true, std::nullopt}}, + {"GUIDECAL", {true, std::nullopt}}, + {"GSATPROD", {true, std::nullopt}}, + {"GUPFREQ", {true, std::nullopt}}, + {"GWRTWCV", {true, std::nullopt}}, + {"HALFTRAN", {true, std::nullopt}}, + {"HAxxxxxx", {true, std::nullopt}}, + {"HBNUM", {true, std::nullopt}}, + {"HDISP", {true, std::nullopt}}, + {"HMAQUCT", {true, std::nullopt}}, + {"HMAQUFET", {true, std::nullopt}}, + {"HMAQUNUM", {true, std::nullopt}}, + {"HMDIMS", {true, std::nullopt}}, + {"HMFAULTS", {true, std::nullopt}}, + {"HMMLAQUN", {true, std::nullopt}}, + {"HMMLCTAQ", {true, std::nullopt}}, + {"HMMLFTAQ", {true, std::nullopt}}, + {"HMMLTWCN", {true, std::nullopt}}, + {"HMMULTxx", {true, std::nullopt}}, + {"HMMULTFT", {true, std::nullopt}}, + {"HMMULTSG", {true, std::nullopt}}, + {"HMPROPS", {true, std::nullopt}}, + {"HMROCK", {true, std::nullopt}}, + {"HMROCKT", {true, std::nullopt}}, + {"HMRREF", {true, std::nullopt}}, + {"HMWELCON", {true, std::nullopt}}, + {"HMWPIMLT", {true, std::nullopt}}, + {"HMxxxxxx", {true, std::nullopt}}, + {"HRFIN", {true, std::nullopt}}, + {"HWKRO", {true, std::nullopt}}, + {"HWKRORG", {true, std::nullopt}}, + {"HWKRORW", {true, std::nullopt}}, + {"HWKRW", {true, std::nullopt}}, + {"HWKRWR", {true, std::nullopt}}, + {"HWPCW", {true, std::nullopt}}, + {"HWSNUM", {true, std::nullopt}}, + {"HWSOGCR", {true, std::nullopt}}, + {"HWSOWCR", {true, std::nullopt}}, + {"HWSWCR", {true, std::nullopt}}, + {"HWSWL", {true, std::nullopt}}, + {"HWSWLPC", {true, std::nullopt}}, + {"HWSWU", {true, std::nullopt}}, + {"HXFIN", {true, std::nullopt}}, + {"HYDRHEAD", {true, std::nullopt}}, + {"HYFIN", {true, std::nullopt}}, + {"HYMOBGDR", {true, std::nullopt}}, + {"HYST", {true, std::nullopt}}, + {"HYSTCHCK", {true, std::nullopt}}, + {"HZFIN", {true, std::nullopt}}, + {"IHOST", {true, std::nullopt}}, + {"IMBNUMMF", {true, std::nullopt}}, + {"IMKRVD", {true, std::nullopt}}, + {"IMPCVD", {true, std::nullopt}}, + {"IMPES", {true, std::nullopt}}, + {"IMPLICIT", {true, std::nullopt}}, + {"IMPTVD", {true, std::nullopt}}, + {"IMSPCVD", {true, std::nullopt}}, + {"INSPEC", {true, std::nullopt}}, + {"INTPC", {true, std::nullopt}}, + {"IONROCK", {true, std::nullopt}}, + {"IONXROCK", {true, std::nullopt}}, + {"IONXSURF", {true, std::nullopt}}, + {"ISOLNUM", {true, std::nullopt}}, + {"JFUNCR", {true, std::nullopt}}, + {"KRNUMMF", {true, std::nullopt}}, + {"LANGMPL", {true, std::nullopt}}, + {"LANGMUIR", {true, std::nullopt}}, + {"LANGSOLV", {true, std::nullopt}}, + {"LCUNIT", {true, std::nullopt}}, + {"LGR", {true, std::nullopt}}, + {"LGRCOPY", {true, std::nullopt}}, + {"LGRFREE", {true, std::nullopt}}, + {"LGRLOCK", {true, std::nullopt}}, + {"LGROFF", {true, std::nullopt}}, + {"LGRON", {true, std::nullopt}}, + {"LICENSES", {true, std::nullopt}}, + {"LINCOM", {true, std::nullopt}}, + {"LINKPERM", {true, std::nullopt}}, + {"LKRO", {true, std::nullopt}}, + {"LKRORG", {true, std::nullopt}}, + {"LKRORW", {true, std::nullopt}}, + {"LKRW", {true, std::nullopt}}, + {"LKRWR", {true, std::nullopt}}, + {"LOAD", {true, std::nullopt}}, + {"LOWSALT", {true, std::nullopt}}, + {"LPCW", {true, std::nullopt}}, + {"LSALTFNC", {true, std::nullopt}}, + {"LSLTWNUM", {true, std::nullopt}}, + {"LSNUM", {true, std::nullopt}}, + {"LSOGCR", {true, std::nullopt}}, + {"LSOWCR", {true, std::nullopt}}, + {"LSWCR", {true, std::nullopt}}, + {"LSWL", {true, std::nullopt}}, + {"LSWLPC", {true, std::nullopt}}, + {"LSWU", {true, std::nullopt}}, + {"LTOSIGMA", {true, std::nullopt}}, + {"LWKRO", {true, std::nullopt}}, + {"LWKRORG", {true, std::nullopt}}, + {"LWKRORW", {true, std::nullopt}}, + {"LWKRW", {true, std::nullopt}}, + {"LWKRWR", {true, std::nullopt}}, + {"LWPCW", {true, std::nullopt}}, + {"LWSLTNUM", {true, std::nullopt}}, + {"LWSNUM", {true, std::nullopt}}, + {"LWSOGCR", {true, std::nullopt}}, + {"LWSOWCR", {true, std::nullopt}}, + {"LWSWCR", {true, std::nullopt}}, + {"LWSWL", {true, std::nullopt}}, + {"LWSWLPC", {true, std::nullopt}}, + {"LWSWU", {true, std::nullopt}}, + {"LX", {true, std::nullopt}}, + {"LXFIN", {true, std::nullopt}}, + {"LY", {true, std::nullopt}}, + {"LYFIN", {true, std::nullopt}}, + {"LZ", {true, std::nullopt}}, + {"LZFIN", {true, std::nullopt}}, + {"MASSFLOW", {true, std::nullopt}}, + {"MATCORR", {true, std::nullopt}}, {"MEMORY", {false, std::nullopt}}, {"MESSAGE", {false, std::nullopt}}, {"MESSOPTS", {false, std::nullopt}}, - {"MESSSRVC", {false, std::nullopt}}, - {"MINNNCT", {false, std::nullopt}}, - {"MLANG", {false, std::nullopt}}, - {"MLANGSLV", {false, std::nullopt}}, + {"MESSSRVC", {true, std::nullopt}}, + {"MINNNCT", {true, std::nullopt}}, + {"MLANG", {true, std::nullopt}}, + {"MLANGSLV", {true, std::nullopt}}, {"MONITOR", {false, std::nullopt}}, - {"MPFANUM", {false, std::nullopt}}, - {"MPFNNC", {false, std::nullopt}}, + {"MPFANUM", {true, std::nullopt}}, + {"MPFNNC", {true, std::nullopt}}, {"MSGFILE", {false, std::nullopt}}, - {"MULSGGD", {false, std::nullopt}}, - {"MULSGGDV", {false, std::nullopt}}, - {"MULTOUTS", {false, std::nullopt}}, - {"MULTREAL", {false, std::nullopt}}, - {"MULTREGD", {false, std::nullopt}}, - {"MULTREGH", {false, std::nullopt}}, - {"MULTSIG", {false, std::nullopt}}, - {"MULTSIGV", {false, std::nullopt}}, - {"MULT_XYZ", {false, std::nullopt}}, - {"NARROW", {false, std::nullopt}}, - {"NCONSUMP", {false, std::nullopt}}, - {"NEFAC", {false, std::nullopt}}, - {"NETCOMPA", {false, std::nullopt}}, + {"MULSGGD", {true, std::nullopt}}, + {"MULSGGDV", {true, std::nullopt}}, + {"MULTOUTS", {true, std::nullopt}}, + {"MULTREAL", {true, std::nullopt}}, + {"MULTREGD", {true, std::nullopt}}, + {"MULTREGH", {true, std::nullopt}}, + {"MULTSIG", {true, std::nullopt}}, + {"MULTSIGV", {true, std::nullopt}}, + {"MULT_XYZ", {true, std::nullopt}}, + {"NARROW", {true, std::nullopt}}, + {"NCONSUMP", {true, std::nullopt}}, + {"NEFAC", {true, std::nullopt}}, + {"NETCOMPA", {true, std::nullopt}}, {"NEXT", {false, std::nullopt}}, - {"NEXTSTPL", {false, std::nullopt}}, - {"NINENUM", {false, std::nullopt}}, - {"NINEPOIN", {false, std::nullopt}}, - {"NMATOPTS", {false, std::nullopt}}, - {"NMATRIX", {false, std::nullopt}}, - {"NODPPM", {false, std::nullopt}}, - {"NOECHO", {false, std::string{"Will continue"}}}, - {"NOHMD", {false, std::nullopt}}, - {"NOHMO", {false, std::nullopt}}, - {"NOHYST", {false, std::nullopt}}, + {"NEXTSTPL", {true, std::nullopt}}, + {"NINENUM", {true, std::nullopt}}, + {"NINEPOIN", {true, std::nullopt}}, + {"NMATOPTS", {true, std::nullopt}}, + {"NMATRIX", {true, std::nullopt}}, + {"NODPPM", {true, std::nullopt}}, + {"NOECHO", {false, std::nullopt}}, + {"NOHMD", {true, std::nullopt}}, + {"NOHMO", {true, std::nullopt}}, + {"NOHYST", {true, std::nullopt}}, {"NOWARNEP", {false, std::nullopt}}, - {"NRSOUT", {false, std::nullopt}}, - {"NNEWTF", {false, std::nullopt}}, - {"NOCASC", {false, std::nullopt}}, - {"NOGGF", {false, std::nullopt}}, + {"NRSOUT", {true, std::nullopt}}, + {"NNEWTF", {true, std::nullopt}}, + {"NOCASC", {true, std::nullopt}}, + {"NOGGF", {true, std::nullopt}}, {"NOINSPEC", {false, std::nullopt}}, - {"NOMONITO", {false, std::nullopt}}, - {"NONNC", {false, std::nullopt}}, + {"NOMONITO", {true, std::nullopt}}, + {"NONNC", {true, std::nullopt}}, {"NORSSPEC", {false, std::nullopt}}, {"NOWARN", {false, std::nullopt}}, {"NSTACK", {false, std::nullopt}}, - {"NWATREM", {false, std::nullopt}}, - {"NXFIN", {false, std::nullopt}}, - {"NYFIN", {false, std::nullopt}}, - {"NZFIN", {false, std::nullopt}}, - {"OFM", {false, std::nullopt}}, - {"OILAPI", {false, std::nullopt}}, - {"OLDTRAN", {false, std::nullopt}}, - {"OLDTRANR", {false, std::nullopt}}, - {"OPTIONS", {false, std::nullopt}}, - {"OUTRAD", {false, std::string{"Use the DRV keyword instead"}}}, + {"NWATREM", {true, std::nullopt}}, + {"NXFIN", {true, std::nullopt}}, + {"NYFIN", {true, std::nullopt}}, + {"NZFIN", {true, std::nullopt}}, + {"OFM", {true, std::nullopt}}, + {"OILAPI", {true, std::nullopt}}, + {"OLDTRAN", {true, std::nullopt}}, + {"OLDTRANR", {true, std::nullopt}}, + {"OPTIONS", {true, std::nullopt}}, + {"OUTRAD", {true, std::string{"Use the DRV keyword instead"}}}, {"OUTSOL", {false, std::nullopt}}, - {"PARAOPTS", {false, std::nullopt}}, - {"PCG32D", {false, std::nullopt}}, - {"PCW32D", {false, std::nullopt}}, - {"PERMJFUN", {false, std::nullopt}}, - {"PETOPTS", {false, std::nullopt}}, - {"PLYESAL", {false, std::nullopt}}, - {"PLYKRRF", {false, std::nullopt}}, - {"PLYOPTS", {false, std::nullopt}}, - {"PLYRMDEN", {false, std::nullopt}}, - {"PLYROCKM", {false, std::nullopt}}, - {"PLYTRRF", {false, std::nullopt}}, - {"PLYTRRFA", {false, std::nullopt}}, - {"PLYVISCS", {false, std::nullopt}}, - {"PLYVISCT", {false, std::nullopt}}, - {"PLYVSCST", {false, std::nullopt}}, - {"PVZG", {false, std::nullopt}}, - {"PMAX", {false, std::nullopt}}, - {"PRIORITY", {false, std::nullopt}}, - {"PSTEADY", {false, std::nullopt}}, - {"PSWRG", {false, std::nullopt}}, - {"PSWRO", {false, std::nullopt}}, - {"PVCO", {false, std::nullopt}}, - {"PVZG", {false, std::nullopt}}, - {"QDRILL", {false, std::nullopt}}, - {"QDRILL", {false, std::nullopt}}, - {"QHRATING", {false, std::nullopt}}, - {"QMOBIL", {false, std::nullopt}}, + {"PARAOPTS", {true, std::nullopt}}, + {"PCG32D", {true, std::nullopt}}, + {"PCW32D", {true, std::nullopt}}, + {"PERMJFUN", {true, std::nullopt}}, + {"PETOPTS", {true, std::nullopt}}, + {"PLYESAL", {true, std::nullopt}}, + {"PLYKRRF", {true, std::nullopt}}, + {"PLYOPTS", {true, std::nullopt}}, + {"PLYRMDEN", {true, std::nullopt}}, + {"PLYROCKM", {true, std::nullopt}}, + {"PLYTRRF", {true, std::nullopt}}, + {"PLYTRRFA", {true, std::nullopt}}, + {"PLYVISCS", {true, std::nullopt}}, + {"PLYVISCT", {true, std::nullopt}}, + {"PLYVSCST", {true, std::nullopt}}, + {"PVZG", {true, std::nullopt}}, + {"PMAX", {true, std::nullopt}}, + {"PRIORITY", {true, std::nullopt}}, + {"PSTEADY", {true, std::nullopt}}, + {"PSWRG", {true, std::nullopt}}, + {"PSWRO", {true, std::nullopt}}, + {"PVCO", {true, std::nullopt}}, + {"PVZG", {true, std::nullopt}}, + {"QDRILL", {true, std::nullopt}}, + {"QDRILL", {true, std::nullopt}}, + {"QHRATING", {true, std::nullopt}}, + {"QMOBIL", {true, std::nullopt}}, {"PARALLEL", {false, std::nullopt}}, - {"PARTTRAC", {false, std::nullopt}}, - {"PBUB", {false, std::nullopt}}, - {"PCG", {false, std::nullopt}}, - {"PCW", {false, std::nullopt}}, - {"PDEW", {false, std::nullopt}}, - {"PEBI", {false, std::nullopt}}, - {"PECOEFS", {false, std::nullopt}}, - {"PEDIMS", {false, std::nullopt}}, - {"PEGTABX", {false, std::nullopt}}, - {"PEKTABX", {false, std::nullopt}}, - {"PENUM", {false, std::nullopt}}, - {"PERMAVE", {false, std::nullopt}}, - {"PERMXY", {false, std::nullopt}}, - {"PERMYZ", {false, std::nullopt}}, - {"PERMZX", {false, std::nullopt}}, - {"PETGRID", {false, std::nullopt}}, - {"PICOND", {false, std::nullopt}}, - {"PIMULTAB", {false, std::nullopt}}, - {"PINCHNUM", {false, std::nullopt}}, - {"PINCHOUT", {false, std::nullopt}}, - {"PINCHREG", {false, std::nullopt}}, - {"PINCHXY", {false, std::nullopt}}, - {"PLYADSS", {false, std::nullopt}}, - {"PLYATEMP", {false, std::nullopt}}, - {"PLYCAMAX", {false, std::nullopt}}, - {"PLYDHFLF", {false, std::nullopt}}, - {"PPCWMAX", {false, std::nullopt}}, - {"PRORDER", {false, std::nullopt}}, - {"PRVD", {false, std::nullopt}}, - {"PVTGWO", {false, std::nullopt}}, - {"RAINFALL", {false, std::nullopt}}, - {"RBEDCONT", {false, std::nullopt}}, - {"RADFIN", {false, std::nullopt}}, - {"RADFIN4", {false, std::nullopt}}, - {"RCMASTS", {false, std::nullopt}}, - {"REACACT", {false, std::nullopt}}, - {"REACHES", {false, std::nullopt}}, - {"READDATA", {false, std::nullopt}}, - {"RESIDNUM", {false, std::nullopt}}, - {"RESVNUMS", {false, std::nullopt}}, - {"RIVDEBUG", {false, std::nullopt}}, - {"RIVRXSEC", {false, std::nullopt}}, - {"RIVERSYS", {false, std::nullopt}}, - {"RIVRDIMS", {false, std::nullopt}}, - {"RIVRPROP", {false, std::nullopt}}, - {"RIVRXSE", {false, std::nullopt}}, - {"RIVSALT", {false, std::nullopt}}, - {"RIVTRACE", {false, std::nullopt}}, - {"ROCKFRAC", {false, std::nullopt}}, - {"ROCKOPTS", {false, std::nullopt}}, - {"ROCKPAMA", {false, std::nullopt}}, - {"ROCKTAB", {false, std::nullopt}}, - {"ROCKTABH", {false, std::nullopt}}, - {"ROCKTABW", {false, std::nullopt}}, - {"ROCKTHSG", {false, std::nullopt}}, - {"ROCKTSIG", {false, std::nullopt}}, - {"ROCKV", {false, std::nullopt}}, + {"PARTTRAC", {true, std::nullopt}}, + {"PBUB", {true, std::nullopt}}, + {"PCG", {true, std::nullopt}}, + {"PCW", {true, std::nullopt}}, + {"PDEW", {true, std::nullopt}}, + {"PEBI", {true, std::nullopt}}, + {"PECOEFS", {true, std::nullopt}}, + {"PEDIMS", {true, std::nullopt}}, + {"PEGTABX", {true, std::nullopt}}, + {"PEKTABX", {true, std::nullopt}}, + {"PENUM", {true, std::nullopt}}, + {"PERMAVE", {true, std::nullopt}}, + {"PERMXY", {true, std::nullopt}}, + {"PERMYZ", {true, std::nullopt}}, + {"PERMZX", {true, std::nullopt}}, + {"PETGRID", {true, std::nullopt}}, + {"PICOND", {true, std::nullopt}}, + {"PIMULTAB", {true, std::nullopt}}, + {"PINCHNUM", {true, std::nullopt}}, + {"PINCHOUT", {true, std::nullopt}}, + {"PINCHREG", {true, std::nullopt}}, + {"PINCHXY", {true, std::nullopt}}, + {"PLYADSS", {true, std::nullopt}}, + {"PLYATEMP", {true, std::nullopt}}, + {"PLYCAMAX", {true, std::nullopt}}, + {"PLYDHFLF", {true, std::nullopt}}, + {"PPCWMAX", {true, std::nullopt}}, + {"PRORDER", {true, std::nullopt}}, + {"PRVD", {true, std::nullopt}}, + {"PVTGWO", {true, std::nullopt}}, + {"RAINFALL", {true, std::nullopt}}, + {"RBEDCONT", {true, std::nullopt}}, + {"RADFIN", {true, std::nullopt}}, + {"RADFIN4", {true, std::nullopt}}, + {"RCMASTS", {true, std::nullopt}}, + {"REACACT", {true, std::nullopt}}, + {"REACHES", {true, std::nullopt}}, + {"READDATA", {true, std::nullopt}}, + {"RESIDNUM", {true, std::nullopt}}, + {"RESVNUM", {true, std::nullopt}}, + {"RIVDEBUG", {true, std::nullopt}}, + {"RIVRXSEC", {true, std::nullopt}}, + {"RIVERSYS", {true, std::nullopt}}, + {"RIVRDIMS", {true, std::nullopt}}, + {"RIVRPROP", {true, std::nullopt}}, + {"RIVRXSE", {true, std::nullopt}}, + {"RIVSALT", {true, std::nullopt}}, + {"RIVTRACE", {true, std::nullopt}}, + {"ROCKFRAC", {true, std::nullopt}}, + {"ROCKPAMA", {true, std::nullopt}}, + {"ROCKTABH", {true, std::nullopt}}, + {"ROCKTABW", {true, std::nullopt}}, + {"ROCKTHSG", {true, std::nullopt}}, + {"ROCKTSIG", {true, std::nullopt}}, + {"ROCKV", {true, std::nullopt}}, {"RPTCPL", {false, std::nullopt}}, {"RPTGRIDL", {false, std::nullopt}}, {"RPTHM", {false, std::nullopt}}, @@ -531,236 +528,233 @@ const KeywordValidation::UnsupportedKeywords& unsupportedKeywords() {"RPTPROPS", {false, std::nullopt}}, {"RPTREGS", {false, std::nullopt}}, {"RPTSOL", {false, std::nullopt}}, - {"RSGI", {false, std::nullopt}}, - {"RSSPE", {false, std::nullopt}}, + {"RSGI", {true, std::nullopt}}, + {"RSSPE", {true, std::nullopt}}, {"RSSSPEC", {false, std::nullopt}}, - {"RVCONST", {false, std::nullopt}}, - {"RVCONSTT", {false, std::nullopt}}, - {"RVGI", {false, std::nullopt}}, - {"REFINE", {false, std::nullopt}}, - {"RADFIN4", {false, std::nullopt}}, - {"RHO", {false, std::nullopt}}, - {"RKTRMDIR", {false, std::nullopt}}, - {"ROCKOPTS", {false, std::nullopt}}, - {"ROCKTAB", {false, std::nullopt}}, + {"RVCONST", {true, std::nullopt}}, + {"RVCONSTT", {true, std::nullopt}}, + {"RVGI", {true, std::nullopt}}, + {"REFINE", {true, std::nullopt}}, + {"RADFIN4", {true, std::nullopt}}, + {"RHO", {true, std::nullopt}}, + {"RKTRMDIR", {true, std::nullopt}}, {"RPTGRID", {false, std::nullopt}}, - {"RPTPROS", {false, std::nullopt}}, - {"PRTRST", {false, std::nullopt}}, + {"RPTPROS", {true, std::nullopt}}, + {"PRTRST", {true, std::nullopt}}, {"RPTRUNSP", {false, std::nullopt}}, {"RPTSMRY", {false, std::nullopt}}, - {"RSCONST", {false, std::nullopt}}, - {"RSCONSTT", {false, std::nullopt}}, - {"RSSPEC", {false, std::nullopt}}, - {"SAMG", {false, std::nullopt}}, + {"RSCONST", {true, std::nullopt}}, + {"RSCONSTT", {true, std::nullopt}}, + {"RSSPEC", {true, std::nullopt}}, + {"SAMG", {true, std::nullopt}}, {"SAVE", {false, std::nullopt}}, - {"SKIP", {false, std::nullopt}}, - {"SKIP100", {false, std::nullopt}}, - {"SKIP300", {false, std::nullopt}}, - {"SALTNODE", {false, std::nullopt}}, - {"SALTREST", {false, std::nullopt}}, - {"SCALELIM", {false, std::nullopt}}, - {"SCDATAB", {false, std::nullopt}}, - {"SCDETAB", {false, std::nullopt}}, - {"SCDPTAB", {false, std::nullopt}}, - {"SCDPTRAC", {false, std::nullopt}}, - {"SCDPDIMS", {false, std::nullopt}}, - {"SCVD", {false, std::nullopt}}, - {"SEPVALS", {false, std::nullopt}}, - {"SFOAM", {false, std::nullopt}}, - {"SGF32D", {false, std::nullopt}}, - {"SHRATE", {false, std::string{"See the PLYSHEAR keyword instead"}}}, - {"SIGMA", {false, std::nullopt}}, - {"SIGMAGD", {false, std::nullopt}}, - {"SIGMAGDV", {false, std::nullopt}}, - {"SIGMATH", {false, std::nullopt}}, - {"SIGMAV", {false, std::nullopt}}, - {"SIMULATE", {false, std::nullopt}}, - {"SKRO", {false, std::nullopt}}, - {"SKRORG", {false, std::nullopt}}, - {"SKRORW", {false, std::nullopt}}, - {"SKRW", {false, std::nullopt}}, - {"SKRWR", {false, std::nullopt}}, - {"SLAVES", {false, std::nullopt}}, - {"SMULTX", {false, std::nullopt}}, - {"SMULTY", {false, std::nullopt}}, - {"SMULTZ", {false, std::nullopt}}, - {"SOCRS", {false, std::nullopt}}, - {"SOF32D", {false, std::nullopt}}, - {"SOLVCONC", {false, std::nullopt}}, - {"SOLVDIMS", {false, std::nullopt}}, - {"SOLVDIRS", {false, std::nullopt}}, - {"SOLVFRAC", {false, std::nullopt}}, - {"SOLVNUM", {false, std::nullopt}}, - {"SOLWNUM", {false, std::nullopt}}, - {"SOMGAS", {false, std::nullopt}}, - {"SOMWAT", {false, std::nullopt}}, - {"SSGCR", {false, std::nullopt}}, - {"SSGL", {false, std::nullopt}}, - {"SSOGCR", {false, std::nullopt}}, - {"SSOWCR", {false, std::nullopt}}, - {"SSWCR", {false, std::nullopt}}, - {"SSWL", {false, std::nullopt}}, - {"SSWU", {false, std::nullopt}}, - {"STOG", {false, std::nullopt}}, - {"STOW", {false, std::nullopt}}, - {"STWG", {false, std::nullopt}}, - {"SURF", {false, std::nullopt}}, - {"SURFACT", {false, std::nullopt}}, - {"SURFACTW", {false, std::nullopt}}, - {"SURFADDW", {false, std::nullopt}}, - {"SURFADS", {false, std::nullopt}}, - {"SURFCAPD", {false, std::nullopt}}, - {"SURFESAL", {false, std::nullopt}}, - {"SURFNUM", {false, std::nullopt}}, - {"SURFOPTS", {false, std::nullopt}}, - {"SURFROCK", {false, std::nullopt}}, - {"SURFST", {false, std::nullopt}}, - {"SURFSTES", {false, std::nullopt}}, - {"SURFVISC", {false, std::nullopt}}, - {"SURFWNUM", {false, std::nullopt}}, - {"SWF32D", {false, std::nullopt}}, - {"SWINGFAC", {false, std::nullopt}}, - {"TEMP", {false, std::nullopt}}, - {"TEMPNODE", {false, std::nullopt}}, - {"TEMPTVD", {false, std::nullopt}}, - {"TIGHTEN", {false, std::nullopt}}, - {"TIGHTENP", {false, std::nullopt}}, - {"TIME", {false, std::nullopt}}, - {"TNUM", {false, std::nullopt}}, - {"TPAMEPS", {false, std::nullopt}}, - {"TPAMEPSS", {false, std::nullopt}}, - {"TRACERKM", {false, std::nullopt}}, - {"TRACERKP", {false, std::nullopt}}, - {"TRACITVD", {false, std::nullopt}}, - {"TRACTVD", {false, std::nullopt}}, - {"TRACITVD", {false, std::nullopt}}, - {"TRADS", {false, std::nullopt}}, - {"TRANGL", {false, std::nullopt}}, - {"TRANR", {false, std::nullopt}}, - {"TRANTHT", {false, std::nullopt}}, - {"TRDCY", {false, std::nullopt}}, - {"TRDIF", {false, std::nullopt}}, - {"TRDIS", {false, std::nullopt}}, - {"TRKPF", {false, std::nullopt}}, - {"TRNHD", {false, std::nullopt}}, - {"TRPLPORO", {false, std::nullopt}}, - {"TRROCK", {false, std::nullopt}}, + {"SKIP", {true, std::nullopt}}, + {"SKIP100", {true, std::nullopt}}, + {"SKIP300", {true, std::nullopt}}, + {"SALTNODE", {true, std::nullopt}}, + {"SALTREST", {true, std::nullopt}}, + {"SCALELIM", {true, std::nullopt}}, + {"SCDATAB", {true, std::nullopt}}, + {"SCDETAB", {true, std::nullopt}}, + {"SCDPTAB", {true, std::nullopt}}, + {"SCDPTRAC", {true, std::nullopt}}, + {"SCDPDIMS", {true, std::nullopt}}, + {"SCVD", {true, std::nullopt}}, + {"SEPVALS", {true, std::nullopt}}, + {"SFOAM", {true, std::nullopt}}, + {"SGF32D", {true, std::nullopt}}, + {"SHRATE", {true, std::string{"See the PLYSHEAR keyword instead"}}}, + {"SIGMA", {true, std::nullopt}}, + {"SIGMAGD", {true, std::nullopt}}, + {"SIGMAGDV", {true, std::nullopt}}, + {"SIGMATH", {true, std::nullopt}}, + {"SIGMAV", {true, std::nullopt}}, + {"SIMULATE", {true, std::nullopt}}, + {"SKRO", {true, std::nullopt}}, + {"SKRORG", {true, std::nullopt}}, + {"SKRORW", {true, std::nullopt}}, + {"SKRW", {true, std::nullopt}}, + {"SKRWR", {true, std::nullopt}}, + {"SLAVES", {true, std::nullopt}}, + {"SMULTX", {true, std::nullopt}}, + {"SMULTY", {true, std::nullopt}}, + {"SMULTZ", {true, std::nullopt}}, + {"SOCRS", {true, std::nullopt}}, + {"SOF32D", {true, std::nullopt}}, + {"SOLVCONC", {true, std::nullopt}}, + {"SOLVDIMS", {true, std::nullopt}}, + {"SOLVDIRS", {true, std::nullopt}}, + {"SOLVFRAC", {true, std::nullopt}}, + {"SOLVNUM", {true, std::nullopt}}, + {"SOLWNUM", {true, std::nullopt}}, + {"SOMGAS", {true, std::nullopt}}, + {"SOMWAT", {true, std::nullopt}}, + {"SSGCR", {true, std::nullopt}}, + {"SSGL", {true, std::nullopt}}, + {"SSOGCR", {true, std::nullopt}}, + {"SSOWCR", {true, std::nullopt}}, + {"SSWCR", {true, std::nullopt}}, + {"SSWL", {true, std::nullopt}}, + {"SSWU", {true, std::nullopt}}, + {"STOG", {true, std::nullopt}}, + {"STOW", {true, std::nullopt}}, + {"STWG", {true, std::nullopt}}, + {"SURF", {true, std::nullopt}}, + {"SURFACT", {true, std::nullopt}}, + {"SURFACTW", {true, std::nullopt}}, + {"SURFADDW", {true, std::nullopt}}, + {"SURFADS", {true, std::nullopt}}, + {"SURFCAPD", {true, std::nullopt}}, + {"SURFESAL", {true, std::nullopt}}, + {"SURFNUM", {true, std::nullopt}}, + {"SURFOPTS", {true, std::nullopt}}, + {"SURFROCK", {true, std::nullopt}}, + {"SURFST", {true, std::nullopt}}, + {"SURFSTES", {true, std::nullopt}}, + {"SURFVISC", {true, std::nullopt}}, + {"SURFWNUM", {true, std::nullopt}}, + {"SWF32D", {true, std::nullopt}}, + {"SWINGFAC", {true, std::nullopt}}, + {"TEMP", {true, std::nullopt}}, + {"TEMPNODE", {true, std::nullopt}}, + {"TEMPTVD", {true, std::nullopt}}, + {"TIGHTEN", {true, std::nullopt}}, + {"TIGHTENP", {true, std::nullopt}}, + {"TIME", {true, std::nullopt}}, + {"TNUM", {true, std::nullopt}}, + {"TPAMEPS", {true, std::nullopt}}, + {"TPAMEPSS", {true, std::nullopt}}, + {"TRACERKM", {true, std::nullopt}}, + {"TRACERKP", {true, std::nullopt}}, + {"TRACITVD", {true, std::nullopt}}, + {"TRACTVD", {true, std::nullopt}}, + {"TRACITVD", {true, std::nullopt}}, + {"TRADS", {true, std::nullopt}}, + {"TRANGL", {true, std::nullopt}}, + {"TRANR", {true, std::nullopt}}, + {"TRANTHT", {true, std::nullopt}}, + {"TRDCY", {true, std::nullopt}}, + {"TRDIF", {true, std::nullopt}}, + {"TRDIS", {true, std::nullopt}}, + {"TRKPF", {true, std::nullopt}}, + {"TRNHD", {true, std::nullopt}}, + {"TRPLPORO", {true, std::nullopt}}, + {"TRROCK", {true, std::nullopt}}, {"TUNINGDP", {false, std::nullopt}}, {"TUNINGH", {false, std::nullopt}}, {"TUNINGL", {false, std::nullopt}}, {"TUNINGS", {false, std::nullopt}}, - {"TVDP", {false, std::nullopt}}, - {"TZONE", {false, std::nullopt}}, - {"UDT", {false, std::nullopt}}, - {"UDTDIMS", {false, std::nullopt}}, - {"UNCODHMD", {false, std::nullopt}}, + {"TZONE", {true, std::nullopt}}, + {"UDT", {true, std::nullopt}}, + {"UDTDIMS", {true, std::nullopt}}, + {"UNCODHMD", {true, std::nullopt}}, {"UNIFOUTS", {false, std::nullopt}}, {"UNIFSAVE", {false, std::nullopt}}, - {"USECUPL", {false, std::nullopt}}, - {"USEFLUX", {false, std::nullopt}}, - {"USENOFLO", {false, std::nullopt}}, - {"VDFLOW", {false, std::nullopt}}, - {"VDFLOWR", {false, std::nullopt}}, - {"VE", {false, std::nullopt}}, - {"VEDEBUG", {false, std::nullopt}}, - {"VEFIN", {false, std::nullopt}}, - {"VEFRAC", {false, std::nullopt}}, - {"VEFRACP", {false, std::nullopt}}, - {"VEFRACPV", {false, std::nullopt}}, - {"VEFRACV", {false, std::nullopt}}, - {"VFPCHK", {false, std::nullopt}}, - {"VFPTABL", {false, std::nullopt}}, - {"VISAGE", {false, std::nullopt}}, - {"VISCD", {false, std::nullopt}}, - {"VISDATES", {false, std::nullopt}}, - {"VISOPTS", {false, std::nullopt}}, - {"WAGHYSTR", {false, std::nullopt}}, - {"WAITBAL", {false, std::nullopt}}, - {"WALKALIN", {false, std::nullopt}}, - {"WALQCALC", {false, std::nullopt}}, - {"WAPI", {false, std::nullopt}}, + {"USECUPL", {true, std::nullopt}}, + {"USEFLUX", {true, std::nullopt}}, + {"USENOFLO", {true, std::nullopt}}, + {"VDFLOW", {true, std::nullopt}}, + {"VDFLOWR", {true, std::nullopt}}, + {"VE", {true, std::nullopt}}, + {"VEDEBUG", {true, std::nullopt}}, + {"VEFIN", {true, std::nullopt}}, + {"VEFRAC", {true, std::nullopt}}, + {"VEFRACP", {true, std::nullopt}}, + {"VEFRACPV", {true, std::nullopt}}, + {"VEFRACV", {true, std::nullopt}}, + {"VFPCHK", {true, std::nullopt}}, + {"VFPTABL", {true, std::nullopt}}, + {"VISAGE", {true, std::nullopt}}, + {"VISCD", {true, std::nullopt}}, + {"VISDATES", {true, std::nullopt}}, + {"VISOPTS", {true, std::nullopt}}, + {"WAGHYSTR", {true, std::nullopt}}, + {"WAITBAL", {true, std::nullopt}}, + {"WALKALIN", {true, std::nullopt}}, + {"WALQCALC", {true, std::nullopt}}, + {"WAPI", {true, std::nullopt}}, {"WARN", {false, std::nullopt}}, - {"WBHGLR", {false, std::nullopt}}, - {"WBOREVOL", {false, std::nullopt}}, - {"WCALCVAL", {false, std::nullopt}}, + {"WBHGLR", {true, std::nullopt}}, + {"WBOREVOL", {true, std::nullopt}}, + {"WCALCVAL", {true, std::nullopt}}, {"WBP", {false, std::nullopt}}, {"WBP4", {false, std::nullopt}}, {"WBP5", {false, std::nullopt}}, {"WBP9", {false, std::nullopt}}, - {"WCONINJ", {false, std::nullopt}}, - {"WCONINJP", {false, std::nullopt}}, - {"WCUTBACK", {false, std::nullopt}}, - {"WCUTBACT", {false, std::nullopt}}, - {"WCYCLE", {false, std::nullopt}}, - {"WDFACCOR", {false, std::nullopt}}, - {"WDFAC", {false, std::nullopt}}, - {"WDRILTIM", {false, std::nullopt}}, - {"WDRILPRI", {false, std::nullopt}}, - {"WDRILRES", {false, std::nullopt}}, - {"WECONINJ", {false, std::nullopt}}, - {"WECONT", {false, std::nullopt}}, - {"WELCNTL", {false, std::nullopt}}, - {"WELDEBUG", {false, std::nullopt}}, - {"WELDRAW", {false, std::nullopt}}, - {"WELEVNT", {false, std::nullopt}}, - {"WELMOVEL", {false, std::nullopt}}, - {"WELOPENL", {false, std::nullopt}}, - {"WELPRI", {false, std::nullopt}}, - {"WELSOMIN", {false, std::nullopt}}, - {"WELSPECL", {false, std::nullopt}}, - {"WFRICSEG", {false, std::nullopt}}, - {"WFRICSGL", {false, std::nullopt}}, - {"WFRICTN", {false, std::nullopt}}, - {"WFRICTNL", {false, std::nullopt}}, - {"WGASPROD", {false, std::nullopt}}, - {"WGORPEN", {false, std::nullopt}}, - {"WH2NUM", {false, std::nullopt}}, - {"WH3NUM", {false, std::nullopt}}, - {"WHEDREFD", {false, std::nullopt}}, - {"WHTEMP", {false, std::nullopt}}, - {"WINJMULT", {false, std::nullopt}}, - {"WLIMTOL", {false, std::nullopt}}, - {"WLIFT", {false, std::nullopt}}, - {"WLISTARG", {false, std::nullopt}}, - {"WLISTNAM", {false, std::nullopt}}, - {"WLISTOPT", {false, std::nullopt}}, - {"WNETCTRL", {false, std::nullopt}}, - {"WNETDP", {false, std::nullopt}}, - {"WORKLIM", {false, std::nullopt}}, - {"WORKTHP", {false, std::nullopt}}, + {"WCONINJ", {true, std::nullopt}}, + {"WCONINJP", {true, std::nullopt}}, + {"WCUTBACK", {true, std::nullopt}}, + {"WCUTBACT", {true, std::nullopt}}, + {"WCYCLE", {true, std::nullopt}}, + {"WDFACCOR", {true, std::nullopt}}, + {"WDFAC", {true, std::nullopt}}, + {"WDRILTIM", {true, std::nullopt}}, + {"WDRILPRI", {true, std::nullopt}}, + {"WDRILRES", {true, std::nullopt}}, + {"WECONINJ", {true, std::nullopt}}, + {"WECONT", {true, std::nullopt}}, + {"WELCNTL", {true, std::nullopt}}, + {"WELDEBUG", {true, std::nullopt}}, + {"WELDRAW", {true, std::nullopt}}, + {"WELEVNT", {true, std::nullopt}}, + {"WELMOVEL", {true, std::nullopt}}, + {"WELOPENL", {true, std::nullopt}}, + {"WELPRI", {true, std::nullopt}}, + {"WELSOMIN", {true, std::nullopt}}, + {"WELSPECL", {true, std::nullopt}}, + {"WFRICSEG", {true, std::nullopt}}, + {"WFRICSGL", {true, std::nullopt}}, + {"WFRICTN", {true, std::nullopt}}, + {"WFRICTNL", {true, std::nullopt}}, + {"WGASPROD", {true, std::nullopt}}, + {"WGORPEN", {true, std::nullopt}}, + {"WH2NUM", {true, std::nullopt}}, + {"WH3NUM", {true, std::nullopt}}, + {"WHEDREFD", {true, std::nullopt}}, + {"WHTEMP", {true, std::nullopt}}, + {"WINJMULT", {true, std::nullopt}}, + {"WLIMTOL", {true, std::nullopt}}, + {"WLIFT", {true, std::nullopt}}, + {"WLISTARG", {true, std::nullopt}}, + {"WLISTNAM", {true, std::nullopt}}, + {"WLISTOPT", {true, std::nullopt}}, + {"WNETCTRL", {true, std::nullopt}}, + {"WNETDP", {true, std::nullopt}}, + {"WORKLIM", {true, std::nullopt}}, + {"WORKTHP", {true, std::nullopt}}, {"WPAVE", {false, std::nullopt}}, - {"WPIMULTL", {false, std::nullopt}}, - {"WPITAB", {false, std::nullopt}}, - {"WPLUG", {false, std::nullopt}}, - {"WPOLYRED", {false, std::nullopt}}, + {"WPIMULTL", {true, std::nullopt}}, + {"WPITAB", {true, std::nullopt}}, + {"WPLUG", {true, std::nullopt}}, + {"WPOLYRED", {true, std::nullopt}}, {"WPOTCALC", {false, std::nullopt}}, - {"WREGROUP", {false, std::nullopt}}, - {"WSCCLEAN", {false, std::nullopt}}, - {"WSCCLENL", {false, std::nullopt}}, - {"WSCTAB", {false, std::nullopt}}, - {"WSEGDFIN", {false, std::nullopt}}, - {"WSEGDFMD", {false, std::nullopt}}, - {"WSEGDFPA", {false, std::nullopt}}, - {"WSEGEXSS", {false, std::nullopt}}, - {"WSEGFLIM", {false, std::nullopt}}, - {"WSEGFMOD", {false, std::nullopt}}, - {"WSEGINIT", {false, std::nullopt}}, + {"WREGROUP", {true, std::nullopt}}, + {"WSCCLEAN", {true, std::nullopt}}, + {"WSCCLENL", {true, std::nullopt}}, + {"WSCTAB", {true, std::nullopt}}, + {"WSEGDFIN", {true, std::nullopt}}, + {"WSEGDFMD", {true, std::nullopt}}, + {"WSEGDFPA", {true, std::nullopt}}, + {"WSEGEXSS", {true, std::nullopt}}, + {"WSEGFLIM", {true, std::nullopt}}, + {"WSEGFMOD", {true, std::nullopt}}, + {"WSEGINIT", {true, std::nullopt}}, {"WSEGITER", {false, std::nullopt}}, - {"WSEGLABY", {false, std::nullopt}}, - {"WSEGLINK", {false, std::nullopt}}, - {"WSEGMULT", {false, std::nullopt}}, - {"WSEGPROP", {false, std::nullopt}}, - {"WSEGPULL", {false, std::nullopt}}, - {"WSEGSEP", {false, std::nullopt}}, - {"WSEGSOLV", {false, std::nullopt}}, - {"WSEGTABL", {false, std::nullopt}}, - {"WSURFACT", {false, std::nullopt}}, - {"WTADD", {false, std::nullopt}}, - {"WTEMPQ", {false, std::nullopt}}, - {"WTHPMAX", {false, std::nullopt}}, - {"WTMULT", {false, std::nullopt}}, - {"WVFPDP", {false, std::nullopt}}, - {"WWPAVE", {false, std::nullopt}}, + {"WSEGLABY", {true, std::nullopt}}, + {"WSEGLINK", {true, std::nullopt}}, + {"WSEGMULT", {true, std::nullopt}}, + {"WSEGPROP", {true, std::nullopt}}, + {"WSEGPULL", {true, std::nullopt}}, + {"WSEGSEP", {true, std::nullopt}}, + {"WSEGSOLV", {true, std::nullopt}}, + {"WSEGTABL", {true, std::nullopt}}, + {"WSURFACT", {true, std::nullopt}}, + {"WTADD", {true, std::nullopt}}, + {"WTEMPQ", {true, std::nullopt}}, + {"WTHPMAX", {true, std::nullopt}}, + {"WTMULT", {true, std::nullopt}}, + {"WVFPDP", {true, std::nullopt}}, + {"WWPAVE", {true, std::nullopt}}, {"ZIPPY2", {false, std::nullopt}}, {"ZIPP2OFF", {false, std::nullopt}}, };