From fa62d917de9d21101a891a7beef7875907c8f726 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 17 Nov 2025 12:03:55 -0800 Subject: [PATCH 1/4] cherry --- simpeg_drivers/components/factories/directives_factory.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index ad5a7296..f8c16083 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -200,8 +200,10 @@ def save_property_group(self): @property def save_sensitivities_directive(self): """""" - if self._save_sensitivities_directive is None and isinstance( - self.params, BaseInversionOptions + if ( + self._save_sensitivities_directive is None + and isinstance(self.params, BaseInversionOptions) + and self.params.directives.save_sensitivities ): self._save_sensitivities_directive = SaveSensitivitiesGeoh5Factory( self.params From 7c15fefbdb1723dfcffd61b1336f02c2afeeeb1c Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sat, 1 Nov 2025 09:29:57 -0700 Subject: [PATCH 2/4] Augment test (cherry picked from commit 028ece5f1962878b8bc8f378fd415a16c6367f61) --- tests/run_tests/driver_airborne_fem_1d_test.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/run_tests/driver_airborne_fem_1d_test.py b/tests/run_tests/driver_airborne_fem_1d_test.py index 5b9d4b25..c5aae5e6 100644 --- a/tests/run_tests/driver_airborne_fem_1d_test.py +++ b/tests/run_tests/driver_airborne_fem_1d_test.py @@ -143,6 +143,7 @@ def test_fem_1d_run(tmp_path: Path, max_iterations=1, pytest=True): percentile=100, cooling_rate=3, chi_factor=0.25, + save_sensitivities=False, **data_kwargs, ) params.write_ui_json(path=tmp_path / "Inv_run.ui.json") @@ -154,7 +155,7 @@ def test_fem_1d_run(tmp_path: Path, max_iterations=1, pytest=True): driver.params.geoh5.h5file, driver.params.out_group.uid ) output["data"] = orig_z_real_1 - + assert not run_ws.get_entity("Iteration_0_sensitivities")[0] assert ( run_ws.get_entity("Iteration_1_z_imag_[1]")[0].entity_type.uid == run_ws.get_entity("Observed_z_imag_[1]")[0].entity_type.uid From ed6e34d7472101650bab10d153fbe0dd14c9a70a Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sat, 1 Nov 2025 10:55:36 -0700 Subject: [PATCH 3/4] Add test to MT (cherry picked from commit 30921502cf0d6f01e1827bc4582be4f1c7c89624) --- simpeg_drivers/components/factories/directives_factory.py | 2 +- tests/run_tests/driver_mt_test.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index f8c16083..04250362 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -144,7 +144,7 @@ def save_directives(self): ]: save_directive = getattr(self, directive) if save_directive is not None: - directives_list.append(getattr(self, directive)) + directives_list.append(save_directive) if ( isinstance(save_directive, directives.SaveDataGeoH5) diff --git a/tests/run_tests/driver_mt_test.py b/tests/run_tests/driver_mt_test.py index 9bcc4a00..ad4a90c4 100644 --- a/tests/run_tests/driver_mt_test.py +++ b/tests/run_tests/driver_mt_test.py @@ -185,6 +185,7 @@ def test_magnetotellurics_run(tmp_path: Path, max_iterations=1, pytest=True): driver.params.geoh5.h5file, driver.params.out_group.uid ) output["data"] = orig_zyy_real_1 + assert not run_ws.get_entity("Iteration_0_sensitivities")[0] if pytest: check_target(output, target_run, tolerance=0.2) nan_ind = np.isnan(run_ws.get_entity("Iteration_0_model")[0].values) From b72fc8965b9c3444c80c95eca5d25b21a196a909 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sat, 1 Nov 2025 11:01:20 -0700 Subject: [PATCH 4/4] Revert 1D test (cherry picked from commit 11245329c3474defbb63e84781a1af5e7da40340) --- tests/run_tests/driver_airborne_fem_1d_test.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/run_tests/driver_airborne_fem_1d_test.py b/tests/run_tests/driver_airborne_fem_1d_test.py index c5aae5e6..5b9d4b25 100644 --- a/tests/run_tests/driver_airborne_fem_1d_test.py +++ b/tests/run_tests/driver_airborne_fem_1d_test.py @@ -143,7 +143,6 @@ def test_fem_1d_run(tmp_path: Path, max_iterations=1, pytest=True): percentile=100, cooling_rate=3, chi_factor=0.25, - save_sensitivities=False, **data_kwargs, ) params.write_ui_json(path=tmp_path / "Inv_run.ui.json") @@ -155,7 +154,7 @@ def test_fem_1d_run(tmp_path: Path, max_iterations=1, pytest=True): driver.params.geoh5.h5file, driver.params.out_group.uid ) output["data"] = orig_z_real_1 - assert not run_ws.get_entity("Iteration_0_sensitivities")[0] + assert ( run_ws.get_entity("Iteration_1_z_imag_[1]")[0].entity_type.uid == run_ws.get_entity("Observed_z_imag_[1]")[0].entity_type.uid