mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5920 Allan Diagrams : Avoid computation until required
This commit is contained in:
parent
24d58e3a98
commit
87f1535888
@ -1937,6 +1937,8 @@ void RimEclipseResultDefinition::updateRangesForExplicitLegends( RimRegularLegen
|
||||
int frmIdx2 = it->first.second;
|
||||
int combIndex = it->second;
|
||||
|
||||
if ( frmIdx1 >= fnVector.size() || frmIdx2 >= fnVector.size() ) continue;
|
||||
|
||||
QString frmName1 = fnVector[frmIdx1];
|
||||
QString frmName2 = fnVector[frmIdx2];
|
||||
|
||||
|
@ -1420,6 +1420,12 @@ size_t RigCaseCellResultsData::findOrLoadKnownScalarResult( const RigEclipseResu
|
||||
computeOilVolumes();
|
||||
}
|
||||
|
||||
// Allan results
|
||||
if ( resultName == RiaDefines::formationAllanResultName() || resultName == RiaDefines::formationBinaryAllanResultName() )
|
||||
{
|
||||
computeAllanResults( this, m_ownerMainGrid );
|
||||
}
|
||||
|
||||
// Handle SourSimRL reading
|
||||
|
||||
if ( type == RiaDefines::ResultCatType::SOURSIMRL )
|
||||
@ -2961,7 +2967,11 @@ void RigCaseCellResultsData::setActiveFormationNames( RigFormationNames* activeF
|
||||
}
|
||||
}
|
||||
|
||||
computeAllanResults( this, m_ownerMainGrid );
|
||||
// As the Allan formation diagram is depending on formation results, we need to clear the data set
|
||||
// Will be recomputed when required
|
||||
auto fnNamesResAddr =
|
||||
RigEclipseResultAddress( RiaDefines::ResultCatType::ALLAN_DIAGRAMS, RiaDefines::formationAllanResultName() );
|
||||
clearScalarResult( fnNamesResAddr );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -3078,12 +3088,11 @@ void RigCaseCellResultsData::computeAllanResults( RigCaseCellResultsData* cellRe
|
||||
CVF_ASSERT( mainGrid );
|
||||
CVF_ASSERT( cellResultsData );
|
||||
|
||||
auto fnNamesResAddr = RigEclipseResultAddress( RiaDefines::ResultCatType::FORMATION_NAMES,
|
||||
RiaDefines::activeFormationNamesResultName() );
|
||||
bool hasFormationData = cellResultsData->hasResultEntry( fnNamesResAddr );
|
||||
|
||||
if ( hasFormationData )
|
||||
if ( cellResultsData && cellResultsData->activeFormationNames() &&
|
||||
!cellResultsData->activeFormationNames()->formationNames().empty() )
|
||||
{
|
||||
auto fnNamesResAddr = RigEclipseResultAddress( RiaDefines::ResultCatType::FORMATION_NAMES,
|
||||
RiaDefines::activeFormationNamesResultName() );
|
||||
auto fnAllanResultResAddr =
|
||||
RigEclipseResultAddress( RiaDefines::ResultCatType::ALLAN_DIAGRAMS, RiaDefines::formationAllanResultName() );
|
||||
auto fnBinAllanResAddr = RigEclipseResultAddress( RiaDefines::ResultCatType::ALLAN_DIAGRAMS,
|
||||
|
Loading…
Reference in New Issue
Block a user