From 4c04658a2b37e758c14c1b1f307420de8eb5e28c Mon Sep 17 00:00:00 2001 From: benjamink Date: Tue, 25 Feb 2025 14:10:20 -0800 Subject: [PATCH 1/5] switching branches --- .../potential_fields/gravity/uijson.py | 59 ++++++++++++ simpeg_drivers/uijson.py | 95 +++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 simpeg_drivers/potential_fields/gravity/uijson.py create mode 100644 simpeg_drivers/uijson.py diff --git a/simpeg_drivers/potential_fields/gravity/uijson.py b/simpeg_drivers/potential_fields/gravity/uijson.py new file mode 100644 index 00000000..9d57be18 --- /dev/null +++ b/simpeg_drivers/potential_fields/gravity/uijson.py @@ -0,0 +1,59 @@ +# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +# 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 pathlib import Path +from typing import ClassVar +from uuid import UUID + +from geoh5py.ui_json.ui_json import BaseUIJson + +from simpeg_drivers import assets_path +from simpeg_drivers.uijson import BaseInversionUIJson, CoreUIJson + + +class GravityForwardUIJson(CoreUIJson): + default_ui_json: ClassVar[Path] = assets_path / "gravity_forward.ui.json" + title: str = "Gravity Inversion" + inversion_type: str = "gravity" + + gx_channel: UUID | None = None + gy_channel: UUID | None = None + gz_channel: UUID | None = None + gxx_channel: UUID | None = None + gxy_channel: UUID | None = None + gxz_channel: UUID | None = None + gyy_channel: UUID | None = None + gyz_channel: UUID | None = None + gzz_channel: UUID | None = None + gx_uncertainty: UUID | float | None = None + gy_uncertainty: UUID | float | None = None + gz_uncertainty: UUID | float | None = None + gxx_uncertainty: UUID | float | None = None + gxy_uncertainty: UUID | float | None = None + gxz_uncertainty: UUID | float | None = None + gyy_uncertainty: UUID | float | None = None + gyz_uncertainty: UUID | float | None = None + gzz_uncertainty: UUID | float | None = None + + +class GravityInversionUIJson(BaseInversionUIJson): + default_ui_json: ClassVar[Path] = assets_path / "gravity_inversion.ui.json" + title: str = "Gravity Inversion" + inversion_type: str = "gravity" + + gx_channel_bool: bool = False + gy_channel_bool: bool = False + gz_channel_bool: bool = True + gxx_channel_bool: bool = False + gxy_channel_bool: bool = False + gxz_channel_bool: bool = False + gyy_channel_bool: bool = False + gyz_channel_bool: bool = False + gzz_channel_bool: bool = False diff --git a/simpeg_drivers/uijson.py b/simpeg_drivers/uijson.py new file mode 100644 index 00000000..69f43304 --- /dev/null +++ b/simpeg_drivers/uijson.py @@ -0,0 +1,95 @@ +# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +# 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 uuid import UUID + +from geoh5py.groups import SimPEGGroup, UIJsonGroup +from geoh5py.ui_json.enforcers import UUIDEnforcer +from geoh5py.ui_json.ui_json import BaseUIJson + +import simpeg_drivers + + +class CoreUIJson(BaseUIJson): + """ + Core class for ui.json data. + """ + + version: str = simpeg_drivers.__version__ + run_command: str + conda_environment: str + forward_only: bool + data_object: UUID + mesh: UUID | None + starting_model: float | UUID + topography_object: UUID | None + topography: float | UUID | None + active_model: UUID | None + tile_spatial: int + parallelized: bool + n_cpu: int | None + max_chunk_size: int + save_sensitivities: bool + out_group: SimPEGGroup | UIJsonGroup | None + generate_sweep: bool + + +class BaseInversionUIJson(BaseUIJson): + """ + Base class for inversion ui.json data. + """ + + reference_model: float | UUID | None + lower_bound: float | UUID | None + upper_bound: float | UUID | None + + alpha_s: float | UUID | None + length_scale_x: float | UUID + length_scale_y: float | UUID + length_scale_z: float | UUID + + s_norm: float | UUID | None + x_norm: float | UUID + y_norm: float | UUID | None + z_norm: float | UUID + gradient_type: str + max_irls_iterations: int + starting_chi_factor: float + + chi_factor: float + auto_scale_misfits: bool + initial_beta_ratio: float | None + initial_beta: float | None + coolingFactor: float + + coolingRate: float + max_global_iterations: int + max_line_search_iterations: int + max_cg_iterations: int + tol_cg: float + f_min_change: float + + sens_wts_threshold: float + every_iteration_bool: bool + save_sensitivities: str + + beta_tol: float + prctile: float + coolEps_q: bool + coolEpsFact: float + beta_search: bool + + chunk_by_rows: bool + output_tile_files: bool + inversion_style: str + max_ram: float | None + ga_group: SimPEGGroup | None + distributed_workers: int | None + no_data_value: float | None From 4a647987f6f65bf8e4968cd4f0b0e38fe137c18e Mon Sep 17 00:00:00 2001 From: benjamink Date: Fri, 28 Feb 2025 10:43:37 -0800 Subject: [PATCH 2/5] finish gravity uijson and round trip tests to file and back --- .../uijson/gravity_inversion.ui.json | 9 +- .../potential_fields/gravity/uijson.py | 71 +++++++++----- simpeg_drivers/uijson.py | 93 +++---------------- tests/uijson_test.py | 43 ++++++++- 4 files changed, 107 insertions(+), 109 deletions(-) diff --git a/simpeg_drivers-assets/uijson/gravity_inversion.ui.json b/simpeg_drivers-assets/uijson/gravity_inversion.ui.json index 162eb5d9..73f35933 100644 --- a/simpeg_drivers-assets/uijson/gravity_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/gravity_inversion.ui.json @@ -19,9 +19,7 @@ "{6a057fdc-b355-11e3-95be-fd84a7ffcb88}", "{f26feba3-aded-494b-b9e9-b2bbcbe298e1}", "{48f5054a-1c5c-4ca4-9048-80f36dc60a06}", - "{b020a277-90e2-4cd7-84d6-612ee3f25051}", - "{b54f6be6-0eb5-4a4e-887a-ba9d276f9a83}", - "{5ffa3816-358d-4cdd-9b7d-e1f7f5543e05}" + "{b020a277-90e2-4cd7-84d6-612ee3f25051}" ], "value": "" }, @@ -770,6 +768,11 @@ "parent": "data_object", "isValue": true, "property": "", + "dataType": "Float", + "association": [ + "Vertex", + "Cell" + ], "value": 1, "min": 1, "max": 1000, diff --git a/simpeg_drivers/potential_fields/gravity/uijson.py b/simpeg_drivers/potential_fields/gravity/uijson.py index 0c861a9a..f968cb3b 100644 --- a/simpeg_drivers/potential_fields/gravity/uijson.py +++ b/simpeg_drivers/potential_fields/gravity/uijson.py @@ -25,16 +25,55 @@ from geoh5py.ui_json.ui_json import BaseUIJson from simpeg_drivers import assets_path -from simpeg_drivers.uijson import BaseInversionUIJson, SimPEGDriversUIJson +from simpeg_drivers.uijson import SimPEGDriversUIJson class GravityForwardUIJson(SimPEGDriversUIJson): """Gravity Forward UIJson.""" - default_ui_json: ClassVar[Path] = assets_path / "gravity_forward.ui.json" + default_ui_json: ClassVar[Path] = assets_path() / "gravity_forward.ui.json" inversion_type: str - forward_only: str + forward_only: bool + data_object: ObjectForm + z_from_topo: BoolForm + receivers_radar_drape: DataForm + receivers_offset_z: FloatForm + gps_receivers_offset: str + gz_channel_bool: BoolForm + gx_channel_bool: BoolForm + gy_channel_bool: BoolForm + guv_channel_bool: BoolForm + gxy_channel_bool: BoolForm + gxx_channel_bool: BoolForm + gyy_channel_bool: BoolForm + gzz_channel_bool: BoolForm + gxz_channel_bool: BoolForm + gyz_channel_bool: BoolForm + mesh: ObjectForm + starting_model: DataForm + topography_object: ObjectForm + topography: DataForm + active_model: DataForm + output_tile_files: bool + parallelized: BoolForm + n_cpu: IntegerForm + tile_spatial: DataForm + max_chunk_size: IntegerForm + chunk_by_rows: BoolForm + out_group: GroupForm + ga_group: str + generate_sweep: BoolForm + distributed_workers: str + + +class GravityInversionUIJson(SimPEGDriversUIJson): + """Gravity Inversion UIJson.""" + + default_ui_json: ClassVar[Path] = assets_path() / "gravity_inversionforward.ui.json" + + inversion_type: str + forward_only: bool data_object: ObjectForm gz_channel: DataForm gz_uncertainty: DataForm @@ -85,34 +124,22 @@ class GravityForwardUIJson(SimPEGDriversUIJson): initial_beta: FloatForm coolingFactor: FloatForm coolingRate: IntegerForm - max_global_iteration: IntegerForm + max_global_iterations: IntegerForm max_line_search_iterations: IntegerForm max_cg_iterations: IntegerForm tol_cg: FloatForm f_min_change: FloatForm sens_wts_threshold: FloatForm every_iteration_bool: BoolForm - save_sensitivity: BoolForm + save_sensitivities: BoolForm parallelized: BoolForm n_cpu: IntegerForm - tile_spatial: IntegerForm + tile_spatial: DataForm store_sensitivities: ChoiceForm max_ram: str max_chunk_size: IntegerForm + chunk_by_rows: BoolForm out_group: GroupForm - - -class GravityInversionUIJson(SimPEGDriversUIJson): - default_ui_json: ClassVar[Path] = assets_path / "gravity_inversion.ui.json" - title: str = "Gravity Inversion" - inversion_type: str = "gravity" - - gx_channel_bool: bool = False - gy_channel_bool: bool = False - gz_channel_bool: bool = True - gxx_channel_bool: bool = False - gxy_channel_bool: bool = False - gxz_channel_bool: bool = False - gyy_channel_bool: bool = False - gyz_channel_bool: bool = False - gzz_channel_bool: bool = False + ga_group: str + generate_sweep: BoolForm + distributed_workers: str diff --git a/simpeg_drivers/uijson.py b/simpeg_drivers/uijson.py index 2cd5a617..40dd6be7 100644 --- a/simpeg_drivers/uijson.py +++ b/simpeg_drivers/uijson.py @@ -11,12 +11,13 @@ import json import logging from pathlib import Path -from uuid import UUID +from typing import Annotated from geoh5py.groups import SimPEGGroup, UIJsonGroup +from geoh5py.shared.validators import empty_string_to_none, none_to_empty_string from geoh5py.ui_json.enforcers import UUIDEnforcer from geoh5py.ui_json.ui_json import BaseUIJson -from pydantic import field_validator +from pydantic import BeforeValidator, PlainSerializer, field_validator import simpeg_drivers @@ -24,6 +25,13 @@ logger = logging.getLogger(__name__) +OptionalPath = Annotated[ + Path | None, + BeforeValidator(empty_string_to_none), + PlainSerializer(none_to_empty_string), +] + + class SimPEGDriversUIJson(BaseUIJson): version: str = simpeg_drivers.__version__ title: str @@ -32,8 +40,8 @@ class SimPEGDriversUIJson(BaseUIJson): conda_environment: str run_command: str geoh5: Path | None - monitoring_directory: Path - workspace_geoh5: Path + monitoring_directory: OptionalPath + workspace_geoh5: OptionalPath @field_validator("version", mode="before") @classmethod @@ -61,80 +69,3 @@ def write_default(cls): data = uijson.model_dump_json(indent=4) with open(cls.default_ui_json, "w", encoding="utf-8") as file: file.write(data) - - -class CoreUIJson(SimPEGDriversUIJson): - """ - Core class for ui.json data. - """ - - run_command: str - conda_environment: str - forward_only: bool - data_object: UUID - mesh: UUID | None - starting_model: float | UUID - topography_object: UUID | None - topography: float | UUID | None - active_model: UUID | None - tile_spatial: int - parallelized: bool - n_cpu: int | None - max_chunk_size: int - save_sensitivities: bool - out_group: SimPEGGroup | UIJsonGroup | None - generate_sweep: bool - - -class BaseInversionUIJson(BaseUIJson): - """ - Base class for inversion ui.json data. - """ - - reference_model: float | UUID | None - lower_bound: float | UUID | None - upper_bound: float | UUID | None - - alpha_s: float | UUID | None - length_scale_x: float | UUID - length_scale_y: float | UUID - length_scale_z: float | UUID - - s_norm: float | UUID | None - x_norm: float | UUID - y_norm: float | UUID | None - z_norm: float | UUID - gradient_type: str - max_irls_iterations: int - starting_chi_factor: float - - chi_factor: float - auto_scale_misfits: bool - initial_beta_ratio: float | None - initial_beta: float | None - coolingFactor: float - - coolingRate: float - max_global_iterations: int - max_line_search_iterations: int - max_cg_iterations: int - tol_cg: float - f_min_change: float - - sens_wts_threshold: float - every_iteration_bool: bool - save_sensitivities: str - - beta_tol: float - prctile: float - coolEps_q: bool - coolEpsFact: float - beta_search: bool - - chunk_by_rows: bool - output_tile_files: bool - inversion_style: str - max_ram: float | None - ga_group: SimPEGGroup | None - distributed_workers: int | None - no_data_value: float | None diff --git a/tests/uijson_test.py b/tests/uijson_test.py index 7de09a43..187fb617 100644 --- a/tests/uijson_test.py +++ b/tests/uijson_test.py @@ -13,9 +13,14 @@ from pathlib import Path from typing import ClassVar +import numpy as np from geoh5py import Workspace -from simpeg_drivers.uijson import CoreUIJson +from simpeg_drivers.params import ActiveCellsOptions +from simpeg_drivers.potential_fields.gravity.params import GravityInversionOptions +from simpeg_drivers.potential_fields.gravity.uijson import GravityInversionUIJson +from simpeg_drivers.uijson import SimPEGDriversUIJson +from simpeg_drivers.utils.testing import setup_inversion_workspace logger = logging.getLogger(__name__) @@ -25,7 +30,7 @@ def test_version_warning(tmp_path, caplog): workspace = Workspace(tmp_path / "test.geoh5") with caplog.at_level(logging.WARNING): - _ = CoreUIJson( + _ = SimPEGDriversUIJson( version="0.2.0", title="My app", geoh5=str(workspace.h5file), @@ -50,7 +55,7 @@ def test_write_default(tmp_path): with open(default_path, "w", encoding="utf-8") as f: json.dump(data, f, ensure_ascii=False, indent=4) - class MyUIJson(CoreUIJson): + class MyUIJson(SimPEGDriversUIJson): default_ui_json: ClassVar[Path] = default_path version: str = "0.2.0" @@ -60,3 +65,35 @@ class MyUIJson(CoreUIJson): data = json.load(f) assert data["version"] == "0.3.0-alpha.1" + + +def test_gravity_uijson(tmp_path): + geoh5, _, starting_model, survey, topography = setup_inversion_workspace( + tmp_path, background=0.0, anomaly=0.75, inversion_type="gravity" + ) + + opts = GravityInversionOptions( + geoh5=geoh5, + data_object=survey, + gz_channel=survey.add_data({"gz": {"values": np.ones(survey.n_vertices)}}), + gz_uncertainty=survey.add_data( + {"gz_unc": {"values": np.ones(survey.n_vertices)}} + ), + mesh=starting_model.parent, + starting_model=starting_model, + active_cells=ActiveCellsOptions( + topography_object=topography, + ), + ) + params_uijson_path = tmp_path / "from_params.ui.json" + opts.write_ui_json(params_uijson_path) + + uijson = GravityInversionUIJson.read(params_uijson_path) + uijson_path = tmp_path / "from_uijson.ui.json" + uijson.write(uijson_path) + with open(params_uijson_path, encoding="utf-8") as f: + params_data = json.load(f) + with open(uijson_path, encoding="utf-8") as f: + uijson_data = json.load(f) + + assert uijson_data == params_data From e132ff7abebb71d08075d95419947ca36171c821 Mon Sep 17 00:00:00 2001 From: benjamink Date: Fri, 28 Feb 2025 14:13:12 -0800 Subject: [PATCH 3/5] Remove core params from provided by BaseUIJson --- simpeg_drivers/uijson.py | 21 +-------------------- tests/uijson_test.py | 2 ++ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/simpeg_drivers/uijson.py b/simpeg_drivers/uijson.py index 40dd6be7..e8bcbd5c 100644 --- a/simpeg_drivers/uijson.py +++ b/simpeg_drivers/uijson.py @@ -10,14 +10,9 @@ import json import logging -from pathlib import Path -from typing import Annotated -from geoh5py.groups import SimPEGGroup, UIJsonGroup -from geoh5py.shared.validators import empty_string_to_none, none_to_empty_string -from geoh5py.ui_json.enforcers import UUIDEnforcer from geoh5py.ui_json.ui_json import BaseUIJson -from pydantic import BeforeValidator, PlainSerializer, field_validator +from pydantic import field_validator import simpeg_drivers @@ -25,23 +20,9 @@ logger = logging.getLogger(__name__) -OptionalPath = Annotated[ - Path | None, - BeforeValidator(empty_string_to_none), - PlainSerializer(none_to_empty_string), -] - - class SimPEGDriversUIJson(BaseUIJson): - version: str = simpeg_drivers.__version__ - title: str icon: str documentation: str - conda_environment: str - run_command: str - geoh5: Path | None - monitoring_directory: OptionalPath - workspace_geoh5: OptionalPath @field_validator("version", mode="before") @classmethod diff --git a/tests/uijson_test.py b/tests/uijson_test.py index 187fb617..5031fc31 100644 --- a/tests/uijson_test.py +++ b/tests/uijson_test.py @@ -33,6 +33,8 @@ def test_version_warning(tmp_path, caplog): _ = SimPEGDriversUIJson( version="0.2.0", title="My app", + icon="", + documentation="", geoh5=str(workspace.h5file), run_command="myapp.driver", monitoring_directory="", From af8aa42babe326af754908d42ad720027e12a10a Mon Sep 17 00:00:00 2001 From: benjamink Date: Mon, 3 Mar 2025 10:15:03 -0800 Subject: [PATCH 4/5] convert uid strings in the from_params data to remove braces before comparison --- tests/uijson_test.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/uijson_test.py b/tests/uijson_test.py index 5031fc31..1f4ccbcb 100644 --- a/tests/uijson_test.py +++ b/tests/uijson_test.py @@ -98,4 +98,18 @@ def test_gravity_uijson(tmp_path): with open(uijson_path, encoding="utf-8") as f: uijson_data = json.load(f) - assert uijson_data == params_data + params_data_nobraces = {} + for param, data in params_data.items(): + if isinstance(data, dict): + field_data_nobraces = {} + for field, value in data.items(): + if isinstance(value, str): + value = value.removeprefix("{").removesuffix("}") + if isinstance(value, list): + value = [v.removeprefix("{").removesuffix("}") for v in value] + field_data_nobraces[field] = value + else: + field_data_nobraces = data + params_data_nobraces[param] = field_data_nobraces + + assert uijson_data == params_data_nobraces From 77565b68322bb711a370f64063307a37e41d1d39 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 3 Mar 2025 11:33:36 -0800 Subject: [PATCH 5/5] Refresh locks --- environments/py-3.10-linux-64-dev.conda.lock.yml | 2 +- environments/py-3.10-linux-64.conda.lock.yml | 2 +- environments/py-3.10-win-64-dev.conda.lock.yml | 2 +- environments/py-3.10-win-64.conda.lock.yml | 2 +- environments/py-3.11-linux-64-dev.conda.lock.yml | 2 +- environments/py-3.11-linux-64.conda.lock.yml | 2 +- environments/py-3.11-win-64-dev.conda.lock.yml | 2 +- environments/py-3.11-win-64.conda.lock.yml | 2 +- environments/py-3.12-linux-64-dev.conda.lock.yml | 2 +- environments/py-3.12-linux-64.conda.lock.yml | 2 +- environments/py-3.12-win-64-dev.conda.lock.yml | 2 +- environments/py-3.12-win-64.conda.lock.yml | 2 +- py-3.10.conda-lock.yml | 12 ++++++------ py-3.11.conda-lock.yml | 12 ++++++------ py-3.12.conda-lock.yml | 12 ++++++------ 15 files changed, 30 insertions(+), 30 deletions(-) diff --git a/environments/py-3.10-linux-64-dev.conda.lock.yml b/environments/py-3.10-linux-64-dev.conda.lock.yml index 9cf402bf..61f28f13 100644 --- a/environments/py-3.10-linux-64-dev.conda.lock.yml +++ b/environments/py-3.10-linux-64-dev.conda.lock.yml @@ -304,7 +304,7 @@ dependencies: - zstd=1.5.7=hb8e6e7a_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.10-linux-64.conda.lock.yml b/environments/py-3.10-linux-64.conda.lock.yml index 3c925de8..45337112 100644 --- a/environments/py-3.10-linux-64.conda.lock.yml +++ b/environments/py-3.10-linux-64.conda.lock.yml @@ -157,7 +157,7 @@ dependencies: - zstd=1.5.7=hb8e6e7a_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.10-win-64-dev.conda.lock.yml b/environments/py-3.10-win-64-dev.conda.lock.yml index d06999ec..6b70eebd 100644 --- a/environments/py-3.10-win-64-dev.conda.lock.yml +++ b/environments/py-3.10-win-64-dev.conda.lock.yml @@ -295,7 +295,7 @@ dependencies: - zstd=1.5.7=hbeecb71_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.10-win-64.conda.lock.yml b/environments/py-3.10-win-64.conda.lock.yml index cf1097fb..d88dea88 100644 --- a/environments/py-3.10-win-64.conda.lock.yml +++ b/environments/py-3.10-win-64.conda.lock.yml @@ -146,7 +146,7 @@ dependencies: - zstd=1.5.7=hbeecb71_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.11-linux-64-dev.conda.lock.yml b/environments/py-3.11-linux-64-dev.conda.lock.yml index feb54a3c..d2c1a511 100644 --- a/environments/py-3.11-linux-64-dev.conda.lock.yml +++ b/environments/py-3.11-linux-64-dev.conda.lock.yml @@ -308,7 +308,7 @@ dependencies: - zstd=1.5.7=hb8e6e7a_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.11-linux-64.conda.lock.yml b/environments/py-3.11-linux-64.conda.lock.yml index ea5274ef..549d81ea 100644 --- a/environments/py-3.11-linux-64.conda.lock.yml +++ b/environments/py-3.11-linux-64.conda.lock.yml @@ -160,7 +160,7 @@ dependencies: - zstd=1.5.7=hb8e6e7a_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.11-win-64-dev.conda.lock.yml b/environments/py-3.11-win-64-dev.conda.lock.yml index 64942e46..7ef8cb98 100644 --- a/environments/py-3.11-win-64-dev.conda.lock.yml +++ b/environments/py-3.11-win-64-dev.conda.lock.yml @@ -299,7 +299,7 @@ dependencies: - zstd=1.5.7=hbeecb71_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.11-win-64.conda.lock.yml b/environments/py-3.11-win-64.conda.lock.yml index 02c2ead9..17571fd4 100644 --- a/environments/py-3.11-win-64.conda.lock.yml +++ b/environments/py-3.11-win-64.conda.lock.yml @@ -149,7 +149,7 @@ dependencies: - zstd=1.5.7=hbeecb71_1 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.12-linux-64-dev.conda.lock.yml b/environments/py-3.12-linux-64-dev.conda.lock.yml index 0ca45eb7..712467d4 100644 --- a/environments/py-3.12-linux-64-dev.conda.lock.yml +++ b/environments/py-3.12-linux-64-dev.conda.lock.yml @@ -308,7 +308,7 @@ dependencies: - zstd=1.5.6=ha6fb4c9_0 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.12-linux-64.conda.lock.yml b/environments/py-3.12-linux-64.conda.lock.yml index 6fd8e612..a56cec6c 100644 --- a/environments/py-3.12-linux-64.conda.lock.yml +++ b/environments/py-3.12-linux-64.conda.lock.yml @@ -160,7 +160,7 @@ dependencies: - zstd=1.5.6=ha6fb4c9_0 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.12-win-64-dev.conda.lock.yml b/environments/py-3.12-win-64-dev.conda.lock.yml index 4663d22a..cb7b5d4c 100644 --- a/environments/py-3.12-win-64-dev.conda.lock.yml +++ b/environments/py-3.12-win-64-dev.conda.lock.yml @@ -299,7 +299,7 @@ dependencies: - zstd=1.5.6=h0ea2cb4_0 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/environments/py-3.12-win-64.conda.lock.yml b/environments/py-3.12-win-64.conda.lock.yml index 379635ee..c4dda0df 100644 --- a/environments/py-3.12-win-64.conda.lock.yml +++ b/environments/py-3.12-win-64.conda.lock.yml @@ -149,7 +149,7 @@ dependencies: - zstd=1.5.6=h0ea2cb4_0 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@6ba24321d5311bbaf7ab460261ce6730ed541131 - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@275985aa18af76d70d55311e45dcfed149e62089 - octree-creation-app @ git+https://github.com/MiraGeoscience/octree-creation-app.git@3c479f5d098332ff1c6e0eca0d56be6cc01e0911 - param-sweeps @ git+https://github.com/MiraGeoscience/param-sweeps.git@39de1da1495aff6d16641d408317619e23adbdb4 diff --git a/py-3.10.conda-lock.yml b/py-3.10.conda-lock.yml index 8fce0291..4ce470d5 100644 --- a/py-3.10.conda-lock.yml +++ b/py-3.10.conda-lock.yml @@ -8558,12 +8558,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 hash: - sha256: 99300455d1d5627d8a2e95a7217da2bab4921f48 + sha256: c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 category: main optional: false - name: geoh5py @@ -8575,12 +8575,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 hash: - sha256: 99300455d1d5627d8a2e95a7217da2bab4921f48 + sha256: c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 category: main optional: false - name: mira-simpeg diff --git a/py-3.11.conda-lock.yml b/py-3.11.conda-lock.yml index dc776a1d..aeb80aff 100644 --- a/py-3.11.conda-lock.yml +++ b/py-3.11.conda-lock.yml @@ -8672,12 +8672,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 hash: - sha256: 99300455d1d5627d8a2e95a7217da2bab4921f48 + sha256: c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 category: main optional: false - name: geoh5py @@ -8689,12 +8689,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 hash: - sha256: 99300455d1d5627d8a2e95a7217da2bab4921f48 + sha256: c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 category: main optional: false - name: mira-simpeg diff --git a/py-3.12.conda-lock.yml b/py-3.12.conda-lock.yml index b11dd981..b02cbc4a 100644 --- a/py-3.12.conda-lock.yml +++ b/py-3.12.conda-lock.yml @@ -8674,12 +8674,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 hash: - sha256: 99300455d1d5627d8a2e95a7217da2bab4921f48 + sha256: c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 category: main optional: false - name: geoh5py @@ -8691,12 +8691,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 hash: - sha256: 99300455d1d5627d8a2e95a7217da2bab4921f48 + sha256: c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@99300455d1d5627d8a2e95a7217da2bab4921f48 + url: git+https://github.com/MiraGeoscience/geoh5py.git@c5f762ae16395629d8a8e4e04dc7488a6c9c53f1 category: main optional: false - name: mira-simpeg