From 3f90e8a632267369f7971ea6553af084b42db16d Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 20 Oct 2017 15:48:08 +0200 Subject: [PATCH] #1877 Statistics case : Do not create placeholder results for statistics case --- .../ProjectDataModel/RimEclipseCase.cpp | 74 +++++++++++-------- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp b/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp index 03657984c2..c23aeaee67 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp @@ -60,6 +60,7 @@ #include #include #include +#include "RimEclipseStatisticsCase.h" CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimEclipseCase, "RimReservoir"); @@ -578,42 +579,53 @@ bool RimEclipseCase::openReserviorCase() return false; } + bool createPlaceholderEntries = true; + if (dynamic_cast(this)) { - RigCaseCellResultsData* results = this->results(RiaDefines::MATRIX_MODEL); - if (results ) - { - results->createPlaceholderResultEntries(); - // After the placeholder result for combined transmissibility is created, - // make sure the nnc transmissibilities can be addressed by this scalarResultIndex as well - size_t combinedTransResIdx = results->findScalarResultIndex(RiaDefines::STATIC_NATIVE, RiaDefines::combinedTransmissibilityResultName()); - if (combinedTransResIdx != cvf::UNDEFINED_SIZE_T) - { - eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameCombTrans(), combinedTransResIdx); - } - size_t combinedWatFluxResIdx = results->findScalarResultIndex(RiaDefines::DYNAMIC_NATIVE, RiaDefines::combinedWaterFluxResultName()); - if (combinedWatFluxResIdx != cvf::UNDEFINED_SIZE_T) - { - eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameFluxWat(), combinedWatFluxResIdx); - } - size_t combinedOilFluxResIdx = results->findScalarResultIndex(RiaDefines::DYNAMIC_NATIVE, RiaDefines::combinedOilFluxResultName()); - if (combinedOilFluxResIdx != cvf::UNDEFINED_SIZE_T) - { - eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameFluxOil(), combinedOilFluxResIdx); - } - size_t combinedGasFluxResIdx = results->findScalarResultIndex(RiaDefines::DYNAMIC_NATIVE, RiaDefines::combinedGasFluxResultName()); - if (combinedGasFluxResIdx != cvf::UNDEFINED_SIZE_T) - { - eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameFluxGas(), combinedGasFluxResIdx); - } - } - + // Never create placeholder entries for statistical cases. This does not make sense, and breaks the + // logic for testing if data is present in RimEclipseStatisticsCase::hasComputedStatistics() + createPlaceholderEntries = false; } + if (createPlaceholderEntries) { - RigCaseCellResultsData* results = this->results(RiaDefines::FRACTURE_MODEL); - if (results) { - results->createPlaceholderResultEntries(); + RigCaseCellResultsData* results = this->results(RiaDefines::MATRIX_MODEL); + if (results ) + { + results->createPlaceholderResultEntries(); + // After the placeholder result for combined transmissibility is created, + // make sure the nnc transmissibilities can be addressed by this scalarResultIndex as well + size_t combinedTransResIdx = results->findScalarResultIndex(RiaDefines::STATIC_NATIVE, RiaDefines::combinedTransmissibilityResultName()); + if (combinedTransResIdx != cvf::UNDEFINED_SIZE_T) + { + eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameCombTrans(), combinedTransResIdx); + } + size_t combinedWatFluxResIdx = results->findScalarResultIndex(RiaDefines::DYNAMIC_NATIVE, RiaDefines::combinedWaterFluxResultName()); + if (combinedWatFluxResIdx != cvf::UNDEFINED_SIZE_T) + { + eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameFluxWat(), combinedWatFluxResIdx); + } + size_t combinedOilFluxResIdx = results->findScalarResultIndex(RiaDefines::DYNAMIC_NATIVE, RiaDefines::combinedOilFluxResultName()); + if (combinedOilFluxResIdx != cvf::UNDEFINED_SIZE_T) + { + eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameFluxOil(), combinedOilFluxResIdx); + } + size_t combinedGasFluxResIdx = results->findScalarResultIndex(RiaDefines::DYNAMIC_NATIVE, RiaDefines::combinedGasFluxResultName()); + if (combinedGasFluxResIdx != cvf::UNDEFINED_SIZE_T) + { + eclipseCaseData()->mainGrid()->nncData()->setScalarResultIndex(RigNNCData::propertyNameFluxGas(), combinedGasFluxResIdx); + } + } + + } + + { + RigCaseCellResultsData* results = this->results(RiaDefines::FRACTURE_MODEL); + if (results) + { + results->createPlaceholderResultEntries(); + } } }