mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1123 Fixed missing timestep problem. Using Report Step Number, not timestep index.
This commit is contained in:
@@ -669,9 +669,9 @@ void RifReaderEclipseOutput::buildMetaData()
|
||||
|
||||
progInfo.incrementProgress();
|
||||
|
||||
|
||||
// Get time steps
|
||||
m_timeSteps = m_dynamicResultsAccess->timeSteps();
|
||||
std::vector<int> reportNumbers = m_dynamicResultsAccess->reportNumbers();
|
||||
|
||||
QStringList resultNames;
|
||||
std::vector<size_t> resultNamesDataItemCounts;
|
||||
@@ -686,7 +686,7 @@ void RifReaderEclipseOutput::buildMetaData()
|
||||
for (int i = 0; i < matrixResultNames.size(); ++i)
|
||||
{
|
||||
size_t resIndex = matrixModelResults->addEmptyScalarResult(RimDefines::DYNAMIC_NATIVE, matrixResultNames[i], false);
|
||||
matrixModelResults->setTimeStepDates(resIndex, m_timeSteps);
|
||||
matrixModelResults->setTimeStepDates(resIndex, m_timeSteps, reportNumbers);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -699,7 +699,7 @@ void RifReaderEclipseOutput::buildMetaData()
|
||||
for (int i = 0; i < fractureResultNames.size(); ++i)
|
||||
{
|
||||
size_t resIndex = fractureModelResults->addEmptyScalarResult(RimDefines::DYNAMIC_NATIVE, fractureResultNames[i], false);
|
||||
fractureModelResults->setTimeStepDates(resIndex, m_timeSteps);
|
||||
fractureModelResults->setTimeStepDates(resIndex, m_timeSteps, reportNumbers);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -735,25 +735,34 @@ void RifReaderEclipseOutput::buildMetaData()
|
||||
|
||||
RifEclipseOutputFileTools::findKeywordsAndItemCount(filesUsedToFindAvailableKeywords, &resultNames, &resultNamesDataItemCounts);
|
||||
|
||||
std::vector<QDateTime> staticDate;
|
||||
std::vector<int> staticReportNumber;
|
||||
{
|
||||
if ( m_timeSteps.size() > 0 )
|
||||
{
|
||||
staticDate.push_back(m_timeSteps.front());
|
||||
}
|
||||
|
||||
std::vector<int> reportNumbers = m_dynamicResultsAccess->reportNumbers();
|
||||
if ( reportNumbers.size() > 0 )
|
||||
{
|
||||
staticReportNumber.push_back(reportNumbers.front());
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
QStringList matrixResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts,
|
||||
m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS),
|
||||
m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS),
|
||||
RifReaderInterface::MATRIX_RESULTS, 1);
|
||||
|
||||
std::vector<QDateTime> staticDate;
|
||||
if (m_timeSteps.size() > 0)
|
||||
{
|
||||
staticDate.push_back(m_timeSteps.front());
|
||||
}
|
||||
|
||||
|
||||
// Add ACTNUM
|
||||
matrixResultNames += "ACTNUM";
|
||||
|
||||
for (int i = 0; i < matrixResultNames.size(); ++i)
|
||||
{
|
||||
size_t resIndex = matrixModelResults->addEmptyScalarResult(RimDefines::STATIC_NATIVE, matrixResultNames[i], false);
|
||||
matrixModelResults->setTimeStepDates(resIndex, staticDate);
|
||||
matrixModelResults->setTimeStepDates(resIndex, staticDate, staticReportNumber);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -762,20 +771,13 @@ void RifReaderEclipseOutput::buildMetaData()
|
||||
m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS),
|
||||
m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS),
|
||||
RifReaderInterface::FRACTURE_RESULTS, 1);
|
||||
|
||||
std::vector<QDateTime> staticDate;
|
||||
if (m_timeSteps.size() > 0)
|
||||
{
|
||||
staticDate.push_back(m_timeSteps.front());
|
||||
}
|
||||
|
||||
// Add ACTNUM
|
||||
fractureResultNames += "ACTNUM";
|
||||
|
||||
for (int i = 0; i < fractureResultNames.size(); ++i)
|
||||
{
|
||||
size_t resIndex = fractureModelResults->addEmptyScalarResult(RimDefines::STATIC_NATIVE, fractureResultNames[i], false);
|
||||
fractureModelResults->setTimeStepDates(resIndex, staticDate);
|
||||
fractureModelResults->setTimeStepDates(resIndex, staticDate, staticReportNumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1125,6 +1127,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo
|
||||
|
||||
std::vector<QDateTime> timeSteps = m_dynamicResultsAccess->timeSteps();
|
||||
std::vector<int> reportNumbers = m_dynamicResultsAccess->reportNumbers();
|
||||
|
||||
bool sameCount = false;
|
||||
if (timeSteps.size() == reportNumbers.size())
|
||||
{
|
||||
|
||||
@@ -38,22 +38,27 @@ bool RifReaderMockModel::open(const QString& fileName, RigEclipseCaseData* eclip
|
||||
|
||||
|
||||
std::vector<QDateTime> dates;
|
||||
std::vector<int> repNumbers;
|
||||
|
||||
for (int i = 0; i < static_cast<int>(m_reservoirBuilder.timeStepCount()); i++)
|
||||
{
|
||||
dates.push_back(QDateTime(QDate(2012+i, 6, 1)));
|
||||
repNumbers.push_back(i);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < m_reservoirBuilder.resultCount(); i++)
|
||||
{
|
||||
size_t resIdx = cellResults->addEmptyScalarResult(RimDefines::DYNAMIC_NATIVE, QString("Dynamic_Result_%1").arg(i), false);
|
||||
cellResults->setTimeStepDates(resIdx, dates);
|
||||
cellResults->setTimeStepDates(resIdx, dates, repNumbers);
|
||||
}
|
||||
|
||||
if (m_reservoirBuilder.timeStepCount() == 0) return true;
|
||||
|
||||
std::vector<QDateTime> staticDates;
|
||||
staticDates.push_back(dates[0]);
|
||||
std::vector<int> staticRepNumbers;
|
||||
staticRepNumbers.push_back(0);
|
||||
|
||||
for (int i = 0; i < static_cast<int>(m_reservoirBuilder.resultCount()); i++)
|
||||
{
|
||||
QString varEnd;
|
||||
@@ -63,7 +68,7 @@ bool RifReaderMockModel::open(const QString& fileName, RigEclipseCaseData* eclip
|
||||
if (i > 1) resIndex = i;
|
||||
|
||||
size_t resIdx = cellResults->addEmptyScalarResult(RimDefines::STATIC_NATIVE, QString("Static_Result_%1%2").arg(resIndex).arg(varEnd), false);
|
||||
cellResults->setTimeStepDates(resIdx, staticDates);
|
||||
cellResults->setTimeStepDates(resIdx, staticDates, staticRepNumbers);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +77,7 @@ bool RifReaderMockModel::open(const QString& fileName, RigEclipseCaseData* eclip
|
||||
size_t resIdx; \
|
||||
QString resultName(Name); \
|
||||
resIdx = cellResults->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, resultName, false); \
|
||||
cellResults->setTimeStepDates(resIdx, staticDates); \
|
||||
cellResults->setTimeStepDates(resIdx, staticDates, staticRepNumbers); \
|
||||
cellResults->cellScalarResults(resIdx).resize(1); \
|
||||
std::vector<double>& values = cellResults->cellScalarResults(resIdx)[0]; \
|
||||
this->inputProperty(resultName, &values); \
|
||||
|
||||
Reference in New Issue
Block a user