From 816d0766d59ac5e70749e2ec4ea13f69496faf80 Mon Sep 17 00:00:00 2001 From: domfournier Date: Tue, 21 Apr 2026 09:07:32 -0700 Subject: [PATCH 1/5] Remove uijson classes and redundant starts --- simpeg_drivers/options.py | 4 +- simpeg_drivers/plate_simulation/__init__.py | 2 + .../plate_simulation/match/__init__.py | 2 + .../plate_simulation/match/uijson.py | 26 --------- .../plate_simulation/sweep/__init__.py | 2 + .../plate_simulation/sweep/driver.py | 24 -------- .../plate_simulation/sweep/uijson.py | 55 ------------------- 7 files changed, 9 insertions(+), 106 deletions(-) delete mode 100644 simpeg_drivers/plate_simulation/match/uijson.py delete mode 100644 simpeg_drivers/plate_simulation/sweep/uijson.py diff --git a/simpeg_drivers/options.py b/simpeg_drivers/options.py index d6c06fca..d1b35a10 100644 --- a/simpeg_drivers/options.py +++ b/simpeg_drivers/options.py @@ -183,7 +183,9 @@ class CoreOptions(Options): version: str = public_version() icon: str | None = None inversion_type: str - documentation: str | None = None + documentation: str | None = ( + "https://mirageoscience-simpeg-drivers.readthedocs-hosted.com/en/stable/intro.html" + ) conda_environment: str = "simpeg_drivers" run_command: str = "simpeg_drivers.driver" mesh: Octree | Grid2D | DrapeModel | None = None diff --git a/simpeg_drivers/plate_simulation/__init__.py b/simpeg_drivers/plate_simulation/__init__.py index df32b204..6f1705aa 100644 --- a/simpeg_drivers/plate_simulation/__init__.py +++ b/simpeg_drivers/plate_simulation/__init__.py @@ -7,3 +7,5 @@ # (see LICENSE file at the root of this source code package). ' # ' # ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + +from .driver import PlateSimulationDriver diff --git a/simpeg_drivers/plate_simulation/match/__init__.py b/simpeg_drivers/plate_simulation/match/__init__.py index df32b204..56a5c742 100644 --- a/simpeg_drivers/plate_simulation/match/__init__.py +++ b/simpeg_drivers/plate_simulation/match/__init__.py @@ -7,3 +7,5 @@ # (see LICENSE file at the root of this source code package). ' # ' # ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + +from .driver import PlateMatchDriver diff --git a/simpeg_drivers/plate_simulation/match/uijson.py b/simpeg_drivers/plate_simulation/match/uijson.py deleted file mode 100644 index e2fc3c23..00000000 --- a/simpeg_drivers/plate_simulation/match/uijson.py +++ /dev/null @@ -1,26 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2023-2026 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 geoh5py.ui_json.forms import DataForm, FloatForm, ObjectForm, StringForm -from geoh5py.ui_json.ui_json import BaseUIJson -from pydantic import ConfigDict - - -class PlateMatchUIJson(BaseUIJson): - model_config = ConfigDict(arbitrary_types_allowed=True) - - survey: ObjectForm - data: DataForm - queries: ObjectForm - strike_angles: DataForm - max_distance: FloatForm - topography_object: ObjectForm - topography: DataForm - simulations: StringForm diff --git a/simpeg_drivers/plate_simulation/sweep/__init__.py b/simpeg_drivers/plate_simulation/sweep/__init__.py index df32b204..f6af80c8 100644 --- a/simpeg_drivers/plate_simulation/sweep/__init__.py +++ b/simpeg_drivers/plate_simulation/sweep/__init__.py @@ -7,3 +7,5 @@ # (see LICENSE file at the root of this source code package). ' # ' # ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + +from .driver import PlateSweepDriver diff --git a/simpeg_drivers/plate_simulation/sweep/driver.py b/simpeg_drivers/plate_simulation/sweep/driver.py index 7bbbe6ae..b8a47a7c 100644 --- a/simpeg_drivers/plate_simulation/sweep/driver.py +++ b/simpeg_drivers/plate_simulation/sweep/driver.py @@ -14,7 +14,6 @@ import sys from numbers import Number from pathlib import Path -from typing import Self import numpy as np from dask.distributed import Client @@ -36,7 +35,6 @@ from simpeg_drivers.plate_simulation.driver import PlateSimulationDriver from simpeg_drivers.plate_simulation.options import PlateSimulationOptions from simpeg_drivers.plate_simulation.sweep.options import SweepOptions -from simpeg_drivers.plate_simulation.sweep.uijson import PlateSweepUIJson from simpeg_drivers.utils.utils import start_dask_run, validate_out_group @@ -71,28 +69,6 @@ def start_message(self): Starting message displayed by the logger. """ - @classmethod - def start(cls, filepath: str | Path, mode="r", **_) -> Self: - """Start the parameter sweep from a ui.json file.""" - logger.info("Loading input file . . .") - filepath = Path(filepath).resolve() - uijson = PlateSweepUIJson.read(filepath) - - try: - with Workspace(uijson.geoh5, mode=mode) as workspace: - options = SweepOptions.build(uijson.to_params(workspace=workspace)) - logger.info("Initializing application . . .") - driver = cls(options) - logger.info("Running application . . .") - driver.run() - logger.info("Results saved to %s", options.geoh5.h5file) - - except GeoAppsError as error: - logger.warning("\n\nApplicationError: %s\n\n", error) - sys.exit(1) - - return driver - def run(self): """Loop over all trials and run a worker for each unique parameter set.""" diff --git a/simpeg_drivers/plate_simulation/sweep/uijson.py b/simpeg_drivers/plate_simulation/sweep/uijson.py deleted file mode 100644 index 8a74ff32..00000000 --- a/simpeg_drivers/plate_simulation/sweep/uijson.py +++ /dev/null @@ -1,55 +0,0 @@ -# ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2023-2026 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 geoh5py.ui_json.forms import ( - BoolForm, - FloatForm, - GroupForm, - IntegerForm, - StringForm, -) -from geoh5py.ui_json.ui_json import BaseUIJson -from pydantic import ConfigDict - - -class PlateSweepUIJson(BaseUIJson): - model_config = ConfigDict(arbitrary_types_allowed=True) - - template: GroupForm - background_start: FloatForm - background_stop: FloatForm - background_count: IntegerForm - overburden_start: FloatForm - overburden_stop: FloatForm - overburden_count: IntegerForm - thickness_start: FloatForm - thickness_stop: FloatForm - thickness_count: IntegerForm - plate_start: FloatForm - plate_stop: FloatForm - plate_count: IntegerForm - width_start: FloatForm - width_stop: FloatForm - width_count: IntegerForm - strike_length_start: FloatForm - strike_length_stop: FloatForm - strike_length_count: IntegerForm - dip_length_start: FloatForm - dip_length_stop: FloatForm - dip_length_count: IntegerForm - dip_start: FloatForm - dip_stop: FloatForm - dip_count: IntegerForm - dip_direction_start: FloatForm - dip_direction_stop: FloatForm - dip_direction_count: IntegerForm - out_group: GroupForm | None - workdir: StringForm | None - generate_summary: BoolForm From fc321440bf743d4be03191d70e5c2af1813fcdae Mon Sep 17 00:00:00 2001 From: domfournier Date: Tue, 21 Apr 2026 09:53:21 -0700 Subject: [PATCH 2/5] Relock on release branches --- .../py-3.12-linux-64-dev.conda.lock.yml | 6 ++-- environments/py-3.12-linux-64.conda.lock.yml | 6 ++-- .../py-3.12-win-64-dev.conda.lock.yml | 6 ++-- environments/py-3.12-win-64.conda.lock.yml | 6 ++-- .../py-3.13-linux-64-dev.conda.lock.yml | 6 ++-- environments/py-3.13-linux-64.conda.lock.yml | 6 ++-- .../py-3.13-win-64-dev.conda.lock.yml | 6 ++-- environments/py-3.13-win-64.conda.lock.yml | 6 ++-- .../py-3.14-linux-64-dev.conda.lock.yml | 6 ++-- environments/py-3.14-linux-64.conda.lock.yml | 6 ++-- .../py-3.14-win-64-dev.conda.lock.yml | 6 ++-- environments/py-3.14-win-64.conda.lock.yml | 6 ++-- py-3.12.conda-lock.yml | 36 +++++++++---------- py-3.13.conda-lock.yml | 36 +++++++++---------- py-3.14.conda-lock.yml | 36 +++++++++---------- pyproject.toml | 8 ++--- 16 files changed, 94 insertions(+), 94 deletions(-) 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 8c8a1aa6..55e54d80 100644 --- a/environments/py-3.12-linux-64-dev.conda.lock.yml +++ b/environments/py-3.12-linux-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: aafe1c8abf5f2416d4f10fa06cf2d0c04c47baf7648a31102aaf49033caf8d1a +# input_hash: 9dbf443ebb900f2b23d9cf6cbee883b333007e25e8574ffff6581dafbee352da channels: - conda-forge @@ -67,7 +67,7 @@ dependencies: - exceptiongroup=1.3.1=pyhd8ed1ab_0 - executing=2.2.1=pyhd8ed1ab_0 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py312h8a5da7c_0 + - fonttools=4.62.1=py312h8a5da7c_0 - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.14.3=ha770c72_0 - fsspec=2026.3.0=pyhd8ed1ab_0 @@ -303,7 +303,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.12-linux-64.conda.lock.yml b/environments/py-3.12-linux-64.conda.lock.yml index e91545be..d177709c 100644 --- a/environments/py-3.12-linux-64.conda.lock.yml +++ b/environments/py-3.12-linux-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: aafe1c8abf5f2416d4f10fa06cf2d0c04c47baf7648a31102aaf49033caf8d1a +# input_hash: 9dbf443ebb900f2b23d9cf6cbee883b333007e25e8574ffff6581dafbee352da channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - distributed=2025.3.1=pyhd8ed1ab_0 - et_xmlfile=2.0.0=pyhd8ed1ab_1 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py312h8a5da7c_0 + - fonttools=4.62.1=py312h8a5da7c_0 - freetype=2.14.3=ha770c72_0 - fsspec=2026.3.0=pyhd8ed1ab_0 - geoana=0.8.1=np2py312h2a48985_0 @@ -171,7 +171,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: 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 fe68dab7..04cd0cb9 100644 --- a/environments/py-3.12-win-64-dev.conda.lock.yml +++ b/environments/py-3.12-win-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 242cc486eeea4891712e6b25f7d1c4461e1caa4743b40d8b5da026391c01085c +# input_hash: b867f8e92f482fb7bbf2ea90922ccd0695c85058eed369b175b60f9e4f25212a channels: - conda-forge @@ -66,7 +66,7 @@ dependencies: - exceptiongroup=1.3.1=pyhd8ed1ab_0 - executing=2.2.1=pyhd8ed1ab_0 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py312h05f76fc_0 + - fonttools=4.62.1=py312h05f76fc_0 - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.14.3=h57928b3_0 - fsspec=2026.3.0=pyhd8ed1ab_0 @@ -288,7 +288,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.12-win-64.conda.lock.yml b/environments/py-3.12-win-64.conda.lock.yml index bf126458..c4c51e11 100644 --- a/environments/py-3.12-win-64.conda.lock.yml +++ b/environments/py-3.12-win-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 242cc486eeea4891712e6b25f7d1c4461e1caa4743b40d8b5da026391c01085c +# input_hash: b867f8e92f482fb7bbf2ea90922ccd0695c85058eed369b175b60f9e4f25212a channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - distributed=2025.3.1=pyhd8ed1ab_0 - et_xmlfile=2.0.0=pyhd8ed1ab_1 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py312h05f76fc_0 + - fonttools=4.62.1=py312h05f76fc_0 - freetype=2.14.3=h57928b3_0 - fsspec=2026.3.0=pyhd8ed1ab_0 - geoana=0.8.1=np2py312h7c90ba1_0 @@ -158,7 +158,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.13-linux-64-dev.conda.lock.yml b/environments/py-3.13-linux-64-dev.conda.lock.yml index 81134acf..776b7721 100644 --- a/environments/py-3.13-linux-64-dev.conda.lock.yml +++ b/environments/py-3.13-linux-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 9c084fb4e43ef817a9ccbd7d830c295486fa3a57249edd4c6a77fb42bd4c7ff0 +# input_hash: b03e67993bde3294a60073afd060af956f54f3a7d454a9bae07e23821baab666 channels: - conda-forge @@ -67,7 +67,7 @@ dependencies: - exceptiongroup=1.3.1=pyhd8ed1ab_0 - executing=2.2.1=pyhd8ed1ab_0 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py313h3dea7bd_0 + - fonttools=4.62.1=py313h3dea7bd_0 - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.14.3=ha770c72_0 - fsspec=2026.3.0=pyhd8ed1ab_0 @@ -300,7 +300,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.13-linux-64.conda.lock.yml b/environments/py-3.13-linux-64.conda.lock.yml index d6d455e0..c90d981b 100644 --- a/environments/py-3.13-linux-64.conda.lock.yml +++ b/environments/py-3.13-linux-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 9c084fb4e43ef817a9ccbd7d830c295486fa3a57249edd4c6a77fb42bd4c7ff0 +# input_hash: b03e67993bde3294a60073afd060af956f54f3a7d454a9bae07e23821baab666 channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - distributed=2025.3.1=pyhd8ed1ab_0 - et_xmlfile=2.0.0=pyhd8ed1ab_1 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py313h3dea7bd_0 + - fonttools=4.62.1=py313h3dea7bd_0 - freetype=2.14.3=ha770c72_0 - fsspec=2026.3.0=pyhd8ed1ab_0 - geoana=0.8.1=np2py313h0f78c12_0 @@ -168,7 +168,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.13-win-64-dev.conda.lock.yml b/environments/py-3.13-win-64-dev.conda.lock.yml index c367a277..17eaca1a 100644 --- a/environments/py-3.13-win-64-dev.conda.lock.yml +++ b/environments/py-3.13-win-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 634cec3ecb56deda7d45fbb3187fdfd23a39124f4735afaafd63281ac1d4e160 +# input_hash: 549c87ec85cae1a090e8f3695e34205965f3756892c6bada7e87f456d0a7785f channels: - conda-forge @@ -66,7 +66,7 @@ dependencies: - exceptiongroup=1.3.1=pyhd8ed1ab_0 - executing=2.2.1=pyhd8ed1ab_0 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py313hd650c13_0 + - fonttools=4.62.1=py313hd650c13_0 - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.14.3=h57928b3_0 - fsspec=2026.3.0=pyhd8ed1ab_0 @@ -287,7 +287,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.13-win-64.conda.lock.yml b/environments/py-3.13-win-64.conda.lock.yml index cbbb4e81..d1eaf012 100644 --- a/environments/py-3.13-win-64.conda.lock.yml +++ b/environments/py-3.13-win-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 634cec3ecb56deda7d45fbb3187fdfd23a39124f4735afaafd63281ac1d4e160 +# input_hash: 549c87ec85cae1a090e8f3695e34205965f3756892c6bada7e87f456d0a7785f channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - distributed=2025.3.1=pyhd8ed1ab_0 - et_xmlfile=2.0.0=pyhd8ed1ab_1 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=py313hd650c13_0 + - fonttools=4.62.1=py313hd650c13_0 - freetype=2.14.3=h57928b3_0 - fsspec=2026.3.0=pyhd8ed1ab_0 - geoana=0.8.1=np2py313hedd11bf_0 @@ -157,7 +157,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.14-linux-64-dev.conda.lock.yml b/environments/py-3.14-linux-64-dev.conda.lock.yml index 0ffffdc1..fbdecc71 100644 --- a/environments/py-3.14-linux-64-dev.conda.lock.yml +++ b/environments/py-3.14-linux-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 6b8cd4100493c90834719717e9dba0c8025d7cf52a516970a8ba54b345ad21d1 +# input_hash: f09f5f5170fd998e92740415baffc0737406988d3c2294db566572f1177ff4e2 channels: - conda-forge @@ -67,7 +67,7 @@ dependencies: - exceptiongroup=1.3.1=pyhd8ed1ab_0 - executing=2.2.1=pyhd8ed1ab_0 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=pyh7db6752_0 + - fonttools=4.62.1=pyh7db6752_0 - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.14.3=ha770c72_0 - fsspec=2026.3.0=pyhd8ed1ab_0 @@ -301,7 +301,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.14-linux-64.conda.lock.yml b/environments/py-3.14-linux-64.conda.lock.yml index 7ac8a05c..0749e4b7 100644 --- a/environments/py-3.14-linux-64.conda.lock.yml +++ b/environments/py-3.14-linux-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 6b8cd4100493c90834719717e9dba0c8025d7cf52a516970a8ba54b345ad21d1 +# input_hash: f09f5f5170fd998e92740415baffc0737406988d3c2294db566572f1177ff4e2 channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - distributed=2025.3.1=pyhd8ed1ab_0 - et_xmlfile=2.0.0=pyhd8ed1ab_1 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=pyh7db6752_0 + - fonttools=4.62.1=pyh7db6752_0 - freetype=2.14.3=ha770c72_0 - fsspec=2026.3.0=pyhd8ed1ab_0 - geoana=0.8.1=np2py314hb287c12_0 @@ -169,7 +169,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.14-win-64-dev.conda.lock.yml b/environments/py-3.14-win-64-dev.conda.lock.yml index 9d524d83..eceebab8 100644 --- a/environments/py-3.14-win-64-dev.conda.lock.yml +++ b/environments/py-3.14-win-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: b56575358cf9c86097af766e84815a217fa1f2932b34252343b018b28a5ce092 +# input_hash: c5ac581ac072676e59d734851c83b81a2dfbc8c2e71809525b6873163ee24ad2 channels: - conda-forge @@ -66,7 +66,7 @@ dependencies: - exceptiongroup=1.3.1=pyhd8ed1ab_0 - executing=2.2.1=pyhd8ed1ab_0 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=pyh7db6752_0 + - fonttools=4.62.1=pyh7db6752_0 - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.14.3=h57928b3_0 - fsspec=2026.3.0=pyhd8ed1ab_0 @@ -288,7 +288,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/environments/py-3.14-win-64.conda.lock.yml b/environments/py-3.14-win-64.conda.lock.yml index 133ea6c7..fba76e78 100644 --- a/environments/py-3.14-win-64.conda.lock.yml +++ b/environments/py-3.14-win-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: b56575358cf9c86097af766e84815a217fa1f2932b34252343b018b28a5ce092 +# input_hash: c5ac581ac072676e59d734851c83b81a2dfbc8c2e71809525b6873163ee24ad2 channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - distributed=2025.3.1=pyhd8ed1ab_0 - et_xmlfile=2.0.0=pyhd8ed1ab_1 - fasteners=0.19=pyhd8ed1ab_1 - - fonttools=4.62.0=pyh7db6752_0 + - fonttools=4.62.1=pyh7db6752_0 - freetype=2.14.3=h57928b3_0 - fsspec=2026.3.0=pyhd8ed1ab_0 - geoana=0.8.1=np2py314h1495373_0 @@ -158,7 +158,7 @@ dependencies: - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@9baaece0133496c23519ff2708f89e679e900fd0 - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@6ad559b09341b80c22aac363cbd0087089bd1a8a - - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@fa25746b50102620bd8bcaf91aff8a3f745d8c4b variables: diff --git a/py-3.12.conda-lock.yml b/py-3.12.conda-lock.yml index c13d64ec..33e5d810 100644 --- a/py-3.12.conda-lock.yml +++ b/py-3.12.conda-lock.yml @@ -15,8 +15,8 @@ version: 1 metadata: content_hash: - win-64: 242cc486eeea4891712e6b25f7d1c4461e1caa4743b40d8b5da026391c01085c - linux-64: aafe1c8abf5f2416d4f10fa06cf2d0c04c47baf7648a31102aaf49033caf8d1a + win-64: b867f8e92f482fb7bbf2ea90922ccd0695c85058eed369b175b60f9e4f25212a + linux-64: 9dbf443ebb900f2b23d9cf6cbee883b333007e25e8574ffff6581dafbee352da channels: - url: conda-forge used_env_vars: [] @@ -1766,7 +1766,7 @@ package: category: main optional: false - name: fonttools - version: 4.62.0 + version: 4.62.1 manager: conda platform: linux-64 dependencies: @@ -1777,14 +1777,14 @@ package: python: '>=3.12,<3.13.0a0' python_abi: 3.12.* unicodedata2: '>=15.1.0' - url: https://repo.prefix.dev/conda-forge/linux-64/fonttools-4.62.0-py312h8a5da7c_0.conda + url: https://repo.prefix.dev/conda-forge/linux-64/fonttools-4.62.1-py312h8a5da7c_0.conda hash: - md5: 526f7ffd63820e55d7992cc1cf931a36 - sha256: 777c80a1aa0889e6b637631c31f95d0b048848c5ba710f89ed7cedd3ad318227 + md5: 2396fee22e84f69dffc6e23135905ce8 + sha256: e81f6e1ddadbc81ce56b158790148835256d2a3d5762016d389daaa06decfeab category: main optional: false - name: fonttools - version: 4.62.0 + version: 4.62.1 manager: conda platform: win-64 dependencies: @@ -1796,10 +1796,10 @@ package: unicodedata2: '>=15.1.0' vc: '>=14.3,<15' vc14_runtime: '>=14.44.35208' - url: https://repo.prefix.dev/conda-forge/win-64/fonttools-4.62.0-py312h05f76fc_0.conda + url: https://repo.prefix.dev/conda-forge/win-64/fonttools-4.62.1-py312h05f76fc_0.conda hash: - md5: 96c115ac5095960276978618087116ec - sha256: 41bfb37800a8247339abdac2ae2e1cb4cfe62bf5cd853efc768f726916c36df6 + md5: ed369e820a91b65d46be0e7f3b6dcdfa + sha256: b04f7c6d00b536e12874df123a79c093a0c6c31f1b40bc51185e8ed4be88a7a9 category: main optional: false - name: fqdn @@ -8431,7 +8431,7 @@ package: category: main optional: false - name: grid-apps - version: 0.2.0a3 + version: 0.2.0a4.dev1+e2dc749 manager: pip platform: linux-64 dependencies: @@ -8441,16 +8441,16 @@ package: numpy: '>=2.4.2,<2.5.0' pydantic: '>=2.12.0,<2.13.0' scipy: '>=1.17.0,<1.18.0' - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 hash: - sha256: 57806e78469cb881a8d5dceae645336e77310bf4 + sha256: e2dc749f851024de3d6d425803229943b674c4e4 source: type: url - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 category: main optional: false - name: grid-apps - version: 0.2.0a3 + version: 0.2.0a4.dev1+e2dc749 manager: pip platform: win-64 dependencies: @@ -8460,12 +8460,12 @@ package: numpy: '>=2.4.2,<2.5.0' pydantic: '>=2.12.0,<2.13.0' scipy: '>=1.17.0,<1.18.0' - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 hash: - sha256: 57806e78469cb881a8d5dceae645336e77310bf4 + sha256: e2dc749f851024de3d6d425803229943b674c4e4 source: type: url - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 category: main optional: false - name: mira-simpeg diff --git a/py-3.13.conda-lock.yml b/py-3.13.conda-lock.yml index 6172af6f..d7fde9a5 100644 --- a/py-3.13.conda-lock.yml +++ b/py-3.13.conda-lock.yml @@ -15,8 +15,8 @@ version: 1 metadata: content_hash: - win-64: 634cec3ecb56deda7d45fbb3187fdfd23a39124f4735afaafd63281ac1d4e160 - linux-64: 9c084fb4e43ef817a9ccbd7d830c295486fa3a57249edd4c6a77fb42bd4c7ff0 + win-64: 549c87ec85cae1a090e8f3695e34205965f3756892c6bada7e87f456d0a7785f + linux-64: b03e67993bde3294a60073afd060af956f54f3a7d454a9bae07e23821baab666 channels: - url: conda-forge used_env_vars: [] @@ -1766,7 +1766,7 @@ package: category: main optional: false - name: fonttools - version: 4.62.0 + version: 4.62.1 manager: conda platform: linux-64 dependencies: @@ -1776,14 +1776,14 @@ package: munkres: '' python: '>=3.13,<3.14.0a0' python_abi: 3.13.* - url: https://repo.prefix.dev/conda-forge/linux-64/fonttools-4.62.0-py313h3dea7bd_0.conda + url: https://repo.prefix.dev/conda-forge/linux-64/fonttools-4.62.1-py313h3dea7bd_0.conda hash: - md5: e479cfdec38fb69dc81ce8806b5c75f6 - sha256: 259c633b5f5f3202f851a00953ae98f00a9e3c68747fc011aa0f59169128220f + md5: 98082dfa338d9f0dca885e4865c69a20 + sha256: 45fbd480b4bece6a2eb674ba87390e75d5b06b2114c8f57210e7ca0d19e2509e category: main optional: false - name: fonttools - version: 4.62.0 + version: 4.62.1 manager: conda platform: win-64 dependencies: @@ -1794,10 +1794,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.3,<15' vc14_runtime: '>=14.44.35208' - url: https://repo.prefix.dev/conda-forge/win-64/fonttools-4.62.0-py313hd650c13_0.conda + url: https://repo.prefix.dev/conda-forge/win-64/fonttools-4.62.1-py313hd650c13_0.conda hash: - md5: 8bea8a8b3e5b1e405ef873bccd252a7e - sha256: 8371705abef41009efa7bf4910e58363e6022c7796b50c819f81dc0e0560c243 + md5: 0638575ee9aaec193898033359a93d8d + sha256: 68c0b06345e9aaf77ff9c371d3e27a9e11b3a4d09d8b4c58b27417ce36d4da05 category: main optional: false - name: fqdn @@ -8372,7 +8372,7 @@ package: category: main optional: false - name: grid-apps - version: 0.2.0a3 + version: 0.2.0a4.dev1+e2dc749 manager: pip platform: linux-64 dependencies: @@ -8382,16 +8382,16 @@ package: numpy: '>=2.4.2,<2.5.0' pydantic: '>=2.12.0,<2.13.0' scipy: '>=1.17.0,<1.18.0' - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 hash: - sha256: 57806e78469cb881a8d5dceae645336e77310bf4 + sha256: e2dc749f851024de3d6d425803229943b674c4e4 source: type: url - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 category: main optional: false - name: grid-apps - version: 0.2.0a3 + version: 0.2.0a4.dev1+e2dc749 manager: pip platform: win-64 dependencies: @@ -8401,12 +8401,12 @@ package: numpy: '>=2.4.2,<2.5.0' pydantic: '>=2.12.0,<2.13.0' scipy: '>=1.17.0,<1.18.0' - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 hash: - sha256: 57806e78469cb881a8d5dceae645336e77310bf4 + sha256: e2dc749f851024de3d6d425803229943b674c4e4 source: type: url - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 category: main optional: false - name: mira-simpeg diff --git a/py-3.14.conda-lock.yml b/py-3.14.conda-lock.yml index 08f19fd6..a4af2914 100644 --- a/py-3.14.conda-lock.yml +++ b/py-3.14.conda-lock.yml @@ -15,8 +15,8 @@ version: 1 metadata: content_hash: - win-64: b56575358cf9c86097af766e84815a217fa1f2932b34252343b018b28a5ce092 - linux-64: 6b8cd4100493c90834719717e9dba0c8025d7cf52a516970a8ba54b345ad21d1 + win-64: c5ac581ac072676e59d734851c83b81a2dfbc8c2e71809525b6873163ee24ad2 + linux-64: f09f5f5170fd998e92740415baffc0737406988d3c2294db566572f1177ff4e2 channels: - url: conda-forge used_env_vars: [] @@ -1757,7 +1757,7 @@ package: category: main optional: false - name: fonttools - version: 4.62.0 + version: 4.62.1 manager: conda platform: linux-64 dependencies: @@ -1765,14 +1765,14 @@ package: munkres: '' python: '>=3.10' unicodedata2: '>=15.1.0' - url: https://repo.prefix.dev/conda-forge/noarch/fonttools-4.62.0-pyh7db6752_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/fonttools-4.62.1-pyh7db6752_0.conda hash: - md5: 049f68f9c90f00069c748cd6fb7bfb55 - sha256: ed4462f6e49b8dea4e45f7294cca576a38cf4fc41e04bbcd95f9cf55be7776b9 + md5: 14cf1ac7a1e29553c6918f7860aab6d8 + sha256: fa77109df37580ce0933d4e6c5a44b2f0c192af2f8e503bfdbfb3b49a8b8e538 category: main optional: false - name: fonttools - version: 4.62.0 + version: 4.62.1 manager: conda platform: win-64 dependencies: @@ -1780,10 +1780,10 @@ package: munkres: '' python: '>=3.10' unicodedata2: '>=15.1.0' - url: https://repo.prefix.dev/conda-forge/noarch/fonttools-4.62.0-pyh7db6752_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/fonttools-4.62.1-pyh7db6752_0.conda hash: - md5: 049f68f9c90f00069c748cd6fb7bfb55 - sha256: ed4462f6e49b8dea4e45f7294cca576a38cf4fc41e04bbcd95f9cf55be7776b9 + md5: 14cf1ac7a1e29553c6918f7860aab6d8 + sha256: fa77109df37580ce0933d4e6c5a44b2f0c192af2f8e503bfdbfb3b49a8b8e538 category: main optional: false - name: fqdn @@ -8391,7 +8391,7 @@ package: category: main optional: false - name: grid-apps - version: 0.2.0a3 + version: 0.2.0a4.dev1+e2dc749 manager: pip platform: linux-64 dependencies: @@ -8401,16 +8401,16 @@ package: numpy: '>=2.4.2,<2.5.0' pydantic: '>=2.12.0,<2.13.0' scipy: '>=1.17.0,<1.18.0' - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 hash: - sha256: 57806e78469cb881a8d5dceae645336e77310bf4 + sha256: e2dc749f851024de3d6d425803229943b674c4e4 source: type: url - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 category: main optional: false - name: grid-apps - version: 0.2.0a3 + version: 0.2.0a4.dev1+e2dc749 manager: pip platform: win-64 dependencies: @@ -8420,12 +8420,12 @@ package: numpy: '>=2.4.2,<2.5.0' pydantic: '>=2.12.0,<2.13.0' scipy: '>=1.17.0,<1.18.0' - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 hash: - sha256: 57806e78469cb881a8d5dceae645336e77310bf4 + sha256: e2dc749f851024de3d6d425803229943b674c4e4 source: type: url - url: git+https://github.com/MiraGeoscience/grid-apps.git@57806e78469cb881a8d5dceae645336e77310bf4 + url: git+https://github.com/MiraGeoscience/grid-apps.git@e2dc749f851024de3d6d425803229943b674c4e4 category: main optional: false - name: mira-simpeg diff --git a/pyproject.toml b/pyproject.toml index 97ed8df7..ff10d6c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -96,16 +96,16 @@ trimesh = "~4.1.3" ## Pip dependencies from Git repositories #---------------------------------------- #geoh5py = {version = ">=0.13.0a2, 0.13.*", source = "pypi", allow-prereleases = true} -geoh5py = {git = "https://github.com/MiraGeoscience/geoh5py.git", rev = "develop"} +geoh5py = {git = "https://github.com/MiraGeoscience/geoh5py.git", rev = "release/GA_4.8"} #grid-apps = {version = ">=0.2.0a2, 0.2.*", source = "pypi", allow-prereleases = true} -grid-apps = {git = "https://github.com/MiraGeoscience/grid-apps.git", rev = "develop"} +grid-apps = {git = "https://github.com/MiraGeoscience/grid-apps.git", rev = "release/GA_4.8"} #geoapps-utils = {version = ">=0.7.0a2, 0.7.*", source = "pypi", allow-prereleases = true} -geoapps-utils = {git = "https://github.com/MiraGeoscience/geoapps-utils.git", rev = "develop"} +geoapps-utils = {git = "https://github.com/MiraGeoscience/geoapps-utils.git", rev = "release/GA_4.8"} #mira-simpeg = {version = ">=0.23.0.2, 0.23.0.* || >=0.25.0.1a, 0.25.0.*", source="pypi", allow-prereleases = true, extras = ["dask"]} -mira-simpeg = {git = "https://github.com/MiraGeoscience/simpeg.git", rev = "develop", extras = ["dask"]} +mira-simpeg = {git = "https://github.com/MiraGeoscience/simpeg.git", rev = "release/GA_4.8", extras = ["dask"]} ## about pip dependencies # to be specified to work with conda-lock From fba25396d196590d9b9afb449a0258ee9d4fc4f7 Mon Sep 17 00:00:00 2001 From: domfournier Date: Tue, 21 Apr 2026 11:36:11 -0700 Subject: [PATCH 3/5] Fix issue with new/legacy uijsons. Simplify options logic for PlateSim --- simpeg_drivers/plate_simulation/options.py | 45 +++++-------------- .../plate_simulation/sweep/driver.py | 15 ++++++- .../plate_simulation/sweep/options.py | 24 +++++++--- 3 files changed, 44 insertions(+), 40 deletions(-) diff --git a/simpeg_drivers/plate_simulation/options.py b/simpeg_drivers/plate_simulation/options.py index ddbe3d32..b21451ee 100644 --- a/simpeg_drivers/plate_simulation/options.py +++ b/simpeg_drivers/plate_simulation/options.py @@ -13,48 +13,18 @@ from typing import ClassVar from geoapps_utils.base import Options +from geoapps_utils.run import fetch_driver_class_from_string from geoh5py.groups import SimPEGGroup, UIJsonGroup from geoh5py.ui_json import InputFile from simpeg_drivers import assets_path -from simpeg_drivers.electricals.direct_current.three_dimensions.options import ( - DC3DForwardOptions, -) -from simpeg_drivers.electromagnetics.frequency_domain.options import ( - FDEMForwardOptions, -) -from simpeg_drivers.electromagnetics.time_domain.options import ( - TDEMForwardOptions, -) -from simpeg_drivers.natural_sources.apparent_conductivity.options import ( - AppConForwardOptions, -) -from simpeg_drivers.natural_sources.magnetotellurics.options import ( - MTForwardOptions, -) -from simpeg_drivers.natural_sources.tipper.options import TipperForwardOptions +from simpeg_drivers.driver import from_input_file from simpeg_drivers.options import BaseForwardOptions -from simpeg_drivers.potential_fields.gravity.options import GravityForwardOptions -from simpeg_drivers.potential_fields.magnetic_vector import ( - MagneticVectorForwardOptions, -) from simpeg_drivers.utils.synthetics.meshes import MeshOptions from .models.options import ModelOptions -PARAM_MAP = { - "apparent conductivty": AppConForwardOptions, - "gravity": GravityForwardOptions, - "tdem": TDEMForwardOptions, - "fem": FDEMForwardOptions, - "magnetotellurics": MTForwardOptions, - "direct current 3d": DC3DForwardOptions, - "magnetic vector": MagneticVectorForwardOptions, - "tipper": TipperForwardOptions, -} - - class PlateSimulationOptions(Options): """ Parameters for the plate simulation driver. @@ -98,8 +68,15 @@ def simulation_parameters(self) -> BaseForwardOptions: if input_file.data is None: raise ValueError("Input file data must be set.") - if input_file.data["inversion_type"] in PARAM_MAP: - return PARAM_MAP[input_file.data["inversion_type"]].build(input_file.data) + driver = None + if input_file.data.get("inversion_type", None): + driver = from_input_file(input_file.data) + + if input_file.data.get("run_command", None): + driver = fetch_driver_class_from_string(input_file.data["run_command"]) + + if driver: + return driver.params_class.build(input_file.data) raise NotImplementedError( f"Unknown inversion type: {input_file.data['inversion_type']}" diff --git a/simpeg_drivers/plate_simulation/sweep/driver.py b/simpeg_drivers/plate_simulation/sweep/driver.py index b8a47a7c..f1290c5b 100644 --- a/simpeg_drivers/plate_simulation/sweep/driver.py +++ b/simpeg_drivers/plate_simulation/sweep/driver.py @@ -14,6 +14,7 @@ import sys from numbers import Number from pathlib import Path +from typing import Self import numpy as np from dask.distributed import Client @@ -69,6 +70,15 @@ def start_message(self): Starting message displayed by the logger. """ + @classmethod + def start(cls, filepath: str | Path, mode="r", **_) -> Self: + """ + Start the parameter sweep from a ui.json file. + + Force the mode to be read-only for safe copy. + """ + super().start(filepath, mode=mode) + def run(self): """Loop over all trials and run a worker for each unique parameter set.""" @@ -148,7 +158,10 @@ def run_trial( group for group in workspace.groups if isinstance(group, SimPEGGroup | UIJsonGroup) - and "plate_simulation.driver" in group.options.get("run_command") + and ( + "plate_simulation.driver" in group.options.get("run_command") + or "plate simulation" == group.options.get("inversion_type") + ) ) opt_dict = workspace.promote(flatten(plate_simulation.options)) diff --git a/simpeg_drivers/plate_simulation/sweep/options.py b/simpeg_drivers/plate_simulation/sweep/options.py index 0f2a5295..ba6a9913 100644 --- a/simpeg_drivers/plate_simulation/sweep/options.py +++ b/simpeg_drivers/plate_simulation/sweep/options.py @@ -17,7 +17,7 @@ from geoh5py.groups import SimPEGGroup, UIJsonGroup from geoh5py.shared.utils import stringify from geoh5py.ui_json import InputFile -from pydantic import BaseModel, ConfigDict, field_serializer +from pydantic import BaseModel, ConfigDict, field_serializer, field_validator from simpeg_drivers import assets_path @@ -34,11 +34,11 @@ class ParamSweep(BaseModel): name: str start: float - stop: float | None - count: int | None + stop: float + count: int def __call__(self) -> tuple[float, float, int]: - return (self.start, self.stop, self.count) + return self.start, self.stop, self.count class SweepOptions(Options): @@ -67,6 +67,16 @@ class SweepOptions(Options): sweeps: list[ParamSweep] workdir: Path = Path("./simulations") + @field_validator("workdir", mode="before") + @classmethod + def workdir_optional(cls, value): + """ + Deal with legacy optional workdir. + """ + if value is None: + value = Path("./simulations") + return value + @field_serializer("sweeps") def sweeps_to_params(self, sweeps): out = {} @@ -105,7 +115,11 @@ def collect_sweep(param: str) -> dict: "count": options.pop(f"{param}_count"), } - sweep_params = [k.removesuffix("_start") for k in options if "_start" in k] + sweep_params = [ + key.removesuffix("_start") + for key, val in options.items() + if ("_start" in key and val is not None) + ] options["sweeps"] = [collect_sweep(param) for param in sweep_params] return options From d5a2c29cfc07e3738b4635c9faa4f38cb4de71e6 Mon Sep 17 00:00:00 2001 From: domfournier Date: Tue, 21 Apr 2026 12:45:20 -0700 Subject: [PATCH 4/5] disable protected access --- simpeg_drivers/plate_simulation/options.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simpeg_drivers/plate_simulation/options.py b/simpeg_drivers/plate_simulation/options.py index b21451ee..754a9ff2 100644 --- a/simpeg_drivers/plate_simulation/options.py +++ b/simpeg_drivers/plate_simulation/options.py @@ -76,7 +76,7 @@ def simulation_parameters(self) -> BaseForwardOptions: driver = fetch_driver_class_from_string(input_file.data["run_command"]) if driver: - return driver.params_class.build(input_file.data) + return driver._params_class.build(input_file.data) # pylint: disable=protected-access raise NotImplementedError( f"Unknown inversion type: {input_file.data['inversion_type']}" From 5dbc0ecd0041269773678423b4f16011358f0ede Mon Sep 17 00:00:00 2001 From: domfournier Date: Tue, 21 Apr 2026 14:57:01 -0700 Subject: [PATCH 5/5] Update simpeg_drivers/plate_simulation/sweep/driver.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- simpeg_drivers/plate_simulation/sweep/driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simpeg_drivers/plate_simulation/sweep/driver.py b/simpeg_drivers/plate_simulation/sweep/driver.py index f1290c5b..10731872 100644 --- a/simpeg_drivers/plate_simulation/sweep/driver.py +++ b/simpeg_drivers/plate_simulation/sweep/driver.py @@ -77,7 +77,7 @@ def start(cls, filepath: str | Path, mode="r", **_) -> Self: Force the mode to be read-only for safe copy. """ - super().start(filepath, mode=mode) + return super().start(filepath, mode="r") def run(self): """Loop over all trials and run a worker for each unique parameter set."""