#1691 Remove caching of time step related data

This commit is contained in:
Magne Sjaastad 2017-08-10 11:41:29 +02:00
parent b1e9e84784
commit 9223282db4
3 changed files with 11 additions and 26 deletions

View File

@ -194,8 +194,6 @@ RifReaderEclipseOutput::RifReaderEclipseOutput()
m_fileName.clear(); m_fileName.clear();
m_filesWithSameBaseName.clear(); m_filesWithSameBaseName.clear();
m_timeSteps.clear();
m_eclipseCase = NULL; m_eclipseCase = NULL;
m_ecl_init_file = NULL; m_ecl_init_file = NULL;
@ -648,6 +646,9 @@ void RifReaderEclipseOutput::buildMetaData()
RigCaseCellResultsData* matrixModelResults = m_eclipseCase->results(RifReaderInterface::MATRIX_RESULTS); RigCaseCellResultsData* matrixModelResults = m_eclipseCase->results(RifReaderInterface::MATRIX_RESULTS);
RigCaseCellResultsData* fractureModelResults = m_eclipseCase->results(RifReaderInterface::FRACTURE_RESULTS); RigCaseCellResultsData* fractureModelResults = m_eclipseCase->results(RifReaderInterface::FRACTURE_RESULTS);
std::vector<QDateTime> timeSteps;
std::vector<double> daysSinceSimulationStart;
// Create access object for dynamic results // Create access object for dynamic results
m_dynamicResultsAccess = createDynamicResultsAccess(); m_dynamicResultsAccess = createDynamicResultsAccess();
if (m_dynamicResultsAccess.notNull()) if (m_dynamicResultsAccess.notNull())
@ -657,7 +658,7 @@ void RifReaderEclipseOutput::buildMetaData()
progInfo.incrementProgress(); progInfo.incrementProgress();
// Get time steps // Get time steps
m_dynamicResultsAccess->timeSteps(&m_timeSteps, &m_daysSinceSimulationStart); m_dynamicResultsAccess->timeSteps(&timeSteps, &daysSinceSimulationStart);
std::vector<int> reportNumbers = m_dynamicResultsAccess->reportNumbers(); std::vector<int> reportNumbers = m_dynamicResultsAccess->reportNumbers();
QStringList resultNames; QStringList resultNames;
@ -673,7 +674,7 @@ void RifReaderEclipseOutput::buildMetaData()
for (int i = 0; i < matrixResultNames.size(); ++i) for (int i = 0; i < matrixResultNames.size(); ++i)
{ {
size_t resIndex = matrixModelResults->addEmptyScalarResult(RiaDefines::DYNAMIC_NATIVE, matrixResultNames[i], false); size_t resIndex = matrixModelResults->addEmptyScalarResult(RiaDefines::DYNAMIC_NATIVE, matrixResultNames[i], false);
matrixModelResults->setTimeStepDates(resIndex, m_timeSteps, m_daysSinceSimulationStart, reportNumbers); matrixModelResults->setTimeStepDates(resIndex, timeSteps, daysSinceSimulationStart, reportNumbers);
} }
} }
@ -686,7 +687,7 @@ void RifReaderEclipseOutput::buildMetaData()
for (int i = 0; i < fractureResultNames.size(); ++i) for (int i = 0; i < fractureResultNames.size(); ++i)
{ {
size_t resIndex = fractureModelResults->addEmptyScalarResult(RiaDefines::DYNAMIC_NATIVE, fractureResultNames[i], false); size_t resIndex = fractureModelResults->addEmptyScalarResult(RiaDefines::DYNAMIC_NATIVE, fractureResultNames[i], false);
fractureModelResults->setTimeStepDates(resIndex, m_timeSteps, m_daysSinceSimulationStart, reportNumbers); fractureModelResults->setTimeStepDates(resIndex, timeSteps, daysSinceSimulationStart, reportNumbers);
} }
} }
@ -726,13 +727,13 @@ void RifReaderEclipseOutput::buildMetaData()
std::vector<double> staticDay; std::vector<double> staticDay;
std::vector<int> staticReportNumber; std::vector<int> staticReportNumber;
{ {
if ( m_timeSteps.size() > 0 ) if ( timeSteps.size() > 0 )
{ {
staticDate.push_back(m_timeSteps.front()); staticDate.push_back(timeSteps.front());
} }
if (m_daysSinceSimulationStart.size() > 0) if (daysSinceSimulationStart.size() > 0)
{ {
staticDay.push_back(m_daysSinceSimulationStart.front()); staticDay.push_back(daysSinceSimulationStart.front());
} }
std::vector<int> reportNumbers; std::vector<int> reportNumbers;
@ -1655,7 +1656,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo
} }
wellResults->computeMappingFromResultTimeIndicesToWellTimeIndices(m_timeSteps); wellResults->computeMappingFromResultTimeIndicesToWellTimeIndices(timeSteps);
wells.push_back(wellResults.p()); wells.push_back(wellResults.p());
@ -1833,14 +1834,6 @@ void RifReaderEclipseOutput::openInitFile()
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<QDateTime> RifReaderEclipseOutput::timeSteps()
{
return m_timeSteps;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -80,17 +80,12 @@ private:
QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector<size_t>& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const; QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector<size_t>& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const;
virtual std::vector<QDateTime> timeSteps();
private: private:
QString m_fileName; // Name of file used to start accessing Eclipse output files QString m_fileName; // Name of file used to start accessing Eclipse output files
QStringList m_filesWithSameBaseName; // Set of files in filename's path with same base name as filename QStringList m_filesWithSameBaseName; // Set of files in filename's path with same base name as filename
RigEclipseCaseData* m_eclipseCase; RigEclipseCaseData* m_eclipseCase;
std::vector<QDateTime> m_timeSteps;
std::vector<double> m_daysSinceSimulationStart;
ecl_file_type* m_ecl_init_file; // File access to static results ecl_file_type* m_ecl_init_file; // File access to static results
cvf::ref<RifEclipseRestartDataAccess> m_dynamicResultsAccess; // File access to dynamic results cvf::ref<RifEclipseRestartDataAccess> m_dynamicResultsAccess; // File access to dynamic results
}; };

View File

@ -67,12 +67,9 @@ public:
virtual bool staticResult(const QString& result, PorosityModelResultType matrixOrFracture, std::vector<double>* values) = 0; virtual bool staticResult(const QString& result, PorosityModelResultType matrixOrFracture, std::vector<double>* values) = 0;
virtual bool dynamicResult(const QString& result, PorosityModelResultType matrixOrFracture, size_t stepIndex, std::vector<double>* values) = 0; virtual bool dynamicResult(const QString& result, PorosityModelResultType matrixOrFracture, size_t stepIndex, std::vector<double>* values) = 0;
virtual std::vector<QDateTime> timeSteps() { std::vector<QDateTime> timeSteps; return timeSteps; }
void setFilenamesWithFaults(const std::vector<QString>& filenames) { m_filenamesWithFaults = filenames; } void setFilenamesWithFaults(const std::vector<QString>& filenames) { m_filenamesWithFaults = filenames; }
std::vector<QString> filenamesWithFaults() { return m_filenamesWithFaults; } std::vector<QString> filenamesWithFaults() { return m_filenamesWithFaults; }
private: private:
std::vector<QString> m_filenamesWithFaults; std::vector<QString> m_filenamesWithFaults;
caf::PdmPointer<RifReaderSettings> m_settings; caf::PdmPointer<RifReaderSettings> m_settings;