Removed constructor with one global JSON config file + addedd optional flag to include all built in keywords

This commit is contained in:
Joakim Hove
2013-09-14 22:39:43 +02:00
parent 3778077422
commit 1ff18bb38a
10 changed files with 9 additions and 534 deletions
@@ -1,4 +1,3 @@
add_definitions( -DJSON_CONFIG_FILE="${PROJECT_SOURCE_DIR}/opm/parser/share/parser_config.json")
add_executable(eclipsedatadoctor EclipseDataDoctor.cpp)
target_link_libraries(eclipsedatadoctor Parser)
@@ -45,7 +45,7 @@ int main(int argc, char** argv) {
printKeywords = true;
}
Opm::ParserPtr parser(new Opm::Parser(JSON_CONFIG_FILE));
Opm::ParserPtr parser(new Opm::Parser());
std::string file = argv[1];
Opm::DeckConstPtr deck = parser->parse(file, false);
@@ -1,4 +1,3 @@
add_definitions( -DJSON_CONFIG_FILE="${PROJECT_SOURCE_DIR}/opm/parser/share/parser_config.json")
add_definitions( -DKEYWORD_DIRECTORY="${PROJECT_SOURCE_DIR}/opm/parser/share/keywords")
add_executable(runIntegrationTests IntegrationTests.cpp)
@@ -28,4 +27,4 @@ if (INCLUDE_STATOIL_TESTS)
target_link_libraries(runIntegrationTestsInternalData Parser ${Boost_LIBRARIES})
add_test(NAME runIntegrationTestsInternalData WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH} COMMAND ${EXECUTABLE_OUTPUT_PATH}/runIntegrationTestsInternalData )
set_property(TEST runIntegrationTestsInternalData PROPERTY LABELS Statoil)
endif()
endif()
@@ -150,21 +150,11 @@ BOOST_AUTO_TEST_CASE(parse_fileWithBPRKeyword_dataiscorrect) {
}
BOOST_AUTO_TEST_CASE(Parse_InvalidInputFile_Throws) {
ParserPtr parser(new Parser(JSON_CONFIG_FILE));
BOOST_CHECK_THROW(parser->parse("nonexistingfile.asdf"), std::invalid_argument );
}
BOOST_AUTO_TEST_CASE(Parse_ValidInputFile_NoThrow) {
boost::filesystem::path singleKeywordFile("testdata/integration_tests/small.data");
ParserPtr parser(new Parser(JSON_CONFIG_FILE));
BOOST_CHECK_NO_THROW(parser->parse(singleKeywordFile.string()));
}
/***************** Testing non-recognized keywords ********************/
BOOST_AUTO_TEST_CASE(parse_unknownkeywordWithnonstrictparsing_keywordmarked) {
ParserPtr parser(new Parser(JSON_CONFIG_FILE));
ParserPtr parser(new Parser());
DeckPtr deck = parser->parse("testdata/integration_tests/someobscureelements.data", false);
BOOST_CHECK_EQUAL(4U, deck->size());
DeckKeywordConstPtr unknown = deck->getKeyword("GRUDINT");
@@ -172,7 +162,7 @@ BOOST_AUTO_TEST_CASE(parse_unknownkeywordWithnonstrictparsing_keywordmarked) {
}
BOOST_AUTO_TEST_CASE(parse_unknownkeywordWithstrictparsing_exceptionthrown) {
ParserPtr parser(new Parser(JSON_CONFIG_FILE));
ParserPtr parser(new Parser());
BOOST_CHECK_THROW(parser->parse("testdata/integration_tests/someobscureelements.data", true), std::invalid_argument);
}
@@ -36,7 +36,7 @@ using namespace Opm;
BOOST_AUTO_TEST_CASE( parse_EQUIL_OK ) {
ParserPtr parser(new Parser(JSON_CONFIG_FILE));
ParserPtr parser(new Parser());
boost::filesystem::path wconhistFile("testdata/integration_tests/EQUIL/EQUIL1");
DeckPtr deck = parser->parse(wconhistFile.string());
DeckKeywordConstPtr kw1 = deck->getKeyword("EQUIL" , 0);
+3 -13
View File
@@ -28,11 +28,9 @@
namespace Opm {
Parser::Parser() {
}
Parser::Parser(const boost::filesystem::path& jsonFile) {
initializeFromJsonFile(jsonFile);
Parser::Parser(bool addDefault) {
if (addDefault)
addDefaultKeywords();
}
DeckPtr Parser::parse(const std::string &dataFile) const {
@@ -120,14 +118,6 @@ namespace Opm {
throw std::invalid_argument("Failed to open file: " + file.string());
}
void Parser::initializeFromJsonFile(const boost::filesystem::path& jsonFile) {
Json::JsonObject jsonConfig(jsonFile);
if (jsonConfig.has_item("keywords")) {
Json::JsonObject jsonKeywords = jsonConfig.get_item("keywords");
loadKeywords(jsonKeywords);
} else
throw std::invalid_argument("Missing \"keywords\" section in config file: " + jsonFile.string());
}
void Parser::loadKeywords(const Json::JsonObject& jsonKeywords) {
if (jsonKeywords.is_array()) {
+1 -3
View File
@@ -39,8 +39,7 @@ namespace Opm {
class Parser {
public:
Parser();
Parser(const boost::filesystem::path& jsonFile);
Parser(bool addDefault = true);
/// The starting point of the parsing process. The supplied file is parsed, and the resulting Deck is returned.
DeckPtr parse(const std::string &dataFile) const;
@@ -51,7 +50,6 @@ namespace Opm {
bool hasKeyword(const std::string& keyword) const;
ParserKeywordConstPtr getKeyword(const std::string& keyword) const;
void initializeFromJsonFile( const boost::filesystem::path& jsonFile );
void loadKeywords(const Json::JsonObject& jsonKeywords);
bool loadKeywordFromFile(const boost::filesystem::path& configFile);
@@ -1,5 +1,3 @@
add_definitions( -DJSON_CONFIG_FILE="${PROJECT_SOURCE_DIR}/opm/parser/share/parser_config.json")
add_executable(runParserTests ParserTests.cpp)
add_executable(runParserKeywordTests ParserKeywordTests.cpp)
add_executable(runParserRecordTests ParserRecordTests.cpp)
@@ -130,35 +130,6 @@ BOOST_AUTO_TEST_CASE(loadKeywordsJSON_manyKeywords_returnstrue) {
BOOST_AUTO_TEST_CASE(inititalizeFromFile) {
ParserPtr parser(new Parser());
boost::filesystem::path jsonFile("testdata/json/example1.json");
BOOST_CHECK_NO_THROW(parser->initializeFromJsonFile( jsonFile ));
BOOST_CHECK(parser->hasKeyword("BPR"));
BOOST_CHECK(parser->hasKeyword("WWCT"));
}
BOOST_AUTO_TEST_CASE(constructFromJsonFile) {
boost::filesystem::path jsonFile("testdata/json/example1.json");
ParserPtr parser(new Parser(jsonFile));
BOOST_CHECK(parser->hasKeyword("BPR"));
BOOST_CHECK(parser->hasKeyword("WWCT"));
}
BOOST_AUTO_TEST_CASE(inititalizeFromFile_doesNotExist_throw) {
ParserPtr parser(new Parser());
boost::filesystem::path jsonFile("Does/not/exist");
BOOST_CHECK_THROW( parser->initializeFromJsonFile( jsonFile ) , std::invalid_argument );
}
BOOST_AUTO_TEST_CASE(inititalizeFromFile_missing_keywords_throw) {
ParserPtr parser(new Parser());
boost::filesystem::path jsonFile("testdata/json/example_missing_keyword.json");
BOOST_CHECK_THROW( parser->initializeFromJsonFile( jsonFile ) , std::invalid_argument );
}
/*****************************************************************/
-470
View File
@@ -1,470 +0,0 @@
{"keywords" :
[
{"name" : "BPR" , "items" :
[{"name": "I" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name": "J" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name": "K" , "size_type" : "SINGLE" , "value_type" : "INT"}]},
{"name" : "GRIDUNIT" , "size" : 1, "items" :
[{"name" : "LengthUnit" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "METRES"}]},
{"name" : "INCLUDE" , "size" : 1, "items" :
[{"name" : "IncludeFile" , "size_type" : "SINGLE" , "value_type" : "STRING"}]},
{"name" : "RADFIN4", "size" : 1, "items" : [
{"name" : "NAME", "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "I1", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "I2", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "J1", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "J2", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "K1", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "K2", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "NR", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "NTHETA", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "NZ", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "NWMAX", "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1}]},
{"name" : "DIMENS", "size" : 1 , "items" :
[{"name": "NX" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name": "NY" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name": "NZ" , "size_type" : "SINGLE" , "value_type" : "INT"}]},
{"name" : "EQLDIMS" , "size" : 1 , "items":
[{"name" : "NTEQUL" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "DEPTH_NODES_P" , "size_type" : "SINGLE" , "value_type" : "INT", "default" : 100},
{"name" : "DEPTH_NODES_TAB" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 20},
{"name" : "TRACER_TAB" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "TRACER_VD" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 20}]},
{"name" : "EQUIL" , "size" : {"keyword":"EQLDIMS" , "item":"NTEQUL"}, "items" :
[{"name" : "DATUM_DEPTH" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "DATUM_PRESSURE" , "size_type" : "SINGLE" , "value_type" : "FLOAT"} ,
{"name" : "OWC" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0} ,
{"name" : "PC_OWC" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0} ,
{"name" : "GOC" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0} ,
{"name" : "PC_GOC" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0} ,
{"name" : "BLACK_OIL_INIT" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0} ,
{"name" : "BLACK_OIL_INIT_WG" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0} ,
{"name" : "OIP_INIT" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : -5 , "comment":"The default is a state variable"}]},
{"name" : "WCONHIST", "items" :
[{"name" : "WellName" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "OpenShut" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "OPEN"},
{"name" : "ControlMode" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "ORAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT", "default" : 0.0},
{"name" : "WRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "VFPTable" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0.0 , "comment":"The default is a state variable"},
{"name" : "Lift" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0 , "comment":"The default is a state variable"},
{"name" : "THP" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "BHP" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "NGLRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}]},
{"name" : "WWCT", "items" : [{"name" : "wells" , "size_type" : "ALL" , "value_type" : "STRING"}]},
{"name" : "START", "size" : 1 , "items" : [
{"name" : "DAY" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "MONTH" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "YEAR" , "size_type" : "SINGLE" , "value_type" : "INT"}]},
{"name" : "GRIDOPTS", "size" : 1, "items" : [
{"name" : "NEWTRAN" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"},
{"name" : "NRMULT" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "NRPINC" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0}]},
{"name" : "ENDSCALE", "size" : 1 , "items" : [
{"name" : "DIRECT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NODIR"},
{"name" : "IRREVERS" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "REVER"},
{"name" : "NUM_TABLES" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "NUM_NODES" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 20},
{"name" : "COMB_MODE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0}
]},
{"name" : "EQLOPTS", "size" : 1, "items" : [
{"name" : "OPTION1" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "OPTION2" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "OPTION3" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "OPTION4" , "size_type" : "SINGLE" , "value_type" : "STRING"}
]},
{"name" : "TABDIMS", "size" : 1, "items" : [
{"name" : "NTSFUN" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "NTPVT" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "NSSFUN" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 20},
{"name" : "NPPVT" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 20},
{"name" : "NTFIP" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "NRPVT" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 20}
]},
{"name" : "REGDIMS", "size" : 1 , "items" : [
{"name" : "NTFIP" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "NMFIPR" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "NRFREG" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "NTFREG" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_ETRACK" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0 , "E300" : 1},
{"name" : "NTCREG" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "MAX_OPERNUM" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_OPERATE_DWORK", "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_OPERATE_IWORK", "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "NPLMIX" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1}
]},
{"name" : "FAULTDIM", "size" : 1 , "items" : [
{"name" : "MFSEGS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0}
]},
{"name" : "WELLDIMS", "size" : 1, "items" : [
{"name" : "MAXWELLS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAXCONN" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAXGROUPS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_GROUPSIZE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_STAGES" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 5},
{"name" : "MAX_STREAMS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 10},
{"name" : "MAX_MIXTURES" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 5},
{"name" : "MAX_SEPARATORS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 4},
{"name" : "MAX_MIXTURE_ITEMS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 3},
{"name" : "MAX_COMPLETION_X" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_WELLIST_PR_WELL" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "MAX_DYNAMIC_WELLIST" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "MAX_SECONDARY_WELLS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1}
]},
{"name" : "VFPPDIMS", "size" : 1 , "items" : [
{"name": "MAX_FLOW_PR_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name": "MAX_THP_PR_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name": "MAX_SWAT_PR_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name": "MAX_SGAS_PR_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name": "MAX_ALIFT_PR_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name": "MAX_VFP_PR_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0}
] },
{"name" : "RPTSCHED", "size" : 1 , "items" : [
{"name" : "MNEMONIC_LIST" , "size_type" : "ALL" , "value_type" : "STRING"}
]},
{"name" : "WHISTCTL", "size" : 1, "items" : [
{"name" : "CMODE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE" },
{"name" : "BPH_TERMINATE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"}
]},
{"name" : "SUMMARY", "size" : 0},
{"name" : "TITLE", "size" : 0},
{"name" : "RUNSPEC", "size" : 0},
{"name" : "METRIC", "size" : 0},
{"name" : "SCHEDULE", "size" : 0},
{"name" : "SKIPREST", "size" : 0},
{"name" : "NOECHO", "size" : 0},
{"name" : "END", "size" : 0},
{"name" : "FOPR", "size" : 0},
{"name" : "FOPRH", "size" : 0},
{"name" : "FOPRF", "size" : 0},
{"name" : "FOPRS", "size" : 0},
{"name" : "FGSR", "size" : 0},
{"name" : "FGPRF", "size" : 0},
{"name" : "FGPRS", "size" : 0},
{"name" : "FGPR", "size" : 0},
{"name" : "FGPRH", "size" : 0},
{"name" : "FWPR", "size" : 0},
{"name" : "FWPRH", "size" : 0},
{"name" : "FLPR", "size" : 0},
{"name" : "FLPRH", "size" : 0},
{"name" : "FVPR", "size" : 0},
{"name" : "FVPRH", "size" : 0},
{"name" : "OIL", "size" : 0},
{"name" : "GAS", "size" : 0},
{"name" : "WATER", "size" : 0},
{"name" : "DISGAS", "size" : 0},
{"name" : "VAPOIL", "size" : 0},
{"name" : "FOPP" , "size" : 0},
{"name" : "FWPP" , "size" : 0},
{"name" : "FGPP" , "size" : 0},
{"name" : "FMWPR" , "size" : 0},
{"name" : "FMWIN" , "size" : 0},
{"name" : "FVIR" , "size" : 0},
{"name" : "FWIR" , "size" : 0},
{"name" : "FWIRH" , "size" : 0},
{"name" : "FGIR" , "size" : 0},
{"name" : "FGIRH" , "size" : 0},
{"name" : "FGLIR" , "size" : 0},
{"name" : "FMCTP" , "size" : 0},
{"name" : "FVPT" , "size" : 0},
{"name" : "FOPT" , "size" : 0},
{"name" : "FOPTH" , "size" : 0},
{"name" : "FWPT" , "size" : 0},
{"name" : "FWPTH" , "size" : 0},
{"name" : "FGPT" , "size" : 0},
{"name" : "FGPTH" , "size" : 0},
{"name" : "FWIT" , "size" : 0},
{"name" : "FWITH" , "size" : 0},
{"name" : "FGIT" , "size" : 0},
{"name" : "FGITH" , "size" : 0},
{"name" : "FOPTF" , "size" : 0},
{"name" : "FOPTS" , "size" : 0},
{"name" : "FWIP" , "size" : 0},
{"name" : "FOIP" , "size" : 0},
{"name" : "FGIP" , "size" : 0},
{"name" : "FWCT" , "size" : 0},
{"name" : "FWCTH" , "size" : 0},
{"name" : "FGOR" , "size" : 0},
{"name" : "FGORH" , "size" : 0},
{"name" : "FGLR" , "size" : 0},
{"name" : "FWGR" , "size" : 0},
{"name" : "FPR" , "size" : 0},
{"name" : "TCPU" , "size" : 0},
{"name" : "TCPUDAY" , "size" : 0},
{"name" : "RPR" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "ROIP" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "ROIPL" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "ROIPG" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGIP" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGIPL" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGIPG" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGPR" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGPT" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "GMWPR" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "STRING"}]},
{"name" : "WELSPECS" , "items" : [
{"name" : "WELLNAME" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "GROUPNAME" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "WellHeadI" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "WellHeadJ" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "DEPTH" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "PHASE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "DRADIUS" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "InflowEquation" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "STD"}]
},
{"name" : "COMPDAT" , "items" : [
{"name" : "WELLNAME" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "I", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "J", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "K1", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "K2", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "STATE", "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "OPEN"},
{"name" : "SAT_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "TRANS" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "WELLDIAM" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "KH" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "SKIN" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "D" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "DIR" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "Z"},
{"name" : "PR" , "size_type" : "SINGLE" , "value_type" : "FLOAT"}
]},
{"name" : "GRUPTREE" , "items" : [
{"name" : "CHILD" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "PARENT" , "size_type" : "SINGLE" , "value_type" : "STRING"}
]},
{"name" : "GCONINJE" , "items" : [
{"name" : "GROUP" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "PHASE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "CONTROLMODE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "SURFACE_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "RESERVOIR_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "REINJECT_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "VOIDAGE_REPL_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "CAN_RESPOND" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "YES"},
{"name" : "GUIDE_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GUIDE_RATE_TYPE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "REINJECT_GROUP" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "WGAS_INJ_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}
]},
{"name" : "GCONPROD" , "items" : [
{"name" : "GROUP" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "CONTROLMODE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "ORAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "WRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "LRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "CAN_RESPOND" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "YES"},
{"name" : "GUIDE_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GUIDE_RATE_TYPE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "WRAT_LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "GRAT_LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "LRAT_LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "RES_RAT_LIMIT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "WGAS_LIMIT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}
]},
{"name" : "DATES" , "items" : [
{"name" : "DAY" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "MONTH" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "YEAR" , "size_type" : "SINGLE" , "value_type" : "INT"}]},
{"name" : "WCONINJE" , "items" : [
{"name" : "WELL" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "TYPE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "STATE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "OPEN"},
{"name" : "CONTROLMODE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "SURFACE_FLOW" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "RESERVOIR_FLOW" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "BHP" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 6891},
{"name" : "THP" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "VFPTABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "VAPOIL" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}
]},
{"name" : "WRFTPLT" , "items" : [
{"name" : "WELL" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "RFT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"},
{"name" : "PLT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"},
{"name" : "SEGMENT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"}]},
{"name" : "WELLDIMS", "size" : 1 , "items" : [
{"name" : "MAXWELLS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAXCONN" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAXGROUPS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_GROUPSIZE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_STAGES" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 5},
{"name" : "MAX_STREAMS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 10},
{"name" : "MAX_MIXTURES" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 5},
{"name" : "MAX_SEPARATORS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 4},
{"name" : "MAX_MIXTURE_ITEMS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 3},
{"name" : "MAX_COMPLETION_X" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "MAX_WELLIST_PR_WELL" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "MAX_DYNAMIC_WELLIST" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1},
{"name" : "MAX_SECONDARY_WELLS" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 1}
]},
{"name" : "SUMMARY", "size" : 0},
{"name" : "TITLE", "size" : 0},
{"name" : "RUNSPEC", "size" : 0},
{"name" : "METRIC", "size" : 0},
{"name" : "SCHEDULE", "size" : 0},
{"name" : "SKIPREST", "size" : 0},
{"name" : "NOECHO", "size" : 0},
{"name" : "END", "size" : 0},
{"name" : "FOPR", "size" : 0},
{"name" : "FOPRH", "size" : 0},
{"name" : "FOPRF", "size" : 0},
{"name" : "FOPRS", "size" : 0},
{"name" : "FGSR", "size" : 0},
{"name" : "FGPRF", "size" : 0},
{"name" : "FGPRS", "size" : 0},
{"name" : "FGPR", "size" : 0},
{"name" : "FGPRH", "size" : 0},
{"name" : "FWPR", "size" : 0},
{"name" : "FWPRH", "size" : 0},
{"name" : "FLPR", "size" : 0},
{"name" : "FLPRH", "size" : 0},
{"name" : "FVPR", "size" : 0},
{"name" : "FVPRH", "size" : 0},
{"name" : "OIL", "size" : 0},
{"name" : "GAS", "size" : 0},
{"name" : "WATER", "size" : 0},
{"name" : "DISGAS", "size" : 0},
{"name" : "VAPOIL", "size" : 0},
{"name" : "FOPP" , "size" : 0},
{"name" : "FWPP" , "size" : 0},
{"name" : "FGPP" , "size" : 0},
{"name" : "FMWPR" , "size" : 0},
{"name" : "FMWIN" , "size" : 0},
{"name" : "FVIR" , "size" : 0},
{"name" : "FWIR" , "size" : 0},
{"name" : "FWIRH" , "size" : 0},
{"name" : "FGIR" , "size" : 0},
{"name" : "FGIRH" , "size" : 0},
{"name" : "FGLIR" , "size" : 0},
{"name" : "FMCTP" , "size" : 0},
{"name" : "FVPT" , "size" : 0},
{"name" : "FOPT" , "size" : 0},
{"name" : "FOPTH" , "size" : 0},
{"name" : "FWPT" , "size" : 0},
{"name" : "FWPTH" , "size" : 0},
{"name" : "FGPT" , "size" : 0},
{"name" : "FGPTH" , "size" : 0},
{"name" : "FWIT" , "size" : 0},
{"name" : "FWITH" , "size" : 0},
{"name" : "FGIT" , "size" : 0},
{"name" : "FGITH" , "size" : 0},
{"name" : "FOPTF" , "size" : 0},
{"name" : "FOPTS" , "size" : 0},
{"name" : "FWIP" , "size" : 0},
{"name" : "FOIP" , "size" : 0},
{"name" : "FGIP" , "size" : 0},
{"name" : "FWCT" , "size" : 0},
{"name" : "FWCTH" , "size" : 0},
{"name" : "FGOR" , "size" : 0},
{"name" : "FGORH" , "size" : 0},
{"name" : "FGLR" , "size" : 0},
{"name" : "FWGR" , "size" : 0},
{"name" : "FPR" , "size" : 0},
{"name" : "TCPU" , "size" : 0},
{"name" : "TCPUDAY" , "size" : 0},
{"name" : "RPR" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "ROIP" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "ROIPL" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "ROIPG" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGIP" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGIPL" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGIPG" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGPR" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "RGPT" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "INT"}]},
{"name" : "GMWPR" , "items" : [{"name" : "regions" , "size_type" : "ALL" , "value_type" : "STRING"}]},
{"name" : "WELSPECS" , "items" : [
{"name" : "WELLNAME" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "GROUPNAME" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "WellHeadI" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "WellHeadJ" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "DEPTH" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "PHASE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "DRADIUS" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "InflowEquation" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "STD"}]
},
{"name" : "COMPDAT" , "items" : [
{"name" : "WELLNAME" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "I", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "J", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "K1", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "K2", "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "STATE", "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "OPEN"},
{"name" : "SAT_TABLE" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "TRANS" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "WELLDIAM" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "KH" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "SKIN" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "D" , "size_type" : "SINGLE" , "value_type" : "FLOAT"},
{"name" : "DIR" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "Z"},
{"name" : "PR" , "size_type" : "SINGLE" , "value_type" : "FLOAT"}
]},
{"name" : "GRUPTREE" , "items" : [
{"name" : "CHILD" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "PARENT" , "size_type" : "SINGLE" , "value_type" : "STRING"}
]},
{"name" : "GCONINJE" , "items" : [
{"name" : "GROUP" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "PHASE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "CONTROLMODE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "SURFACE_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "RESERVOIR_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "REINJECT_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "VOIDAGE_REPL_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "CAN_RESPOND" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "YES"},
{"name" : "GUIDE_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GUIDE_RATE_TYPE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "REINJECT_GROUP" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "WGAS_INJ_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}
]},
{"name" : "GCONPROD" , "items" : [
{"name" : "GROUP" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "CONTROLMODE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "ORAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "WRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "LRAT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "CAN_RESPOND" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "YES"},
{"name" : "GUIDE_RATE" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "GUIDE_RATE_TYPE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "WRAT_LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "GRAT_LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "LRAT_LIMIT_ACTION" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : ""},
{"name" : "RES_RAT_LIMIT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "WGAS_LIMIT" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}
]},
{"name" : "DATES" , "items" : [
{"name" : "DAY" , "size_type" : "SINGLE" , "value_type" : "INT"},
{"name" : "MONTH" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "YEAR" , "size_type" : "SINGLE" , "value_type" : "INT"}]},
{"name" : "WCONINJE" , "items" : [
{"name" : "WELL" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "TYPE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "STATE" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "OPEN"},
{"name" : "CONTROLMODE" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "SURFACE_FLOW" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "RESERVOIR_FLOW" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "BHP" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 6891},
{"name" : "THP" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0},
{"name" : "VFPTABLE" , "size_type" : "SINGLE" , "value_type" : "INT" , "default" : 0},
{"name" : "VAPOIL" , "size_type" : "SINGLE" , "value_type" : "FLOAT" , "default" : 0.0}
]},
{"name" : "WRFTPLT" , "items" : [
{"name" : "WELL" , "size_type" : "SINGLE" , "value_type" : "STRING"},
{"name" : "RFT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"},
{"name" : "PLT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"},
{"name" : "SEGMENT" , "size_type" : "SINGLE" , "value_type" : "STRING" , "default" : "NO"}]}
]
}