#11337 Summary import: Make sure ESMRY includes restart history

This commit is contained in:
Magne Sjaastad 2024-04-08 15:29:49 +02:00
parent b9d9d53964
commit 3e2957bc12

View File

@ -99,18 +99,14 @@ QString RimFileSummaryCase::caseName() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimFileSummaryCase::createSummaryReaderInterfaceThreadSafe( RiaThreadSafeLogger* threadSafeLogger ) void RimFileSummaryCase::createSummaryReaderInterfaceThreadSafe( RiaThreadSafeLogger* threadSafeLogger )
{ {
bool lookForRestartFiles = false; // RimFileSummaryCase::findRelatedFilesAndCreateReader is a performance bottleneck. The function
// RifEclipseSummaryTools::getRestartFile() should be refactored to use opm-common instead of libecl.
if ( RiaPreferencesSummary::current()->summaryDataReader() == RiaPreferencesSummary::SummaryReaderMode::LIBECL ) // It is not possible to use restart files in ESMRY file format, see see ESmry::make_esmry_file()
{
// It is only the libecl reader that requires manual search for referenced restart files
// opm-common reader handles restart files internally based on m_includeRestartFiles in RifOpmCommonEclipseSummary::openFileReader
// //
// The performance of the function looking for restart files is bad, and will affect the performance significantly // https://github.com/OPM/ResInsight/issues/11342
lookForRestartFiles = m_includeRestartFiles;
}
m_fileSummaryReader = RimFileSummaryCase::findRelatedFilesAndCreateReader( summaryHeaderFilename(), lookForRestartFiles, threadSafeLogger ); m_fileSummaryReader =
RimFileSummaryCase::findRelatedFilesAndCreateReader( summaryHeaderFilename(), m_includeRestartFiles, threadSafeLogger );
m_multiSummaryReader = new RifMultipleSummaryReaders; m_multiSummaryReader = new RifMultipleSummaryReaders;
m_multiSummaryReader->addReader( m_fileSummaryReader.p() ); m_multiSummaryReader->addReader( m_fileSummaryReader.p() );