Skip to content

Commit 091bbe3

Browse files
committed
Update ensemble smoother
1 parent dcec319 commit 091bbe3

File tree

2 files changed

+33
-26
lines changed

2 files changed

+33
-26
lines changed

src/ert/run_models/ensemble_smoother.py

+29-21
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,16 @@
77

88
import numpy as np
99

10-
from ert.config import ErtConfig, ESSettings, HookRuntime, UpdateSettings
10+
from ert.config import (
11+
ErtConfig,
12+
ESSettings,
13+
HookRuntime,
14+
ParameterConfig,
15+
ScalarParameters,
16+
UpdateSettings,
17+
)
1118
from ert.config.parsing.config_errors import ConfigValidationError
12-
from ert.enkf_main import sample_prior, save_design_matrix_to_ensemble
19+
from ert.enkf_main import sample_prior
1320
from ert.ensemble_evaluator import EvaluatorServerConfig
1421
from ert.storage import Storage
1522
from ert.trace import tracer
@@ -77,16 +84,20 @@ def run_experiment(
7784
) -> None:
7885
self.log_at_startup()
7986

80-
parameters_config = self._parameter_configuration
81-
design_matrix = self._design_matrix
82-
design_matrix_group = None
83-
if design_matrix is not None:
84-
try:
85-
parameters_config, design_matrix_group = (
86-
design_matrix.merge_with_existing_parameters(parameters_config)
87-
)
88-
except ConfigValidationError as exc:
89-
raise ErtRunError(str(exc)) from exc
87+
if self._design_matrix is not None:
88+
parameters_config: list[ParameterConfig] = []
89+
for param in self._parameter_configuration:
90+
if isinstance(param, ScalarParameters):
91+
try:
92+
new_scalar_config = (
93+
self._design_matrix.merge_with_existing_parameters(param)
94+
)
95+
parameters_config.append(new_scalar_config)
96+
except ConfigValidationError as exc:
97+
raise ErtRunError(str(exc)) from exc
98+
else:
99+
parameters_config.append(param)
100+
self._parameter_configuration = parameters_config
90101

91102
self.restart = restart
92103
self.run_workflows(
@@ -95,8 +106,7 @@ def run_experiment(
95106
)
96107
ensemble_format = self.target_ensemble_format
97108
experiment = self._storage.create_experiment(
98-
parameters=parameters_config
99-
+ ([design_matrix_group] if design_matrix_group else []),
109+
parameters=self._parameter_configuration,
100110
observations=self._observations,
101111
responses=self._response_configuration,
102112
name=self.experiment_name,
@@ -119,15 +129,13 @@ def run_experiment(
119129
prior,
120130
np.where(self.active_realizations)[0],
121131
random_seed=self.random_seed,
132+
design_matrix_df=(
133+
self._design_matrix.design_matrix_df
134+
if self._design_matrix is not None
135+
else None
136+
),
122137
)
123138

124-
if design_matrix_group is not None and design_matrix is not None:
125-
save_design_matrix_to_ensemble(
126-
design_matrix.design_matrix_df,
127-
prior,
128-
np.where(self.active_realizations)[0],
129-
design_matrix_group.name,
130-
)
131139
self._evaluate_and_postprocess(
132140
prior_args,
133141
prior,

src/ert/run_models/multiple_data_assimilation.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,13 @@ def run_experiment(
108108
) -> None:
109109
self.log_at_startup()
110110

111-
design_matrix = self._design_matrix
112-
if design_matrix is not None:
111+
if self._design_matrix is not None:
113112
parameters_config: list[ParameterConfig] = []
114113
for param in self._parameter_configuration:
115114
if isinstance(param, ScalarParameters):
116115
try:
117116
new_scalar_config = (
118-
design_matrix.merge_with_existing_parameters(param)
117+
self._design_matrix.merge_with_existing_parameters(param)
119118
)
120119
parameters_config.append(new_scalar_config)
121120
except ConfigValidationError as exc:
@@ -175,8 +174,8 @@ def run_experiment(
175174
np.where(self.active_realizations)[0],
176175
random_seed=self.random_seed,
177176
design_matrix_df=(
178-
design_matrix.design_matrix_df
179-
if design_matrix is not None
177+
self._design_matrix.design_matrix_df
178+
if self._design_matrix is not None
180179
else None
181180
),
182181
)

0 commit comments

Comments
 (0)