diff --git a/src/ert/simulator/batch_simulator.py b/src/ert/simulator/batch_simulator.py index cf6438c73f8..75bf8d0474b 100644 --- a/src/ert/simulator/batch_simulator.py +++ b/src/ert/simulator/batch_simulator.py @@ -9,7 +9,7 @@ from .batch_simulator_context import BatchContext if TYPE_CHECKING: - from ert.storage import Ensemble, Storage + from ert.storage import Ensemble, Experiment class BatchSimulator: @@ -165,7 +165,7 @@ def start( self, case_name: str, case_data: List[Tuple[int, Dict[str, Dict[str, Any]]]], - storage: Storage, + experiment: Experiment, ) -> BatchContext: """Start batch simulation, return a simulation context @@ -224,13 +224,7 @@ def start( time, so when you have called the 'start' method you need to let that batch complete before you start a new batch. """ - experiment = storage.create_experiment( - parameters=self.ert_config.ensemble_config.parameter_configuration, - responses=self.ert_config.ensemble_config.response_configuration, - name=f"experiment_{case_name}", - ) - ensemble = storage.create_ensemble( - experiment.id, + ensemble = experiment.create_ensemble( name=case_name, ensemble_size=self.ert_config.model_config.num_realizations, ) diff --git a/tests/unit_tests/simulator/test_batch_sim.py b/tests/unit_tests/simulator/test_batch_sim.py index afb5bee124e..2bb555b8e85 100644 --- a/tests/unit_tests/simulator/test_batch_sim.py +++ b/tests/unit_tests/simulator/test_batch_sim.py @@ -142,8 +142,14 @@ def batch_simulator(batch_sim_example): def test_that_starting_with_invalid_key_raises_key_error( batch_simulator, _input, match, storage ): + experiment = storage.create_experiment( + name="EnOptCase", + parameters=batch_simulator.ert_config.ensemble_config.parameter_configuration, + responses=batch_simulator.ert_config.ensemble_config.response_configuration, + ) + with pytest.raises(KeyError, match=match): - batch_simulator.start("case", _input, storage) + batch_simulator.start("case", _input, experiment) def test_batch_simulation(batch_simulator, storage): @@ -165,7 +171,13 @@ def test_batch_simulation(batch_simulator, storage): ), ] - ctx = batch_simulator.start("case", case_data, storage=storage) + experiment = storage.create_experiment( + name="EnOptCase", + parameters=batch_simulator.ert_config.ensemble_config.parameter_configuration, + responses=batch_simulator.ert_config.ensemble_config.response_configuration, + ) + + ctx = batch_simulator.start("case", case_data, experiment) assert len(case_data) == len(ctx.mask) # Asking for results before it is complete. @@ -279,8 +291,15 @@ def test_that_batch_simulator_handles_invalid_suffixes_at_start( }, ["ORDER"], ) + + experiment = storage.create_experiment( + name="EnOptCase", + parameters=batch_sim_example.ensemble_config.parameter_configuration, + responses=batch_sim_example.ensemble_config.response_configuration, + ) + with pytest.raises(KeyError, match=match): - rsim.start("case", inp, storage) + rsim.start("case", inp, experiment) @pytest.mark.usefixtures("use_tmpdir") @@ -326,7 +345,13 @@ def test_batch_simulation_suffixes(batch_sim_example, storage): ), ] - ctx = rsim.start("case", case_data, storage=storage) + experiment = storage.create_experiment( + name="EnOptCase", + parameters=ert_config.ensemble_config.parameter_configuration, + responses=ert_config.ensemble_config.response_configuration, + ) + + ctx = rsim.start("case", case_data, experiment) assert len(case_data) == len(ctx) _wait_for_completion(ctx) @@ -389,8 +414,14 @@ def test_stop_sim(copy_case, storage): ), ] + experiment = storage.create_experiment( + name="EnOptCase", + parameters=ert_config.ensemble_config.parameter_configuration, + responses=ert_config.ensemble_config.response_configuration, + ) + # Starting a simulation which should actually run through. - ctx = rsim.start(case_name, case_data, storage=storage) + ctx = rsim.start(case_name, case_data, experiment) ctx.stop() status = ctx.status @@ -452,7 +483,13 @@ def test_batch_ctx_status_failing_jobs(setup_case, storage): for idx in range(10) ] - batch_ctx = rsim.start("case_name", ensembles, storage=storage) + experiment = storage.create_experiment( + name="EnOptCase", + parameters=ert_config.ensemble_config.parameter_configuration, + responses=ert_config.ensemble_config.response_configuration, + ) + + batch_ctx = rsim.start("case_name", ensembles, experiment) while batch_ctx.running(): assertContextStatusOddFailures(batch_ctx) time.sleep(1)