From e8eef7adf93cedb50a82d8deb51a8c83f3ec93cd Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 24 Feb 2025 13:18:30 -0800 Subject: [PATCH 1/5] Clean up tdem options --- .../electromagnetics/time_domain/constants.py | 122 ------------------ .../electromagnetics/time_domain/params.py | 33 ++--- 2 files changed, 14 insertions(+), 141 deletions(-) delete mode 100644 simpeg_drivers/electromagnetics/time_domain/constants.py diff --git a/simpeg_drivers/electromagnetics/time_domain/constants.py b/simpeg_drivers/electromagnetics/time_domain/constants.py deleted file mode 100644 index 8958a028..00000000 --- a/simpeg_drivers/electromagnetics/time_domain/constants.py +++ /dev/null @@ -1,122 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from geoh5py.objects import AirborneTEMReceivers, LargeLoopGroundTEMReceivers - -import simpeg_drivers -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Time-domain EM (TEM) Inversion", - "icon": "surveyairborneem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "tdem", - "forward_only": False, - "data_object": None, - "data_units": "dB/dt (T/s)", - "z_channel": None, - "z_uncertainty": None, - "x_channel": None, - "x_uncertainty": None, - "y_channel": None, - "y_uncertainty": None, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 1.0, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Time-domain EM (TEM) Forward", - "icon": "surveyairborneem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "tdem", - "forward_only": True, - "data_object": None, - "data_units": "dB/dt (T/s)", - "z_channel_bool": True, - "x_channel_bool": True, - "y_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} diff --git a/simpeg_drivers/electromagnetics/time_domain/params.py b/simpeg_drivers/electromagnetics/time_domain/params.py index ffa15a44..926d766b 100644 --- a/simpeg_drivers/electromagnetics/time_domain/params.py +++ b/simpeg_drivers/electromagnetics/time_domain/params.py @@ -35,27 +35,23 @@ class TDEMForwardOptions(EMDataMixin, BaseForwardOptions): Time Domain Electromagnetic forward options. :param z_channel_bool: Z-component data channel boolean. - :param z_channel_uncertainty: Z-component data channel uncertainty. :param x_channel_bool: X-component data channel boolean. - :param x_channel_uncertainty: X-component data channel uncertainty. :param y_channel_bool: Y-component data channel boolean. - :param y_channel_uncertainty: Y-component data channel uncertainty. :param model_type: Specify whether the models are provided in resistivity or conductivity. :param data_units: Units for the TEM data """ - name: ClassVar[str] = "Time Domain Electromagnetics Forward" - title: ClassVar[str] = "Time-domain EM (TEM) Forward" + data_object: Receivers + data_units: str = "dB/dt (T/s)" default_ui_json: ClassVar[Path] = assets_path() / "uijson/tdem_forward.ui.json" - inversion_type: str = "tdem" + model_type: str = "Conductivity (S/m)" + name: ClassVar[str] = "Time Domain Electromagnetics Forward" physical_property: str = "conductivity" - - data_object: Receivers - z_channel_bool: bool | None = None + title: ClassVar[str] = "Time-domain EM (TEM) Forward" x_channel_bool: bool | None = None - data_units: str = "dB/dt (T/s)" - model_type: str = "Conductivity (S/m)" + y_channel_bool: bool | None = None + z_channel_bool: bool | None = None @property def unit_conversion(self): @@ -82,22 +78,21 @@ class TDEMInversionOptions(EMDataMixin, BaseInversionOptions): :param data_units: Units for the TEM data """ - name: ClassVar[str] = "Time Domain Electromagnetics Inversion" - title: ClassVar[str] = "Time-domain EM (TEM) Inversion" + data_object: Receivers + data_units: str = "dB/dt (T/s)" default_ui_json: ClassVar[Path] = assets_path() / "uijson/tdem_inversion.ui.json" - inversion_type: str = "tdem" + model_type: str = "Conductivity (S/m)" + name: ClassVar[str] = "Time Domain Electromagnetics Inversion" physical_property: str = "conductivity" + title: ClassVar[str] = "Time-domain EM (TEM) Inversion" - data_object: Receivers - z_channel: PropertyGroup | None = None - z_uncertainty: PropertyGroup | None = None x_channel: PropertyGroup | None = None x_uncertainty: PropertyGroup | None = None y_channel: PropertyGroup | None = None y_uncertainty: PropertyGroup | None = None - data_units: str = "dB/dt (T/s)" - model_type: str = "Conductivity (S/m)" + z_channel: PropertyGroup | None = None + z_uncertainty: PropertyGroup | None = None @property def unit_conversion(self): From 966b0fa0d4771b37b3e0c4795204c0581ab70ec9 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 24 Feb 2025 14:07:59 -0800 Subject: [PATCH 2/5] Move functionality to get driver by name. Update call on params.update out_group --- simpeg_drivers/driver.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/simpeg_drivers/driver.py b/simpeg_drivers/driver.py index acd8141c..6baad9e6 100644 --- a/simpeg_drivers/driver.py +++ b/simpeg_drivers/driver.py @@ -277,7 +277,7 @@ def out_group(self): self._out_group = SimPEGGroup.create(self.params.geoh5, name=name) self.params.out_group = self._out_group - self.params.update_group_options() + self.params.update_out_group_options() return self._out_group @@ -505,25 +505,33 @@ def start(cls, filepath: str | Path, driver_class=None): forward_only = ifile.data["forward_only"] inversion_type = ifile.ui_json.get("inversion_type", None) - driver_name = (inversion_type + "driver").capitalize() - if inversion_type not in DRIVER_MAP: - msg = f"Inversion type {inversion_type} is not supported." + driver_class = cls.driver_class_from_name( + inversion_type, forward_only=forward_only + ) + + with ifile.data["geoh5"].open(mode="r+"): + params = driver_class._params_class.build(ifile) + driver = driver_class(params) + + driver.run() + return driver + + @staticmethod + def driver_class_from_name( + name: str, forward_only: bool = False + ) -> InversionDriver: + if name not in DRIVER_MAP: + msg = f"Inversion type {name} is not supported." msg += f" Valid inversions are: {(*list(DRIVER_MAP),)}." raise NotImplementedError(msg) - mod_name, classes = DRIVER_MAP.get(inversion_type) + mod_name, classes = DRIVER_MAP.get(name) if forward_only: class_name = classes.get("forward", classes["inversion"]) else: class_name = classes.get("inversion") module = __import__(mod_name, fromlist=[class_name]) - driver_class = getattr(module, class_name) - with ifile.data["geoh5"].open(mode="r+"): - params = driver_class._params_class.build(ifile) - driver = driver_class(params) - - driver.run() - return driver + return getattr(module, class_name) class InversionLogger: From 1dc21d3347545fc415366abe848148bf7f17ee9c Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 24 Feb 2025 14:17:17 -0800 Subject: [PATCH 3/5] Remove constants --- .../pseudo_three_dimensions/constants.py | 155 -------------- .../three_dimensions/constants.py | 144 ------------- .../two_dimensions/constants.py | 160 -------------- .../pseudo_three_dimensions/constants.py | 163 --------------- .../three_dimensions/constants.py | 149 ------------- .../two_dimensions/constants.py | 161 -------------- .../frequency_domain/constants.py | 117 ----------- .../joint/joint_cross_gradient/constants.py | 79 ------- .../joint/joint_surveys/constants.py | 83 -------- .../magnetotellurics/constants.py | 186 ----------------- .../natural_sources/tipper/constants.py | 132 ------------ .../potential_fields/gravity/constants.py | 186 ----------------- .../magnetic_scalar/constants.py | 183 ---------------- .../magnetic_vector/constants.py | 196 ------------------ 14 files changed, 2094 deletions(-) delete mode 100644 simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/constants.py delete mode 100644 simpeg_drivers/electricals/direct_current/three_dimensions/constants.py delete mode 100644 simpeg_drivers/electricals/direct_current/two_dimensions/constants.py delete mode 100644 simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/constants.py delete mode 100644 simpeg_drivers/electricals/induced_polarization/three_dimensions/constants.py delete mode 100644 simpeg_drivers/electricals/induced_polarization/two_dimensions/constants.py delete mode 100644 simpeg_drivers/electromagnetics/frequency_domain/constants.py delete mode 100644 simpeg_drivers/joint/joint_cross_gradient/constants.py delete mode 100644 simpeg_drivers/joint/joint_surveys/constants.py delete mode 100644 simpeg_drivers/natural_sources/magnetotellurics/constants.py delete mode 100644 simpeg_drivers/natural_sources/tipper/constants.py delete mode 100644 simpeg_drivers/potential_fields/gravity/constants.py delete mode 100644 simpeg_drivers/potential_fields/magnetic_scalar/constants.py delete mode 100644 simpeg_drivers/potential_fields/magnetic_vector/constants.py diff --git a/simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/constants.py b/simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/constants.py deleted file mode 100644 index 4fe5a71b..00000000 --- a/simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/constants.py +++ /dev/null @@ -1,155 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.direct_current import PotentialElectrode - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Direct Current (DC) 2D Batch Inversion", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "direct current pseudo 3d", - "forward_only": False, - "data_object": None, - "line_object": None, - "potential_channel": None, - "potential_uncertainty": 1.0, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "files_only": False, - "cleanup": True, - "distributed_workers": None, - "potential_channel_bool": True, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Direct Current (DC) 2D Batch Forward", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "direct current pseudo 3d", - "forward_only": True, - "data_object": None, - "line_object": None, - "potential_channel_bool": True, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "files_only": False, - "cleanup": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), - "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), - "potential_channel": UUID("{502e7256-aafa-4016-969f-5cc3a4f27315}"), - "potential_uncertainty": UUID("{62746129-3d82-427e-a84c-78cded00c0bc}"), - "line_object": UUID("{d400e8f1-8460-4609-b852-b3b93f945770}"), - "mesh": UUID("{da109284-aa8c-4824-a647-29951109b058}"), - "starting_model": 1e-1, - "reference_model": 1e-1, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "upper_bound": 100.0, - "lower_bound": 1e-5, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 0.0, - "cleanup": True, -} diff --git a/simpeg_drivers/electricals/direct_current/three_dimensions/constants.py b/simpeg_drivers/electricals/direct_current/three_dimensions/constants.py deleted file mode 100644 index 63d5a830..00000000 --- a/simpeg_drivers/electricals/direct_current/three_dimensions/constants.py +++ /dev/null @@ -1,144 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.direct_current import PotentialElectrode - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers.constants import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Direct Current (DC) 3D Inversion", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "direct current 3d", - "forward_only": False, - "data_object": None, - "potential_channel": None, - "potential_uncertainty": 1.0, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, - "potential_channel_bool": True, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Direct Current (DC) 3D Forward", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "direct current 3d", - "forward_only": True, - "data_object": None, - "potential_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), - "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), - "potential_channel": UUID("{502e7256-aafa-4016-969f-5cc3a4f27315}"), - "potential_uncertainty": UUID("{62746129-3d82-427e-a84c-78cded00c0bc}"), - "mesh": UUID("{da109284-aa8c-4824-a647-29951109b058}"), - "reference_model": 1e-1, - "starting_model": 1e-1, - "octree_levels_topo": [0, 0, 0, 2], - "octree_levels_obs": [5, 5, 5, 5], - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "upper_bound": 100.0, - "lower_bound": 1e-5, - "max_global_iterations": 25, - "sens_wts_threshold": None, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 0.0, -} diff --git a/simpeg_drivers/electricals/direct_current/two_dimensions/constants.py b/simpeg_drivers/electricals/direct_current/two_dimensions/constants.py deleted file mode 100644 index aeba8d0e..00000000 --- a/simpeg_drivers/electricals/direct_current/two_dimensions/constants.py +++ /dev/null @@ -1,160 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.direct_current import PotentialElectrode - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Direct Current (DC) 2D Inversion", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "direct current 2d", - "forward_only": False, - "data_object": None, - "line_object": None, - "line_id": 1, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "potential_channel": None, - "potential_uncertainty": 1.0, - "mesh": None, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, - "potential_channel_bool": True, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Direct Current (DC) 2D Forward", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "direct current 2d", - "forward_only": True, - "data_object": None, - "line_object": None, - "line_id": 1, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "potential_channel_bool": True, - "mesh": None, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, - "gradient_type": "total", -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), - "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), - "potential_channel": UUID("{502e7256-aafa-4016-969f-5cc3a4f27315}"), - "potential_uncertainty": UUID("{62746129-3d82-427e-a84c-78cded00c0bc}"), - "line_object": UUID("{d400e8f1-8460-4609-b852-b3b93f945770}"), - "line_id": 5, - "mesh": UUID("{537cdf17-28c9-4baa-a1ac-07c37662583d}"), - "starting_model": 1e-1, - "reference_model": 1e-1, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "upper_bound": 100.0, - "lower_bound": 1e-5, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 0.0, -} diff --git a/simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/constants.py b/simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/constants.py deleted file mode 100644 index 366861d9..00000000 --- a/simpeg_drivers/electricals/induced_polarization/pseudo_three_dimensions/constants.py +++ /dev/null @@ -1,163 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.direct_current import PotentialElectrode - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Induced Polarization (IP) 2D Batch Inversion", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "induced polarization pseudo 3d", - "forward_only": False, - "data_object": None, - "line_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": 0.0, - "gps_receivers_offset": None, - "chargeability_channel": None, - "chargeability_uncertainty": 1.0, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "mesh": None, - "model_type": "Conductivity (S/m)", - "conductivity_model": 1e-3, - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": 0.0, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "files_only": False, - "cleanup": True, - "distributed_workers": None, - "chargeability_channel_bool": True, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Induced Polarization (IP) 2D Batch Forward", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "induced polarization pseudo 3d", - "forward_only": True, - "data_object": None, - "line_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": 0.0, - "gps_receivers_offset": None, - "chargeability_channel_bool": True, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "mesh": None, - "model_type": "Conductivity (S/m)", - "conductivity_model": 1e-3, - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "files_only": False, - "cleanup": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), - "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), - "chargeability_channel": UUID("{162320e6-2b80-4877-9ec1-a8f5b6a13673}"), - "chargeability_uncertainty": 0.001, - "line_object": UUID("{d400e8f1-8460-4609-b852-b3b93f945770}"), - "mesh": UUID("{da109284-aa8c-4824-a647-29951109b058}"), - "starting_model": 1e-4, - "conductivity_model": 0.1, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "upper_bound": 100.0, - "lower_bound": 1e-5, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 0.0, - "cleanup": True, -} diff --git a/simpeg_drivers/electricals/induced_polarization/three_dimensions/constants.py b/simpeg_drivers/electricals/induced_polarization/three_dimensions/constants.py deleted file mode 100644 index 4ff1952e..00000000 --- a/simpeg_drivers/electricals/induced_polarization/three_dimensions/constants.py +++ /dev/null @@ -1,149 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.direct_current import PotentialElectrode - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Induced Polarization (IP) 3D Inversion", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "induced polarization 3d", - "forward_only": False, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "chargeability_channel": None, - "chargeability_uncertainty": 1.0, - "mesh": None, - "model_type": "Conductivity (S/m)", - "conductivity_model": 1e-3, - "starting_model": 0.0, - "reference_model": None, - "lower_bound": 0.0, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_ram": None, - "store_sensitivities": "ram", - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, - "chargeability_channel_bool": True, -} - -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Induced Polarization (IP) 3D Forward", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "induced polarization 3d", - "forward_only": True, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "chargeability_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "conductivity_model": 1e-3, - "starting_model": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), - "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), - "chargeability_channel": UUID("{162320e6-2b80-4877-9ec1-a8f5b6a13673}"), - "chargeability_uncertainty": 0.001, - "mesh": UUID("{da109284-aa8c-4824-a647-29951109b058}"), - "starting_model": 1e-4, - "conductivity_model": 0.1, - "octree_levels_topo": [0, 0, 4, 4], - "octree_levels_obs": [4, 4, 4, 4], - "depth_core": 1200.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 0.0, -} diff --git a/simpeg_drivers/electricals/induced_polarization/two_dimensions/constants.py b/simpeg_drivers/electricals/induced_polarization/two_dimensions/constants.py deleted file mode 100644 index c08800c2..00000000 --- a/simpeg_drivers/electricals/induced_polarization/two_dimensions/constants.py +++ /dev/null @@ -1,161 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.direct_current import PotentialElectrode - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Induced Polarization (IP) 2D Inversion", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "induced polarization 2d", - "forward_only": False, - "data_object": None, - "line_object": None, - "line_id": 1, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "chargeability_channel": None, - "chargeability_uncertainty": 1.0, - "mesh": None, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "model_type": "Conductivity (S/m)", - "conductivity_model": 1e-3, - "starting_model": None, - "reference_model": None, - "lower_bound": 0.0, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_ram": None, - "store_sensitivities": "ram", - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, - "chargeability_channel_bool": True, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Induced Polarization (IP) 2D Forward", - "icon": "PotentialElectrode", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "induced polarization 2d", - "forward_only": True, - "data_object": None, - "line_object": None, - "line_id": 1, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "chargeability_channel_bool": True, - "mesh": None, - "u_cell_size": 25.0, - "v_cell_size": 25.0, - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "expansion_factor": 1.1, - "model_type": "Conductivity (S/m)", - "conductivity_model": 1e-3, - "starting_model": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), - "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), - "chargeability_channel": UUID("{162320e6-2b80-4877-9ec1-a8f5b6a13673}"), - "chargeability_uncertainty": 0.001, - "line_object": UUID("{d400e8f1-8460-4609-b852-b3b93f945770}"), - "line_id": 5, - "mesh": UUID("{537cdf17-28c9-4baa-a1ac-07c37662583d}"), - "starting_model": 1e-4, - "conductivity_model": 0.1, - "s_norm": 0.0, - "x_norm": 2.0, - "z_norm": 2.0, - "upper_bound": 100.0, - "lower_bound": 1e-5, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 0.0, -} diff --git a/simpeg_drivers/electromagnetics/frequency_domain/constants.py b/simpeg_drivers/electromagnetics/frequency_domain/constants.py deleted file mode 100644 index 0ab64b34..00000000 --- a/simpeg_drivers/electromagnetics/frequency_domain/constants.py +++ /dev/null @@ -1,117 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from geoh5py.objects.surveys.electromagnetics.airborne_fem import AirborneFEMReceivers - -import simpeg_drivers -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Frequency-domain EM (FEM) Inversion", - "icon": "surveyairborneem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "fem", - "forward_only": False, - "data_object": None, - "z_real_channel": None, - "z_real_uncertainty": None, - "z_imag_channel": None, - "z_imag_uncertainty": None, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 1.0, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Frequency-domain EM (FEM) Forward", - "icon": "surveyairborneem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "fem", - "forward_only": True, - "data_object": None, - "z_real_channel_bool": True, - "z_imag_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} diff --git a/simpeg_drivers/joint/joint_cross_gradient/constants.py b/simpeg_drivers/joint/joint_cross_gradient/constants.py deleted file mode 100644 index 280fa2d2..00000000 --- a/simpeg_drivers/joint/joint_cross_gradient/constants.py +++ /dev/null @@ -1,79 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -import simpeg_drivers - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "SimPEG Joint Cross Gradient Inversion", - "icon": "", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "joint cross gradient", - "forward_only": False, - "group_a": None, - "group_a_multiplier": 1.0, - "group_b": None, - "group_b_multiplier": 1.0, - "cross_gradient_weight_a_b": 1.0, - "group_c": None, - "group_c_multiplier": 1.0, - "cross_gradient_weight_c_a": 1.0, - "cross_gradient_weight_c_b": 1.0, - "mesh": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": None, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 1, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "parallelized": True, - "n_cpu": None, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} diff --git a/simpeg_drivers/joint/joint_surveys/constants.py b/simpeg_drivers/joint/joint_surveys/constants.py deleted file mode 100644 index 3a9859f9..00000000 --- a/simpeg_drivers/joint/joint_surveys/constants.py +++ /dev/null @@ -1,83 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -import simpeg_drivers - - -################# defaults ################## - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "SimPEG Joint Surveys Inversion", - "icon": "", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "joint surveys", - "forward_only": False, - "group_a": None, - "group_a_multiplier": 1.0, - "group_b": None, - "group_b_multiplier": 1.0, - "group_c": None, - "group_c_multiplier": 1.0, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": None, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 1, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": True, - "parallelized": True, - "n_cpu": None, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} diff --git a/simpeg_drivers/natural_sources/magnetotellurics/constants.py b/simpeg_drivers/natural_sources/magnetotellurics/constants.py deleted file mode 100644 index 94919194..00000000 --- a/simpeg_drivers/natural_sources/magnetotellurics/constants.py +++ /dev/null @@ -1,186 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from uuid import UUID - -from geoh5py.objects.surveys.electromagnetics.magnetotellurics import MTReceivers - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -################# defaults ################## - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Magnetotellurics (MT) Inversion", - "icon": "surveymagnetotellurics", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "magnetotellurics", - "forward_only": False, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "zxx_real_channel": None, - "zxx_real_uncertainty": None, - "zxx_imag_channel": None, - "zxx_imag_uncertainty": None, - "zxy_real_channel": None, - "zxy_real_uncertainty": None, - "zxy_imag_channel": None, - "zxy_imag_uncertainty": None, - "zyx_real_channel": None, - "zyx_real_uncertainty": None, - "zyx_imag_channel": None, - "zyx_imag_uncertainty": None, - "zyy_real_channel": None, - "zyy_real_uncertainty": None, - "zyy_imag_channel": None, - "zyy_imag_uncertainty": None, - "mesh": None, - "model_type": "Conductivity (S/m)", - "background_conductivity": 1e-3, - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 1.0, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Magnetotellurics (MT) Forward", - "icon": "surveymagnetotellurics", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "magnetotellurics", - "forward_only": True, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "zxx_real_channel_bool": True, - "zxx_imag_channel_bool": True, - "zxy_real_channel_bool": True, - "zxy_imag_channel_bool": True, - "zyx_real_channel_bool": True, - "zyx_imag_channel_bool": True, - "zyy_real_channel_bool": True, - "zyy_imag_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "background_conductivity": 1e-3, - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon_natural_sources.geoh5"), - "topography_object": UUID("{cfabb8dd-d1ad-4c4e-a87c-7b3dd224c3f5}"), - "data_object": UUID("{9664afc1-cbda-4955-b936-526ca771f517}"), - "zxx_real_channel": UUID("{a73159fc-8c1b-411a-b435-12a5dac4a209}"), - "zxx_real_uncertainty": UUID("{e752e8d8-e8e3-4575-b20c-bc2d37cbd269}"), - "zxx_imag_channel": UUID("{46271e74-9573-4cd6-8bcb-4c45495fe539}"), - "zxx_imag_uncertainty": UUID("{73f77c42-ab78-4972-bb69-b16c990bf7dc}"), - "zxy_real_channel": UUID("{40bdf2a1-237f-49e4-baa8-a7c0785f369a}"), - "zxy_real_uncertainty": UUID("{8802e943-354f-4ce4-a81f-dde9ef08b8ec}"), - "zxy_imag_channel": UUID("{1a135542-b2be-4096-9629-a0bc4357970d}"), - "zxy_imag_uncertainty": UUID("{fac85198-cbd2-4510-bce7-12b4b5fcae2f}"), - "zyx_real_channel": UUID("{21e6737d-de1a-4af4-9c92-aeeeb6eecf34}"), - "zyx_real_uncertainty": UUID("{08141050-365c-40aa-bcfb-54841c9492ce}"), - "zyx_imag_channel": UUID("{f1d2750a-99bf-4876-833b-19b9f46124a4}"), - "zyx_imag_uncertainty": UUID("{2664535c-295a-4e2a-b403-2a57a821fe08}"), - "zyy_real_channel": UUID("{9b7f06e9-5bfb-4a5e-ba90-9cec9990d7d5}"), - "zyy_real_uncertainty": UUID("{61d1a3e9-f7ff-4fd8-bc61-2d1b24b9adc6}"), - "zyy_imag_channel": UUID("{c9133116-043b-40d9-853d-21f6357f927f}"), - "zyy_imag_uncertainty": UUID("{11ebb4f3-eacf-4558-b240-b958526dd273}"), - "mesh": UUID("{1200396b-bc4a-4519-85e1-558c2dcac1dd}"), - "starting_model": 0.0003, - "reference_model": 0.0003, - "background_conductivity": 0.0003, - "octree_levels_topo": [0, 0, 4, 4], - "octree_levels_obs": [4, 4, 4, 4], - "depth_core": 500.0, - "horizontal_padding": 1000.0, - "vertical_padding": 1000.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "upper_bound": 100.0, - "lower_bound": 1e-5, - "max_global_iterations": 50, -} diff --git a/simpeg_drivers/natural_sources/tipper/constants.py b/simpeg_drivers/natural_sources/tipper/constants.py deleted file mode 100644 index e521143d..00000000 --- a/simpeg_drivers/natural_sources/tipper/constants.py +++ /dev/null @@ -1,132 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from geoh5py.objects.surveys.electromagnetics.tipper import TipperReceivers - -import simpeg_drivers -from simpeg_drivers import default_ui_json as base_default_ui_json - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Tipper Inversion", - "icon": "surveyztem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "tipper", - "forward_only": False, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "txz_real_channel": None, - "txz_real_uncertainty": None, - "txz_imag_channel": None, - "txz_imag_uncertainty": None, - "tyz_real_channel": None, - "tyz_real_uncertainty": None, - "tyz_imag_channel": None, - "tyz_imag_uncertainty": None, - "mesh": None, - "model_type": "Conductivity (S/m)", - "background_conductivity": 1e-3, - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 1.0, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_ram": None, - "store_sensitivities": "ram", - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Tipper Forward", - "icon": "surveyztem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "tipper", - "forward_only": True, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "txz_real_channel_bool": True, - "txz_imag_channel_bool": True, - "tyz_real_channel_bool": True, - "tyz_imag_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "background_conductivity": 1e-3, - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = {} diff --git a/simpeg_drivers/potential_fields/gravity/constants.py b/simpeg_drivers/potential_fields/gravity/constants.py deleted file mode 100644 index b1144829..00000000 --- a/simpeg_drivers/potential_fields/gravity/constants.py +++ /dev/null @@ -1,186 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -import multiprocessing -from uuid import UUID - -from geoh5py.objects import Grid2D, Points, Surface - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Gravity Inversion", - "icon": "surveyairbornegravity", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "gravity", - "forward_only": False, - "data_object": None, - "gz_channel": None, - "gz_uncertainty": 1.0, - "gx_channel": None, - "gx_uncertainty": 1.0, - "gy_channel": None, - "gy_uncertainty": 1.0, - "guv_channel": None, - "guv_uncertainty": 1.0, - "gxy_channel": None, - "gxy_uncertainty": 1.0, - "gxx_channel": None, - "gxx_uncertainty": 1.0, - "gyy_channel": None, - "gyy_uncertainty": 1.0, - "gzz_channel": None, - "gzz_uncertainty": 1.0, - "gxz_channel": None, - "gxz_uncertainty": 1.0, - "gyz_channel": None, - "gyz_uncertainty": 1.0, - "mesh": None, - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 1, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": False, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "ga_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Gravity Forward", - "icon": "surveyairbornegravity", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "gravity", - "forward_only": True, - "data_object": None, - "receivers_radar_drape": None, - "receivers_offset_z": None, - "gps_receivers_offset": None, - "gz_channel_bool": True, - "gx_channel_bool": False, - "gy_channel_bool": False, - "guv_channel_bool": False, - "gxy_channel_bool": False, - "gxx_channel_bool": False, - "gyy_channel_bool": False, - "gzz_channel_bool": False, - "gxz_channel_bool": False, - "gyz_channel_bool": False, - "mesh": None, - "starting_model": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "ga_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon.geoh5"), - "monitoring_directory": str((assets_path() / "Temp").resolve()), - "forward_only": False, - "data_object": UUID("{538a7eb1-2218-4bec-98cc-0a759aa0ef4f}"), - "gxx_channel": UUID("{53e59b2b-c2ae-4b77-923b-23e06d874e62}"), - "gxx_uncertainty": 1.0, - "gyy_channel": UUID("{51c0acd7-84b8-421f-a66b-fdc15c826a47}"), - "gyy_uncertainty": 1.0, - "gzz_channel": UUID("{f450906d-80e2-4c50-ab27-6da5cf0906af}"), - "gzz_uncertainty": 1.0, - "gxy_channel": UUID("{9c2afb52-d7b6-4a21-88e9-23bfe9459529}"), - "gxy_uncertainty": 1.0, - "gxz_channel": UUID("{55a38ea9-ab20-4944-9fe0-3f77b1f4dcc2}"), - "gxz_uncertainty": 1.0, - "gyz_channel": UUID("{3d19bd53-8bb8-4634-aeae-4e3a90e9d19e}"), - "gyz_uncertainty": 1.0, - "mesh": UUID("{a8f3b369-10bd-4ca8-8bd6-2d2595bddbdf}"), - "resolution": 50.0, - "window_center_x": 314565.0, - "window_center_y": 6072334.0, - "window_width": 1000.0, - "window_height": 1500.0, - "window_azimuth": 0.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "starting_model": 1e-3, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 60.0, - "fix_aspect_ratio": True, - "colorbar": False, - "n_cpu": int(multiprocessing.cpu_count() / 2), -} diff --git a/simpeg_drivers/potential_fields/magnetic_scalar/constants.py b/simpeg_drivers/potential_fields/magnetic_scalar/constants.py deleted file mode 100644 index 63422432..00000000 --- a/simpeg_drivers/potential_fields/magnetic_scalar/constants.py +++ /dev/null @@ -1,183 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -import multiprocessing -from uuid import UUID - -from geoh5py.objects import Grid2D, Points, Surface - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Magnetic Inversion", - "icon": "surveyairbornemagnetics", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "magnetic scalar", - "forward_only": False, - "inducing_field_strength": 50000.0, - "inducing_field_inclination": 90.0, - "inducing_field_declination": 0.0, - "data_object": None, - "tmi_channel": None, - "tmi_uncertainty": 1.0, - "bx_channel": None, - "bx_uncertainty": 1.0, - "by_channel": None, - "by_uncertainty": 1.0, - "bz_channel": None, - "bz_uncertainty": 1.0, - "bxx_channel": None, - "bxx_uncertainty": 1.0, - "bxy_channel": None, - "bxy_uncertainty": 1.0, - "bxz_channel": None, - "bxz_uncertainty": 1.0, - "byy_channel": None, - "byy_uncertainty": 1.0, - "byz_channel": None, - "byz_uncertainty": 1.0, - "bzz_channel": None, - "bzz_uncertainty": 1.0, - "mesh": None, - "starting_model": 1e-4, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 1, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": False, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "ga_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Magnetic Forward", - "icon": "surveyairbornemagnetics", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "magnetic scalar", - "forward_only": True, - "inducing_field_strength": 50000.0, - "inducing_field_inclination": 90.0, - "inducing_field_declination": 0.0, - "topography_object": None, - "topography": None, - "active_model": None, - "data_object": None, - "tmi_channel_bool": True, - "bx_channel_bool": False, - "by_channel_bool": False, - "bz_channel_bool": False, - "bxx_channel_bool": False, - "bxy_channel_bool": False, - "bxz_channel_bool": False, - "byy_channel_bool": False, - "byz_channel_bool": False, - "bzz_channel_bool": False, - "mesh": None, - "starting_model": 1e-4, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "ga_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon.geoh5"), - "monitoring_directory": str((assets_path() / "Temp").resolve()), - "forward_only": False, - "data_object": UUID("{538a7eb1-2218-4bec-98cc-0a759aa0ef4f}"), - "resolution": 50.0, - "tmi_channel": UUID("{44822654-b6ae-45b0-8886-2d845f80f422}"), - "tmi_uncertainty": 10.0, - "tmi_channel_bool": True, - "mesh": UUID("{a8f3b369-10bd-4ca8-8bd6-2d2595bddbdf}"), - "inducing_field_strength": 60000.0, - "inducing_field_inclination": 79.0, - "inducing_field_declination": 11.0, - "window_center_x": 314600.0, - "window_center_y": 6072300.0, - "window_width": 1000.0, - "window_height": 1500.0, - "window_azimuth": 0.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "starting_model": 1e-4, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 60.0, - "fix_aspect_ratio": True, - "colorbar": False, - "n_cpu": int(multiprocessing.cpu_count() / 2), -} diff --git a/simpeg_drivers/potential_fields/magnetic_vector/constants.py b/simpeg_drivers/potential_fields/magnetic_vector/constants.py deleted file mode 100644 index 3990dfc8..00000000 --- a/simpeg_drivers/potential_fields/magnetic_vector/constants.py +++ /dev/null @@ -1,196 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -import multiprocessing -from uuid import UUID - -from geoh5py.objects import Grid2D, Points, Surface - -import simpeg_drivers -from simpeg_drivers import assets_path -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Magnetic Vector (MVI) Inversion", - "icon": "surveyairbornemagnetics", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "magnetic vector", - "forward_only": False, - "inducing_field_strength": 50000.0, - "inducing_field_inclination": 90.0, - "inducing_field_declination": 0.0, - "data_object": None, - "tmi_channel": None, - "tmi_uncertainty": 1.0, - "bx_channel": None, - "bx_uncertainty": 1.0, - "by_channel": None, - "by_uncertainty": 1.0, - "bz_channel": None, - "bz_uncertainty": 1.0, - "bxx_channel": None, - "bxx_uncertainty": 1.0, - "bxy_channel": None, - "bxy_uncertainty": 1.0, - "bxz_channel": None, - "bxz_uncertainty": 1.0, - "byy_channel": None, - "byy_uncertainty": 1.0, - "byz_channel": None, - "byz_uncertainty": 1.0, - "bzz_channel": None, - "bzz_uncertainty": 1.0, - "mesh": None, - "starting_model": 1e-4, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "starting_inclination": None, - "starting_declination": None, - "reference_inclination": None, - "reference_declination": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 1, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 0.001, - "every_iteration_bool": False, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "ga_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Magnetic Vector (MVI) Forward", - "icon": "surveyairbornemagnetics", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "magnetic vector", - "forward_only": True, - "inducing_field_strength": 50000.0, - "inducing_field_inclination": 90.0, - "inducing_field_declination": 0.0, - "topography_object": None, - "topography": None, - "active_model": None, - "data_object": None, - "tmi_channel_bool": True, - "bx_channel_bool": False, - "by_channel_bool": False, - "bz_channel_bool": False, - "bxx_channel_bool": False, - "bxy_channel_bool": False, - "bxz_channel_bool": False, - "byy_channel_bool": False, - "byz_channel_bool": False, - "bzz_channel_bool": False, - "mesh": None, - "starting_model": None, - "starting_inclination": None, - "starting_declination": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "ga_group": None, - "generate_sweep": False, - "distributed_workers": None, -} - -app_initializer = { - "geoh5": str(assets_path() / "FlinFlon.geoh5"), - "monitoring_directory": str((assets_path() / "Temp").resolve()), - "forward_only": False, - "data_object": UUID("{538a7eb1-2218-4bec-98cc-0a759aa0ef4f}"), - "tmi_channel": UUID("{44822654-b6ae-45b0-8886-2d845f80f422}"), - "tmi_uncertainty": 10.0, - "tmi_channel_bool": True, - "mesh": UUID("{a8f3b369-10bd-4ca8-8bd6-2d2595bddbdf}"), - "inducing_field_strength": 60000.0, - "inducing_field_inclination": 79.0, - "inducing_field_declination": 11.0, - "reference_model": 0.0, - "resolution": 50.0, - "window_center_x": 314600.0, - "window_center_y": 6072300.0, - "window_width": 1000.0, - "window_height": 1500.0, - "window_azimuth": 0.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "lower_bound": None, - "upper_bound": None, - "starting_model": 1e-4, - "starting_inclination": 79.0, - "starting_declination": 11.0, - "reference_inclination": None, - "reference_declination": None, - "max_global_iterations": 25, - "topography_object": UUID("{ab3c2083-6ea8-4d31-9230-7aad3ec09525}"), - "topography": UUID("{a603a762-f6cb-4b21-afda-3160e725bf7d}"), - "receivers_offset_z": 60.0, - "fix_aspect_ratio": True, - "colorbar": False, - "n_cpu": int(multiprocessing.cpu_count() / 2), -} From 39170cfcdefe1f70551cdc74baf8f4e3f811fbdc Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 24 Feb 2025 14:39:30 -0800 Subject: [PATCH 4/5] Revert "Clean up tdem options" This reverts commit e8eef7adf93cedb50a82d8deb51a8c83f3ec93cd. --- .../electromagnetics/time_domain/constants.py | 122 ++++++++++++++++++ .../electromagnetics/time_domain/params.py | 33 +++-- 2 files changed, 141 insertions(+), 14 deletions(-) create mode 100644 simpeg_drivers/electromagnetics/time_domain/constants.py diff --git a/simpeg_drivers/electromagnetics/time_domain/constants.py b/simpeg_drivers/electromagnetics/time_domain/constants.py new file mode 100644 index 00000000..8958a028 --- /dev/null +++ b/simpeg_drivers/electromagnetics/time_domain/constants.py @@ -0,0 +1,122 @@ +# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +# Copyright (c) 2025 Mira Geoscience Ltd. ' +# ' +# This file is part of simpeg-drivers package. ' +# ' +# simpeg-drivers is distributed under the terms and conditions of the MIT License ' +# (see LICENSE file at the root of this source code package). ' +# ' +# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + + +from __future__ import annotations + +from geoh5py.objects import AirborneTEMReceivers, LargeLoopGroundTEMReceivers + +import simpeg_drivers +from simpeg_drivers import default_ui_json as base_default_ui_json +from simpeg_drivers.constants import validations as base_validations + + +inversion_defaults = { + "version": simpeg_drivers.__version__, + "title": "Time-domain EM (TEM) Inversion", + "icon": "surveyairborneem", + "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", + "conda_environment": "simpeg_drivers", + "run_command": "simpeg_drivers.driver", + "geoh5": None, # Must remain at top of list for notebook app initialization + "monitoring_directory": None, + "workspace_geoh5": None, + "inversion_type": "tdem", + "forward_only": False, + "data_object": None, + "data_units": "dB/dt (T/s)", + "z_channel": None, + "z_uncertainty": None, + "x_channel": None, + "x_uncertainty": None, + "y_channel": None, + "y_uncertainty": None, + "mesh": None, + "model_type": "Conductivity (S/m)", + "starting_model": 1e-3, + "reference_model": None, + "lower_bound": None, + "upper_bound": None, + "topography_object": None, + "topography": None, + "active_model": None, + "output_tile_files": False, + "inversion_style": "voxel", + "alpha_s": 1.0, + "length_scale_x": 1.0, + "length_scale_y": 1.0, + "length_scale_z": 1.0, + "s_norm": 0.0, + "x_norm": 2.0, + "y_norm": 2.0, + "z_norm": 2.0, + "gradient_type": "total", + "max_irls_iterations": 25, + "starting_chi_factor": 1.0, + "beta_tol": 0.5, + "prctile": 95, + "chi_factor": 1.0, + "auto_scale_misfits": True, + "initial_beta_ratio": 1e2, + "initial_beta": None, + "coolingFactor": 2.0, + "coolingRate": 2, + "max_global_iterations": 50, + "max_line_search_iterations": 20, + "max_cg_iterations": 30, + "tol_cg": 1e-4, + "f_min_change": 0.01, + "sens_wts_threshold": 1.0, + "every_iteration_bool": True, + "save_sensitivities": False, + "parallelized": True, + "n_cpu": None, + "tile_spatial": 1, + "store_sensitivities": "ram", + "max_ram": None, + "max_chunk_size": 128, + "chunk_by_rows": True, + "out_group": None, + "generate_sweep": False, + "distributed_workers": None, +} +forward_defaults = { + "version": simpeg_drivers.__version__, + "title": "Time-domain EM (TEM) Forward", + "icon": "surveyairborneem", + "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", + "conda_environment": "simpeg_drivers", + "run_command": "simpeg_drivers.driver", + "geoh5": None, # Must remain at top of list for notebook app initialization + "monitoring_directory": None, + "workspace_geoh5": None, + "inversion_type": "tdem", + "forward_only": True, + "data_object": None, + "data_units": "dB/dt (T/s)", + "z_channel_bool": True, + "x_channel_bool": True, + "y_channel_bool": True, + "mesh": None, + "model_type": "Conductivity (S/m)", + "starting_model": 1e-3, + "topography_object": None, + "topography": None, + "active_model": None, + "output_tile_files": False, + "parallelized": True, + "n_cpu": None, + "tile_spatial": 1, + "max_chunk_size": 128, + "chunk_by_rows": True, + "out_group": None, + "generate_sweep": False, + "distributed_workers": None, +} diff --git a/simpeg_drivers/electromagnetics/time_domain/params.py b/simpeg_drivers/electromagnetics/time_domain/params.py index 926d766b..ffa15a44 100644 --- a/simpeg_drivers/electromagnetics/time_domain/params.py +++ b/simpeg_drivers/electromagnetics/time_domain/params.py @@ -35,23 +35,27 @@ class TDEMForwardOptions(EMDataMixin, BaseForwardOptions): Time Domain Electromagnetic forward options. :param z_channel_bool: Z-component data channel boolean. + :param z_channel_uncertainty: Z-component data channel uncertainty. :param x_channel_bool: X-component data channel boolean. + :param x_channel_uncertainty: X-component data channel uncertainty. :param y_channel_bool: Y-component data channel boolean. + :param y_channel_uncertainty: Y-component data channel uncertainty. :param model_type: Specify whether the models are provided in resistivity or conductivity. :param data_units: Units for the TEM data """ - data_object: Receivers - data_units: str = "dB/dt (T/s)" + name: ClassVar[str] = "Time Domain Electromagnetics Forward" + title: ClassVar[str] = "Time-domain EM (TEM) Forward" default_ui_json: ClassVar[Path] = assets_path() / "uijson/tdem_forward.ui.json" + inversion_type: str = "tdem" - model_type: str = "Conductivity (S/m)" - name: ClassVar[str] = "Time Domain Electromagnetics Forward" physical_property: str = "conductivity" - title: ClassVar[str] = "Time-domain EM (TEM) Forward" - x_channel_bool: bool | None = None - y_channel_bool: bool | None = None + + data_object: Receivers z_channel_bool: bool | None = None + x_channel_bool: bool | None = None + data_units: str = "dB/dt (T/s)" + model_type: str = "Conductivity (S/m)" @property def unit_conversion(self): @@ -78,21 +82,22 @@ class TDEMInversionOptions(EMDataMixin, BaseInversionOptions): :param data_units: Units for the TEM data """ - data_object: Receivers - data_units: str = "dB/dt (T/s)" + name: ClassVar[str] = "Time Domain Electromagnetics Inversion" + title: ClassVar[str] = "Time-domain EM (TEM) Inversion" default_ui_json: ClassVar[Path] = assets_path() / "uijson/tdem_inversion.ui.json" + inversion_type: str = "tdem" - model_type: str = "Conductivity (S/m)" - name: ClassVar[str] = "Time Domain Electromagnetics Inversion" physical_property: str = "conductivity" - title: ClassVar[str] = "Time-domain EM (TEM) Inversion" + data_object: Receivers + z_channel: PropertyGroup | None = None + z_uncertainty: PropertyGroup | None = None x_channel: PropertyGroup | None = None x_uncertainty: PropertyGroup | None = None y_channel: PropertyGroup | None = None y_uncertainty: PropertyGroup | None = None - z_channel: PropertyGroup | None = None - z_uncertainty: PropertyGroup | None = None + data_units: str = "dB/dt (T/s)" + model_type: str = "Conductivity (S/m)" @property def unit_conversion(self): From 27e50e75e0c33fd418d198ac057ba418348c24a6 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 24 Feb 2025 14:40:41 -0800 Subject: [PATCH 5/5] Clean up again tdem --- .../electromagnetics/time_domain/constants.py | 122 ------------------ .../electromagnetics/time_domain/params.py | 4 +- 2 files changed, 1 insertion(+), 125 deletions(-) delete mode 100644 simpeg_drivers/electromagnetics/time_domain/constants.py diff --git a/simpeg_drivers/electromagnetics/time_domain/constants.py b/simpeg_drivers/electromagnetics/time_domain/constants.py deleted file mode 100644 index 8958a028..00000000 --- a/simpeg_drivers/electromagnetics/time_domain/constants.py +++ /dev/null @@ -1,122 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2025 Mira Geoscience Ltd. ' -# ' -# This file is part of simpeg-drivers package. ' -# ' -# simpeg-drivers is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# ' -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - - -from __future__ import annotations - -from geoh5py.objects import AirborneTEMReceivers, LargeLoopGroundTEMReceivers - -import simpeg_drivers -from simpeg_drivers import default_ui_json as base_default_ui_json -from simpeg_drivers.constants import validations as base_validations - - -inversion_defaults = { - "version": simpeg_drivers.__version__, - "title": "Time-domain EM (TEM) Inversion", - "icon": "surveyairborneem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "tdem", - "forward_only": False, - "data_object": None, - "data_units": "dB/dt (T/s)", - "z_channel": None, - "z_uncertainty": None, - "x_channel": None, - "x_uncertainty": None, - "y_channel": None, - "y_uncertainty": None, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "reference_model": None, - "lower_bound": None, - "upper_bound": None, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "inversion_style": "voxel", - "alpha_s": 1.0, - "length_scale_x": 1.0, - "length_scale_y": 1.0, - "length_scale_z": 1.0, - "s_norm": 0.0, - "x_norm": 2.0, - "y_norm": 2.0, - "z_norm": 2.0, - "gradient_type": "total", - "max_irls_iterations": 25, - "starting_chi_factor": 1.0, - "beta_tol": 0.5, - "prctile": 95, - "chi_factor": 1.0, - "auto_scale_misfits": True, - "initial_beta_ratio": 1e2, - "initial_beta": None, - "coolingFactor": 2.0, - "coolingRate": 2, - "max_global_iterations": 50, - "max_line_search_iterations": 20, - "max_cg_iterations": 30, - "tol_cg": 1e-4, - "f_min_change": 0.01, - "sens_wts_threshold": 1.0, - "every_iteration_bool": True, - "save_sensitivities": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "store_sensitivities": "ram", - "max_ram": None, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} -forward_defaults = { - "version": simpeg_drivers.__version__, - "title": "Time-domain EM (TEM) Forward", - "icon": "surveyairborneem", - "documentation": "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html", - "conda_environment": "simpeg_drivers", - "run_command": "simpeg_drivers.driver", - "geoh5": None, # Must remain at top of list for notebook app initialization - "monitoring_directory": None, - "workspace_geoh5": None, - "inversion_type": "tdem", - "forward_only": True, - "data_object": None, - "data_units": "dB/dt (T/s)", - "z_channel_bool": True, - "x_channel_bool": True, - "y_channel_bool": True, - "mesh": None, - "model_type": "Conductivity (S/m)", - "starting_model": 1e-3, - "topography_object": None, - "topography": None, - "active_model": None, - "output_tile_files": False, - "parallelized": True, - "n_cpu": None, - "tile_spatial": 1, - "max_chunk_size": 128, - "chunk_by_rows": True, - "out_group": None, - "generate_sweep": False, - "distributed_workers": None, -} diff --git a/simpeg_drivers/electromagnetics/time_domain/params.py b/simpeg_drivers/electromagnetics/time_domain/params.py index ffa15a44..30946950 100644 --- a/simpeg_drivers/electromagnetics/time_domain/params.py +++ b/simpeg_drivers/electromagnetics/time_domain/params.py @@ -35,11 +35,8 @@ class TDEMForwardOptions(EMDataMixin, BaseForwardOptions): Time Domain Electromagnetic forward options. :param z_channel_bool: Z-component data channel boolean. - :param z_channel_uncertainty: Z-component data channel uncertainty. :param x_channel_bool: X-component data channel boolean. - :param x_channel_uncertainty: X-component data channel uncertainty. :param y_channel_bool: Y-component data channel boolean. - :param y_channel_uncertainty: Y-component data channel uncertainty. :param model_type: Specify whether the models are provided in resistivity or conductivity. :param data_units: Units for the TEM data """ @@ -54,6 +51,7 @@ class TDEMForwardOptions(EMDataMixin, BaseForwardOptions): data_object: Receivers z_channel_bool: bool | None = None x_channel_bool: bool | None = None + y_channel_bool: bool | None = None data_units: str = "dB/dt (T/s)" model_type: str = "Conductivity (S/m)"