Add derived summary case (#5496)

* #5488 Derived Summary Case : Refactor ensemble summary case

- Refactor ensemble summary case to be able to us as standalone derived summary case
- rename to RimDerivedSummaryCase
- allow negative values in well disk visualization

* #5488 Derived Summary Case : Add feature to create derived case
* #5487 Well Disks : Add scaling factor
This commit is contained in:
Magne Sjaastad authored and GitHub committed 2020-02-10 07:13:04 +01:00
1 parent 51991fd4c4
commit dfe6d0b94e
22 files changed
+558 -152

No files matched your search

@@ -18,17 +18,12 @@
#include "RifDerivedEnsembleReader.h"
#include "RimDerivedEnsembleCase.h"
#include "RimDerivedSummaryCase.h"
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const std::vector<time_t> RifDerivedEnsembleReader::EMPTY_TIME_STEPS_VECTOR;
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifDerivedEnsembleReader::RifDerivedEnsembleReader( RimDerivedEnsembleCase* derivedCase,
RifDerivedEnsembleReader::RifDerivedEnsembleReader( RimDerivedSummaryCase* derivedCase,
RifSummaryReaderInterface* sourceSummaryReader1 )
{
CVF_ASSERT( derivedCase );
@@ -48,11 +43,17 @@ RifDerivedEnsembleReader::RifDerivedEnsembleReader( RimDerivedEnsembleCase* d
//--------------------------------------------------------------------------------------------------
const std::vector<time_t>& RifDerivedEnsembleReader::timeSteps( const RifEclipseSummaryAddress& resultAddress ) const
{
if ( !resultAddress.isValid() ) return EMPTY_TIME_STEPS_VECTOR;
if ( !resultAddress.isValid() )
{
static std::vector<time_t> empty;
return empty;
}
if ( m_derivedCase->needsCalculation( resultAddress ) )
{
m_derivedCase->calculate( resultAddress );
}
return m_derivedCase->timeSteps( resultAddress );
}
@@ -90,3 +91,18 @@ RiaEclipseUnitTools::UnitSystem RifDerivedEnsembleReader::unitSystem() const
{
return RiaEclipseUnitTools::UNITS_UNKNOWN;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RifDerivedEnsembleReader::updateData( RimSummaryCase* sumCase1, RimSummaryCase* sumCase2 )
{
m_allErrorAddresses.clear();
m_allResultAddresses.clear();
if ( sumCase1 && sumCase1->summaryReader() )
{
m_allErrorAddresses = sumCase1->summaryReader()->allErrorAddresses();
m_allResultAddresses = sumCase1->summaryReader()->allResultAddresses();
}
}