diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index ba64bba1..71ed8264 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) @@ -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 diff --git a/simpeg_drivers/components/factories/simulation_factory.py b/simpeg_drivers/components/factories/simulation_factory.py index 15514722..c0e106a2 100644 --- a/simpeg_drivers/components/factories/simulation_factory.py +++ b/simpeg_drivers/components/factories/simulation_factory.py @@ -121,19 +121,17 @@ def assemble_arguments( survey=None, mesh=None, models=None, + **kwargs, ): if "1d" in self.factory_type: return () return [mesh] - def assemble_keyword_arguments( - self, - survey=None, - mesh=None, - models=None, - ): - kwargs = {} + def assemble_keyword_arguments(self, survey=None, mesh=None, models=None, **kwargs): + if not kwargs: + kwargs = {} + kwargs["survey"] = survey kwargs["max_chunk_size"] = self.params.compute.max_chunk_size kwargs["store_sensitivities"] = ( diff --git a/simpeg_drivers/electromagnetics/base_1d_driver.py b/simpeg_drivers/electromagnetics/base_1d_driver.py index 2f5b8f3f..00f50095 100644 --- a/simpeg_drivers/electromagnetics/base_1d_driver.py +++ b/simpeg_drivers/electromagnetics/base_1d_driver.py @@ -97,6 +97,7 @@ def simulation(self): mesh=self.inversion_mesh.mesh, models=self.models, survey=self.inversion_data.survey, + topo=[0, 0, -np.inf], # Bypass check for global simulation ) self._simulation.mesh = self.inversion_mesh.mesh diff --git a/tests/run_tests/driver_mt_test.py b/tests/run_tests/driver_mt_test.py index 059fa193..b0b8892c 100644 --- a/tests/run_tests/driver_mt_test.py +++ b/tests/run_tests/driver_mt_test.py @@ -178,6 +178,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)