Avoid crash for summary file with no time steps

Do not try to create ESMRY file if there are no time steps in the summary data
Do not try to read "TIME" record if no time steps are present
This commit is contained in:
Magne Sjaastad committed 2023-12-11 12:32:19 +01:00
1 parent 681acfb0e0
commit f00553d399
4 files changed
+32 -7

No files matched your search

@@ -111,7 +111,10 @@ bool RifOpmCommonEclipseSummary::open( const QString& fileName, bool includeRest
{
auto temporarySummaryFile = std::make_unique<Opm::EclIO::ESmry>( smspecFileName.toStdString(), includeRestartFiles );
temporarySummaryFile->make_esmry_file();
if ( temporarySummaryFile->numberOfTimeSteps() > 0 )
{
temporarySummaryFile->make_esmry_file();
}
RifOpmCommonEclipseSummary::increaseEsmryFileCount();
}
@@ -214,15 +217,22 @@ void RifOpmCommonEclipseSummary::buildMetaData()
if ( m_enhancedReader )
{
keywords = m_enhancedReader->keywordList();
startOfSimulation = m_enhancedReader->startdate();
daysSinceStartOfSimulation = m_enhancedReader->get( "TIME" );
keywords = m_enhancedReader->keywordList();
startOfSimulation = m_enhancedReader->startdate();
if ( m_enhancedReader->numberOfTimeSteps() > 0 )
{
daysSinceStartOfSimulation = m_enhancedReader->get( "TIME" );
}
}
else if ( m_standardReader )
{
keywords = m_standardReader->keywordList();
startOfSimulation = m_standardReader->startdate();
daysSinceStartOfSimulation = m_standardReader->get( "TIME" );
keywords = m_standardReader->keywordList();
startOfSimulation = m_standardReader->startdate();
if ( m_standardReader->numberOfTimeSteps() > 0 )
{
daysSinceStartOfSimulation = m_standardReader->get( "TIME" );
}
}
const auto startAsTimeT = std::chrono::system_clock::to_time_t( startOfSimulation );