Skip to content

Commit

Permalink
fixup! Handle required arguments for forward_models
Browse files Browse the repository at this point in the history
  • Loading branch information
andreas-el committed Jan 19, 2024
1 parent ac36e2f commit 6a4d580
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
16 changes: 12 additions & 4 deletions src/ert/config/ert_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -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, []):
Expand All @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion src/ert/config/forward_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 6a4d580

Please sign in to comment.