diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/KeywordHandlers.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/KeywordHandlers.cpp index 3d03c5259..b023dd355 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/KeywordHandlers.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/KeywordHandlers.cpp @@ -345,9 +345,16 @@ namespace { const bool apply_default_liquid_target = record.getItem("LIQUID_TARGET").defaultApplied(0); const bool apply_default_resv_target = record.getItem("RESERVOIR_FLUID_TARGET").defaultApplied(0); - const std::optional guide_rate_str = record.getItem("GUIDE_RATE_DEF").hasValue(0) - ? std::optional(record.getItem("GUIDE_RATE_DEF").getTrimmedString(0)) - : std::nullopt; + std::optional guide_rate_str; + { + const auto& item = record.getItem("GUIDE_RATE_DEF"); + if (item.hasValue(0)) { + const auto& string_value = record.getItem("GUIDE_RATE_DEF").getTrimmedString(0); + if (string_value.size() > 0) + guide_rate_str = string_value; + } + + } for (const auto& group_name : group_names) { const bool is_field { group_name == "FIELD" } ; diff --git a/tests/parser/GroupTests.cpp b/tests/parser/GroupTests.cpp index 8829d2318..e4a02aaf1 100644 --- a/tests/parser/GroupTests.cpp +++ b/tests/parser/GroupTests.cpp @@ -565,6 +565,15 @@ GPMAINT 'PROD' 'NONE' / / +TSTEP +10 / + +GCONPROD + PROD ORAT 0 0 1* 0 RATE YES 1* ' ' 1* 1* 1* 1* 1* / + FIELD ORAT 71500 1* 1* 1* RATE YES 1* ' ' 1* 1* 1* 1* 1* / +/ + + )"; Opm::UnitSystem unitSystem = UnitSystem( UnitSystem::UnitType::UNIT_TYPE_METRIC ); const auto sched = create_schedule(input);