Janitor : Hide loading of date for one time step from public API

ResInsight assumes that loading of data is done for all time steps at a time. Special handling of data loading is required for statistics calculations. Make statistical class a friend to be able to do this operation.
This commit is contained in:
Magne Sjaastad
2021-02-26 14:16:38 +01:00
parent 9373326281
commit d9f4d4682f
4 changed files with 12 additions and 20 deletions

View File

@@ -203,15 +203,13 @@ std::vector<double> RimEclipseContourMapProjection::generateResults( int timeSte
RigEclipseResultAddress( RiaDefines::ResultCatType::STATIC_NATIVE, "DZ" ) );
if ( m_resultAggregation == RESULTS_OIL_COLUMN || m_resultAggregation == RESULTS_HC_COLUMN )
{
resultData->ensureKnownResultLoadedForTimeStep( RigEclipseResultAddress( RiaDefines::ResultCatType::DYNAMIC_NATIVE,
"SOIL" ),
timeStep );
resultData->ensureKnownResultLoaded(
RigEclipseResultAddress( RiaDefines::ResultCatType::DYNAMIC_NATIVE, "SOIL" ) );
}
if ( m_resultAggregation == RESULTS_GAS_COLUMN || m_resultAggregation == RESULTS_HC_COLUMN )
{
resultData->ensureKnownResultLoadedForTimeStep( RigEclipseResultAddress( RiaDefines::ResultCatType::DYNAMIC_NATIVE,
"SGAS" ),
timeStep );
resultData->ensureKnownResultLoaded(
RigEclipseResultAddress( RiaDefines::ResultCatType::DYNAMIC_NATIVE, "SGAS" ) );
}
gridResultValues = calculateColumnResult( m_resultAggregation() );
}

View File

@@ -190,9 +190,11 @@ void RimEclipseStatisticsCaseEvaluator::evaluateForResults( const QList<ResSpec>
RimEclipseCase* sourceCase = m_sourceCases.at( caseIdx );
// Trigger loading of dataset
// NB! Many other functions are based on loading of all time steps at the same time
// Use this concept carefully
sourceCase->results( poroModel )
->ensureKnownResultLoadedForTimeStep( RigEclipseResultAddress( resultType, resultName ),
dataAccessTimeStepIndex );
->findOrLoadKnownScalarResultForTimeStep( RigEclipseResultAddress( resultType, resultName ),
dataAccessTimeStepIndex );
cvf::ref<RigResultAccessor> resultAccessor =
RigResultAccessorFactory::createFromResultAddress( sourceCase->eclipseCaseData(),