diff --git a/ApplicationCode/Commands/RicImportObservedDataFeature.cpp b/ApplicationCode/Commands/RicImportObservedDataFeature.cpp index ebcd7f917c..5081f5b9c9 100644 --- a/ApplicationCode/Commands/RicImportObservedDataFeature.cpp +++ b/ApplicationCode/Commands/RicImportObservedDataFeature.cpp @@ -107,7 +107,7 @@ bool RicImportObservedDataFeature::createAndAddObservedDataFromFile(const QStrin RimObservedDataCollection* observedDataCollection = proj->activeOilField() ? proj->activeOilField()->observedDataCollection() : nullptr; if (!observedDataCollection) return false; - RimSummaryObservedDataFile* newObservedData = observedDataCollection->createAndAddObservedDataFromFileName(fileName); + RimObservedData* newObservedData = observedDataCollection->createAndAddObservedDataFromFileName(fileName); return true; } diff --git a/ApplicationCode/FileInterface/CMakeLists_files.cmake b/ApplicationCode/FileInterface/CMakeLists_files.cmake index a005e08085..3e026fc628 100644 --- a/ApplicationCode/FileInterface/CMakeLists_files.cmake +++ b/ApplicationCode/FileInterface/CMakeLists_files.cmake @@ -29,6 +29,7 @@ ${CEE_CURRENT_LIST_DIR}RifEclipseSummaryAddress.h ${CEE_CURRENT_LIST_DIR}RifEclipseSummaryAddressQMetaType.h ${CEE_CURRENT_LIST_DIR}RifWellPathImporter.h ${CEE_CURRENT_LIST_DIR}RifHdf5ReaderInterface.h +${CEE_CURRENT_LIST_DIR}RifReaderRmspecColumnBasedData.h # HDF5 file reader is directly included in ResInsight main CmakeList.txt #${CEE_CURRENT_LIST_DIR}RifHdf5Reader.h @@ -64,6 +65,7 @@ ${CEE_CURRENT_LIST_DIR}RifReaderSettings.cpp ${CEE_CURRENT_LIST_DIR}RifEclipseSummaryAddress.cpp ${CEE_CURRENT_LIST_DIR}RifWellPathImporter.cpp ${CEE_CURRENT_LIST_DIR}RifHdf5ReaderInterface.cpp +${CEE_CURRENT_LIST_DIR}RifReaderRmspecColumnBasedData.cpp # HDF5 file reader is directly included in ResInsight main CmakeList.txt #${CEE_CURRENT_LIST_DIR}RifHdf5Reader.cpp diff --git a/ApplicationCode/FileInterface/RifReaderRmspecColumnBasedData.cpp b/ApplicationCode/FileInterface/RifReaderRmspecColumnBasedData.cpp new file mode 100644 index 0000000000..f631902851 --- /dev/null +++ b/ApplicationCode/FileInterface/RifReaderRmspecColumnBasedData.cpp @@ -0,0 +1,199 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2017- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RifReaderRmspecColumnBasedData.h" + +#include "RiaLogging.h" + +#include "RifColumnBasedRsmspecParser.h" +#include "RifRsmspecParserTools.h" + +#include "cafUtils.h" + +#include +#include +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderRmspecColumnBasedData::RifReaderRmspecColumnBasedData() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderRmspecColumnBasedData::~RifReaderRmspecColumnBasedData() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderRmspecColumnBasedData::open(const QString& headerFileName) +{ + if (!caf::Utils::fileExists(headerFileName)) return false; + + QFile file(headerFileName); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + RiaLogging::error(QString("Failed to open %1").arg(headerFileName)); + + return false; + } + + QTextStream in(&file); + QString fileContents = in.readAll(); + + m_parser = std::unique_ptr(new RifColumnBasedRsmspecParser(fileContents)); + if (!m_parser) + { + RiaLogging::error(QString("Failed to parse file %1").arg(headerFileName)); + + return false; + } + + m_allResultAddresses.clear(); + + for (size_t tableIndex = 0; tableIndex < m_parser->tables().size(); tableIndex++) + { + size_t timeColumnIndex = m_parser->tables()[tableIndex].size(); + + // Find time index + for (size_t columIndex = 0; columIndex < m_parser->tables()[tableIndex].size(); columIndex++) + { + const ColumnInfo& ci = m_parser->tables()[tableIndex][columIndex]; + if (!ci.isAVector) + { + timeColumnIndex = columIndex; + break; + } + } + + if (timeColumnIndex == m_parser->tables()[tableIndex].size()) + { + RiaLogging::warning(QString("Failed to find time data for table %1 in file %2").arg(tableIndex).arg(headerFileName)); + RiaLogging::warning(QString("No data for this table is imported")); + } + else + { + const ColumnInfo& ci = m_parser->tables()[tableIndex][timeColumnIndex]; + + m_timeSteps.resize(m_timeSteps.size() + 1); + + std::vector& timeSteps = m_timeSteps.back(); + { + for (auto v : ci.values) + { + timeSteps.push_back(v); + } + } + + for (size_t columIndex = 0; columIndex < m_parser->tables()[tableIndex].size(); columIndex++) + { + const ColumnInfo& ci = m_parser->tables()[tableIndex][columIndex]; + if (ci.isAVector) + { + RifEclipseSummaryAddress sumAddress = address(ci); + m_allResultAddresses.push_back(sumAddress); + + m_mapFromAddressToTimeStepIndex[sumAddress] = m_timeSteps.size() - 1; + m_mapFromAddressToResultIndex[sumAddress] = std::make_pair(tableIndex, columIndex); + } + } + } + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderRmspecColumnBasedData::values(const RifEclipseSummaryAddress& resultAddress, std::vector* values) const +{ + auto search = m_mapFromAddressToResultIndex.find(resultAddress); + if (search != m_mapFromAddressToResultIndex.end()) + { + std::pair tableColIndices = search->second; + + const ColumnInfo& ci = m_parser->tables()[tableColIndices.first][tableColIndices.second]; + for (const auto& v : ci.values) + { + values->push_back(v); + } + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RifReaderRmspecColumnBasedData::timeSteps(const RifEclipseSummaryAddress& resultAddress) const +{ + auto search = m_mapFromAddressToTimeStepIndex.find(resultAddress); + if (search != m_mapFromAddressToTimeStepIndex.end()) + { + return m_timeSteps[search->second]; + } + + static std::vector emptyVector; + + return emptyVector; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifEclipseSummaryAddress RifReaderRmspecColumnBasedData::address(const ColumnInfo& columnInfo) +{ + return RifEclipseSummaryAddress(columnInfo.category, + columnInfo.quantityName, + columnInfo.regionNumber, + columnInfo.regionNumber2, + columnInfo.wellGroupName, + columnInfo.wellName, + columnInfo.wellSegmentNumber, + columnInfo.lgrName, + columnInfo.cellI, + columnInfo.cellJ, + columnInfo.cellK); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::string RifReaderRmspecColumnBasedData::unitName(const RifEclipseSummaryAddress& resultAddress) const +{ + auto search = m_mapFromAddressToResultIndex.find(resultAddress); + if (search != m_mapFromAddressToResultIndex.end()) + { + std::pair tableColIndices = search->second; + + const ColumnInfo& ci = m_parser->tables()[tableColIndices.first][tableColIndices.second]; + + return ci.unitName; + } + + return ""; +} diff --git a/ApplicationCode/FileInterface/RifReaderRmspecColumnBasedData.h b/ApplicationCode/FileInterface/RifReaderRmspecColumnBasedData.h new file mode 100644 index 0000000000..dab73da02e --- /dev/null +++ b/ApplicationCode/FileInterface/RifReaderRmspecColumnBasedData.h @@ -0,0 +1,67 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2017- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "RifSummaryReaderInterface.h" + +#include +#include +#include +#include + +class QDateTime; +class QString; + +class RifColumnBasedRsmspecParser; +class RifEclipseSummaryAddress; + +struct ColumnInfo; + + + +//================================================================================================== +// +// +//================================================================================================== +class RifReaderRmspecColumnBasedData : public RifSummaryReaderInterface +{ +public: + RifReaderRmspecColumnBasedData(); + ~RifReaderRmspecColumnBasedData(); + + bool open(const QString& headerFileName); + + virtual const std::vector& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override; + + virtual bool values(const RifEclipseSummaryAddress& resultAddress, + std::vector* values) const override; + + std::string unitName(const RifEclipseSummaryAddress& resultAddress) const override; + +private: + static RifEclipseSummaryAddress address(const ColumnInfo& columnInfo); + +private: + std::unique_ptr m_parser; + std::vector< std::vector > m_timeSteps; + + std::map m_mapFromAddressToTimeStepIndex; + std::map > m_mapFromAddressToResultIndex; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp index e8252bdfe9..a83a51b6a3 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp @@ -49,17 +49,6 @@ RimFileSummaryCase::~RimFileSummaryCase() } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimFileSummaryCase::setSummaryHeaderFilename(const QString& fileName) -{ - m_summaryHeaderFilename = fileName; - - this->updateAutoShortName(); - this->updateTreeItemName(); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h index 62f72a00da..0b0be22fc7 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h @@ -36,7 +36,6 @@ public: RimFileSummaryCase(); virtual ~RimFileSummaryCase(); - void setSummaryHeaderFilename(const QString& fileName); virtual QString summaryHeaderFilename() const override; virtual QString caseName() override; virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimObservedData.cpp b/ApplicationCode/ProjectDataModel/Summary/RimObservedData.cpp index 7c67ef06d1..75a089dee1 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimObservedData.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimObservedData.cpp @@ -35,14 +35,6 @@ RimObservedData::RimObservedData() CAF_PDM_InitFieldNoDefault(&m_identifierName, "IdentifierName", "Identifier Name", "", "", ""); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RimObservedData::summaryHeaderFilename() const -{ - return m_summaryHeaderFilename(); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimObservedData.h b/ApplicationCode/ProjectDataModel/Summary/RimObservedData.h index a86dcc2b69..bcd24e2dcc 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimObservedData.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimObservedData.h @@ -36,7 +36,6 @@ class RimObservedData : public RimSummaryCase public: RimObservedData(); - virtual QString summaryHeaderFilename() const override; virtual QString caseName() override; virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.cpp index af35ad0f9b..346756e3e6 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.cpp @@ -18,7 +18,9 @@ #include "RimObservedDataCollection.h" + #include "RimObservedData.h" +#include "RimObservedRsmspecColumnBasedData.h" #include "RimSummaryObservedDataFile.h" CAF_PDM_SOURCE_INIT(RimObservedDataCollection, "ObservedDataCollection"); @@ -62,18 +64,34 @@ void RimObservedDataCollection::addObservedData(RimObservedData* observedData) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimSummaryObservedDataFile* RimObservedDataCollection::createAndAddObservedDataFromFileName(const QString& fileName) +RimObservedData* RimObservedDataCollection::createAndAddObservedDataFromFileName(const QString& fileName) { - RimSummaryObservedDataFile* newObservedData = new RimSummaryObservedDataFile(); + RimObservedData* observedData = nullptr; - this->m_observedDataArray.push_back(newObservedData); - newObservedData->setSummaryHeaderFilename(fileName); - newObservedData->createSummaryReaderInterface(); - newObservedData->updateOptionSensitivity(); + if (fileName.endsWith(".rsm", Qt::CaseInsensitive)) + { + RimObservedRsmspecColumnBasedData* rsmspecColumnBasedData = new RimObservedRsmspecColumnBasedData(); - this->updateConnectedEditors(); + observedData = rsmspecColumnBasedData; + } + else + { + RimSummaryObservedDataFile* newObservedData = new RimSummaryObservedDataFile(); - return newObservedData; + observedData = newObservedData; + } + + if (observedData) + { + this->m_observedDataArray.push_back(observedData); + observedData->setSummaryHeaderFileName(fileName); + observedData->createSummaryReaderInterface(); + observedData->updateOptionSensitivity(); + + this->updateConnectedEditors(); + } + + return observedData; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.h b/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.h index ffc4c85c73..f29b259f04 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimObservedDataCollection.h @@ -23,7 +23,6 @@ class RimSummaryCase; class RimObservedData; -class RimSummaryObservedDataFile; //-------------------------------------------------------------------------------------------------- /// @@ -38,8 +37,8 @@ public: void removeObservedData(RimObservedData* observedData); void addObservedData(RimObservedData* observedData); - RimSummaryObservedDataFile* createAndAddObservedDataFromFileName(const QString& fileName); - std::vector allObservedData(); + RimObservedData* createAndAddObservedDataFromFileName(const QString& fileName); + std::vector allObservedData(); private: caf::PdmChildArrayField m_observedDataArray; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.cpp b/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.cpp index 9aa21ccee9..ed733643df 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.cpp @@ -17,103 +17,16 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RimObservedRsmspecColumnBasedData.h" + +#include "RifColumnBasedRsmspecParser.h" +#include "RifReaderRmspecColumnBasedData.h" #include "RifSummaryReaderInterface.h" +#include "cafUtils.h" + CAF_PDM_SOURCE_INIT(RimObservedRsmspecColumnBasedData, "RimObservedRsmspecColumnBasedData"); -class MyTestInterface : public RifSummaryReaderInterface -{ - -public: - MyTestInterface() - { - m_timeSteps.push_back(1000); - m_timeSteps.push_back(1010); - m_timeSteps.push_back(1020); - m_timeSteps.push_back(1030); - m_timeSteps.push_back(1040); - - m_headers.push_back("sdflkj"); - m_headers.push_back("sdf"); - m_headers.push_back("sdfffff"); - m_headers.push_back("qwqwqw"); - m_headers.push_back("aaaaa"); - m_headers.push_back("absc"); - - } -// caf::PdmField > m_summaryCategory; -// caf::PdmField m_identifierName; - - void setMetaData(RifEclipseSummaryAddress::SummaryVarCategory summaryCategory, const QString& identifierName) - { - m_category = summaryCategory; - m_identifierName = identifierName; - - buildMetaData(); - } - - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - virtual const std::vector& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override - { - return m_timeSteps; - } - - - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector* values) const override - { - values->push_back(20); - values->push_back(40); - values->push_back(50); - values->push_back(40); - - return true; - } - - - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - virtual std::string unitName(const RifEclipseSummaryAddress& resultAddress) const override - { - return "Unknown unit"; - } - -private: - void buildMetaData() - { - m_allResultAddresses.clear(); - - for (size_t i = 0; i < m_headers.size(); i++) - { - RifEclipseSummaryAddress addr(m_category, - m_headers[i].toStdString(), - -1, - -1, - "", - "", - -1, - "", - -1, - -1, - -1); - - m_allResultAddresses.push_back(addr); - } - } - -private: - std::vector m_timeSteps; - std::vector m_headers; - - RifEclipseSummaryAddress::SummaryVarCategory m_category; - QString m_identifierName; -}; //-------------------------------------------------------------------------------------------------- /// @@ -132,23 +45,23 @@ RimObservedRsmspecColumnBasedData::~RimObservedRsmspecColumnBasedData() } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimObservedRsmspecColumnBasedData::setSummaryHeaderFilename(const QString& fileName) -{ - m_summaryHeaderFilename = fileName; - - this->updateAutoShortName(); - this->updateTreeItemName(); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimObservedRsmspecColumnBasedData::createSummaryReaderInterface() { - m_summeryReader = new MyTestInterface; + if (caf::Utils::fileExists(this->summaryHeaderFilename())) + { + m_summeryReader = new RifReaderRmspecColumnBasedData(); + if (!m_summeryReader->open(this->summaryHeaderFilename())) + { + m_summeryReader = nullptr; + } + } + else + { + m_summeryReader = nullptr; + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.h b/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.h index 9a8a22ac11..2c238d96e2 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimObservedRsmspecColumnBasedData.h @@ -24,7 +24,7 @@ #include "cafPdmField.h" #include "cvfObject.h" -class MyTestInterface; +class RifReaderRmspecColumnBasedData; //================================================================================================== // @@ -36,13 +36,10 @@ public: RimObservedRsmspecColumnBasedData(); virtual ~RimObservedRsmspecColumnBasedData(); - void setSummaryHeaderFilename(const QString& fileName); - virtual void createSummaryReaderInterface() override; - virtual RifSummaryReaderInterface* summaryReader() override; private: - cvf::ref m_summeryReader; + cvf::ref m_summeryReader; }; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp index 8e0b3b624f..101b96ced5 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp @@ -54,6 +54,25 @@ RimSummaryCase::~RimSummaryCase() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryCase::summaryHeaderFilename() const +{ + return m_summaryHeaderFilename(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::setSummaryHeaderFileName(const QString& fileName) +{ + m_summaryHeaderFilename = fileName; + + this->updateAutoShortName(); + this->updateTreeItemName(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h index bec6236beb..5d7e8edadc 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h @@ -35,7 +35,7 @@ public: RimSummaryCase(); virtual ~RimSummaryCase(); - virtual QString summaryHeaderFilename() const = 0; + virtual QString summaryHeaderFilename() const; virtual QString caseName() = 0; QString shortName() const; @@ -47,6 +47,8 @@ public: virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) = 0; + void setSummaryHeaderFileName(const QString& fileName); + bool isObservedData(); protected: diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseMainCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseMainCollection.cpp index f9632c5a6c..83ef8ae6e3 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseMainCollection.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseMainCollection.cpp @@ -288,7 +288,7 @@ RimSummaryCase* RimSummaryCaseMainCollection::createAndAddSummaryCaseFromFileNam RimFileSummaryCase* newSumCase = new RimFileSummaryCase(); this->m_cases.push_back(newSumCase); - newSumCase->setSummaryHeaderFilename(fileName); + newSumCase->setSummaryHeaderFileName(fileName); newSumCase->createSummaryReaderInterface(); newSumCase->updateOptionSensitivity();