#9671 summary calculations for summary items

* Summary Calculation: use shorter name in title
* Sort summary addresses to group calculated results last.
* Summary Calculation: add option to distribute calculation to other items.
* Add support for summary calculation for RimGridSummaryCase.
* Use short name for calculations in plot titles.
* Update ensembles in Data Sources when calculation is added.
* Summary Calculation: allow drag-and-drop of ensembles
* Summary Plot: fix axis range aggregation for calculated ensemble addresses.

---------

Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
This commit is contained in:
Magne Sjaastad
2023-02-26 08:08:06 +01:00
committed by GitHub
parent 69a668df50
commit 8768e186d8
51 changed files with 990 additions and 601 deletions

View File

@@ -71,6 +71,7 @@
#include "RimStimPlanColors.h"
#include "RimStimPlanModel.h"
#include "RimStimPlanModelCollection.h"
#include "RimSummaryCalculationCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h"
@@ -529,8 +530,6 @@ bool RiaApplication::loadProject( const QString& projectFileName,
{
RimMainPlotCollection* mainPlotColl = RimMainPlotCollection::current();
mainPlotColl->ensureCalculationIdsAreAssigned();
mainPlotColl->ensureDefaultFlowPlotsAreCreated();
}
@@ -544,6 +543,8 @@ bool RiaApplication::loadProject( const QString& projectFileName,
}
oilField->summaryCaseMainCollection()->loadAllSummaryCaseData();
m_project->calculationCollection()->rebuildCaseMetaData();
if ( !oilField->observedDataCollection() )
{
oilField->observedDataCollection = std::make_unique<RimObservedDataCollection>();

View File

@@ -113,9 +113,6 @@ caf::PdmOptionItemInfo
case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR:
iconText = ":/summary/components/images/block.svg";
break;
case RifEclipseSummaryAddress::SUMMARY_CALCULATED:
iconText = ":/summary/components/images/calculated.svg";
break;
case RifEclipseSummaryAddress::SUMMARY_IMPORTED:
iconText = ":/summary/components/images/others.svg";
break;

View File

@@ -95,11 +95,10 @@ void RiaSummaryTools::notifyCalculatedCurveNameHasChanged( int calculationId, co
for ( RimSummaryCurve* curve : plot->summaryCurves() )
{
RifEclipseSummaryAddress adr = curve->summaryAddressY();
if ( adr.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED && adr.id() == calculationId )
if ( adr.isCalculated() && adr.id() == calculationId )
{
RifEclipseSummaryAddress updatedAdr =
RifEclipseSummaryAddress::calculatedAddress( currentCurveName.toStdString(), calculationId );
curve->setSummaryAddressYAndApplyInterpolation( updatedAdr );
adr.setVectorName( currentCurveName.toStdString() );
curve->setSummaryAddressYAndApplyInterpolation( adr );
}
}
}
@@ -199,7 +198,7 @@ bool RiaSummaryTools::isSummaryCrossPlot( const RimSummaryPlot* plot )
//--------------------------------------------------------------------------------------------------
bool RiaSummaryTools::hasAccumulatedData( const RifEclipseSummaryAddress& address )
{
if ( address.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
if ( address.isCalculated() )
{
std::vector<RimSummaryCase*> cases;
std::vector<RifEclipseSummaryAddress> addresses;