mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1693 Remove and move stuff away from RimReservoirCellResultsStorage
To make its sole responsibility to store/restore generated results to/from cache file
This commit is contained in:
parent
1999d2b6e4
commit
337ad4d356
@ -258,7 +258,7 @@ RimEclipseView* RimEclipseCase::createCopyAndAddView(const RimEclipseView* sourc
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimEclipseCase::recalculateCompletionTypeAndRedrawAllViews()
|
void RimEclipseCase::recalculateCompletionTypeAndRedrawAllViews()
|
||||||
{
|
{
|
||||||
m_matrixModelResults->clearScalarResult(RiaDefines::DYNAMIC_NATIVE, RiaDefines::completionTypeResultName());
|
m_matrixModelResults->cellResults()->clearScalarResult(RiaDefines::DYNAMIC_NATIVE, RiaDefines::completionTypeResultName());
|
||||||
|
|
||||||
for (RimView* view : views())
|
for (RimView* view : views())
|
||||||
{
|
{
|
||||||
@ -417,15 +417,11 @@ void RimEclipseCase::setReservoirData(RigEclipseCaseData* eclipseCase)
|
|||||||
{
|
{
|
||||||
m_fractureModelResults()->setCellResults(eclipseCaseData()->results(RiaDefines::FRACTURE_MODEL));
|
m_fractureModelResults()->setCellResults(eclipseCaseData()->results(RiaDefines::FRACTURE_MODEL));
|
||||||
m_matrixModelResults()->setCellResults(eclipseCaseData()->results(RiaDefines::MATRIX_MODEL));
|
m_matrixModelResults()->setCellResults(eclipseCaseData()->results(RiaDefines::MATRIX_MODEL));
|
||||||
m_fractureModelResults()->setMainGrid(this->eclipseCaseData()->mainGrid());
|
|
||||||
m_matrixModelResults()->setMainGrid(this->eclipseCaseData()->mainGrid());
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_fractureModelResults()->setCellResults(NULL);
|
m_fractureModelResults()->setCellResults(NULL);
|
||||||
m_matrixModelResults()->setCellResults(NULL);
|
m_matrixModelResults()->setCellResults(NULL);
|
||||||
m_fractureModelResults()->setMainGrid(NULL);
|
|
||||||
m_matrixModelResults()->setMainGrid(NULL);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,8 +88,8 @@ void RimEclipseInputCase::openDataFileSet(const QStringList& fileNames)
|
|||||||
if (fileNames.contains(RiaDefines::mockModelBasicInputCase()))
|
if (fileNames.contains(RiaDefines::mockModelBasicInputCase()))
|
||||||
{
|
{
|
||||||
cvf::ref<RifReaderInterface> readerInterface = this->createMockModel(fileNames[0]);
|
cvf::ref<RifReaderInterface> readerInterface = this->createMockModel(fileNames[0]);
|
||||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
|
|
||||||
eclipseCaseData()->activeCellInfo(RiaDefines::MATRIX_MODEL)->computeDerivedData();
|
eclipseCaseData()->activeCellInfo(RiaDefines::MATRIX_MODEL)->computeDerivedData();
|
||||||
eclipseCaseData()->activeCellInfo(RiaDefines::FRACTURE_MODEL)->computeDerivedData();
|
eclipseCaseData()->activeCellInfo(RiaDefines::FRACTURE_MODEL)->computeDerivedData();
|
||||||
@ -204,8 +204,8 @@ bool RimEclipseInputCase::openEclipseGridFile()
|
|||||||
CVF_ASSERT(this->eclipseCaseData());
|
CVF_ASSERT(this->eclipseCaseData());
|
||||||
CVF_ASSERT(readerInterface.notNull());
|
CVF_ASSERT(readerInterface.notNull());
|
||||||
|
|
||||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
|
|
||||||
this->eclipseCaseData()->mainGrid()->setFlipAxis(flipXAxis, flipYAxis);
|
this->eclipseCaseData()->mainGrid()->setFlipAxis(flipXAxis, flipYAxis);
|
||||||
|
|
||||||
|
@ -179,8 +179,8 @@ bool RimEclipseResultCase::importGridAndResultMetaData(bool showTimeStepFilter)
|
|||||||
readerInterface = readerEclipseOutput;
|
readerInterface = readerEclipseOutput;
|
||||||
}
|
}
|
||||||
|
|
||||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
|
|
||||||
progInfo.incrementProgress();
|
progInfo.incrementProgress();
|
||||||
|
|
||||||
@ -262,8 +262,8 @@ bool RimEclipseResultCase::openAndReadActiveCellData(RigEclipseCaseData* mainEcl
|
|||||||
readerInterface = readerEclipseOutput;
|
readerInterface = readerEclipseOutput;
|
||||||
}
|
}
|
||||||
|
|
||||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||||
|
|
||||||
CVF_ASSERT(this->eclipseCaseData());
|
CVF_ASSERT(this->eclipseCaseData());
|
||||||
CVF_ASSERT(readerInterface.notNull());
|
CVF_ASSERT(readerInterface.notNull());
|
||||||
@ -282,11 +282,7 @@ void RimEclipseResultCase::loadAndUpdateSourSimData()
|
|||||||
{
|
{
|
||||||
if (!results(RiaDefines::MATRIX_MODEL)) return;
|
if (!results(RiaDefines::MATRIX_MODEL)) return;
|
||||||
|
|
||||||
RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<RifReaderEclipseOutput*>(results(RiaDefines::MATRIX_MODEL)->readerInterface());
|
results(RiaDefines::MATRIX_MODEL)->cellResults()->setHdf5Filename(m_sourSimFileName);
|
||||||
if (rifReaderOutput)
|
|
||||||
{
|
|
||||||
rifReaderOutput->setHdf5FileName(m_sourSimFileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!hasSourSimFile())
|
if (!hasSourSimFile())
|
||||||
{
|
{
|
||||||
|
@ -49,8 +49,7 @@ CAF_PDM_SOURCE_INIT(RimReservoirCellResultsStorage, "ReservoirCellResultStorage"
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimReservoirCellResultsStorage::RimReservoirCellResultsStorage()
|
RimReservoirCellResultsStorage::RimReservoirCellResultsStorage()
|
||||||
: m_cellResults(NULL),
|
: m_cellResults(NULL)
|
||||||
m_ownerMainGrid(NULL)
|
|
||||||
{
|
{
|
||||||
CAF_PDM_InitObject("Cacher", "", "", "");
|
CAF_PDM_InitObject("Cacher", "", "", "");
|
||||||
|
|
||||||
@ -212,33 +211,6 @@ QString RimReservoirCellResultsStorage::getCacheDirectoryPath()
|
|||||||
return cacheDirPath;
|
return cacheDirPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimReservoirCellResultsStorage::setReaderInterface(RifReaderInterface* readerInterface)
|
|
||||||
{
|
|
||||||
m_readerInterface = readerInterface;
|
|
||||||
m_cellResults->setReaderInterface(readerInterface);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
RifReaderInterface* RimReservoirCellResultsStorage::readerInterface()
|
|
||||||
{
|
|
||||||
return m_readerInterface.p();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
const RifReaderInterface* RimReservoirCellResultsStorage::readerInterface() const
|
|
||||||
{
|
|
||||||
return m_readerInterface.p();
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -249,15 +221,6 @@ size_t RimReservoirCellResultsStorage::findOrLoadScalarResult(const QString& res
|
|||||||
return m_cellResults->findOrLoadScalarResult(resultName);
|
return m_cellResults->findOrLoadScalarResult(resultName);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimReservoirCellResultsStorage::clearScalarResult(RiaDefines::ResultCatType type, const QString & resultName)
|
|
||||||
{
|
|
||||||
size_t scalarResultIndex = m_cellResults->findScalarResultIndex(type, resultName);
|
|
||||||
m_cellResults->cellScalarResults(scalarResultIndex).clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -364,14 +327,6 @@ void RimReservoirCellResultsStorage::setCellResults(RigCaseCellResultsData* cell
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimReservoirCellResultsStorage::setMainGrid(RigMainGrid* mainGrid)
|
|
||||||
{
|
|
||||||
m_ownerMainGrid = mainGrid;
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -51,20 +51,10 @@ public:
|
|||||||
|
|
||||||
size_t storedResultsCount();
|
size_t storedResultsCount();
|
||||||
|
|
||||||
void setMainGrid(RigMainGrid* mainGrid);
|
|
||||||
|
|
||||||
void setReaderInterface(RifReaderInterface* readerInterface);
|
|
||||||
RifReaderInterface* readerInterface();
|
|
||||||
const RifReaderInterface* readerInterface() const;
|
|
||||||
|
|
||||||
void computeDepthRelatedResults();
|
|
||||||
|
|
||||||
size_t findOrLoadScalarResultForTimeStep(RiaDefines::ResultCatType type, const QString& resultName, size_t timeStepIndex);
|
size_t findOrLoadScalarResultForTimeStep(RiaDefines::ResultCatType type, const QString& resultName, size_t timeStepIndex);
|
||||||
size_t findOrLoadScalarResult(RiaDefines::ResultCatType type, const QString& resultName);
|
size_t findOrLoadScalarResult(RiaDefines::ResultCatType type, const QString& resultName);
|
||||||
size_t findOrLoadScalarResult(const QString& resultName); ///< Simplified search. Assumes unique names across types.
|
size_t findOrLoadScalarResult(const QString& resultName); ///< Simplified search. Assumes unique names across types.
|
||||||
|
|
||||||
void clearScalarResult(RiaDefines::ResultCatType type, const QString& resultName);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overridden methods from PdmObject
|
// Overridden methods from PdmObject
|
||||||
virtual void setupBeforeSave();
|
virtual void setupBeforeSave();
|
||||||
@ -77,9 +67,7 @@ private:
|
|||||||
caf::PdmChildArrayField<RimReservoirCellResultsStorageEntryInfo*>
|
caf::PdmChildArrayField<RimReservoirCellResultsStorageEntryInfo*>
|
||||||
m_resultCacheMetaData;
|
m_resultCacheMetaData;
|
||||||
|
|
||||||
cvf::ref<RifReaderInterface> m_readerInterface;
|
|
||||||
RigCaseCellResultsData* m_cellResults;
|
RigCaseCellResultsData* m_cellResults;
|
||||||
RigMainGrid* m_ownerMainGrid;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class RimReservoirCellResultsStorageEntryInfo : public caf::PdmObject
|
class RimReservoirCellResultsStorageEntryInfo : public caf::PdmObject
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "cafPdmUiTextEditor.h"
|
#include "cafPdmUiTextEditor.h"
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
#include "RigCaseCellResultsData.h"
|
||||||
|
|
||||||
namespace caf {
|
namespace caf {
|
||||||
|
|
||||||
@ -231,11 +232,7 @@ std::vector<QDateTime> RimTimeStepFilter::allTimeSteps() const
|
|||||||
RimEclipseResultCase* rimEclipseResultCase = parentEclipseResultCase();
|
RimEclipseResultCase* rimEclipseResultCase = parentEclipseResultCase();
|
||||||
if (rimEclipseResultCase && rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL))
|
if (rimEclipseResultCase && rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL))
|
||||||
{
|
{
|
||||||
const RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<const RifReaderEclipseOutput*>(rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL)->readerInterface());
|
return rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL)->cellResults()->allTimeStepDatesFromEclipseReader();
|
||||||
if (rifReaderOutput)
|
|
||||||
{
|
|
||||||
return rifReaderOutput->allTimeSteps();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_timeStepsFromFile;
|
return m_timeStepsFromFile;
|
||||||
|
@ -84,5 +84,5 @@ private:
|
|||||||
|
|
||||||
caf::PdmField<bool> m_applyReloadOfCase;
|
caf::PdmField<bool> m_applyReloadOfCase;
|
||||||
|
|
||||||
std::vector<QDateTime> m_timeStepsFromFile;
|
std::vector<QDateTime> m_timeStepsFromFile; /// Temporarily set to provide correct options before the case data structures are operative
|
||||||
};
|
};
|
||||||
|
@ -440,6 +440,22 @@ bool RigCaseCellResultsData::hasFlowDiagUsableFluxes() const
|
|||||||
return hasFlowFluxes;
|
return hasFlowFluxes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
std::vector<QDateTime> RigCaseCellResultsData::allTimeStepDatesFromEclipseReader() const
|
||||||
|
{
|
||||||
|
const RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<const RifReaderEclipseOutput*>(m_readerInterface.p());
|
||||||
|
if (rifReaderOutput)
|
||||||
|
{
|
||||||
|
return rifReaderOutput->allTimeSteps();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return std::vector<QDateTime>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -597,14 +613,14 @@ QString RigCaseCellResultsData::makeResultNameUnique(const QString& resultNamePr
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RigCaseCellResultsData::removeResult(const QString& resultName)
|
void RigCaseCellResultsData::clearScalarResult(RiaDefines::ResultCatType type, const QString & resultName)
|
||||||
{
|
{
|
||||||
size_t resultIdx = findScalarResultIndex(resultName);
|
size_t scalarResultIndex = this->findScalarResultIndex(type, resultName);
|
||||||
if (resultIdx == cvf::UNDEFINED_SIZE_T) return;
|
if (scalarResultIndex == cvf::UNDEFINED_SIZE_T) return;
|
||||||
|
|
||||||
m_cellScalarResults[resultIdx].clear();
|
m_cellScalarResults[scalarResultIndex].clear();
|
||||||
|
|
||||||
m_resultInfos[resultIdx].m_resultType = RiaDefines::REMOVED;
|
//m_resultInfos[scalarResultIndex].m_resultType = RiaDefines::REMOVED;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -2124,6 +2140,18 @@ void RigCaseCellResultsData::setReaderInterface(RifReaderInterface* readerInterf
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RigCaseCellResultsData::setHdf5Filename(const QString& hdf5SourSimFilename)
|
||||||
|
{
|
||||||
|
RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<RifReaderEclipseOutput*>(m_readerInterface.p());
|
||||||
|
if (rifReaderOutput)
|
||||||
|
{
|
||||||
|
rifReaderOutput->setHdf5FileName(hdf5SourSimFilename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// If we have any results on any time step, assume we have loaded results
|
/// If we have any results on any time step, assume we have loaded results
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -47,6 +47,7 @@ public:
|
|||||||
explicit RigCaseCellResultsData(RigEclipseCaseData* ownerCaseData);
|
explicit RigCaseCellResultsData(RigEclipseCaseData* ownerCaseData);
|
||||||
|
|
||||||
void setReaderInterface(RifReaderInterface* readerInterface);
|
void setReaderInterface(RifReaderInterface* readerInterface);
|
||||||
|
void setHdf5Filename(const QString& hdf5SourSimFilename );
|
||||||
|
|
||||||
void setMainGrid(RigMainGrid* ownerGrid);
|
void setMainGrid(RigMainGrid* ownerGrid);
|
||||||
void setActiveCellInfo(RigActiveCellInfo* activeCellInfo) { m_activeCellInfo = activeCellInfo;}
|
void setActiveCellInfo(RigActiveCellInfo* activeCellInfo) { m_activeCellInfo = activeCellInfo;}
|
||||||
@ -77,6 +78,7 @@ public:
|
|||||||
bool isUsingGlobalActiveIndex(size_t scalarResultIndex) const;
|
bool isUsingGlobalActiveIndex(size_t scalarResultIndex) const;
|
||||||
bool hasFlowDiagUsableFluxes() const;
|
bool hasFlowDiagUsableFluxes() const;
|
||||||
|
|
||||||
|
std::vector<QDateTime> allTimeStepDatesFromEclipseReader() const;
|
||||||
std::vector<QDateTime> timeStepDates() const;
|
std::vector<QDateTime> timeStepDates() const;
|
||||||
QDateTime timeStepDate(size_t scalarResultIndex, size_t timeStepIndex) const;
|
QDateTime timeStepDate(size_t scalarResultIndex, size_t timeStepIndex) const;
|
||||||
std::vector<QDateTime> timeStepDates(size_t scalarResultIndex) const;
|
std::vector<QDateTime> timeStepDates(size_t scalarResultIndex) const;
|
||||||
@ -103,7 +105,7 @@ public:
|
|||||||
void createPlaceholderResultEntries();
|
void createPlaceholderResultEntries();
|
||||||
void computeDepthRelatedResults();
|
void computeDepthRelatedResults();
|
||||||
|
|
||||||
void removeResult(const QString& resultName);
|
void clearScalarResult(RiaDefines::ResultCatType type, const QString & resultName);
|
||||||
void clearAllResults();
|
void clearAllResults();
|
||||||
void freeAllocatedResultsData();
|
void freeAllocatedResultsData();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user