#2610 Import case realization parameters and store those in summary case

This commit is contained in:
Bjørn Erik Jensen
2018-03-26 13:11:36 +02:00
parent 70f99d8da4
commit f7f09c0719
20 changed files with 520 additions and 294 deletions

View File

@@ -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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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;

View File

@@ -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);
}