OPM-217: Added integration test for IOConfig handling of restart file write

This commit is contained in:
chflo 2015-08-13 11:43:30 +02:00
parent bbe73bd0fa
commit a09ff8b80e
2 changed files with 868 additions and 3 deletions

View File

@ -290,8 +290,71 @@ BOOST_AUTO_TEST_CASE( NorneResttartConfig ) {
for (auto rptrst : rptConfig) {
int report_step = std::get<0>(rptrst);
bool save = std::get<1>(rptrst);
boost::gregorian::date report_date = std::get<2>(rptrst);
BOOST_CHECK_EQUAL( save , ioconfig->getWriteRestartFile( report_step ));
std::cout << "step: " << report_step << " : " << save << std::endl;
if (save) {
BOOST_CHECK_EQUAL( report_date, ioconfig->getTimestepDate( report_step ));
}
std::cout << "step: " << report_step << " date: " << report_date << " : " << save << std::endl;
}
}
BOOST_AUTO_TEST_CASE( RestartConfig2 ) {
std::vector<std::tuple<int, bool, boost::gregorian::date>> rptConfig;
for (size_t report_step = 0; report_step <= 251; ++report_step) {
if (0 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2000,1,1)));
else if (8 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2000,7,1)));
else if (27 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2001,1,1)));
else if (45 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2001,7,1)));
else if (61 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2002,1,1)));
else if (79 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2002,7,1)));
else if (89 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2003,1,1)));
else if (99 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2003,7,1)));
else if (109 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2004,1,1)));
else if (128 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2004,7,1)));
else if (136 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2005,1,1)));
else if (146 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2005,7,1)));
else if (158 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2006,1,1)));
else if (164 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2006,7,1)));
else if (170 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2007,1,1)));
else if (178 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2007,7,1)));
else if (184 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2008,1,1)));
else if (192 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2008,7,1)));
else if (198 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2009,1,1)));
else if (204 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2009,7,1)));
else if (210 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2010,1,1)));
else if (216 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2010,7,1)));
else if (222 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2011,1,1)));
else if (228 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2011,7,1)));
else if (234 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2012,1,1)));
else if (240 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2012,7,1)));
else if (246 == report_step) rptConfig.push_back( std::make_tuple(report_step, true, boost::gregorian::date(2013,1,1)));
else rptConfig.push_back( std::make_tuple(report_step, false, boost::gregorian::date(2000,1,1)));
}
ParseMode parseMode;
ParserPtr parser(new Parser());
DeckConstPtr deck = parser->parseFile("testdata/integration_tests/IOConfig/RPT_TEST2.DATA", parseMode);
EclipseState state( deck , parseMode );
std::shared_ptr<const IOConfig> ioconfig = state.getIOConfigConst();
for (auto rptrst : rptConfig) {
int report_step = std::get<0>(rptrst);
bool save = std::get<1>(rptrst);
boost::gregorian::date report_date = std::get<2>(rptrst);
BOOST_CHECK_EQUAL( save , ioconfig->getWriteRestartFile( report_step ));
if (save) {
BOOST_CHECK_EQUAL( report_date, ioconfig->getTimestepDate( report_step ));
}
std::cout << "step: " << report_step << " date: " << report_date << " : " << save << std::endl;
}
}

View File

@ -0,0 +1,802 @@
RUNSPEC
DIMENS
137 236 28 /
START
1 'JAN' 2000 /
GRID
SPECGRID
46 112 22 1 F /
SOLUTION
RPTSOL
'THPRES' 'FIP=2' /
RPTRST
ALLPROPS RVSAT RSSAT PBPD NORST=1 /
--ALLPROPS --> fluid densities, viscosities , reciprocal formation volume factors and phase relative permeabilities
--NORST=1 --> output for visualization only
SCHEDULE
RPTSCHED
'RESTART=1' 'FIP=3' 'WELSPECS' 'WELLS=0' 'NEWTON=1' 'SUMMARY=1' 'CPU=1' /
RPTRST
BASIC=5 FREQ=6 ALLPROPS CONV=10 RVSAT RSSAT PBPD NORST=1 /
--ALLPROPS --> fluid densities, viscosities , reciprocal formation volume factors and phase relative permeabilities
--NORST=1 --> output for visualization only
DATES
3 'JAN' 2000 /
/
DATES
4 'JAN' 2000 /
/
DATES
5 'FEB' 2000 /
/
DATES
1 'MAR' 2000 /
/
DATES
1 'APR' 2000 /
/
DATES
1 'MAY' 2000 /
/
DATES
1 'JUN' 2000 /
/
DATES
1 'JUL' 2000 /
/
DATES
1 'AUG' 2000 /
/
DATES
11 'AUG' 2000 /
/
DATES
12 'AUG' 2000 /
/
DATES
1 'SEP' 2000 /
/
DATES
22 'SEP' 2000 /
/
DATES
23 'SEP' 2000 /
/
DATES
24 'SEP' 2000 /
/
DATES
1 'OCT' 2000 /
/
DATES
7 'OCT' 2000 /
/
DATES
30 'OCT' 2000 /
/
DATES
1 'NOV' 2000 /
/
DATES
30 'NOV' 2000 /
/
DATES
1 'DEC' 2000 /
/
DATES
2 'DEC' 2000 /
/
DATES
8 'DEC' 2000 /
/
DATES
9 'DEC' 2000 /
/
DATES
10 'DEC' 2000 /
/
DATES
12 'DEC' 2000 /
/
DATES
1 'JAN' 2001 /
/
RPTRST
'FREQ=6' /
DATES
15 'JAN' 2001 /
/
DATES
16 'JAN' 2001 /
/
DATES
1 'FEB' 2001 /
/
DATES
6 'FEB' 2001 /
/
DATES
1 'MAR' 2001 /
/
DATES
7 'MAR' 2001 /
/
DATES
1 'APR' 2001 /
/
DATES
13 'APR' 2001 /
/
WTEST
'F-14A' 7.000 'P' 2* /
/
DATES
15 'APR' 2001 /
/
DATES
1 'MAY' 2001 /
/
DATES
1 'JUN' 2001 /
/
DATES
2 'JUN' 2001 /
/
DATES
11 'JUN' 2001 /
/
DATES
12 'JUN' 2001 /
/
DATES
18 'JUN' 2001 /
/
DATES
19 'JUN' 2001 /
/
DATES
26 'JUN' 2001 /
/
DATES
1 'JUL' 2001 /
/
DATES
5 'JUL' 2001 /
/
DATES
1 'AUG' 2001 /
/
DATES
18 'AUG' 2001 /
/
DATES
21 'AUG' 2001 /
/
DATES
24 'AUG' 2001 /
/
DATES
1 'SEP' 2001 /
/
DATES
18 'SEP' 2001 /
/
DATES
27 'SEP' 2001 /
/
DATES
1 'OCT' 2001 /
/
DATES
2 'OCT' 2001 /
/
DATES
15 'OCT' 2001 /
/
DATES
1 'NOV' 2001 /
/
DATES
1 'DEC' 2001 /
/
DATES
2 'DEC' 2001 /
/
DATES
5 'DEC' 2001 /
/
DATES
1 'JAN' 2002 /
/
DATES
19 'JAN' 2002 /
/
DATES
1 'FEB' 2002 /
/
DATES
1 'MAR' 2002 /
/
DATES
6 'MAR' 2002 /
/
DATES
7 'MAR' 2002 /
/
DATES
28 'MAR' 2002 /
/
DATES
1 'APR' 2002 /
/
DATES
22 'APR' 2002 /
/
DATES
1 'MAY' 2002 /
/
DATES
4 'MAY' 2002 /
/
DATES
5 'MAY' 2002 /
/
DATES
26 'MAY' 2002 /
/
DATES
1 'JUN' 2002 /
/
DATES
2 'JUN' 2002 /
/
DATES
18 'JUN' 2002 /
/
DATES
19 'JUN' 2002 /
/
DATES
28 'JUN' 2002 /
/
DATES
1 'JUL' 2002 /
/
DATES
3 'JUL' 2002 /
/
DATES
19 'JUL' 2002 /
/
DATES
20 'JUL' 2002 /
/
DATES
1 'AUG' 2002 /
/
DATES
1 'SEP' 2002 /
/
DATES
1 'OCT' 2002 /
/
DATES
1 'NOV' 2002 /
/
DATES
1 'DEC' 2002 /
/
DATES
6 'DEC' 2002 /
/
DATES
1 'JAN' 2003 /
/
DATES
22 'JAN' 2003 /
/
DATES
23 'JAN' 2003 /
/
DATES
1 'FEB' 2003 /
/
DATES
1 'MAR' 2003 /
/
DATES
1 'APR' 2003 /
/
DATES
30 'APR' 2003 /
/
DATES
1 'MAY' 2003 /
/
DATES
1 'JUN' 2003 /
/
DATES
26 'JUN' 2003 /
/
DATES
1 'JUL' 2003 /
/
DATES
4 'JUL' 2003 /
/
DATES
1 'AUG' 2003 /
/
DATES
27 'AUG' 2003 /
/
DATES
28 'AUG' 2003 /
/
DATES
1 'SEP' 2003 /
/
DATES
1 'OCT' 2003 /
/
DATES
1 'NOV' 2003 /
/
DATES
3 'NOV' 2003 /
/
DATES
1 'DEC' 2003 /
/
DATES
1 'JAN' 2004 /
/
DATES
26 'JAN' 2004 /
/
DATES
1 'FEB' 2004 /
/
DATES
13 'FEB' 2004 /
/
DATES
1 'MAR' 2004 /
/
DATES
11 'MAR' 2004 /
/
DATES
18 'MAR' 2004 /
/
DATES
1 'APR' 2004 /
/
DATES
19 'APR' 2004 /
/
DATES
28 'APR' 2004 /
/
DATES
29 'APR' 2004 /
/
DATES
1 'MAY' 2004 /
/
DATES
2 'MAY' 2004 /
/
DATES
21 'MAY' 2004 /
/
DATES
22 'MAY' 2004 /
/
DATES
24 'MAY' 2004 /
/
DATES
25 'MAY' 2004 /
/
DATES
1 'JUN' 2004 /
/
DATES
30 'JUN' 2004 /
/
DATES
1 'JUL' 2004 /
/
DATES
1 'AUG' 2004 /
/
DATES
1 'SEP' 2004 /
/
DATES
1 'OCT' 2004 /
/
DATES
11 'OCT' 2004 /
/
DATES
12 'OCT' 2004 /
/
DATES
1 'NOV' 2004 /
/
DATES
1 'DEC' 2004 /
/
DATES
1 'JAN' 2005 /
/
DATES
1 'FEB' 2005 /
/
DATES
21 'FEB' 2005 /
/
DATES
27 'FEB' 2005 /
/
DATES
1 'MAR' 2005 /
/
DATES
1 'APR' 2005 /
/
DATES
1 'MAY' 2005 /
/
DATES
31 'MAY' 2005 /
/
DATES
1 'JUN' 2005 /
/
DATES
13 'JUN' 2005 /
/
DATES
1 'JUL' 2005 /
/
DATES
5 'JUL' 2005 /
/
DATES
8 'JUL' 2005 /
/
DATES
1 'AUG' 2005 /
/
DATES
1 'SEP' 2005 /
/
DATES
5 'SEP' 2005 /
/
DATES
20 'SEP' 2005 /
/
DATES
21 'SEP' 2005 /
/
DATES
1 'OCT' 2005 /
/
DATES
1 'NOV' 2005 /
/
DATES
1 'DEC' 2005 /
/
DATES
27 'DEC' 2005 /
/
DATES
1 'JAN' 2006 /
/
DATES
1 'FEB' 2006 /
/
DATES
1 'MAR' 2006 /
/
DATES
1 'APR' 2006 /
/
DATES
1 'MAY' 2006 /
/
DATES
1 'JUN' 2006 /
/
DATES
1 'JUL' 2006 /
/
DATES
1 'AUG' 2006 /
/
DATES
1 'SEP' 2006 /
/
DATES
1 'OCT' 2006 /
/
DATES
1 'NOV' 2006 /
/
DATES
1 'DEC' 2006 /
/
DATES
1 'JAN' 2007 /
/
DATES
8 'JAN' 2007 /
/
DATES
9 'JAN' 2007 /
/
DATES
1 'FEB' 2007 /
/
DATES
1 'MAR' 2007 /
/
DATES
1 'APR' 2007 /
/
DATES
1 'MAY' 2007 /
/
DATES
1 'JUN' 2007 /
/
DATES
1 'JUL' 2007 /
/
DATES
1 'AUG' 2007 /
/
DATES
1 'SEP' 2007 /
/
DATES
1 'OCT' 2007 /
/
DATES
1 'NOV' 2007 /
/
DATES
1 'DEC' 2007 /
/
DATES
1 'JAN' 2008 /
/
DATES
1 'FEB' 2008 /
/
DATES
1 'MAR' 2008 /
/
DATES
1 'APR' 2008 /
/
DATES
1 'MAY' 2008 /
/
DATES
21 'MAY' 2008 /
/
DATES
29 'MAY' 2008 /
/
DATES
1 'JUN' 2008 /
/
DATES
1 'JUL' 2008 /
/
DATES
1 'AUG' 2008 /
/
DATES
1 'SEP' 2008 /
/
DATES
1 'OCT' 2008 /
/
DATES
1 'NOV' 2008 /
/
DATES
1 'DEC' 2008 /
/
DATES
1 'JAN' 2009 /
/
DATES
1 'FEB' 2009 /
/
DATES
1 'MAR' 2009 /
/
DATES
1 'APR' 2009 /
/
DATES
1 'MAY' 2009 /
/
DATES
1 'JUN' 2009 /
/
DATES
1 'JUL' 2009 /
/
DATES
1 'AUG' 2009 /
/
DATES
1 'SEP' 2009 /
/
DATES
1 'OCT' 2009 /
/
DATES
1 'NOV' 2009 /
/
DATES
1 'DEC' 2009 /
/
DATES
1 'JAN' 2010 /
/
DATES
1 'FEB' 2010 /
/
DATES
1 'MAR' 2010 /
/
DATES
1 'APR' 2010 /
/
DATES
1 'MAY' 2010 /
/
DATES
1 'JUN' 2010 /
/
DATES
1 'JUL' 2010 /
/
DATES
1 'AUG' 2010 /
/
DATES
1 'SEP' 2010 /
/
DATES
1 'OCT' 2010 /
/
DATES
1 'NOV' 2010 /
/
DATES
1 'DEC' 2010 /
/
DATES
1 'JAN' 2011 /
/
DATES
1 'FEB' 2011 /
/
DATES
1 'MAR' 2011 /
/
DATES
1 'APR' 2011 /
/
DATES
1 'MAY' 2011 /
/
DATES
1 'JUN' 2011 /
/
DATES
1 'JUL' 2011 /
/
DATES
1 'AUG' 2011 /
/
DATES
1 'SEP' 2011 /
/
DATES
1 'OCT' 2011 /
/
DATES
1 'NOV' 2011 /
/
DATES
1 'DEC' 2011 /
/
DATES
1 'JAN' 2012 /
/
DATES
1 'FEB' 2012 /
/
DATES
1 'MAR' 2012 /
/
DATES
1 'APR' 2012 /
/
DATES
1 'MAY' 2012 /
/
DATES
1 'JUN' 2012 /
/
DATES
1 'JUL' 2012 /
/
DATES
1 'AUG' 2012 /
/
DATES
1 'SEP' 2012 /
/
DATES
1 'OCT' 2012 /
/
DATES
1 'NOV' 2012 /
/
DATES
1 'DEC' 2012 /
/
DATES
1 'JAN' 2013 /
/
DATES
1 'FEB' 2013 /
/
DATES
1 'MAR' 2013 /
/
DATES
1 'APR' 2013 /
/
DATES
1 'MAY' 2013 /
/
--Write save file at end of history
SAVE
--there must be a TSTEP or DATES between SAVE and END (otherwise no SAVE is created)
TSTEP
1 /
END