#11358 Guard overwrite of already calculated statistics values

Statistics can be computed in two ways, precise using all available cell values and fast based on a histogram. A flag indicates if the P10/P90 values are calculated. Check this flag before assigning values using the fast histogram method.
This commit is contained in:
Magne Sjaastad 2024-05-22 09:43:12 +02:00
parent bbebdbba4c
commit 11563666e6

View File

@ -396,8 +396,13 @@ void RigStatisticsDataCache::computeHistogramStatisticsIfNeeded()
m_statisticsCalculator->addDataToHistogramCalculator( histCalc );
m_statsAllTimesteps.m_p10 = histCalc.calculatePercentil( 0.1, RigStatisticsMath::PercentileStyle::SWITCHED );
m_statsAllTimesteps.m_p90 = histCalc.calculatePercentil( 0.9, RigStatisticsMath::PercentileStyle::SWITCHED );
if ( !m_statsAllTimesteps.m_isp10p90Calculated )
{
m_statsAllTimesteps.m_p10 = histCalc.calculatePercentil( 0.1, RigStatisticsMath::PercentileStyle::SWITCHED );
m_statsAllTimesteps.m_p90 = histCalc.calculatePercentil( 0.9, RigStatisticsMath::PercentileStyle::SWITCHED );
m_statsAllTimesteps.m_isp10p90Calculated = true;
}
}
}
@ -416,8 +421,13 @@ void RigStatisticsDataCache::computeHistogramStatisticsIfNeeded( size_t timeStep
m_statisticsCalculator->addDataToHistogramCalculator( timeStepIndex, histCalc );
m_statsPrTs[timeStepIndex].m_p10 = histCalc.calculatePercentil( 0.1, RigStatisticsMath::PercentileStyle::SWITCHED );
m_statsPrTs[timeStepIndex].m_p90 = histCalc.calculatePercentil( 0.9, RigStatisticsMath::PercentileStyle::SWITCHED );
if ( !m_statsPrTs[timeStepIndex].m_isp10p90Calculated )
{
m_statsPrTs[timeStepIndex].m_p10 = histCalc.calculatePercentil( 0.1, RigStatisticsMath::PercentileStyle::SWITCHED );
m_statsPrTs[timeStepIndex].m_p90 = histCalc.calculatePercentil( 0.9, RigStatisticsMath::PercentileStyle::SWITCHED );
m_statsPrTs[timeStepIndex].m_isp10p90Calculated = true;
}
}
}