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: 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/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)" 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), -}