Make it possible to exclude partial delta curves

Make sure statistics curves are recomputed on flag change

When toggling "Discard Missing or Incomplete Realizations", make sure the statistics is recomputed and the ensemble plots updated.
This commit is contained in:
Magne Sjaastad
2024-11-15 12:37:22 +01:00
parent dbea0e2593
commit 9b6e441386
20 changed files with 184 additions and 45 deletions

View File

@@ -44,7 +44,7 @@ public:
void addCurveData( const std::vector<XValueType>& xValues, const std::vector<double>& yValues );
size_t curveCount() const;
void computeInterpolatedValues( bool includeValuesFromPartialCurves = true );
void computeInterpolatedValues( bool includeValuesFromPartialCurves );
RiaCurveDataTools::CurveIntervals validIntervalsForAllXValues() const;
const std::vector<XValueType>& allXValues() const;

View File

@@ -430,3 +430,15 @@ void RiaSummaryTools::reloadSummaryEnsemble( RimSummaryEnsemble* ensemble )
multiPlot->updatePlotTitles();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
time_t RiaSummaryTools::calculateTimeThreshold( const time_t& minimum, const time_t& maximum )
{
// The cutoff time is the time where the time step is less than 1% of the total time range
const auto epsilon = 0.01;
const auto timeThreshold = maximum - ( maximum - minimum ) * epsilon;
return timeThreshold;
}

View File

@@ -97,6 +97,8 @@ public:
static void reloadSummaryCase( RimSummaryCase* summaryCase );
static void reloadSummaryEnsemble( RimSummaryEnsemble* ensemble );
static time_t calculateTimeThreshold( const time_t& minimum, const time_t& maximum );
private:
static void updateRequiredCalculatedCurves( RimSummaryCase* sourceSummaryCase );
static bool isCalculationRequired( const RimUserDefinedCalculation* summaryCalculation, const RimSummaryCase* summaryCase );