Split summary keywords WxxxL in separate config

This commit is contained in:
Joakim Hove 2019-05-20 12:52:05 +02:00
parent d42e86426f
commit c1f60b769c
5 changed files with 56 additions and 23 deletions

View File

@ -157,6 +157,12 @@ inline void keywordW( SummaryConfig::keyword_list& list,
return kw.getDataRecord().getDataItem().hasValue( 0 );
};
if (keyword.name().back() == 'L') {
std::string msg = std::string("The completion keywords like: " + keyword.name() + " are not supported");
parseContext.handleError( ParseContext::SUMMARY_UNHANDLED_KEYWORD, msg, errors);
return;
}
if (keyword.size() && hasValue(keyword)) {
for( const std::string& pattern : keyword.getStringData()) {
auto well_names = schedule.wellNames( pattern, schedule.size() - 1 );

View File

@ -0,0 +1,31 @@
{
"name" : "WELL_COMPLETION_PROBE",
"sections" : ["SUMMARY"],
"deck_names" : [
"WOFRL",
"WOPRL",
"WOPTL",
"WOITL",
"WWFRL",
"WWPRL",
"WWPTL",
"WWIRL",
"WWITL",
"WGFRL",
"WGPRL",
"WGPTL",
"WLFRL",
"WLPTL",
"WVFRL",
"WVIRL",
"WVPTL",
"WVITL",
"WWCTL",
"WGORL",
"WOGRL",
"WWGRL",
"WGLRL"
],
"items" : [{"name" : "WELL", "value_type" : "STRING"},
{"name" : "COMPLETION", "value_type": "INT"}]
}

View File

@ -4,15 +4,12 @@
"comment": "E100 only",
"deck_names" : [
"WOFRL",
"WOPRL",
"WOPR",
"WOPRH",
"WOPRT",
"WOPRF",
"WOPRS",
"WOPT",
"WOPTL",
"WOPTH",
"WOPTF",
"WOPTS",
@ -20,7 +17,6 @@
"WOIRH",
"WOIRT",
"WOIT",
"WOITL",
"WOITH",
"WOPP",
"WOPP2",
@ -28,20 +24,15 @@
"WOPI2",
"WOPGR",
"WOIGR",
"WWFRL",
"WWPRL",
"WWPR",
"WWPRH",
"WWPRT",
"WWPT",
"WWPTL",
"WWPTH",
"WWIR",
"WWIRH",
"WWIRT",
"WWIT",
"WWIRL",
"WWITL",
"WWITH",
"WWPP",
"WWPP2",
@ -52,15 +43,12 @@
"WWPGR",
"WWIGR",
"WWPIR",
"WGFRL",
"WGPRL",
"WGPR",
"WGPRH",
"WGPRT",
"WGPRF",
"WGPRS",
"WGPT",
"WGPTL",
"WGPTH",
"WGPTF",
"WGPTS",
@ -83,43 +71,33 @@
"WGIGR",
"WGLIR",
"WGQ",
"WLFRL",
"WLPR",
"WLPRH",
"WLPRT",
"WLPT",
"WLPTL",
"WLPTH",
"WJPR",
"WJPRH",
"WJPRT",
"WJPT",
"WJPTH",
"WVFRL",
"WVIRL",
"WVPR",
"WVPRT",
"WVPT",
"WVPTL",
"WVPGR",
"WVIR",
"WVIRT",
"WVIT",
"WVITL",
"WWCT",
"WWCTL",
"WWCTH",
"WGOR",
"WGORL",
"WGORH",
"WOGR",
"WOGRL",
"WOGRH",
"WWGR",
"WWGRL",
"WWGRH",
"WGLR",
"WGLRL",
"WGLRH",
"WBGLR",
"WBHP",
@ -249,7 +227,6 @@
],
"comment":"Some keywords need to be suffixed by a number, some with the tracer name...",
"deck_name_regex":"WU.+|(WBHWC|WGFWC|WOFWC|WWFWC)[1-9][0-9]?|WTPR.+|WTPT.+|WTPC.+|WTIR.+|WTIT.+|WTIC.+",
"size" : 1 ,
"items" : [{
"name" : "WELLS" ,

View File

@ -389,6 +389,7 @@ set( keywords
000_Eclipse100/W/WEFAC
000_Eclipse100/W/WELLDIMS
000_Eclipse100/W/WELL_PROBE
000_Eclipse100/W/WELL_COMPLETION_PROBE
000_Eclipse100/W/WELOPEN
000_Eclipse100/W/WELPI
000_Eclipse100/W/WELSEGS

View File

@ -588,6 +588,24 @@ BOOST_AUTO_TEST_CASE( summary_FMWSET ) {
}
BOOST_AUTO_TEST_CASE( WOPRL ) {
const std::string input = R"(
WOPRL
'W_1' 1 /
'WX2' 2 /
'W_3' 3 /
/
)";
ParseContext parseContext;
parseContext.update(ParseContext::SUMMARY_UNHANDLED_KEYWORD, InputError::THROW_EXCEPTION);
BOOST_CHECK_THROW(createSummary( input, parseContext ), std::invalid_argument);
parseContext.update(ParseContext::SUMMARY_UNHANDLED_KEYWORD, InputError::IGNORE);
BOOST_CHECK_NO_THROW( createSummary(input, parseContext ));
}
BOOST_AUTO_TEST_CASE( summary_require3DField ) {
{
const auto input = "WWCT\n/\n";