From 6a4d5800a9dd727aca8ea56a2b38da24b6e849c1 Mon Sep 17 00:00:00 2001 From: Andreas Eknes Lie Date: Fri, 19 Jan 2024 12:20:21 +0100 Subject: [PATCH] fixup! Handle required arguments for forward_models --- src/ert/config/ert_config.py | 16 ++++++++++++---- src/ert/config/forward_model.py | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/ert/config/ert_config.py b/src/ert/config/ert_config.py index 2cb130fa554..afc07b20db4 100644 --- a/src/ert/config/ert_config.py +++ b/src/ert/config/ert_config.py @@ -371,16 +371,20 @@ def read_forward_model( for key, val in args: job.private_args[key] = val + should_add_job = True + if job.required_keywords: for req in job.required_keywords: if req not in job.private_args: errors.append( ConfigValidationError.with_context( f"FORWARD MODEL Required keyword {req} not found for forward model {job_name}", - req, + job_name, ) ) - else: + should_add_job = False + + if should_add_job: jobs.append(job) for job_description in config_dict.get(ConfigKeys.SIMULATION_JOB, []): @@ -397,16 +401,20 @@ def read_forward_model( continue job.arglist = job_description[1:] + should_add_job = True + if job.required_keywords: for req in job.required_keywords: if req not in job.private_args: errors.append( ConfigValidationError.with_context( f"SIM JOB Required keyword {req} not found for forward model", - req, + job.name, ) ) - else: + should_add_job = False + + if should_add_job: jobs.append(job) if errors: diff --git a/src/ert/config/forward_model.py b/src/ert/config/forward_model.py index ee40c7c6aec..c3f9bca79e7 100644 --- a/src/ert/config/forward_model.py +++ b/src/ert/config/forward_model.py @@ -32,7 +32,7 @@ class ForwardModel: min_arg: Optional[int] = None max_arg: Optional[int] = None arglist: List[str] = field(default_factory=list) - required_keywords: List[str] = field(default_factory=dict) + required_keywords: List[str] = field(default_factory=list) arg_types: List[SchemaItemType] = field(default_factory=list) environment: Dict[str, str] = field(default_factory=dict) exec_env: Dict[str, str] = field(default_factory=dict)