From 2bba6afe101556143718b95ece268b9672e81f3b Mon Sep 17 00:00:00 2001 From: Kristian Bendiksen Date: Mon, 10 Nov 2025 13:19:43 +0100 Subject: [PATCH] Sector Export: dump with "INLINE" to workaround strange inserts. --- .../RicExportEclipseSectorModelFeature.cpp | 2 +- .../FileInterface/RifOpmFlowDeckFile.cpp | 13 +++++++++++++ .../FileInterface/RifOpmFlowDeckFile.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ApplicationLibCode/Commands/ExportCommands/RicExportEclipseSectorModelFeature.cpp b/ApplicationLibCode/Commands/ExportCommands/RicExportEclipseSectorModelFeature.cpp index e7ffe002c3..d35b823615 100644 --- a/ApplicationLibCode/Commands/ExportCommands/RicExportEclipseSectorModelFeature.cpp +++ b/ApplicationLibCode/Commands/ExportCommands/RicExportEclipseSectorModelFeature.cpp @@ -367,7 +367,7 @@ std::expected RicExportEclipseSectorModelFeature::exportSimulatio deckFile.removeKeywords( "SPECGRID" ); // Save the modified deck file to the export directory - if ( !deckFile.saveDeck( outputFolder.toStdString(), outputFile.toStdString() ) ) + if ( !deckFile.saveDeckInline( outputFolder.toStdString(), outputFile.toStdString() ) ) { return std::unexpected( QString( "Failed to save modified deck file to '%1/%2'" ).arg( outputFolder ).arg( outputFile ) ); } diff --git a/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.cpp b/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.cpp index 1d81cc3b86..052cb33521 100644 --- a/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.cpp +++ b/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.cpp @@ -317,6 +317,19 @@ bool RifOpmFlowDeckFile::saveDeck( std::string folder, std::string filename ) return false; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifOpmFlowDeckFile::saveDeckInline( std::string folder, std::string filename ) +{ + if ( m_fileDeck.get() != nullptr ) + { + m_fileDeck->dump( folder, filename, Opm::FileDeck::OutputMode::INLINE ); + return true; + } + return false; +} + //-------------------------------------------------------------------------------------------------- /// Returns updated position due to new inserts if successful, < 0 if failure //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.h b/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.h index 778eb5b5ab..a48c26d8f1 100644 --- a/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.h +++ b/ApplicationLibCode/FileInterface/RifOpmFlowDeckFile.h @@ -47,6 +47,7 @@ public: bool loadDeck( std::string filename ); bool saveDeck( std::string folder, std::string filename ); + bool saveDeckInline( std::string folder, std::string filename ); int mergeKeywordAtPosition( int deckPosition, const Opm::DeckKeyword& keyword ); bool mergeKeywordAtTimeStep( int timeStep, const Opm::DeckKeyword& keyword, std::string insertAfterKeyword = "" );