mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3213 Observed data import. Handle custom vector naming. Fix failing unit tests
This commit is contained in:
parent
2e8bf5aafe
commit
37961717e3
@ -299,6 +299,7 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::identifyC
|
||||
if (firstTwoLetters == "LC") return SUMMARY_WELL_COMPLETION_LGR;
|
||||
if (firstTwoLetters == "LW") return SUMMARY_WELL_LGR;
|
||||
|
||||
if (quantityName[0] == 'N') return SUMMARY_NETWORK;
|
||||
return SUMMARY_INVALID;
|
||||
}
|
||||
|
||||
|
@ -351,7 +351,7 @@ TEST(RifColumnBasedRsmspecParserTest, TestTableValues)
|
||||
out << "---------------------------------------\n";
|
||||
out << "SUMMARY OF RUN SIP USER FILE DATA VECTORS\n";
|
||||
out << "---------------------------------------\n";
|
||||
out << "TIME WLVP WPLT WTEST WFOFF WBUP\n";
|
||||
out << "TIME WOPR WOPRA WOPRB WOPTA WOPTB\n";
|
||||
out << "DAYS BARSA BARSA BARSA BARSA BARSA\n";
|
||||
out << "\n";
|
||||
out << " P-15P P-15P P-15P P-15P P-15P \n";
|
||||
@ -377,7 +377,7 @@ TEST(RifColumnBasedRsmspecParserTest, TestTableValues)
|
||||
out << "---------------------------------------\n";
|
||||
out << "SUMMARY OF RUN SIP USER FILE DATA VECTORS\n";
|
||||
out << "---------------------------------------\n";
|
||||
out << "TIME WLVP WPLT WTEST WFOFF WBUP\n";
|
||||
out << "TIME WOPR WOPRA WOPRB WOPTA WOPTB\n";
|
||||
out << "DAYS BARSA BARSA BARSA BARSA BARSA\n";
|
||||
out << "\n";
|
||||
out << " P-9P P-9P P-9P P-9P P-9P \n";
|
||||
@ -404,7 +404,7 @@ TEST(RifColumnBasedRsmspecParserTest, TestTableValues)
|
||||
EXPECT_EQ(3.0, tables.at(1).columnInfos().at(0).values.at(2));
|
||||
EXPECT_EQ(370.0, tables.at(1).columnInfos().at(3).values.at(3));
|
||||
|
||||
EXPECT_EQ("WLVP", tables.at(0).columnInfos().at(1).summaryAddress.quantityName());
|
||||
EXPECT_EQ("WOPR", tables.at(0).columnInfos().at(1).summaryAddress.quantityName());
|
||||
EXPECT_EQ("P-15P", tables.at(0).columnInfos().at(5).summaryAddress.wellName());
|
||||
EXPECT_EQ("P-9P", tables.at(1).columnInfos().at(1).summaryAddress.wellName());
|
||||
EXPECT_NE("P-9P", tables.at(1).columnInfos().at(0).summaryAddress.wellName());
|
||||
@ -412,7 +412,7 @@ TEST(RifColumnBasedRsmspecParserTest, TestTableValues)
|
||||
RifColumnBasedUserData userData;
|
||||
userData.parse(data);
|
||||
|
||||
RifEclipseSummaryAddress adr(RifEclipseSummaryAddress::SUMMARY_WELL, "WLVP", -1, -1, "", "P-15P", -1, "", -1, -1, -1, -1, false);
|
||||
RifEclipseSummaryAddress adr(RifEclipseSummaryAddress::SUMMARY_WELL, "WOPR", -1, -1, "", "P-15P", -1, "", -1, -1, -1, -1, false);
|
||||
|
||||
QDateTime firstTimeStep = RiaQDateTimeTools::addDays(RiaQDateTimeTools::epoch(), 1.0);
|
||||
auto timeSteps = userData.timeSteps(adr);
|
||||
@ -434,7 +434,7 @@ TEST(RifColumnBasedRsmspecParserTest, TestTableMissingWellNames)
|
||||
out << "---------------------------------------\n";
|
||||
out << "SUMMARY OF RUN SIP USER FILE DATA VECTORS\n";
|
||||
out << "---------------------------------------\n";
|
||||
out << "TIME WLVP WPLT WTEST WFOFF WBUP\n";
|
||||
out << "TIME WOPR WOPRA WOPRB WOPTA WOPTB\n";
|
||||
out << "DAYS BARSA BARSA BARSA BARSA BARSA\n";
|
||||
out << "\n";
|
||||
out << " 1 0.0 0.0 0.0 0.0 0.0\n";
|
||||
@ -680,10 +680,10 @@ TEST(RifKeywordBasedRsmspecParserTest, TestShutins)
|
||||
out << "-- Created running the command shutin_pressures\n";
|
||||
out << "\n";
|
||||
out << "PAGE 1\n";
|
||||
out << "ORIGIN OP-1_WBP9L\n";
|
||||
out << "ORIGIN OP-1_WOPR\n";
|
||||
out << "STARTDATE 01 01 2004 -- DD MM YYYY\n";
|
||||
out << "\n";
|
||||
out << "TIME YEARX WBP9L\n";
|
||||
out << "TIME YEARX WOPR\n";
|
||||
out << "DAYS YEARS BARSA\n";
|
||||
out << "1 1 1\n";
|
||||
out << " OP-1\n";
|
||||
@ -720,7 +720,7 @@ TEST(RifKeywordBasedRsmspecParserTest, TestShutins)
|
||||
|
||||
EXPECT_EQ(2014.39, tables.at(0).columnInfos().at(1).values[2]);
|
||||
|
||||
EXPECT_EQ("WBP9L", tables.at(0).columnInfos().at(2).summaryAddress.quantityName());
|
||||
EXPECT_EQ("WOPR", tables.at(0).columnInfos().at(2).summaryAddress.quantityName());
|
||||
|
||||
EXPECT_EQ("OP-1", tables.at(0).columnInfos().at(2).summaryAddress.wellName());
|
||||
EXPECT_NE("OP-1", tables.at(0).columnInfos().at(1).summaryAddress.wellName());
|
||||
@ -739,10 +739,10 @@ TEST(RifKeywordBasedRsmspecParserTest, TestTimeSteps)
|
||||
out << "-- Created running the command shutin_pressures\n";
|
||||
out << "\n";
|
||||
out << "PAGE 1\n";
|
||||
out << "ORIGIN OP-1_WBP9L\n";
|
||||
out << "ORIGIN OP-1_WOPR\n";
|
||||
out << "STARTDATE 01 01 2004 -- DD MM YYYY\n";
|
||||
out << "\n";
|
||||
out << "TIME YEARX WBP9L\n";
|
||||
out << "TIME YEARX WOPR\n";
|
||||
out << "DAYS YEARS BARSA\n";
|
||||
out << "1 1 1\n";
|
||||
out << " OP-1\n";
|
||||
@ -768,7 +768,7 @@ TEST(RifKeywordBasedRsmspecParserTest, TestTimeSteps)
|
||||
out << "3493 2015.55 219.0 -- Measured\n";
|
||||
out << "\n";
|
||||
|
||||
std::string quantityName = "WBP9L";
|
||||
std::string quantityName = "WOPR";
|
||||
std::vector< std::string > headerColumn;
|
||||
headerColumn.push_back("OP-1");
|
||||
|
||||
|
@ -21,13 +21,13 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Field)
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Aquifer)
|
||||
{
|
||||
std::string addrString = "AAQU:456";
|
||||
std::string addrString = "AAQR:456";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_AQUIFER, addr.category());
|
||||
EXPECT_EQ("AAQU", addr.quantityName());
|
||||
EXPECT_EQ("AAQR", addr.quantityName());
|
||||
EXPECT_EQ(456, addr.aquiferNumber());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
}
|
||||
@ -46,38 +46,38 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Network)
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, DISABLED_TestEclipseAddressParsing_Misc)
|
||||
{
|
||||
std::string addrString = "MISC";
|
||||
std::string addrString = "CPU";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_MISC, addr.category());
|
||||
EXPECT_EQ("NETW", addr.quantityName());
|
||||
EXPECT_EQ("CPU", addr.quantityName());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
}
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Region)
|
||||
{
|
||||
std::string addrString = "REGI:7081";
|
||||
std::string addrString = "RPR:7081";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_REGION, addr.category());
|
||||
EXPECT_EQ("REGI", addr.quantityName());
|
||||
EXPECT_EQ("RPR", addr.quantityName());
|
||||
EXPECT_EQ(7081, addr.regionNumber());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
}
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_RegionToRegion)
|
||||
{
|
||||
std::string addrString = "REFR:7081-8001";
|
||||
std::string addrString = "ROFR:7081-8001";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION, addr.category());
|
||||
EXPECT_EQ("REFR", addr.quantityName());
|
||||
EXPECT_EQ("ROFR", addr.quantityName());
|
||||
EXPECT_EQ(7081, addr.regionNumber());
|
||||
EXPECT_EQ(8001, addr.regionNumber2());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
@ -85,39 +85,39 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_RegionToRegion)
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_WellGroup)
|
||||
{
|
||||
std::string addrString = "GGRP:WELLS1";
|
||||
std::string addrString = "GOPR:WELLS1";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_WELL_GROUP, addr.category());
|
||||
EXPECT_EQ("GGRP", addr.quantityName());
|
||||
EXPECT_EQ("GOPR", addr.quantityName());
|
||||
EXPECT_EQ("WELLS1", addr.wellGroupName());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
}
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Well)
|
||||
{
|
||||
std::string addrString = "WGAS:B-2H";
|
||||
std::string addrString = "WOPR:B-2H";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_WELL, addr.category());
|
||||
EXPECT_EQ("WGAS", addr.quantityName());
|
||||
EXPECT_EQ("WOPR", addr.quantityName());
|
||||
EXPECT_EQ("B-2H", addr.wellName());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
}
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_WellCompletion)
|
||||
{
|
||||
std::string addrString = "CDATA:B-1H:15,13,14";
|
||||
std::string addrString = "COFRL:B-1H:15,13,14";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION, addr.category());
|
||||
EXPECT_EQ("CDATA", addr.quantityName());
|
||||
EXPECT_EQ("COFRL", addr.quantityName());
|
||||
EXPECT_EQ("B-1H", addr.wellName());
|
||||
EXPECT_EQ(15, addr.cellI());
|
||||
EXPECT_EQ(13, addr.cellJ());
|
||||
@ -158,13 +158,13 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_WellCompletionLgr)
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_WellSegment)
|
||||
{
|
||||
std::string addrString = "SGMT:B-5H:32";
|
||||
std::string addrString = "SOFR:B-5H:32";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT, addr.category());
|
||||
EXPECT_EQ("SGMT", addr.quantityName());
|
||||
EXPECT_EQ("SOFR", addr.quantityName());
|
||||
EXPECT_EQ("B-5H", addr.wellName());
|
||||
EXPECT_EQ(32, addr.wellSegmentNumber());
|
||||
EXPECT_FALSE(addr.isErrorResult());
|
||||
@ -172,13 +172,13 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_WellSegment)
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Block)
|
||||
{
|
||||
std::string addrString = "BLOC:123,122,121";
|
||||
std::string addrString = "BPR:123,122,121";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_BLOCK, addr.category());
|
||||
EXPECT_EQ("BLOC", addr.quantityName());
|
||||
EXPECT_EQ("BPR", addr.quantityName());
|
||||
EXPECT_EQ(123, addr.cellI());
|
||||
EXPECT_EQ(122, addr.cellJ());
|
||||
EXPECT_EQ(121, addr.cellK());
|
||||
@ -215,13 +215,13 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_Imported)
|
||||
|
||||
TEST(RifEclipseSummaryAddressTest, TestEclipseAddressParsing_ErrorResult1)
|
||||
{
|
||||
std::string addrString = "ER:AAQU:456";
|
||||
std::string addrString = "ER:AAQR:456";
|
||||
|
||||
RifEclipseSummaryAddress addr = RifEclipseSummaryAddress::fromEclipseTextAddress(addrString);
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_AQUIFER, addr.category());
|
||||
EXPECT_EQ("AAQU", addr.quantityName());
|
||||
EXPECT_EQ("AAQR", addr.quantityName());
|
||||
EXPECT_EQ(456, addr.aquiferNumber());
|
||||
EXPECT_TRUE(addr.isErrorResult());
|
||||
}
|
||||
@ -262,7 +262,7 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressIjkParsing)
|
||||
{
|
||||
{ RifEclipseSummaryAddress::INPUT_WELL_NAME, "1-BH" },
|
||||
{ RifEclipseSummaryAddress::INPUT_CELL_IJK, "6, 7, 8" },
|
||||
{ RifEclipseSummaryAddress::INPUT_VECTOR_NAME, "WABC" },
|
||||
{ RifEclipseSummaryAddress::INPUT_VECTOR_NAME, "WOPR" },
|
||||
}
|
||||
);
|
||||
|
||||
@ -270,7 +270,7 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressIjkParsing)
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION, addr.category());
|
||||
EXPECT_EQ("WABC", addr.quantityName());
|
||||
EXPECT_EQ("WOPR", addr.quantityName());
|
||||
EXPECT_EQ("1-BH", addr.wellName());
|
||||
EXPECT_EQ(6, addr.cellI());
|
||||
EXPECT_EQ(7, addr.cellJ());
|
||||
@ -284,7 +284,7 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressRegToRegParsing)
|
||||
std::map<RifEclipseSummaryAddress::SummaryIdentifierType, std::string> identifiers(
|
||||
{
|
||||
{ RifEclipseSummaryAddress::INPUT_REGION_2_REGION, "123 - 456" },
|
||||
{ RifEclipseSummaryAddress::INPUT_VECTOR_NAME, "REFR" },
|
||||
{ RifEclipseSummaryAddress::INPUT_VECTOR_NAME, "ROFR" },
|
||||
}
|
||||
);
|
||||
|
||||
@ -292,7 +292,7 @@ TEST(RifEclipseSummaryAddressTest, TestEclipseAddressRegToRegParsing)
|
||||
|
||||
EXPECT_TRUE(addr.isValid());
|
||||
EXPECT_EQ(RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION, addr.category());
|
||||
EXPECT_EQ("REFR", addr.quantityName());
|
||||
EXPECT_EQ("ROFR", addr.quantityName());
|
||||
EXPECT_EQ(123, addr.regionNumber());
|
||||
EXPECT_EQ(456, addr.regionNumber2());
|
||||
EXPECT_TRUE(!addr.isErrorResult());
|
||||
|
@ -45,3 +45,24 @@ TEST(RiuSummaryVectorDescriptionMap, TestInit)
|
||||
EXPECT_TRUE(test == s);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST(RiuSummaryVectorDescriptionMap, TestCustomNaming)
|
||||
{
|
||||
{
|
||||
std::string s("SRSFCABC");
|
||||
auto test = RiuSummaryVectorDescriptionMap::instance()->vectorInfo(s);
|
||||
|
||||
EXPECT_TRUE(test.category == RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT);
|
||||
EXPECT_TRUE(test.longName == "Reach brine concentration");
|
||||
}
|
||||
|
||||
{
|
||||
std::string s("BHD__ABC");
|
||||
auto test = RiuSummaryVectorDescriptionMap::instance()->vectorLongName(s);
|
||||
|
||||
EXPECT_TRUE(test == "Hydraulic head");
|
||||
}
|
||||
}
|
||||
|
@ -41,6 +41,8 @@ RiuSummaryVectorInfo RiuSummaryVectorDescriptionMap::vectorInfo(const std::strin
|
||||
}
|
||||
else if (vectorName.size() > 1 && vectorName[1] == 'U')
|
||||
{
|
||||
// User defined vector name
|
||||
|
||||
std::string key = vectorName.substr(0, 2);
|
||||
|
||||
it = m_summaryToDescMap.find(key);
|
||||
@ -50,6 +52,20 @@ RiuSummaryVectorInfo RiuSummaryVectorDescriptionMap::vectorInfo(const std::strin
|
||||
return it->second;
|
||||
}
|
||||
}
|
||||
else if (vectorName.size() > 5)
|
||||
{
|
||||
// Check for custom vector naming
|
||||
|
||||
std::string baseName = vectorName.substr(0, 5);
|
||||
while (baseName.back() == '_') baseName.pop_back();
|
||||
|
||||
it = m_summaryToDescMap.find(baseName);
|
||||
|
||||
if (it != m_summaryToDescMap.end())
|
||||
{
|
||||
return it->second;
|
||||
}
|
||||
}
|
||||
|
||||
return RiuSummaryVectorInfo();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user