From 087df7e9978032e97fb47268367a273573e9daa8 Mon Sep 17 00:00:00 2001 From: jonjenssen Date: Wed, 21 May 2025 09:21:45 +0200 Subject: [PATCH] Remove well cells, too, if edfm I limit is detected --- ApplicationLibCode/FileInterface/RifEdfmTools.cpp | 2 +- ApplicationLibCode/FileInterface/RifEdfmTools.h | 2 +- .../FileInterface/RifReaderEclipseOutput.cpp | 7 +++++++ ApplicationLibCode/FileInterface/RifReaderOpmCommon.cpp | 7 +++++++ .../ProjectDataModel/RimEclipseResultCase.cpp | 7 ------- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/ApplicationLibCode/FileInterface/RifEdfmTools.cpp b/ApplicationLibCode/FileInterface/RifEdfmTools.cpp index 16fdd9e9e2..bee80392ad 100644 --- a/ApplicationLibCode/FileInterface/RifEdfmTools.cpp +++ b/ApplicationLibCode/FileInterface/RifEdfmTools.cpp @@ -24,7 +24,7 @@ //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -size_t RifEdfmTools::checkForEdfmData( QString gridFileName ) +size_t RifEdfmTools::checkForEdfmLimitI( QString gridFileName ) { QFileInfo fi( gridFileName ); diff --git a/ApplicationLibCode/FileInterface/RifEdfmTools.h b/ApplicationLibCode/FileInterface/RifEdfmTools.h index 09303278f3..9c1c6701c3 100644 --- a/ApplicationLibCode/FileInterface/RifEdfmTools.h +++ b/ApplicationLibCode/FileInterface/RifEdfmTools.h @@ -22,5 +22,5 @@ namespace RifEdfmTools { -size_t checkForEdfmData( QString gridFileName ); +size_t checkForEdfmLimitI( QString gridFileName ); } diff --git a/ApplicationLibCode/FileInterface/RifReaderEclipseOutput.cpp b/ApplicationLibCode/FileInterface/RifReaderEclipseOutput.cpp index 9d5ef9aaa7..02b3876307 100644 --- a/ApplicationLibCode/FileInterface/RifReaderEclipseOutput.cpp +++ b/ApplicationLibCode/FileInterface/RifReaderEclipseOutput.cpp @@ -29,6 +29,7 @@ #include "RifEclipseInputFileTools.h" #include "RifEclipseOutputFileTools.h" #include "RifEclipseRestartDataAccess.h" +#include "RifEdfmTools.h" #include "RifHdf5ReaderInterface.h" #include "RifOpmRadialGridTools.h" #include "RifReaderEclipseWell.h" @@ -411,6 +412,12 @@ bool RifReaderEclipseOutput::open( const QString& fileName, RigEclipseCaseData* RifOpmRadialGridTools::importCoordinatesForRadialGrid( fileName.toStdString(), eclipseCaseData->mainGrid() ); } + auto iLimitFromEdfm = RifEdfmTools::checkForEdfmLimitI( fileName ); + if ( iLimitFromEdfm > 0 ) + { + eclipseCaseData->mainGrid()->invalidateCellsAboveI( iLimitFromEdfm - 1 /* zero based index */ ); + } + { auto task = progress.task( "Reading faults", 10 ); diff --git a/ApplicationLibCode/FileInterface/RifReaderOpmCommon.cpp b/ApplicationLibCode/FileInterface/RifReaderOpmCommon.cpp index ea77f6fe6d..fd6cded2ef 100644 --- a/ApplicationLibCode/FileInterface/RifReaderOpmCommon.cpp +++ b/ApplicationLibCode/FileInterface/RifReaderOpmCommon.cpp @@ -28,6 +28,7 @@ #include "RifEclipseOutputFileTools.h" #include "RifEclipseReportKeywords.h" #include "RifEclipseUnifiedRestartFileAccess.h" +#include "RifEdfmTools.h" #include "RifOpmRadialGridTools.h" #include "RifReaderEclipseWell.h" @@ -92,6 +93,12 @@ bool RifReaderOpmCommon::open( const QString& fileName, RigEclipseCaseData* ecli return false; } + auto iLimitFromEdfm = RifEdfmTools::checkForEdfmLimitI( fileName ); + if ( iLimitFromEdfm > 0 ) + { + eclipseCaseData->mainGrid()->invalidateCellsAboveI( iLimitFromEdfm - 1 /* zero based index */ ); + } + if ( isFaultImportEnabled() ) { auto task = progress.task( "Reading faults", 25 ); diff --git a/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp b/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp index 42616b2280..b11f6317b5 100644 --- a/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp +++ b/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp @@ -31,7 +31,6 @@ #include "RifEclipseOutputFileTools.h" #include "RifEclipseRestartDataAccess.h" -#include "RifEdfmTools.h" #include "RifInputPropertyLoader.h" #include "RifReaderEclipseOutput.h" #include "RifReaderEclipseRft.h" @@ -256,12 +255,6 @@ bool RimEclipseResultCase::importGridAndResultMetaData( bool showTimeStepFilter setFilesContainingFaults( readerInterface->filenamesWithFaults() ); setReservoirData( eclipseCase.p() ); - - auto iLimitFromEdfm = RifEdfmTools::checkForEdfmData( gridFileName() ); - if ( iLimitFromEdfm > 0 ) - { - eclipseCase->mainGrid()->invalidateCellsAboveI( iLimitFromEdfm - 1 /* zero based index */ ); - } } results( RiaDefines::PorosityModelType::MATRIX_MODEL )->setReaderInterface( readerInterface.p() );