diff --git a/opm/parser/eclipse/Deck/DeckOutput.hpp b/opm/parser/eclipse/Deck/DeckOutput.hpp index d56a630a9..4704450fa 100644 --- a/opm/parser/eclipse/Deck/DeckOutput.hpp +++ b/opm/parser/eclipse/Deck/DeckOutput.hpp @@ -42,7 +42,7 @@ namespace Opm { void start_record( ); void end_record( ); - void start_keyword(const std::string& kw); + void start_keyword(const std::string& kw, bool split_line); void end_keyword(bool add_slash); void endl(); diff --git a/src/opm/parser/eclipse/Deck/DeckKeyword.cpp b/src/opm/parser/eclipse/Deck/DeckKeyword.cpp index 238415647..6ef8b9a1a 100644 --- a/src/opm/parser/eclipse/Deck/DeckKeyword.cpp +++ b/src/opm/parser/eclipse/Deck/DeckKeyword.cpp @@ -292,7 +292,7 @@ namespace Opm { } void DeckKeyword::write_TITLE( DeckOutput& output ) const { - output.start_keyword( this->name( ) ); + output.start_keyword( this->name( ), false ); { const auto& record = this->getRecord(0); output.write_string(" "); @@ -305,7 +305,11 @@ namespace Opm { if (this->name() == "TITLE") this->write_TITLE( output ); else { - output.start_keyword( this->name( ) ); + bool split_line = this->isDataKeyword(); + if (this->name() == "VFPPROD" || this->name() == "VFPINJ") + split_line = true; + + output.start_keyword( this->name( ), split_line ); this->write_data( output ); output.end_keyword( this->m_slashTerminated ); } diff --git a/src/opm/parser/eclipse/Deck/DeckOutput.cpp b/src/opm/parser/eclipse/Deck/DeckOutput.cpp index 77dd20415..763067c52 100644 --- a/src/opm/parser/eclipse/Deck/DeckOutput.cpp +++ b/src/opm/parser/eclipse/Deck/DeckOutput.cpp @@ -104,11 +104,9 @@ namespace Opm { } - void DeckOutput::start_keyword(const std::string& kw) { + void DeckOutput::start_keyword(const std::string& kw, bool split_line_arg) { this->os << kw << std::endl; - this->split_line = true; - if (kw == "UDQ" || kw == "ACTIONX") - this->split_line = false; + this->split_line = split_line_arg; } diff --git a/tests/parser/DeckTests.cpp b/tests/parser/DeckTests.cpp index fdfe87e57..53166db50 100644 --- a/tests/parser/DeckTests.cpp +++ b/tests/parser/DeckTests.cpp @@ -563,7 +563,7 @@ ABC"; out.fmt.columns = 2; out.fmt.keyword_sep = "ABC"; - out.start_keyword("KEYWORD"); + out.start_keyword("KEYWORD", true); out.start_record(); out.write(1); out.write(2);