diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index c09e08e11..ecde37a6b 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -544,6 +544,7 @@ if(ENABLE_ECL_INPUT) tests/SPE1CASE1A.UNSMRY tests/SPE1CASE1_RST60.SMSPEC tests/SPE1CASE1_RST60.UNSMRY + tests/SPE1CASE1_RST60.ESMRY tests/MODEL2_RESTART.DATA tests/restart/MODEL2.UNRST tests/UDQ_WCONPROD.DATA diff --git a/python/tests/data/SPE1CASE1_RST60.ESMRY b/python/tests/data/SPE1CASE1_RST60.ESMRY new file mode 100644 index 000000000..a70d57f9a Binary files /dev/null and b/python/tests/data/SPE1CASE1_RST60.ESMRY differ diff --git a/python/tests/test_esmry.py b/python/tests/test_esmry.py index c6988c29a..f1af54cc4 100755 --- a/python/tests/test_esmry.py +++ b/python/tests/test_esmry.py @@ -144,7 +144,6 @@ class TestEclFile(unittest.TestCase): self.assertEqual(time0[0], 1.0) rst_smry1 = ESmry(test_path("data/SPE1CASE1_RST60.SMSPEC")) - rst_smry1.make_esmry_file() rst_ext_smry1 = ESmry(test_path("data/SPE1CASE1_RST60.ESMRY")) diff --git a/src/opm/io/eclipse/ESmry.cpp b/src/opm/io/eclipse/ESmry.cpp index 1256c3df3..815607f10 100644 --- a/src/opm/io/eclipse/ESmry.cpp +++ b/src/opm/io/eclipse/ESmry.cpp @@ -193,7 +193,10 @@ ESmry::ESmry(const std::string &filename, bool loadBaseRunData) : keywordListSpecFile.push_back(combindKeyList); getRstString(restartArray, pathRstFile, rstRootN); - if (rstRootN.string() != ""){ + if ((rstRootN.string() != "") && (loadBaseRunData)){ + + if (! Opm::filesystem::exists(pathRstFile)) + OPM_THROW(std::runtime_error, "path to restart file not found, '" + pathRstFile.string() + "'"); auto abs_rst_file = Opm::filesystem::canonical(pathRstFile) / rstRootN; Opm::filesystem::path rel_path; diff --git a/tests/SPE1CASE1_RST60.ESMRY b/tests/SPE1CASE1_RST60.ESMRY new file mode 100644 index 000000000..a70d57f9a Binary files /dev/null and b/tests/SPE1CASE1_RST60.ESMRY differ diff --git a/tests/test_ExtESmry.cpp b/tests/test_ExtESmry.cpp index 62f9008d0..50656f632 100644 --- a/tests/test_ExtESmry.cpp +++ b/tests/test_ExtESmry.cpp @@ -218,7 +218,6 @@ BOOST_AUTO_TEST_CASE(TestExtESmry_1) { Opm::filesystem::remove("SPE1CASE1.ESMRY"); } - BOOST_AUTO_TEST_CASE(TestExtESmry_2) { // using a syntetic restart file. @@ -248,14 +247,8 @@ BOOST_AUTO_TEST_CASE(TestExtESmry_2) { if (Opm::filesystem::exists("SPE1CASE1.ESMRY")) Opm::filesystem::remove("SPE1CASE1.ESMRY"); - if (Opm::filesystem::exists("SPE1CASE1_RST60.ESMRY")) - Opm::filesystem::remove("SPE1CASE1_RST60.ESMRY"); - ESmry smry1("SPE1CASE1.SMSPEC"); - ESmry smry2("SPE1CASE1_RST60.SMSPEC"); - smry1.make_esmry_file(); - smry2.make_esmry_file(); ExtESmry esmry1("SPE1CASE1_RST60.ESMRY"); @@ -313,12 +306,8 @@ BOOST_AUTO_TEST_CASE(TestExtESmry_2) { if (Opm::filesystem::exists("SPE1CASE1.ESMRY")) Opm::filesystem::remove("SPE1CASE1.ESMRY"); - if (Opm::filesystem::exists("SPE1CASE1_RST60.ESMRY")) - Opm::filesystem::remove("SPE1CASE1_RST60.ESMRY"); } - - BOOST_AUTO_TEST_CASE(TestESmry_3) { // using a syntetic restart file. @@ -348,14 +337,8 @@ BOOST_AUTO_TEST_CASE(TestESmry_3) { if (Opm::filesystem::exists("SPE1CASE1.ESMRY")) Opm::filesystem::remove("SPE1CASE1.ESMRY"); - if (Opm::filesystem::exists("SPE1CASE1_RST60.ESMRY")) - Opm::filesystem::remove("SPE1CASE1_RST60.ESMRY"); - ESmry smry1("SPE1CASE1.SMSPEC"); - ESmry smry2("SPE1CASE1_RST60.SMSPEC"); - smry1.make_esmry_file(); - smry2.make_esmry_file(); ExtESmry esmry1("SPE1CASE1_RST60.ESMRY", true); @@ -391,15 +374,11 @@ BOOST_AUTO_TEST_CASE(TestESmry_3) { BOOST_REQUIRE_CLOSE (smryVect[i], bpr_111_ref[i], 0.01); smryVect = esmry1.get("BPR:10,10,3"); - for (unsigned int i=0;i< smryVect.size();i++) BOOST_REQUIRE_CLOSE (smryVect[i], bpr_10103_ref[i], 0.01); if (Opm::filesystem::exists("SPE1CASE1.ESMRY")) Opm::filesystem::remove("SPE1CASE1.ESMRY"); - if (Opm::filesystem::exists("SPE1CASE1_RST60.ESMRY")) - Opm::filesystem::remove("SPE1CASE1_RST60.ESMRY"); } -