Fix issue with single realization when using resdata (#12737)

* Moves multi reader initialization
* Log error message if not able to open file
* Make keywordCount pure virtual

The base class `RifSummaryReaderInterface` is changed to be abstract and the `keywordCount` is declared as a pure virtual method, therefore the derived classes must implement the method.

This will ensure that all readers are responsible for reporting a keyword count.

* Ensures addresses are created if required

Calls `createAddressesIfRequired` on the summary reader to ensure addresses are created before accessing keyword count.
This prevents potential issues when the addresses haven't been initialized yet.
This commit is contained in:
Magne Sjaastad authored and GitHub committed 2025-08-12 12:52:26 +02:00
1 parent 06a3419d2b
commit c854166be6
27 files changed
+161 -28

No files matched your search

@@ -100,7 +100,7 @@ void RimFileSummaryCase::createSummaryReaderInterfaceThreadSafe( RifEnsembleImpo
//
// https://github.com/OPM/ResInsight/issues/11342
m_multiSummaryReader = std::make_unique<RifMultipleSummaryReaders>();
auto multiReader = std::make_unique<RifMultipleSummaryReaders>();
m_fileSummaryReaderId = -1;
m_additionalSummaryReaderId = -1;
@@ -112,6 +112,7 @@ void RimFileSummaryCase::createSummaryReaderInterfaceThreadSafe( RifEnsembleImpo
m_fileSummaryReaderId = reader->serialNumber();
m_multiSummaryReader = std::move( multiReader );
m_multiSummaryReader->addReader( std::move( reader ) );
openAndAttachAdditionalReader();