mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2659 Ensemble statistics. Small fixes
This commit is contained in:
@@ -16,6 +16,9 @@
|
|||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include <cvfConfigCore.h>
|
||||||
|
#include <cvfAssert.h>
|
||||||
|
|
||||||
#include "RiaTimeHistoryCurveResampler.h"
|
#include "RiaTimeHistoryCurveResampler.h"
|
||||||
|
|
||||||
//QString tostring(const QDateTime& dt)
|
//QString tostring(const QDateTime& dt)
|
||||||
@@ -47,6 +50,7 @@ void RiaTimeHistoryCurveResampler::setCurveData(const std::vector<double>& value
|
|||||||
{
|
{
|
||||||
CVF_ASSERT(values.size() == timeSteps.size());
|
CVF_ASSERT(values.size() == timeSteps.size());
|
||||||
|
|
||||||
|
clearData();
|
||||||
m_originalValues = std::make_pair(values, timeSteps);
|
m_originalValues = std::make_pair(values, timeSteps);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
#include "RimEnsembleStatisticsCase.h"
|
#include "RimEnsembleStatisticsCase.h"
|
||||||
|
|
||||||
|
|
||||||
|
static const std::vector<time_t> EMPTY_TIME_STEPS_VECTOR;
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -44,6 +46,7 @@ RifEnsembleStatisticsReader::RifEnsembleStatisticsReader(RimEnsembleStatisticsCa
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
const std::vector<time_t>& RifEnsembleStatisticsReader::timeSteps(const RifEclipseSummaryAddress& resultAddress) const
|
const std::vector<time_t>& RifEnsembleStatisticsReader::timeSteps(const RifEclipseSummaryAddress& resultAddress) const
|
||||||
{
|
{
|
||||||
|
if (!resultAddress.isValid()) return EMPTY_TIME_STEPS_VECTOR;
|
||||||
return m_ensembleStatCase->timeSteps();
|
return m_ensembleStatCase->timeSteps();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -213,7 +213,6 @@ void RimEnsembleCurveSet::loadDataAndUpdate(bool updateParentPlot)
|
|||||||
m_yValuesUiFilterResultSelection = m_yValuesCurveVariable->address();
|
m_yValuesUiFilterResultSelection = m_yValuesCurveVariable->address();
|
||||||
|
|
||||||
updateAllCurves();
|
updateAllCurves();
|
||||||
updateStatisticsCurves(true);
|
|
||||||
|
|
||||||
if (updateParentPlot)
|
if (updateParentPlot)
|
||||||
{
|
{
|
||||||
@@ -404,6 +403,15 @@ EnsembleParameter::Type RimEnsembleCurveSet::currentEnsembleParameterType() cons
|
|||||||
return EnsembleParameter::TYPE_NONE;
|
return EnsembleParameter::TYPE_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimEnsembleCurveSet::updateAllCurves()
|
||||||
|
{
|
||||||
|
updateEnsembleCurves();
|
||||||
|
updateStatisticsCurves(true);
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -432,7 +440,6 @@ void RimEnsembleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
|||||||
m_yValuesCurveVariable->setAddress(m_yValuesUiFilterResultSelection());
|
m_yValuesCurveVariable->setAddress(m_yValuesUiFilterResultSelection());
|
||||||
|
|
||||||
updateAllCurves();
|
updateAllCurves();
|
||||||
updateStatisticsCurves(true);
|
|
||||||
|
|
||||||
updateTextInPlot = true;
|
updateTextInPlot = true;
|
||||||
}
|
}
|
||||||
@@ -441,7 +448,6 @@ void RimEnsembleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
|||||||
// Empty address cache
|
// Empty address cache
|
||||||
m_allAddressesCache.clear();
|
m_allAddressesCache.clear();
|
||||||
updateAllCurves();
|
updateAllCurves();
|
||||||
updateStatisticsCurves(true);
|
|
||||||
|
|
||||||
updateTextInPlot = true;
|
updateTextInPlot = true;
|
||||||
}
|
}
|
||||||
@@ -873,7 +879,7 @@ void RimEnsembleCurveSet::updateQwtPlotAxis()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimEnsembleCurveSet::updateAllCurves()
|
void RimEnsembleCurveSet::updateEnsembleCurves()
|
||||||
{
|
{
|
||||||
RimSummaryPlot* plot = nullptr;
|
RimSummaryPlot* plot = nullptr;
|
||||||
firstAncestorOrThisOfType(plot);
|
firstAncestorOrThisOfType(plot);
|
||||||
@@ -881,6 +887,7 @@ void RimEnsembleCurveSet::updateAllCurves()
|
|||||||
|
|
||||||
deleteEnsembleCurves();
|
deleteEnsembleCurves();
|
||||||
m_qwtPlotCurveForLegendText->detach();
|
m_qwtPlotCurveForLegendText->detach();
|
||||||
|
deleteStatisticsCurves();
|
||||||
|
|
||||||
RimSummaryCaseCollection* group = m_yValuesSummaryGroup();
|
RimSummaryCaseCollection* group = m_yValuesSummaryGroup();
|
||||||
RimSummaryAddress* addr = m_yValuesCurveVariable();
|
RimSummaryAddress* addr = m_yValuesCurveVariable();
|
||||||
@@ -930,6 +937,8 @@ void RimEnsembleCurveSet::updateStatisticsCurves(bool calculate = true)
|
|||||||
{
|
{
|
||||||
using SAddr = RifEclipseSummaryAddress;
|
using SAddr = RifEclipseSummaryAddress;
|
||||||
|
|
||||||
|
if (m_yValuesCurveVariable->address().category() == RifEclipseSummaryAddress::SUMMARY_INVALID) return;
|
||||||
|
|
||||||
if (calculate)
|
if (calculate)
|
||||||
{
|
{
|
||||||
// Calculate
|
// Calculate
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ public:
|
|||||||
EnsembleParameter::Type currentEnsembleParameterType() const;
|
EnsembleParameter::Type currentEnsembleParameterType() const;
|
||||||
|
|
||||||
void updateAllCurves();
|
void updateAllCurves();
|
||||||
|
void updateEnsembleCurves();
|
||||||
void updateStatisticsCurves(bool calculate);
|
void updateStatisticsCurves(bool calculate);
|
||||||
RimEnsembleCurveSet* clone() const;
|
RimEnsembleCurveSet* clone() const;
|
||||||
void showCurves(bool show);
|
void showCurves(bool show);
|
||||||
|
|||||||
@@ -129,6 +129,8 @@ void RimEnsembleStatisticsCase::calculate(const std::vector<RimSummaryCase*> sum
|
|||||||
std::vector<time_t> allTimeSteps;
|
std::vector<time_t> allTimeSteps;
|
||||||
std::vector<std::vector<double>> allValues;
|
std::vector<std::vector<double>> allValues;
|
||||||
|
|
||||||
|
if (!inputAddress.isValid()) return;
|
||||||
|
|
||||||
allValues.reserve(sumCases.size());
|
allValues.reserve(sumCases.size());
|
||||||
for (const auto& sumCase : sumCases)
|
for (const auto& sumCase : sumCases)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user