mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2610 Import case realization parameters and store those in summary case
This commit is contained in:
@@ -83,6 +83,22 @@ bool RimSummaryCase::isObservedData()
|
||||
return m_isObservedData;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCase::setCaseRealizationParameters(cvf::ref<RigCaseRealizationParameters> crlParameters)
|
||||
{
|
||||
m_crlParameters = crlParameters;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::ref<RigCaseRealizationParameters> RimSummaryCase::caseRealizationParameters() const
|
||||
{
|
||||
return m_crlParameters;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
|
||||
#include "RigCaseRealizationParameters.h"
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
|
||||
@@ -52,6 +54,9 @@ public:
|
||||
|
||||
bool isObservedData();
|
||||
|
||||
void setCaseRealizationParameters(cvf::ref<RigCaseRealizationParameters> crlParameters);
|
||||
cvf::ref<RigCaseRealizationParameters> caseRealizationParameters() const;
|
||||
|
||||
protected:
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
void updateTreeItemName();
|
||||
@@ -60,6 +65,8 @@ protected:
|
||||
caf::PdmField<bool> m_useAutoShortName;
|
||||
caf::PdmField<QString> m_summaryHeaderFilename;
|
||||
bool m_isObservedData;
|
||||
|
||||
cvf::ref<RigCaseRealizationParameters> m_crlParameters;
|
||||
|
||||
private:
|
||||
virtual void initAfterRead() override;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include "RifEclipseSummaryTools.h"
|
||||
#include "RifSummaryCaseRestartSelector.h"
|
||||
#include "RifCaseRealizationParametersReader.h"
|
||||
|
||||
#include "RimEclipseResultCase.h"
|
||||
#include "RimFileSummaryCase.h"
|
||||
@@ -33,6 +34,27 @@
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimSummaryCaseMainCollection,"SummaryCaseCollection");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Internal function
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void addCaseRealizationParametersIfFound(RimSummaryCase& sumCase, const QString modelFolderOrFile)
|
||||
{
|
||||
QString parametersFile = RifCaseRealizationParametersFileLocator::locate(modelFolderOrFile);
|
||||
if (!parametersFile.isEmpty())
|
||||
{
|
||||
RifCaseRealizationParametersReader reader(parametersFile);
|
||||
|
||||
// Try parse case realization parameters
|
||||
try
|
||||
{
|
||||
reader.parse();
|
||||
sumCase.setCaseRealizationParameters(reader.parameters());
|
||||
}
|
||||
catch (...) {}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -288,6 +310,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createAndAddSummaryCa
|
||||
newSumCase->setAssociatedEclipseCase(eclResCase);
|
||||
newSumCase->createSummaryReaderInterface();
|
||||
newSumCase->updateOptionSensitivity();
|
||||
addCaseRealizationParametersIfFound(*newSumCase, importFileInfos.front().fileName);
|
||||
sumCases.push_back(newSumCase);
|
||||
|
||||
// Remove the processed element and add 'orphan' summary cases
|
||||
@@ -302,7 +325,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createAndAddSummaryCa
|
||||
newSumCase->setSummaryHeaderFileName(fileInfo.fileName);
|
||||
newSumCase->createSummaryReaderInterface();
|
||||
newSumCase->updateOptionSensitivity();
|
||||
|
||||
addCaseRealizationParametersIfFound(*newSumCase, fileInfo.fileName);
|
||||
sumCases.push_back(newSumCase);
|
||||
}
|
||||
}
|
||||
@@ -329,7 +352,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createAndAddSummaryCa
|
||||
newSumCase->setSummaryHeaderFileName(fileInfo.fileName);
|
||||
newSumCase->createSummaryReaderInterface();
|
||||
newSumCase->updateOptionSensitivity();
|
||||
|
||||
addCaseRealizationParametersIfFound(*newSumCase, fileInfo.fileName);
|
||||
sumCases.push_back(newSumCase);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user