From 6f8c0f981951b599debf9901eda1e60e9582baa0 Mon Sep 17 00:00:00 2001 From: Vegard Kippe Date: Thu, 15 Aug 2024 13:51:02 +0200 Subject: [PATCH] Allow invalid keyword combinations when parsing schedule sections in time_vector.py --- python/opm/tools/time_vector.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/python/opm/tools/time_vector.py b/python/opm/tools/time_vector.py index de735eda75e..15d5d096678 100644 --- a/python/opm/tools/time_vector.py +++ b/python/opm/tools/time_vector.py @@ -6,8 +6,12 @@ except ImportError: from io import StringIO +import opm.io +from opm.io.parser import ParseContext from opm.io.parser import Parser +error_actions = [("PARSE_INVALID_KEYWORD_COMBINATION", opm.io.action.ignore)] + # This is from the TimeMap.cpp implementation in opm ecl_month = { "JAN": 1, @@ -270,12 +274,13 @@ def __init__(self, start_date, base_string=None, base_file=None): self._add_dates_block(ts) start_dt = datetime.datetime(start_date.year, start_date.month, start_date.day) + parse_context = ParseContext(error_actions) if base_file: - deck = Parser().parse(base_file) + deck = Parser().parse(base_file, parse_context) self._add_deck(deck, start_dt) if base_string: - deck = Parser().parse_string(base_string) + deck = Parser().parse_string(base_string, parse_context) self._add_deck(deck, start_dt) def __len__(self): @@ -391,14 +396,16 @@ def load(self, filename, date=None): tv.load("well.sch", date = datetime.datetime(2017, 4, 1)) """ - deck = Parser().parse(filename) + parse_context = ParseContext(error_actions) + deck = Parser().parse(filename, parse_context) self._add_deck(deck, date) def load_string(self, deck_string, date=None): """ Like load() - but load from a string literal instead of file. """ - deck = Parser().parse_string(deck_string) + parse_context = ParseContext(error_actions) + deck = Parser().parse_string(deck_string, parse_context) self._add_deck(deck, date) def __str__(self):