mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
RFT: Support device and annulus branches (#9168)
* Add unit test used to read data from WSEGLINK * Add segment branch type * Add detection of device branches * Add data source stepping on branch type * parse wseglink data * add RFT case as child of RimFileSummaryCase
This commit is contained in:
@@ -37,6 +37,7 @@ class RifReaderOpmRft : public RifReaderRftInterface, public cvf::Object
|
||||
{
|
||||
public:
|
||||
RifReaderOpmRft( const QString& fileName );
|
||||
RifReaderOpmRft( const QString& fileName, const QString& dataDeckFileName );
|
||||
|
||||
std::set<RifEclipseRftAddress> eclipseRftAddresses() override;
|
||||
void values( const RifEclipseRftAddress& rftAddress, std::vector<double>* values ) override;
|
||||
@@ -58,6 +59,7 @@ private:
|
||||
using RftDate = std::tuple<int, int, int>;
|
||||
using RftSegmentKey = std::pair<std::string, RftDate>;
|
||||
|
||||
void openFiles( const QString& fileName, const QString& dataDeckFileName );
|
||||
void buildMetaData();
|
||||
void buildSegmentData();
|
||||
void segmentDataDebugLog() const;
|
||||
@@ -67,6 +69,10 @@ private:
|
||||
|
||||
std::vector<int> importWellData( const std::string& wellName, const std::string& propertyName, const RftDate& date ) const;
|
||||
|
||||
void readWseglink( const std::string& filePath );
|
||||
std::vector<std::pair<int, int>> annulusLinksForWell( const std::string& wellName ) const;
|
||||
std::vector<int> annulusSegmentsForWell( const std::string& wellName ) const;
|
||||
|
||||
static RifEclipseRftAddress::RftWellLogChannelType identifyChannelType( const std::string& resultName );
|
||||
static std::string resultNameFromChannelType( RifEclipseRftAddress::RftWellLogChannelType channelType );
|
||||
|
||||
@@ -79,4 +85,6 @@ private:
|
||||
|
||||
std::map<RftSegmentKey, RifRftSegment> m_rftWellDateSegments;
|
||||
std::set<QDateTime> m_rftSegmentTimeSteps;
|
||||
|
||||
std::map<std::string, std::vector<std::pair<int, int>>> m_wseglink;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user