mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5547 Derived Summary Case : Allow missing data for either of the two source cases
This commit is contained in:
@@ -142,13 +142,37 @@ void RimDerivedSummaryCase::calculate( const RifEclipseSummaryAddress& address )
|
|||||||
RifSummaryReaderInterface* reader2 = m_summaryCase2 ? m_summaryCase2->summaryReader() : nullptr;
|
RifSummaryReaderInterface* reader2 = m_summaryCase2 ? m_summaryCase2->summaryReader() : nullptr;
|
||||||
if ( !reader1 || !reader2 ) return;
|
if ( !reader1 || !reader2 ) return;
|
||||||
|
|
||||||
if ( !reader1->hasAddress( address ) || !reader2->hasAddress( address ) )
|
if ( !reader1->hasAddress( address ) && !reader2->hasAddress( address ) )
|
||||||
{
|
{
|
||||||
std::string text = address.uiText();
|
return;
|
||||||
|
}
|
||||||
|
else if ( reader1->hasAddress( address ) && !reader2->hasAddress( address ) )
|
||||||
|
{
|
||||||
|
std::vector<double> summaryValues;
|
||||||
|
reader1->values( address, &summaryValues );
|
||||||
|
|
||||||
RiaLogging::warning(
|
auto& dataItem = m_dataCache[address];
|
||||||
"Derived Ensemble : At least one of the ensembles does not contain the summary address : " +
|
dataItem.first = reader1->timeSteps( address );
|
||||||
QString::fromStdString( text ) );
|
dataItem.second = summaryValues;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if ( !reader1->hasAddress( address ) && reader2->hasAddress( address ) )
|
||||||
|
{
|
||||||
|
std::vector<double> summaryValues;
|
||||||
|
reader2->values( address, &summaryValues );
|
||||||
|
|
||||||
|
if ( m_operator() == DerivedSummaryOperator::DERIVED_OPERATOR_SUB )
|
||||||
|
{
|
||||||
|
for ( auto& v : summaryValues )
|
||||||
|
{
|
||||||
|
v = -v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
auto& dataItem = m_dataCache[address];
|
||||||
|
dataItem.first = reader2->timeSteps( address );
|
||||||
|
dataItem.second = summaryValues;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user