#755 WIP: Started to adapt to using the smspec node from eclipse. Established Rim prototype of "filter" concept for summary variables

This commit is contained in:
Jacob Støren
2016-06-07 15:12:14 +02:00
parent a4ff316941
commit 336828e48d
5 changed files with 326 additions and 61 deletions

View File

@@ -88,7 +88,7 @@ std::string RifEclipseSummaryAddress::categoryName(SummaryVarCategory category)
case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION:
name = "Completion";
break;
case RifEclipseSummaryAddress::SUMMARY_GROUP:
case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP:
name = "Group";
break;
case RifEclipseSummaryAddress::SUMMARY_FIELD:
@@ -106,13 +106,13 @@ std::string RifEclipseSummaryAddress::categoryName(SummaryVarCategory category)
case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR:
name = "LGR Block";
break;
case RifEclipseSummaryAddress::SUMMARY_AQUIFIER:
case RifEclipseSummaryAddress::SUMMARY_AQUIFER:
name = "Aquifier";
break;
case RifEclipseSummaryAddress::SUMMARY_SEGMENT:
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT:
name = "Segment";
break;
case RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER:
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER:
name = "Segment River";
break;
default:
@@ -194,7 +194,7 @@ std::string RifEclipseSummaryAddress::prefixForCategory(SummaryVarCategory categ
case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION:
prefix = "C";
break;
case RifEclipseSummaryAddress::SUMMARY_GROUP:
case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP:
prefix = "G";
break;
case RifEclipseSummaryAddress::SUMMARY_FIELD:
@@ -211,13 +211,13 @@ std::string RifEclipseSummaryAddress::prefixForCategory(SummaryVarCategory categ
case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR:
prefix = "LB";
break;
case RifEclipseSummaryAddress::SUMMARY_AQUIFIER:
case RifEclipseSummaryAddress::SUMMARY_AQUIFER:
prefix = "A";
break;
case RifEclipseSummaryAddress::SUMMARY_SEGMENT:
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT:
prefix = "S";
break;
case RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER:
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER:
prefix = "SR";
break;
default:
@@ -240,7 +240,7 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::categoryF
if (twoFirstChars == "SR")
{
category = RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER;
category = RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER;
}
else if (twoFirstChars == "LB")
{
@@ -258,7 +258,7 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::categoryF
category = RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION;
break;
case 'G':
category = RifEclipseSummaryAddress::SUMMARY_GROUP;
category = RifEclipseSummaryAddress::SUMMARY_WELL_GROUP;
break;
case 'F':
category = RifEclipseSummaryAddress::SUMMARY_FIELD;
@@ -270,10 +270,10 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::categoryF
category = RifEclipseSummaryAddress::SUMMARY_BLOCK;
break;
case 'A':
category = RifEclipseSummaryAddress::SUMMARY_AQUIFIER;
category = RifEclipseSummaryAddress::SUMMARY_AQUIFER;
break;
case 'S':
category = RifEclipseSummaryAddress::SUMMARY_SEGMENT;
category = RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT;
break;
default:
break;

View File

@@ -32,22 +32,28 @@ public:
// Based on list in ecl_smspec.c and list of types taken from Eclipse Reference Manual ecl_rm_2011.1.pdf
enum SummaryVarCategory
{
SUMMARY_WELL, // W
SUMMARY_WELL_COMPLETION, // C
SUMMARY_GROUP, // G
SUMMARY_FIELD, // F
SUMMARY_REGION, // R
SUMMARY_MISC, //
SUMMARY_BLOCK, // B
SUMMARY_BLOCK_LGR, // LB
SUMMARY_AQUIFIER, // A
SUMMARY_SEGMENT, // S
SUMMARY_SEGMENT_RIVER // SR
SUMMARY_FIELD,
SUMMARY_AQUIFER,
SUMMARY_NETWORK,
SUMMARY_MISC,
SUMMARY_REGION,
SUMMARY_REGION_2_REGION,
SUMMARY_WELL_GROUP,
SUMMARY_WELL,
SUMMARY_WELL_COMPLETION,
SUMMARY_WELL_LGR,
SUMMARY_WELL_COMPLETION_LGR,
SUMMARY_WELL_SEGMENT,
SUMMARY_WELL_SEGMENT_RIVER,
SUMMARY_BLOCK,
SUMMARY_BLOCK_LGR,
};
public:
RifEclipseSummaryAddress(const std::string& ertSummaryVarId);
RifEclipseSummaryAddress(SummaryVarCategory category, const std::string& simulationItemName, const std::string& quantityName);
SummaryVarCategory category() const;
std::string simulationItemName() const;
@@ -67,7 +73,17 @@ private:
private:
std::string m_ertSummaryVarId;
SummaryVarCategory m_variableCategory;
std::string m_simulationItemName;
SummaryVarCategory m_variableCategory;
std::string m_quantityName;
int m_regionNumber;
int m_regionNumber2;
std::string m_wellGroupName;
std::string m_wellName;
int m_wellSegmentNumber;
std::string m_lgrName;
int m_cellI;
int m_cellJ;
int m_cellK;
};

View File

@@ -128,7 +128,7 @@ void RifEclipseSummaryTools::dumpMetaData(RifReaderEclipseSummary* readerEclipse
{
std::vector<RifEclipseSummaryAddress> addresses = readerEclipseSummary->allResultAddresses();
for (int category = 0; category < RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER; category++)
for (int category = 0; category < RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER; category++)
{
RifEclipseSummaryAddress::SummaryVarCategory categoryEnum = RifEclipseSummaryAddress::SummaryVarCategory(category);