diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index ba64bba1..ad5a7296 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -489,7 +489,10 @@ def assemble_keyword_arguments( name=None, ): receivers = inversion_object.entity - channels = getattr(receivers, "channels", [None]) + channels = [ + float(val) if val else None + for val in getattr(receivers, "channels", [None]) + ] components = list(inversion_object.observed) ordering = inversion_object.survey.ordering n_locations = len(np.unique(ordering[:, 2])) diff --git a/tests/run_tests/driver_mt_test.py b/tests/run_tests/driver_mt_test.py index 059fa193..9bcc4a00 100644 --- a/tests/run_tests/driver_mt_test.py +++ b/tests/run_tests/driver_mt_test.py @@ -106,6 +106,10 @@ def test_magnetotellurics_fwr_run( ) with get_workspace(tmp_path / "inversion_test.ui.geoh5") as geoh5: components = SyntheticsComponents(geoh5, options=opts) + + # Test for label index supporting ints - bypass setter + components.survey.edit_em_metadata({"Channels": [10, 100, 1000]}) + params = MTForwardOptions.build( geoh5=geoh5, mesh=components.mesh, @@ -127,6 +131,9 @@ def test_magnetotellurics_fwr_run( fwr_driver = MTForwardDriver(params) fwr_driver.run() + with Workspace(tmp_path / "inversion_test.ui.geoh5") as geoh5: + assert geoh5.get_entity("Iteration_0_zyy_real_[0]")[0] is not None + def test_magnetotellurics_run(tmp_path: Path, max_iterations=1, pytest=True): # pass