From 101e2d64970190dec2f1d22cace2db727477fabc Mon Sep 17 00:00:00 2001 From: dominiquef Date: Fri, 23 Jan 2026 12:01:37 -0800 Subject: [PATCH 01/11] Bring back tiles as input of build --- .../factories/directives_factory.py | 2 +- .../components/factories/misfit_factory.py | 20 ++++++++----------- simpeg_drivers/driver.py | 5 ++--- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index 80472a84..4a67d422 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -273,7 +273,7 @@ def scale_misfits(self): and len(self.driver.data_misfit.objfcts) > 1 ): self._scale_misfits = directives.ScaleMisfitMultipliers( - self.params.geoh5.h5file.parent + self.params.geoh5.h5file.parent, self.driver.tiles ) return self._scale_misfits diff --git a/simpeg_drivers/components/factories/misfit_factory.py b/simpeg_drivers/components/factories/misfit_factory.py index 0900c504..ca2713aa 100644 --- a/simpeg_drivers/components/factories/misfit_factory.py +++ b/simpeg_drivers/components/factories/misfit_factory.py @@ -44,7 +44,6 @@ def __init__( self, params, simulation, - tiles: dict[list[np.ndarray]], client: Client | bool, workers: list[tuple[str]], ): @@ -52,7 +51,6 @@ def __init__( self.simpeg_object = self.concrete_object() self.simulation = simulation - self.tiles = tiles self.client = client self.workers = workers @@ -61,6 +59,7 @@ def concrete_object(self): def assemble_arguments( # pylint: disable=arguments-differ self, + tiles: dict[list[np.ndarray]], ): use_futures = self.client @@ -72,21 +71,18 @@ def assemble_arguments( # pylint: disable=arguments-differ misfits = [] tile_count = 0 - for channel, tiles in self.tiles.items(): - for local_indices in tiles: + for channel, tile_list in tiles.items(): + for tile in tile_list: # Split again but use the same mesh extent based on tile vertices - for sub_ind in local_indices: - if len(sub_ind) == 0: - continue - + for sub_indices in tile: args = ( - sub_ind, + sub_indices, temp_file.name, channel, tile_count, self.params.padding_cells, self.params.forward_only, - np.hstack(local_indices), + np.hstack(tile), ) # Distribute the work across workers round-robin style if use_futures: @@ -124,10 +120,10 @@ def assemble_arguments( # pylint: disable=arguments-differ def assemble_keyword_arguments(self, **_): """Implementation of abstract method from SimPEGFactory.""" - def build(self, **_): + def build(self, tiles, **_): """To be over-ridden in factory implementations.""" - misfits = self.assemble_arguments() + misfits = self.assemble_arguments(tiles) if self.client: return dask_objective_function.DistributedComboMisfits( diff --git a/simpeg_drivers/driver.py b/simpeg_drivers/driver.py index 5a23dbb4..52c38cbd 100644 --- a/simpeg_drivers/driver.py +++ b/simpeg_drivers/driver.py @@ -330,10 +330,9 @@ def data_misfit(self): self._data_misfit = MisfitFactory( self.params, self.simulation, - self.tiles, client=self.client, workers=self.workers, - ).build() + ).build(self.tiles) return self._data_misfit @@ -789,7 +788,7 @@ def get_tiles(self): sorting=self.simulation.survey.sorting, ) - self.split_list(tiles) + tiles = self.split_list(tiles) # Base slice over frequencies if self.params.inversion_type in ["magnetotellurics", "tipper", "fdem"]: From 0da1bd1e3499a2c8a4fbc6aa0b5cd53f77968a52 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sun, 25 Jan 2026 08:32:00 -0800 Subject: [PATCH 02/11] Update implementation of directive --- .../factories/directives_factory.py | 4 +++- simpeg_drivers/driver.py | 23 +++++++++++++++++++ simpeg_drivers/joint/driver.py | 14 +++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index 4a67d422..035d97b2 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -272,8 +272,10 @@ def scale_misfits(self): and self.params.directives.auto_scale_misfits and len(self.driver.data_misfit.objfcts) > 1 ): + nested_tiles = self.driver.get_nested_tiles() + self._scale_misfits = directives.ScaleMisfitMultipliers( - self.params.geoh5.h5file.parent, self.driver.tiles + self.params.geoh5.h5file.parent, nested_tiles ) return self._scale_misfits diff --git a/simpeg_drivers/driver.py b/simpeg_drivers/driver.py index 52c38cbd..4de5b95f 100644 --- a/simpeg_drivers/driver.py +++ b/simpeg_drivers/driver.py @@ -343,6 +343,29 @@ def directives(self): self._directives = DirectivesFactory(self) return self._directives + def get_nested_tiles(self) -> list: + """ + Get nested tiles per channel and receiver tiling. + + Returns a flat list of tiles if auto_scale_misfits is False, + otherwise returns a nested list [channel][tile]. + """ + nested_tiles = [] + for channel in self.tiles.values(): + tile_list = [] + for tile in channel: + if self.params.directives.auto_scale_misfits: + tile_list.append(tile) + else: + tile_list += tile + + if self.params.directives.auto_scale_misfits: + nested_tiles.append(tile_list) + else: + nested_tiles += tile_list + + return nested_tiles + @property def inverse_problem(self): if getattr(self, "_inverse_problem", None) is None: diff --git a/simpeg_drivers/joint/driver.py b/simpeg_drivers/joint/driver.py index cd945bfa..3f74db24 100644 --- a/simpeg_drivers/joint/driver.py +++ b/simpeg_drivers/joint/driver.py @@ -58,6 +58,7 @@ def data_misfit(self): if getattr(self, "_data_misfit", None) is None and self.drivers is not None: objective_functions = [] multipliers = [] + tiles = [] for label, driver in zip("abc", self.drivers, strict=False): if driver.data_misfit is not None: objective_functions += driver.data_misfit.objfcts @@ -69,7 +70,9 @@ def data_misfit(self): (getattr(self.params, f"group_{label}_multiplier") or 1.0) ** 2.0 ] * len(driver.data_misfit.objfcts) + tiles.append(driver.tiles) + self.tiles = tiles if self.client: return dask_objective_function.DistributedComboMisfits( objfcts=objective_functions, @@ -116,6 +119,17 @@ def get_local_actives(self, driver: InversionDriver): ] = False return global_active + def get_nested_tiles(self): + """Get nested tiles from all drivers.""" + all_tiles = [] + for driver in self.drivers: + if self.params.directives.auto_scale_misfits: + all_tiles.append(driver.get_nested_tiles()) + else: + all_tiles += driver.get_nested_tiles() + + return all_tiles + def initialize(self): """Generate sub drivers.""" From 0fce4c63d5c45a181ee644660c6c6971b62fdb9f Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sun, 25 Jan 2026 13:20:18 -0800 Subject: [PATCH 03/11] Re-lock to working simpeg branch --- .../py-3.10-linux-64-dev.conda.lock.yml | 18 +- environments/py-3.10-linux-64.conda.lock.yml | 12 +- .../py-3.10-win-64-dev.conda.lock.yml | 20 +- environments/py-3.10-win-64.conda.lock.yml | 12 +- .../py-3.11-linux-64-dev.conda.lock.yml | 22 +- environments/py-3.11-linux-64.conda.lock.yml | 17 +- .../py-3.11-win-64-dev.conda.lock.yml | 24 +- environments/py-3.11-win-64.conda.lock.yml | 17 +- .../py-3.12-linux-64-dev.conda.lock.yml | 22 +- environments/py-3.12-linux-64.conda.lock.yml | 17 +- .../py-3.12-win-64-dev.conda.lock.yml | 24 +- environments/py-3.12-win-64.conda.lock.yml | 17 +- py-3.10.conda-lock.yml | 160 ++++++------- py-3.11.conda-lock.yml | 213 +++++++++--------- py-3.12.conda-lock.yml | 213 +++++++++--------- pyproject.toml | 2 +- 16 files changed, 403 insertions(+), 407 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 4aef5f41..06d07397 100644 --- a/environments/py-3.10-linux-64-dev.conda.lock.yml +++ b/environments/py-3.10-linux-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 56acf844153236bc0bae9c73a9c7a6769bafd992ebe223ac3fa1ee1ba32d25ef +# input_hash: 60365f8795310bc050b0962d34eb28a5f81cd73f28a2e57843d0cbb351a4259d channels: - conda-forge @@ -87,14 +87,14 @@ dependencies: - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 - - jupyter-book=2.1.0=pyhcf101f3_0 + - jupyter-book=2.1.1=pyhcf101f3_0 - jupyter-lsp=2.3.0=pyhcf101f3_0 - jupyter_client=8.8.0=pyhcf101f3_0 - jupyter_core=5.9.1=pyhc90fa1f_0 - jupyter_events=0.12.0=pyh29332c3_0 - jupyter_server=2.17.0=pyhcf101f3_0 - jupyter_server_terminals=0.5.4=pyhcf101f3_0 - - jupyterlab=4.5.2=pyhd8ed1ab_0 + - jupyterlab=4.5.3=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 - jupyterlab_server=2.28.0=pyhcf101f3_0 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 @@ -106,7 +106,7 @@ dependencies: - lcms2=2.18=h0c24ade_0 - ld_impl_linux-64=2.45=default_hbd61a6d_105 - lerc=4.0.0=h0aef613_1 - - libaec=1.1.4=h3f801dc_0 + - libaec=1.1.5=h088129d_0 - libblas=3.9.0=37_h5875eb1_mkl - libbrotlicommon=1.2.0=hb03c661_1 - libbrotlidec=1.2.0=hb03c661_1 @@ -180,7 +180,7 @@ dependencies: - openjpeg=2.5.4=h55fea9a_0 - openssl=3.6.0=h26f9b46_0 - overrides=7.7.0=pyhd8ed1ab_1 - - packaging=25.0=pyh29332c3_1 + - packaging=26.0=pyhcf101f3_0 - pandas=2.3.3=py310h0158d43_2 - pandoc=3.8.3=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 @@ -236,7 +236,7 @@ dependencies: - sniffio=1.3.1=pyhd8ed1ab_2 - snowballstemmer=3.0.1=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_1 - - soupsieve=2.8.2=pyhd8ed1ab_0 + - soupsieve=2.8.3=pyhd8ed1ab_0 - sphinx=5.3.0=pyhd8ed1ab_0 - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 @@ -270,7 +270,7 @@ dependencies: - webcolors=25.10.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - websocket-client=1.9.0=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - xorg-libxau=1.0.12=hb03c661_1 - xorg-libxdmcp=1.1.5=hb03c661_1 @@ -284,9 +284,9 @@ dependencies: - zstd=1.5.7=hb78ec9c_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.10-linux-64.conda.lock.yml b/environments/py-3.10-linux-64.conda.lock.yml index acbe02bf..e16d2529 100644 --- a/environments/py-3.10-linux-64.conda.lock.yml +++ b/environments/py-3.10-linux-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 56acf844153236bc0bae9c73a9c7a6769bafd992ebe223ac3fa1ee1ba32d25ef +# input_hash: 60365f8795310bc050b0962d34eb28a5f81cd73f28a2e57843d0cbb351a4259d channels: - conda-forge @@ -49,7 +49,7 @@ dependencies: - lcms2=2.18=h0c24ade_0 - ld_impl_linux-64=2.45=default_hbd61a6d_105 - lerc=4.0.0=h0aef613_1 - - libaec=1.1.4=h3f801dc_0 + - libaec=1.1.5=h088129d_0 - libblas=3.9.0=37_h5875eb1_mkl - libbrotlicommon=1.2.0=hb03c661_1 - libbrotlidec=1.2.0=hb03c661_1 @@ -105,7 +105,7 @@ dependencies: - numpy=1.26.4=py310hb13e2d6_0 - openjpeg=2.5.4=h55fea9a_0 - openssl=3.6.0=h26f9b46_0 - - packaging=25.0=pyh29332c3_1 + - packaging=26.0=pyhcf101f3_0 - pandas=2.3.3=py310h0158d43_2 - partd=1.4.2=pyhd8ed1ab_0 - pillow=10.3.0=py310hebfe307_1 @@ -146,7 +146,7 @@ dependencies: - tzdata=2025c=hc9c84f9_1 - unicodedata2=17.0.0=py310h7c4b9e2_1 - urllib3=2.6.3=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - xorg-libxau=1.0.12=hb03c661_1 - xorg-libxdmcp=1.1.5=hb03c661_1 - xyzservices=2025.11.0=pyhd8ed1ab_0 @@ -157,9 +157,9 @@ dependencies: - zstd=1.5.7=hb78ec9c_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 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 cdbec403..dea36fdb 100644 --- a/environments/py-3.10-win-64-dev.conda.lock.yml +++ b/environments/py-3.10-win-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 4095d8c1a6c5ba4facb54b1eef593eaa3c13a1bb5dba5638b7d7103f84795d37 +# input_hash: 513268ec21061c523d433186bd37b10874a798b0afc73a84f57c8d68d4c7c39c channels: - conda-forge @@ -86,14 +86,14 @@ dependencies: - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 - - jupyter-book=2.1.0=pyhcf101f3_0 + - jupyter-book=2.1.1=pyhcf101f3_0 - jupyter-lsp=2.3.0=pyhcf101f3_0 - jupyter_client=8.8.0=pyhcf101f3_0 - jupyter_core=5.9.1=pyh6dadd2b_0 - jupyter_events=0.12.0=pyh29332c3_0 - jupyter_server=2.17.0=pyhcf101f3_0 - jupyter_server_terminals=0.5.4=pyhcf101f3_0 - - jupyterlab=4.5.2=pyhd8ed1ab_0 + - jupyterlab=4.5.3=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 - jupyterlab_server=2.28.0=pyhcf101f3_0 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 @@ -103,7 +103,7 @@ dependencies: - lark=1.3.1=pyhd8ed1ab_0 - lcms2=2.18=hf2c6c5f_0 - lerc=4.0.0=h6470a55_1 - - libaec=1.1.4=h20038f6_0 + - libaec=1.1.5=haf901d7_0 - libblas=3.9.0=35_h5709861_mkl - libbrotlicommon=1.2.0=hfd05255_1 - libbrotlidec=1.2.0=hfd05255_1 @@ -155,7 +155,7 @@ dependencies: - nbconvert-pandoc=7.16.6=h7d6f222_1 - nbformat=5.10.4=pyhd8ed1ab_1 - nest-asyncio=1.6.0=pyhd8ed1ab_1 - - nodejs=25.2.1=he453025_1 + - nodejs=25.2.1=he453025_2 - notebook=7.5.2=pyhcf101f3_0 - notebook-shim=0.2.4=pyhd8ed1ab_1 - numcodecs=0.13.1=py310hb4db72f_0 @@ -163,7 +163,7 @@ dependencies: - openjpeg=2.5.4=h24db6dd_0 - openssl=3.6.0=h725018a_0 - overrides=7.7.0=pyhd8ed1ab_1 - - packaging=25.0=pyh29332c3_1 + - packaging=26.0=pyhcf101f3_0 - pandas=2.3.3=py310hed136d8_2 - pandoc=3.8.3=h57928b3_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 @@ -218,7 +218,7 @@ dependencies: - sniffio=1.3.1=pyhd8ed1ab_2 - snowballstemmer=3.0.1=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_1 - - soupsieve=2.8.2=pyhd8ed1ab_0 + - soupsieve=2.8.3=pyhd8ed1ab_0 - sphinx=5.3.0=pyhd8ed1ab_0 - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 @@ -256,7 +256,7 @@ dependencies: - webcolors=25.10.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - websocket-client=1.9.0=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - win_inet_pton=1.1.0=pyh7428d3b_8 - winpty=0.4.3=4 @@ -271,9 +271,9 @@ dependencies: - zstd=1.5.7=h534d264_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.10-win-64.conda.lock.yml b/environments/py-3.10-win-64.conda.lock.yml index 003e79a6..a1e14222 100644 --- a/environments/py-3.10-win-64.conda.lock.yml +++ b/environments/py-3.10-win-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 4095d8c1a6c5ba4facb54b1eef593eaa3c13a1bb5dba5638b7d7103f84795d37 +# input_hash: 513268ec21061c523d433186bd37b10874a798b0afc73a84f57c8d68d4c7c39c channels: - conda-forge @@ -46,7 +46,7 @@ dependencies: - krb5=1.21.3=hdf4eb48_0 - lcms2=2.18=hf2c6c5f_0 - lerc=4.0.0=h6470a55_1 - - libaec=1.1.4=h20038f6_0 + - libaec=1.1.5=haf901d7_0 - libblas=3.9.0=35_h5709861_mkl - libbrotlicommon=1.2.0=hfd05255_1 - libbrotlidec=1.2.0=hfd05255_1 @@ -89,7 +89,7 @@ dependencies: - numpy=1.26.4=py310hf667824_0 - openjpeg=2.5.4=h24db6dd_0 - openssl=3.6.0=h725018a_0 - - packaging=25.0=pyh29332c3_1 + - packaging=26.0=pyhcf101f3_0 - pandas=2.3.3=py310hed136d8_2 - partd=1.4.2=pyhd8ed1ab_0 - pillow=10.3.0=py310h3e38d90_1 @@ -133,7 +133,7 @@ dependencies: - vc=14.3=h41ae7f8_34 - vc14_runtime=14.44.35208=h818238b_34 - vcomp14=14.44.35208=h818238b_34 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - win_inet_pton=1.1.0=pyh7428d3b_8 - xorg-libxau=1.0.12=hba3369d_1 - xorg-libxdmcp=1.1.5=hba3369d_1 @@ -145,9 +145,9 @@ dependencies: - zstd=1.5.7=h534d264_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 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 d0406864..89b31f4d 100644 --- a/environments/py-3.11-linux-64-dev.conda.lock.yml +++ b/environments/py-3.11-linux-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 63b54937a5485c2342c949498a43e2a0c19090b2df7a941558e7f5f979673863 +# input_hash: b60f168155d139bcb53ae777f1670d452c88dd6aec1782179b0a63f4e489a7c2 channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - comm=0.2.3=pyhe01879c_0 - - contourpy=1.3.3=py311hdf67eae_3 + - contourpy=1.3.3=py311h724c32c_4 - coverage=7.13.1=py311h3778330_0 - cycler=0.12.1=pyhcf101f3_2 - cytoolz=1.1.0=py311h49ec1c0_1 @@ -89,14 +89,14 @@ dependencies: - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 - - jupyter-book=2.1.0=pyhcf101f3_0 + - jupyter-book=2.1.1=pyhcf101f3_0 - jupyter-lsp=2.3.0=pyhcf101f3_0 - jupyter_client=8.8.0=pyhcf101f3_0 - jupyter_core=5.9.1=pyhc90fa1f_0 - jupyter_events=0.12.0=pyh29332c3_0 - jupyter_server=2.17.0=pyhcf101f3_0 - jupyter_server_terminals=0.5.4=pyhcf101f3_0 - - jupyterlab=4.5.2=pyhd8ed1ab_0 + - jupyterlab=4.5.3=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 - jupyterlab_server=2.28.0=pyhcf101f3_0 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 @@ -108,7 +108,7 @@ dependencies: - lcms2=2.18=h0c24ade_0 - ld_impl_linux-64=2.45=default_hbd61a6d_105 - lerc=4.0.0=h0aef613_1 - - libaec=1.1.4=h3f801dc_0 + - libaec=1.1.5=h088129d_0 - libblas=3.9.0=37_h5875eb1_mkl - libbrotlicommon=1.2.0=hb03c661_1 - libbrotlidec=1.2.0=hb03c661_1 @@ -182,8 +182,8 @@ dependencies: - openjpeg=2.5.4=h55fea9a_0 - openssl=3.6.0=h26f9b46_0 - overrides=7.7.0=pyhd8ed1ab_1 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py311hed34c8f_2 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py311h8032f78_0 - pandoc=3.8.3=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - parso=0.8.5=pyhcf101f3_0 @@ -237,7 +237,7 @@ dependencies: - sniffio=1.3.1=pyhd8ed1ab_2 - snowballstemmer=3.0.1=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_1 - - soupsieve=2.8.2=pyhd8ed1ab_0 + - soupsieve=2.8.3=pyhd8ed1ab_0 - sphinx=5.3.0=pyhd8ed1ab_0 - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 @@ -271,7 +271,7 @@ dependencies: - webcolors=25.10.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - websocket-client=1.9.0=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - wrapt=2.0.1=py311h49ec1c0_1 - xorg-libxau=1.0.12=hb03c661_1 @@ -286,9 +286,9 @@ dependencies: - zstd=1.5.7=hb78ec9c_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.11-linux-64.conda.lock.yml b/environments/py-3.11-linux-64.conda.lock.yml index 7d52271e..4458e19a 100644 --- a/environments/py-3.11-linux-64.conda.lock.yml +++ b/environments/py-3.11-linux-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 63b54937a5485c2342c949498a43e2a0c19090b2df7a941558e7f5f979673863 +# input_hash: b60f168155d139bcb53ae777f1670d452c88dd6aec1782179b0a63f4e489a7c2 channels: - conda-forge @@ -23,7 +23,7 @@ dependencies: - click=8.3.1=pyh8f84b5b_1 - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - - contourpy=1.3.3=py311hdf67eae_3 + - contourpy=1.3.3=py311h724c32c_4 - cycler=0.12.1=pyhcf101f3_2 - cytoolz=1.1.0=py311h49ec1c0_1 - dask-core=2025.3.0=pyhd8ed1ab_0 @@ -50,7 +50,7 @@ dependencies: - lcms2=2.18=h0c24ade_0 - ld_impl_linux-64=2.45=default_hbd61a6d_105 - lerc=4.0.0=h0aef613_1 - - libaec=1.1.4=h3f801dc_0 + - libaec=1.1.5=h088129d_0 - libblas=3.9.0=37_h5875eb1_mkl - libbrotlicommon=1.2.0=hb03c661_1 - libbrotlidec=1.2.0=hb03c661_1 @@ -106,8 +106,8 @@ dependencies: - numpy=1.26.4=py311h64a7726_0 - openjpeg=2.5.4=h55fea9a_0 - openssl=3.6.0=h26f9b46_0 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py311hed34c8f_2 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py311h8032f78_0 - partd=1.4.2=pyhd8ed1ab_0 - pillow=10.3.0=py311h82a398c_1 - pip=25.3=pyh8b19718_0 @@ -124,7 +124,6 @@ dependencies: - python-mumps=0.0.3=py311h4b558b0_0 - python-tzdata=2025.3=pyhd8ed1ab_0 - python_abi=3.11=8_cp311 - - pytz=2025.2=pyhd8ed1ab_0 - pyyaml=6.0.3=py311h3778330_0 - readline=8.3=h853b02a_0 - rtree=1.2.0=py311ha1603b9_1 @@ -147,7 +146,7 @@ dependencies: - tzdata=2025c=hc9c84f9_1 - unicodedata2=17.0.0=py311h49ec1c0_1 - urllib3=2.6.3=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - wrapt=2.0.1=py311h49ec1c0_1 - xorg-libxau=1.0.12=hb03c661_1 - xorg-libxdmcp=1.1.5=hb03c661_1 @@ -159,9 +158,9 @@ dependencies: - zstd=1.5.7=hb78ec9c_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 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 cdd25ffb..99b6bfc8 100644 --- a/environments/py-3.11-win-64-dev.conda.lock.yml +++ b/environments/py-3.11-win-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: fb18dd8c88b4986ce881481f4f4c756520898dda00e4f5006f10cc99878f79e0 +# input_hash: 7c841d673681eb88a533248e1d6f2a10bb9b3d41d0f21103b9147ac55828ed86 channels: - conda-forge @@ -38,7 +38,7 @@ dependencies: - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - comm=0.2.3=pyhe01879c_0 - - contourpy=1.3.3=py311h3fd045d_3 + - contourpy=1.3.3=py311h275cad7_4 - coverage=7.13.1=py311h3f79411_0 - cycler=0.12.1=pyhcf101f3_2 - cytoolz=1.1.0=py311h3485c13_1 @@ -88,14 +88,14 @@ dependencies: - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 - - jupyter-book=2.1.0=pyhcf101f3_0 + - jupyter-book=2.1.1=pyhcf101f3_0 - jupyter-lsp=2.3.0=pyhcf101f3_0 - jupyter_client=8.8.0=pyhcf101f3_0 - jupyter_core=5.9.1=pyh6dadd2b_0 - jupyter_events=0.12.0=pyh29332c3_0 - jupyter_server=2.17.0=pyhcf101f3_0 - jupyter_server_terminals=0.5.4=pyhcf101f3_0 - - jupyterlab=4.5.2=pyhd8ed1ab_0 + - jupyterlab=4.5.3=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 - jupyterlab_server=2.28.0=pyhcf101f3_0 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 @@ -105,7 +105,7 @@ dependencies: - lark=1.3.1=pyhd8ed1ab_0 - lcms2=2.18=hf2c6c5f_0 - lerc=4.0.0=h6470a55_1 - - libaec=1.1.4=h20038f6_0 + - libaec=1.1.5=haf901d7_0 - libblas=3.9.0=35_h5709861_mkl - libbrotlicommon=1.2.0=hfd05255_1 - libbrotlidec=1.2.0=hfd05255_1 @@ -157,7 +157,7 @@ dependencies: - nbconvert-pandoc=7.16.6=h7d6f222_1 - nbformat=5.10.4=pyhd8ed1ab_1 - nest-asyncio=1.6.0=pyhd8ed1ab_1 - - nodejs=25.2.1=he453025_1 + - nodejs=25.2.1=he453025_2 - notebook=7.5.2=pyhcf101f3_0 - notebook-shim=0.2.4=pyhd8ed1ab_1 - numcodecs=0.15.1=py311h11fd7f3_1 @@ -165,8 +165,8 @@ dependencies: - openjpeg=2.5.4=h24db6dd_0 - openssl=3.6.0=h725018a_0 - overrides=7.7.0=pyhd8ed1ab_1 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py311h11fd7f3_2 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py311h0610301_0 - pandoc=3.8.3=h57928b3_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - parso=0.8.5=pyhcf101f3_0 @@ -219,7 +219,7 @@ dependencies: - sniffio=1.3.1=pyhd8ed1ab_2 - snowballstemmer=3.0.1=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_1 - - soupsieve=2.8.2=pyhd8ed1ab_0 + - soupsieve=2.8.3=pyhd8ed1ab_0 - sphinx=5.3.0=pyhd8ed1ab_0 - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 @@ -257,7 +257,7 @@ dependencies: - webcolors=25.10.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - websocket-client=1.9.0=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - win_inet_pton=1.1.0=pyh7428d3b_8 - winpty=0.4.3=4 @@ -273,9 +273,9 @@ dependencies: - zstd=1.5.7=h534d264_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.11-win-64.conda.lock.yml b/environments/py-3.11-win-64.conda.lock.yml index f61346e9..4fce266c 100644 --- a/environments/py-3.11-win-64.conda.lock.yml +++ b/environments/py-3.11-win-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: fb18dd8c88b4986ce881481f4f4c756520898dda00e4f5006f10cc99878f79e0 +# input_hash: 7c841d673681eb88a533248e1d6f2a10bb9b3d41d0f21103b9147ac55828ed86 channels: - conda-forge @@ -22,7 +22,7 @@ dependencies: - click=8.3.1=pyha7b4d00_1 - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - - contourpy=1.3.3=py311h3fd045d_3 + - contourpy=1.3.3=py311h275cad7_4 - cycler=0.12.1=pyhcf101f3_2 - cytoolz=1.1.0=py311h3485c13_1 - dask-core=2025.3.0=pyhd8ed1ab_0 @@ -47,7 +47,7 @@ dependencies: - krb5=1.21.3=hdf4eb48_0 - lcms2=2.18=hf2c6c5f_0 - lerc=4.0.0=h6470a55_1 - - libaec=1.1.4=h20038f6_0 + - libaec=1.1.5=haf901d7_0 - libblas=3.9.0=35_h5709861_mkl - libbrotlicommon=1.2.0=hfd05255_1 - libbrotlidec=1.2.0=hfd05255_1 @@ -90,8 +90,8 @@ dependencies: - numpy=1.26.4=py311h0b4df5a_0 - openjpeg=2.5.4=h24db6dd_0 - openssl=3.6.0=h725018a_0 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py311h11fd7f3_2 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py311h0610301_0 - partd=1.4.2=pyhd8ed1ab_0 - pillow=10.3.0=py311h5592be9_1 - pip=25.3=pyh8b19718_0 @@ -108,7 +108,6 @@ dependencies: - python-mumps=0.0.3=py311h5bfbc98_0 - python-tzdata=2025.3=pyhd8ed1ab_0 - python_abi=3.11=8_cp311 - - pytz=2025.2=pyhd8ed1ab_0 - pyyaml=6.0.3=py311h3f79411_0 - rtree=1.2.0=py311h44d53c4_1 - scikit-learn=1.6.1=py311hdcb8d17_0 @@ -134,7 +133,7 @@ dependencies: - vc=14.3=h41ae7f8_34 - vc14_runtime=14.44.35208=h818238b_34 - vcomp14=14.44.35208=h818238b_34 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - win_inet_pton=1.1.0=pyh7428d3b_8 - wrapt=2.0.1=py311h3485c13_1 - xorg-libxau=1.0.12=hba3369d_1 @@ -147,9 +146,9 @@ dependencies: - zstd=1.5.7=h534d264_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 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 0dc4fead..d635a084 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: 8d2ec2f5bff152c0b1a90962f693656e4ddb9e44ed5c8117e1ca290243cc3f6e +# input_hash: 57a85c1115233ff2ec7d88a64691ac13e0f87f257998649da986b1929fe15ae1 channels: - conda-forge @@ -40,7 +40,7 @@ dependencies: - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - comm=0.2.3=pyhe01879c_0 - - contourpy=1.3.3=py312hd9148b4_3 + - contourpy=1.3.3=py312h0a2e395_4 - coverage=7.13.1=py312h8a5da7c_0 - cpython=3.12.12=py312hd8ed1ab_1 - cycler=0.12.1=pyhcf101f3_2 @@ -91,14 +91,14 @@ dependencies: - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 - - jupyter-book=2.1.0=pyhcf101f3_0 + - jupyter-book=2.1.1=pyhcf101f3_0 - jupyter-lsp=2.3.0=pyhcf101f3_0 - jupyter_client=8.8.0=pyhcf101f3_0 - jupyter_core=5.9.1=pyhc90fa1f_0 - jupyter_events=0.12.0=pyh29332c3_0 - jupyter_server=2.17.0=pyhcf101f3_0 - jupyter_server_terminals=0.5.4=pyhcf101f3_0 - - jupyterlab=4.5.2=pyhd8ed1ab_0 + - jupyterlab=4.5.3=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 - jupyterlab_server=2.28.0=pyhcf101f3_0 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 @@ -110,7 +110,7 @@ dependencies: - lcms2=2.18=h0c24ade_0 - ld_impl_linux-64=2.45=default_hbd61a6d_105 - lerc=4.0.0=h0aef613_1 - - libaec=1.1.4=h3f801dc_0 + - libaec=1.1.5=h088129d_0 - libblas=3.9.0=37_h5875eb1_mkl - libbrotlicommon=1.2.0=hb03c661_1 - libbrotlidec=1.2.0=hb03c661_1 @@ -184,8 +184,8 @@ dependencies: - openjpeg=2.5.4=h55fea9a_0 - openssl=3.6.0=h26f9b46_0 - overrides=7.7.0=pyhd8ed1ab_1 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py312hf79963d_1 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py312h8ecdadd_0 - pandoc=3.8.3=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - parso=0.8.5=pyhcf101f3_0 @@ -240,7 +240,7 @@ dependencies: - sniffio=1.3.1=pyhd8ed1ab_2 - snowballstemmer=3.0.1=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_1 - - soupsieve=2.8.2=pyhd8ed1ab_0 + - soupsieve=2.8.3=pyhd8ed1ab_0 - sphinx=5.3.0=pyhd8ed1ab_0 - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 @@ -274,7 +274,7 @@ dependencies: - webcolors=25.10.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - websocket-client=1.9.0=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - wrapt=2.0.1=py312h4c3975b_1 - xorg-libxau=1.0.12=hb03c661_1 @@ -289,9 +289,9 @@ dependencies: - zstd=1.5.7=hb78ec9c_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.12-linux-64.conda.lock.yml b/environments/py-3.12-linux-64.conda.lock.yml index cf2896e0..4db8a855 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: 8d2ec2f5bff152c0b1a90962f693656e4ddb9e44ed5c8117e1ca290243cc3f6e +# input_hash: 57a85c1115233ff2ec7d88a64691ac13e0f87f257998649da986b1929fe15ae1 channels: - conda-forge @@ -23,7 +23,7 @@ dependencies: - click=8.3.1=pyh8f84b5b_1 - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - - contourpy=1.3.3=py312hd9148b4_3 + - contourpy=1.3.3=py312h0a2e395_4 - cycler=0.12.1=pyhcf101f3_2 - cytoolz=1.1.0=py312h4c3975b_1 - dask-core=2025.3.0=pyhd8ed1ab_0 @@ -50,7 +50,7 @@ dependencies: - lcms2=2.18=h0c24ade_0 - ld_impl_linux-64=2.45=default_hbd61a6d_105 - lerc=4.0.0=h0aef613_1 - - libaec=1.1.4=h3f801dc_0 + - libaec=1.1.5=h088129d_0 - libblas=3.9.0=37_h5875eb1_mkl - libbrotlicommon=1.2.0=hb03c661_1 - libbrotlidec=1.2.0=hb03c661_1 @@ -106,8 +106,8 @@ dependencies: - numpy=1.26.4=py312heda63a1_0 - openjpeg=2.5.4=h55fea9a_0 - openssl=3.6.0=h26f9b46_0 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py312hf79963d_1 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py312h8ecdadd_0 - partd=1.4.2=pyhd8ed1ab_0 - pillow=10.3.0=py312h287a98d_1 - pip=25.3=pyh8b19718_0 @@ -124,7 +124,6 @@ dependencies: - python-mumps=0.0.3=py312h6ad3ee3_0 - python-tzdata=2025.3=pyhd8ed1ab_0 - python_abi=3.12=8_cp312 - - pytz=2025.2=pyhd8ed1ab_0 - pyyaml=6.0.3=py312h8a5da7c_0 - readline=8.3=h853b02a_0 - rtree=1.2.0=py312h3ed4c40_1 @@ -147,7 +146,7 @@ dependencies: - tzdata=2025c=hc9c84f9_1 - unicodedata2=17.0.0=py312h4c3975b_1 - urllib3=2.6.3=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - wrapt=2.0.1=py312h4c3975b_1 - xorg-libxau=1.0.12=hb03c661_1 - xorg-libxdmcp=1.1.5=hb03c661_1 @@ -159,9 +158,9 @@ dependencies: - zstd=1.5.7=hb78ec9c_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 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 48692c88..374a4287 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: a78d91fa3dc4c95c661cb43f744570c4cbf3dc04b7182fba46b68958c9f38e93 +# input_hash: 10337b726c4f2321886ef1a0132c5e4edd9402ed1e15c030aba8bd09e4f40e35 channels: - conda-forge @@ -39,7 +39,7 @@ dependencies: - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - comm=0.2.3=pyhe01879c_0 - - contourpy=1.3.3=py312hf90b1b7_3 + - contourpy=1.3.3=py312h78d62e6_4 - coverage=7.13.1=py312h05f76fc_0 - cpython=3.12.12=py312hd8ed1ab_1 - cycler=0.12.1=pyhcf101f3_2 @@ -90,14 +90,14 @@ dependencies: - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 - - jupyter-book=2.1.0=pyhcf101f3_0 + - jupyter-book=2.1.1=pyhcf101f3_0 - jupyter-lsp=2.3.0=pyhcf101f3_0 - jupyter_client=8.8.0=pyhcf101f3_0 - jupyter_core=5.9.1=pyh6dadd2b_0 - jupyter_events=0.12.0=pyh29332c3_0 - jupyter_server=2.17.0=pyhcf101f3_0 - jupyter_server_terminals=0.5.4=pyhcf101f3_0 - - jupyterlab=4.5.2=pyhd8ed1ab_0 + - jupyterlab=4.5.3=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 - jupyterlab_server=2.28.0=pyhcf101f3_0 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 @@ -107,7 +107,7 @@ dependencies: - lark=1.3.1=pyhd8ed1ab_0 - lcms2=2.18=hf2c6c5f_0 - lerc=4.0.0=h6470a55_1 - - libaec=1.1.4=h20038f6_0 + - libaec=1.1.5=haf901d7_0 - libblas=3.9.0=35_h5709861_mkl - libbrotlicommon=1.2.0=hfd05255_1 - libbrotlidec=1.2.0=hfd05255_1 @@ -159,7 +159,7 @@ dependencies: - nbconvert-pandoc=7.16.6=h7d6f222_1 - nbformat=5.10.4=pyhd8ed1ab_1 - nest-asyncio=1.6.0=pyhd8ed1ab_1 - - nodejs=25.2.1=he453025_1 + - nodejs=25.2.1=he453025_2 - notebook=7.5.2=pyhcf101f3_0 - notebook-shim=0.2.4=pyhd8ed1ab_1 - numcodecs=0.15.1=py312hc128f0a_1 @@ -167,8 +167,8 @@ dependencies: - openjpeg=2.5.4=h24db6dd_0 - openssl=3.6.0=h725018a_0 - overrides=7.7.0=pyhd8ed1ab_1 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py312hc128f0a_2 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py312h95189c4_0 - pandoc=3.8.3=h57928b3_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - parso=0.8.5=pyhcf101f3_0 @@ -222,7 +222,7 @@ dependencies: - sniffio=1.3.1=pyhd8ed1ab_2 - snowballstemmer=3.0.1=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_1 - - soupsieve=2.8.2=pyhd8ed1ab_0 + - soupsieve=2.8.3=pyhd8ed1ab_0 - sphinx=5.3.0=pyhd8ed1ab_0 - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 @@ -260,7 +260,7 @@ dependencies: - webcolors=25.10.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - websocket-client=1.9.0=pyhd8ed1ab_0 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - win_inet_pton=1.1.0=pyh7428d3b_8 - winpty=0.4.3=4 @@ -276,9 +276,9 @@ dependencies: - zstd=1.5.7=h534d264_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.12-win-64.conda.lock.yml b/environments/py-3.12-win-64.conda.lock.yml index 50313854..e9b40814 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: a78d91fa3dc4c95c661cb43f744570c4cbf3dc04b7182fba46b68958c9f38e93 +# input_hash: 10337b726c4f2321886ef1a0132c5e4edd9402ed1e15c030aba8bd09e4f40e35 channels: - conda-forge @@ -22,7 +22,7 @@ dependencies: - click=8.3.1=pyha7b4d00_1 - cloudpickle=3.1.2=pyhcf101f3_1 - colorama=0.4.6=pyhd8ed1ab_1 - - contourpy=1.3.3=py312hf90b1b7_3 + - contourpy=1.3.3=py312h78d62e6_4 - cycler=0.12.1=pyhcf101f3_2 - cytoolz=1.1.0=py312he06e257_1 - dask-core=2025.3.0=pyhd8ed1ab_0 @@ -47,7 +47,7 @@ dependencies: - krb5=1.21.3=hdf4eb48_0 - lcms2=2.18=hf2c6c5f_0 - lerc=4.0.0=h6470a55_1 - - libaec=1.1.4=h20038f6_0 + - libaec=1.1.5=haf901d7_0 - libblas=3.9.0=35_h5709861_mkl - libbrotlicommon=1.2.0=hfd05255_1 - libbrotlidec=1.2.0=hfd05255_1 @@ -90,8 +90,8 @@ dependencies: - numpy=1.26.4=py312h8753938_0 - openjpeg=2.5.4=h24db6dd_0 - openssl=3.6.0=h725018a_0 - - packaging=25.0=pyh29332c3_1 - - pandas=2.3.3=py312hc128f0a_2 + - packaging=26.0=pyhcf101f3_0 + - pandas=3.0.0=py312h95189c4_0 - partd=1.4.2=pyhd8ed1ab_0 - pillow=10.3.0=py312h381445a_1 - pip=25.3=pyh8b19718_0 @@ -108,7 +108,6 @@ dependencies: - python-mumps=0.0.3=py312h8095395_0 - python-tzdata=2025.3=pyhd8ed1ab_0 - python_abi=3.12=8_cp312 - - pytz=2025.2=pyhd8ed1ab_0 - pyyaml=6.0.3=py312h05f76fc_0 - rtree=1.2.0=py312h50e5f8f_1 - scikit-learn=1.6.1=py312h816cc57_0 @@ -134,7 +133,7 @@ dependencies: - vc=14.3=h41ae7f8_34 - vc14_runtime=14.44.35208=h818238b_34 - vcomp14=14.44.35208=h818238b_34 - - wheel=0.45.1=pyhd8ed1ab_1 + - wheel=0.46.3=pyhd8ed1ab_0 - win_inet_pton=1.1.0=pyh7428d3b_8 - wrapt=2.0.1=py312he06e257_1 - xorg-libxau=1.0.12=hba3369d_1 @@ -147,9 +146,9 @@ dependencies: - zstd=1.5.7=h534d264_6 - pip: - geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@3f02228742b4837bd456438081d0a128fc3e1b3a - - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + - geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 - grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@99e51cbe794114ce08ab3bb16efcc6749b14914a - - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + - mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d variables: KMP_WARNINGS: 0 diff --git a/py-3.10.conda-lock.yml b/py-3.10.conda-lock.yml index cebcb39c..d6ab4a52 100644 --- a/py-3.10.conda-lock.yml +++ b/py-3.10.conda-lock.yml @@ -15,8 +15,8 @@ version: 1 metadata: content_hash: - win-64: 4095d8c1a6c5ba4facb54b1eef593eaa3c13a1bb5dba5638b7d7103f84795d37 - linux-64: 56acf844153236bc0bae9c73a9c7a6769bafd992ebe223ac3fa1ee1ba32d25ef + win-64: 513268ec21061c523d433186bd37b10874a798b0afc73a84f57c8d68d4c7c39c + linux-64: 60365f8795310bc050b0962d34eb28a5f81cd73f28a2e57843d0cbb351a4259d channels: - url: conda-forge used_env_vars: [] @@ -2362,7 +2362,7 @@ package: category: dev optional: true - name: jupyter-book - version: 2.1.0 + version: 2.1.1 manager: conda platform: linux-64 dependencies: @@ -2372,14 +2372,14 @@ package: nodejs: '>=20' platformdirs: '>=4.2.2' python: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.0-pyhcf101f3_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.1-pyhcf101f3_0.conda hash: - md5: d684ce882bb25ee88fb3c03127d26202 - sha256: 8bbe0db8d825169c3ad26d19ef670425267e3e215053ceb242357b497d0766fe + md5: 29cc201b7334408707a8866d6baa35cc + sha256: efea291760fba57a8abaf5b3a05c57f99d60cf11c8950fe8499f4d2eaa4473bb category: dev optional: true - name: jupyter-book - version: 2.1.0 + version: 2.1.1 manager: conda platform: win-64 dependencies: @@ -2389,10 +2389,10 @@ package: nodejs: '>=20' platformdirs: '>=4.2.2' python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.0-pyhcf101f3_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.1-pyhcf101f3_0.conda hash: - md5: d684ce882bb25ee88fb3c03127d26202 - sha256: 8bbe0db8d825169c3ad26d19ef670425267e3e215053ceb242357b497d0766fe + md5: 29cc201b7334408707a8866d6baa35cc + sha256: efea291760fba57a8abaf5b3a05c57f99d60cf11c8950fe8499f4d2eaa4473bb category: dev optional: true - name: jupyter-lsp @@ -2615,7 +2615,7 @@ package: category: dev optional: true - name: jupyterlab - version: 4.5.2 + version: 4.5.3 manager: conda platform: linux-64 dependencies: @@ -2634,14 +2634,14 @@ package: tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda hash: - md5: 513e7fcc06c82b24c84ff88ece13ac9f - sha256: 4e277cee7fc4b403c954960476375e5a51babd06f3ac46a04bd9fff5971aa569 + md5: 106f4e36e14797b9c2abfc3849d9e92f + sha256: 18b5bff46717023ef5e81ae6ba71b254c1aca474db32c6dc21897c46ea26fa75 category: dev optional: true - name: jupyterlab - version: 4.5.2 + version: 4.5.3 manager: conda platform: win-64 dependencies: @@ -2660,10 +2660,10 @@ package: tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda hash: - md5: 513e7fcc06c82b24c84ff88ece13ac9f - sha256: 4e277cee7fc4b403c954960476375e5a51babd06f3ac46a04bd9fff5971aa569 + md5: 106f4e36e14797b9c2abfc3849d9e92f + sha256: 18b5bff46717023ef5e81ae6ba71b254c1aca474db32c6dc21897c46ea26fa75 category: dev optional: true - name: jupyterlab_pygments @@ -2963,31 +2963,31 @@ package: category: main optional: false - name: libaec - version: 1.1.4 + version: 1.1.5 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - libgcc: '>=13' - libstdcxx: '>=13' - url: https://repo.prefix.dev/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + libgcc: '>=14' + libstdcxx: '>=14' + url: https://repo.prefix.dev/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda hash: - md5: 01ba04e414e47f95c03d6ddd81fd37be - sha256: 410ab78fe89bc869d435de04c9ffa189598ac15bb0fe1ea8ace8fb1b860a2aa3 + md5: 86f7414544ae606282352fa1e116b41f + sha256: 822e4ae421a7e9c04e841323526321185f6659222325e1a9aedec811c686e688 category: main optional: false - name: libaec - version: 1.1.4 + version: 1.1.5 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' - vc: '>=14.2,<15' - vc14_runtime: '>=14.29.30139' - url: https://repo.prefix.dev/conda-forge/win-64/libaec-1.1.4-h20038f6_0.conda + vc: '>=14.3,<15' + vc14_runtime: '>=14.44.35208' + url: https://repo.prefix.dev/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda hash: - md5: 85a2bed45827d77d5b308cb2b165404f - sha256: 0be89085effce9fdcbb6aea7acdb157b18793162f68266ee0a75acf615d4929b + md5: 43b6385cfad52a7083f2c41984eb4e91 + sha256: e54c08964262c73671d9e80e400333e59c617e0b454476ad68933c0c458156c8 category: main optional: false - name: libblas @@ -4690,10 +4690,10 @@ package: manager: conda platform: win-64 dependencies: {} - url: https://repo.prefix.dev/conda-forge/win-64/nodejs-25.2.1-he453025_1.conda + url: https://repo.prefix.dev/conda-forge/win-64/nodejs-25.2.1-he453025_2.conda hash: - md5: 461d47b472740c68ec0771c8b759868b - sha256: 9742d28cf4a171dc9898bfb3c8512858f1ed46aa3cbc26d8839003d879564beb + md5: b965c8d527c0a5b4781e39339abc808a + sha256: abe64c5dce6d7024919807f9d5ac72729862848238e6ad6bf9ed4e721c8cc232 category: dev optional: true - name: notebook @@ -4921,27 +4921,27 @@ package: category: dev optional: true - name: packaging - version: '25.0' + version: '26.0' manager: conda platform: linux-64 dependencies: python: '' - url: https://repo.prefix.dev/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + url: https://repo.prefix.dev/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda hash: - md5: 58335b26c38bf4a20f399384c33cbcf9 - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 category: main optional: false - name: packaging - version: '25.0' + version: '26.0' manager: conda platform: win-64 dependencies: python: '>=3.8' - url: https://repo.prefix.dev/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + url: https://repo.prefix.dev/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda hash: - md5: 58335b26c38bf4a20f399384c33cbcf9 - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 category: main optional: false - name: pandas @@ -6536,27 +6536,27 @@ package: category: main optional: false - name: soupsieve - version: 2.8.2 + version: 2.8.3 manager: conda platform: linux-64 dependencies: python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda hash: - md5: fcbe3971b6017792e9b24ff451daa7f5 - sha256: aacc87d88795ef887b89fe9401d1092312c43371d1ba92340d8924da1a982b6a + md5: 18de09b20462742fe093ba39185d9bac + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac category: dev optional: true - name: soupsieve - version: 2.8.2 + version: 2.8.3 manager: conda platform: win-64 dependencies: python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda hash: - md5: fcbe3971b6017792e9b24ff451daa7f5 - sha256: aacc87d88795ef887b89fe9401d1092312c43371d1ba92340d8924da1a982b6a + md5: 18de09b20462742fe093ba39185d9bac + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac category: dev optional: true - name: sphinx @@ -7494,27 +7494,29 @@ package: category: dev optional: true - name: wheel - version: 0.45.1 + version: 0.46.3 manager: conda platform: linux-64 dependencies: - python: '>=3.9' - url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + packaging: '>=24.0' + python: '>=3.10' + url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda hash: - md5: 75cb7132eb58d97896e173ef12ac9986 - sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae category: main optional: false - name: wheel - version: 0.45.1 + version: 0.46.3 manager: conda platform: win-64 dependencies: - python: '>=3.9' - url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + packaging: '>=24.0' + python: '>=3.10' + url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda hash: - md5: 75cb7132eb58d97896e173ef12ac9986 - sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae category: main optional: false - name: widgetsnbextension @@ -7831,7 +7833,7 @@ package: manager: pip platform: linux-64 dependencies: - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 matplotlib: '>=3.8.4,<3.9.0' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' @@ -7849,7 +7851,7 @@ package: manager: pip platform: win-64 dependencies: - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 matplotlib: '>=3.8.4,<3.9.0' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' @@ -7863,7 +7865,7 @@ package: category: main optional: false - name: geoh5py - version: 0.13.0a2.dev52+fda60c22 + version: 0.13.0a2.dev90+689e16d4 manager: pip platform: linux-64 dependencies: @@ -7871,16 +7873,16 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.12.0,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 hash: - sha256: fda60c226dafdcdcb0bbe312be4c1622451479dc + sha256: 689e16d471a2f6a3ccfbbc921292c1e0387e2413 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 category: main optional: false - name: geoh5py - version: 0.13.0a2.dev52+fda60c22 + version: 0.13.0a2.dev90+689e16d4 manager: pip platform: win-64 dependencies: @@ -7888,12 +7890,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.12.0,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 hash: - sha256: fda60c226dafdcdcb0bbe312be4c1622451479dc + sha256: 689e16d471a2f6a3ccfbbc921292c1e0387e2413 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 category: main optional: false - name: grid-apps @@ -7903,7 +7905,7 @@ package: dependencies: discretize: '>=0.11.0,<0.12.dev' geoapps-utils: 0.7.0a2.dev11+3f02228 - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' scipy: '>=1.14.0,<1.15.0' @@ -7922,7 +7924,7 @@ package: dependencies: discretize: '>=0.11.0,<0.12.dev' geoapps-utils: 0.7.0a2.dev11+3f02228 - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' scipy: '>=1.14.0,<1.15.0' @@ -7935,7 +7937,7 @@ package: category: main optional: false - name: mira-simpeg - version: 0.23.0.3a1.dev107+g1cf096ddf + version: 0.23.0.3a1.dev109+gdb5c11995 manager: pip platform: linux-64 dependencies: @@ -7948,16 +7950,16 @@ package: pymatsolver: '>=0.3' scipy: '>=1.8' typing-extensions: '*' - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d hash: - sha256: 1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + sha256: db5c11995e74c81f1f61a9bda20a901b87d71c1d source: type: url - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d category: main optional: false - name: mira-simpeg - version: 0.23.0.3a1.dev107+g1cf096ddf + version: 0.23.0.3a1.dev109+gdb5c11995 manager: pip platform: win-64 dependencies: @@ -7970,11 +7972,11 @@ package: pymatsolver: '>=0.3' scipy: '>=1.8' typing-extensions: '*' - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d hash: - sha256: 1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + sha256: db5c11995e74c81f1f61a9bda20a901b87d71c1d source: type: url - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d category: main optional: false diff --git a/py-3.11.conda-lock.yml b/py-3.11.conda-lock.yml index 7a1ac887..b8a87a2f 100644 --- a/py-3.11.conda-lock.yml +++ b/py-3.11.conda-lock.yml @@ -15,8 +15,8 @@ version: 1 metadata: content_hash: - win-64: fb18dd8c88b4986ce881481f4f4c756520898dda00e4f5006f10cc99878f79e0 - linux-64: 63b54937a5485c2342c949498a43e2a0c19090b2df7a941558e7f5f979673863 + win-64: 7c841d673681eb88a533248e1d6f2a10bb9b3d41d0f21103b9147ac55828ed86 + linux-64: b60f168155d139bcb53ae777f1670d452c88dd6aec1782179b0a63f4e489a7c2 channels: - url: conda-forge used_env_vars: [] @@ -926,12 +926,12 @@ package: libgcc: '>=14' libstdcxx: '>=14' numpy: '>=1.25' - python: '>=3.11,<3.12.0a0' + python: '' python_abi: 3.11.* - url: https://repo.prefix.dev/conda-forge/linux-64/contourpy-1.3.3-py311hdf67eae_3.conda + url: https://repo.prefix.dev/conda-forge/linux-64/contourpy-1.3.3-py311h724c32c_4.conda hash: - md5: c4e2f4d5193e55a70bb67a2aa07006ae - sha256: fde69b5ab61225daca6c2f05a93f94c06af93003e4f871d61470df5c4cf9587b + md5: d04e508f5a03162c8bab4586a65d00bf + sha256: fd7aca059253cff3d8b0aec71f0c1bf2904823b13f1997bf222aea00a76f3cce category: main optional: false - name: contourpy @@ -940,15 +940,15 @@ package: platform: win-64 dependencies: numpy: '>=1.25' - python: '>=3.11,<3.12.0a0' + python: '' python_abi: 3.11.* ucrt: '>=10.0.20348.0' vc: '>=14.3,<15' vc14_runtime: '>=14.44.35208' - url: https://repo.prefix.dev/conda-forge/win-64/contourpy-1.3.3-py311h3fd045d_3.conda + url: https://repo.prefix.dev/conda-forge/win-64/contourpy-1.3.3-py311h275cad7_4.conda hash: - md5: 5e7e380c470e9f4683b3129fedafbcdf - sha256: ca1bde6f4afec87945c1186a307727ba7e151aabb46fc67683562319987b1088 + md5: 9fb1f375c704c5287c97c60f6a88d137 + sha256: a903bff178a45cfb89e77a59b33ce54c6cdc7b0e05d2f5355f32e2b8e97ecce1 category: main optional: false - name: coverage @@ -2410,7 +2410,7 @@ package: category: dev optional: true - name: jupyter-book - version: 2.1.0 + version: 2.1.1 manager: conda platform: linux-64 dependencies: @@ -2420,14 +2420,14 @@ package: nodejs: '>=20' platformdirs: '>=4.2.2' python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.0-pyhcf101f3_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.1-pyhcf101f3_0.conda hash: - md5: d684ce882bb25ee88fb3c03127d26202 - sha256: 8bbe0db8d825169c3ad26d19ef670425267e3e215053ceb242357b497d0766fe + md5: 29cc201b7334408707a8866d6baa35cc + sha256: efea291760fba57a8abaf5b3a05c57f99d60cf11c8950fe8499f4d2eaa4473bb category: dev optional: true - name: jupyter-book - version: 2.1.0 + version: 2.1.1 manager: conda platform: win-64 dependencies: @@ -2437,10 +2437,10 @@ package: nodejs: '>=20' platformdirs: '>=4.2.2' python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.0-pyhcf101f3_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.1-pyhcf101f3_0.conda hash: - md5: d684ce882bb25ee88fb3c03127d26202 - sha256: 8bbe0db8d825169c3ad26d19ef670425267e3e215053ceb242357b497d0766fe + md5: 29cc201b7334408707a8866d6baa35cc + sha256: efea291760fba57a8abaf5b3a05c57f99d60cf11c8950fe8499f4d2eaa4473bb category: dev optional: true - name: jupyter-lsp @@ -2663,7 +2663,7 @@ package: category: dev optional: true - name: jupyterlab - version: 4.5.2 + version: 4.5.3 manager: conda platform: linux-64 dependencies: @@ -2682,14 +2682,14 @@ package: tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda hash: - md5: 513e7fcc06c82b24c84ff88ece13ac9f - sha256: 4e277cee7fc4b403c954960476375e5a51babd06f3ac46a04bd9fff5971aa569 + md5: 106f4e36e14797b9c2abfc3849d9e92f + sha256: 18b5bff46717023ef5e81ae6ba71b254c1aca474db32c6dc21897c46ea26fa75 category: dev optional: true - name: jupyterlab - version: 4.5.2 + version: 4.5.3 manager: conda platform: win-64 dependencies: @@ -2708,10 +2708,10 @@ package: tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda hash: - md5: 513e7fcc06c82b24c84ff88ece13ac9f - sha256: 4e277cee7fc4b403c954960476375e5a51babd06f3ac46a04bd9fff5971aa569 + md5: 106f4e36e14797b9c2abfc3849d9e92f + sha256: 18b5bff46717023ef5e81ae6ba71b254c1aca474db32c6dc21897c46ea26fa75 category: dev optional: true - name: jupyterlab_pygments @@ -3011,31 +3011,31 @@ package: category: main optional: false - name: libaec - version: 1.1.4 + version: 1.1.5 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - libgcc: '>=13' - libstdcxx: '>=13' - url: https://repo.prefix.dev/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + libgcc: '>=14' + libstdcxx: '>=14' + url: https://repo.prefix.dev/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda hash: - md5: 01ba04e414e47f95c03d6ddd81fd37be - sha256: 410ab78fe89bc869d435de04c9ffa189598ac15bb0fe1ea8ace8fb1b860a2aa3 + md5: 86f7414544ae606282352fa1e116b41f + sha256: 822e4ae421a7e9c04e841323526321185f6659222325e1a9aedec811c686e688 category: main optional: false - name: libaec - version: 1.1.4 + version: 1.1.5 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' - vc: '>=14.2,<15' - vc14_runtime: '>=14.29.30139' - url: https://repo.prefix.dev/conda-forge/win-64/libaec-1.1.4-h20038f6_0.conda + vc: '>=14.3,<15' + vc14_runtime: '>=14.44.35208' + url: https://repo.prefix.dev/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda hash: - md5: 85a2bed45827d77d5b308cb2b165404f - sha256: 0be89085effce9fdcbb6aea7acdb157b18793162f68266ee0a75acf615d4929b + md5: 43b6385cfad52a7083f2c41984eb4e91 + sha256: e54c08964262c73671d9e80e400333e59c617e0b454476ad68933c0c458156c8 category: main optional: false - name: libblas @@ -4738,10 +4738,10 @@ package: manager: conda platform: win-64 dependencies: {} - url: https://repo.prefix.dev/conda-forge/win-64/nodejs-25.2.1-he453025_1.conda + url: https://repo.prefix.dev/conda-forge/win-64/nodejs-25.2.1-he453025_2.conda hash: - md5: 461d47b472740c68ec0771c8b759868b - sha256: 9742d28cf4a171dc9898bfb3c8512858f1ed46aa3cbc26d8839003d879564beb + md5: b965c8d527c0a5b4781e39339abc808a + sha256: abe64c5dce6d7024919807f9d5ac72729862848238e6ad6bf9ed4e721c8cc232 category: dev optional: true - name: notebook @@ -4973,67 +4973,64 @@ package: category: dev optional: true - name: packaging - version: '25.0' + version: '26.0' manager: conda platform: linux-64 dependencies: python: '>=3.8' - url: https://repo.prefix.dev/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + url: https://repo.prefix.dev/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda hash: - md5: 58335b26c38bf4a20f399384c33cbcf9 - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 category: main optional: false - name: packaging - version: '25.0' + version: '26.0' manager: conda platform: win-64 dependencies: python: '>=3.8' - url: https://repo.prefix.dev/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + url: https://repo.prefix.dev/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda hash: - md5: 58335b26c38bf4a20f399384c33cbcf9 - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 category: main optional: false - name: pandas - version: 2.3.3 + version: 3.0.0 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=14' libstdcxx: '>=14' - numpy: '>=1.22.4' - python: '>=3.11,<3.12.0a0' + numpy: '>=1.26.0' + python: '' python-dateutil: '>=2.8.2' - python-tzdata: '>=2022.7' python_abi: 3.11.* - pytz: '>=2020.1' - url: https://repo.prefix.dev/conda-forge/linux-64/pandas-2.3.3-py311hed34c8f_2.conda + url: https://repo.prefix.dev/conda-forge/linux-64/pandas-3.0.0-py311h8032f78_0.conda hash: - md5: 2366b5470cf61614c131e356efe9f74c - sha256: a2af9dbc4827db418a73127d4001bb3c2ee19adcd2d4387d6bc049c3780d2a62 + md5: 78d3e3073a999e662385c9a80d84ecec + sha256: 19df168c25f2201b577e3b1f2ca8aec9b8ee1f7b5aeda9b5354a8b330a790a75 category: main optional: false - name: pandas - version: 2.3.3 + version: 3.0.0 manager: conda platform: win-64 dependencies: - numpy: '>=1.22.4' - python: '>=3.11,<3.12.0a0' + numpy: '>=1.26.0' + python: '' python-dateutil: '>=2.8.2' - python-tzdata: '>=2022.7' + python-tzdata: '' python_abi: 3.11.* - pytz: '>=2020.1' ucrt: '>=10.0.20348.0' vc: '>=14.3,<15' vc14_runtime: '>=14.44.35208' - url: https://repo.prefix.dev/conda-forge/win-64/pandas-2.3.3-py311h11fd7f3_2.conda + url: https://repo.prefix.dev/conda-forge/win-64/pandas-3.0.0-py311h0610301_0.conda hash: - md5: 6d7622c147fa008da95fe7dd7431a868 - sha256: 7a4695b360b6a38f477c4e6deaa02e244ef77465e0c2a3b727d12c26bc0e9676 + md5: 35cc74cfc8cf3824a9ae45ee706b3fe0 + sha256: 2790793389a779899db76b8e1e66493e7a7f703e69022c941843702412fb6fda category: main optional: false - name: pandoc @@ -5978,8 +5975,8 @@ package: hash: md5: bc8e3267d44011051f2eb14d22fb0960 sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 - category: main - optional: false + category: dev + optional: true - name: pytz version: '2025.2' manager: conda @@ -5990,8 +5987,8 @@ package: hash: md5: bc8e3267d44011051f2eb14d22fb0960 sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 - category: main - optional: false + category: dev + optional: true - name: pywin32 version: '311' manager: conda @@ -6564,27 +6561,27 @@ package: category: main optional: false - name: soupsieve - version: 2.8.2 + version: 2.8.3 manager: conda platform: linux-64 dependencies: python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda hash: - md5: fcbe3971b6017792e9b24ff451daa7f5 - sha256: aacc87d88795ef887b89fe9401d1092312c43371d1ba92340d8924da1a982b6a + md5: 18de09b20462742fe093ba39185d9bac + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac category: dev optional: true - name: soupsieve - version: 2.8.2 + version: 2.8.3 manager: conda platform: win-64 dependencies: python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda hash: - md5: fcbe3971b6017792e9b24ff451daa7f5 - sha256: aacc87d88795ef887b89fe9401d1092312c43371d1ba92340d8924da1a982b6a + md5: 18de09b20462742fe093ba39185d9bac + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac category: dev optional: true - name: sphinx @@ -7522,27 +7519,29 @@ package: category: dev optional: true - name: wheel - version: 0.45.1 + version: 0.46.3 manager: conda platform: linux-64 dependencies: - python: '>=3.9' - url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + packaging: '>=24.0' + python: '>=3.10' + url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda hash: - md5: 75cb7132eb58d97896e173ef12ac9986 - sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae category: main optional: false - name: wheel - version: 0.45.1 + version: 0.46.3 manager: conda platform: win-64 dependencies: - python: '>=3.9' - url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + packaging: '>=24.0' + python: '>=3.10' + url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda hash: - md5: 75cb7132eb58d97896e173ef12ac9986 - sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae category: main optional: false - name: widgetsnbextension @@ -7890,7 +7889,7 @@ package: manager: pip platform: linux-64 dependencies: - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 matplotlib: '>=3.8.4,<3.9.0' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' @@ -7908,7 +7907,7 @@ package: manager: pip platform: win-64 dependencies: - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 matplotlib: '>=3.8.4,<3.9.0' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' @@ -7922,7 +7921,7 @@ package: category: main optional: false - name: geoh5py - version: 0.13.0a2.dev52+fda60c22 + version: 0.13.0a2.dev90+689e16d4 manager: pip platform: linux-64 dependencies: @@ -7930,16 +7929,16 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.12.0,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 hash: - sha256: fda60c226dafdcdcb0bbe312be4c1622451479dc + sha256: 689e16d471a2f6a3ccfbbc921292c1e0387e2413 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 category: main optional: false - name: geoh5py - version: 0.13.0a2.dev52+fda60c22 + version: 0.13.0a2.dev90+689e16d4 manager: pip platform: win-64 dependencies: @@ -7947,12 +7946,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.12.0,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 hash: - sha256: fda60c226dafdcdcb0bbe312be4c1622451479dc + sha256: 689e16d471a2f6a3ccfbbc921292c1e0387e2413 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 category: main optional: false - name: grid-apps @@ -7962,7 +7961,7 @@ package: dependencies: discretize: '>=0.11.0,<0.12.dev' geoapps-utils: 0.7.0a2.dev11+3f02228 - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' scipy: '>=1.14.0,<1.15.0' @@ -7981,7 +7980,7 @@ package: dependencies: discretize: '>=0.11.0,<0.12.dev' geoapps-utils: 0.7.0a2.dev11+3f02228 - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' scipy: '>=1.14.0,<1.15.0' @@ -7994,7 +7993,7 @@ package: category: main optional: false - name: mira-simpeg - version: 0.23.0.3a1.dev107+g1cf096ddf + version: 0.23.0.3a1.dev109+gdb5c11995 manager: pip platform: linux-64 dependencies: @@ -8007,16 +8006,16 @@ package: pymatsolver: '>=0.3' scipy: '>=1.8' typing-extensions: '*' - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d hash: - sha256: 1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + sha256: db5c11995e74c81f1f61a9bda20a901b87d71c1d source: type: url - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d category: main optional: false - name: mira-simpeg - version: 0.23.0.3a1.dev107+g1cf096ddf + version: 0.23.0.3a1.dev109+gdb5c11995 manager: pip platform: win-64 dependencies: @@ -8029,11 +8028,11 @@ package: pymatsolver: '>=0.3' scipy: '>=1.8' typing-extensions: '*' - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d hash: - sha256: 1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + sha256: db5c11995e74c81f1f61a9bda20a901b87d71c1d source: type: url - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d category: main optional: false diff --git a/py-3.12.conda-lock.yml b/py-3.12.conda-lock.yml index aa9625ae..9c767191 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: a78d91fa3dc4c95c661cb43f744570c4cbf3dc04b7182fba46b68958c9f38e93 - linux-64: 8d2ec2f5bff152c0b1a90962f693656e4ddb9e44ed5c8117e1ca290243cc3f6e + win-64: 10337b726c4f2321886ef1a0132c5e4edd9402ed1e15c030aba8bd09e4f40e35 + linux-64: 57a85c1115233ff2ec7d88a64691ac13e0f87f257998649da986b1929fe15ae1 channels: - url: conda-forge used_env_vars: [] @@ -952,12 +952,12 @@ package: libgcc: '>=14' libstdcxx: '>=14' numpy: '>=1.25' - python: '>=3.12,<3.13.0a0' + python: '' python_abi: 3.12.* - url: https://repo.prefix.dev/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_3.conda + url: https://repo.prefix.dev/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda hash: - md5: 86cf7a7d861b79d38e3f0e5097e4965b - sha256: e173ea96fb135b233c7f57c35c0d07f7adc50ebacf814550f3daf1c7ba2ed51e + md5: 43c2bc96af3ae5ed9e8a10ded942aa50 + sha256: 62447faf7e8eb691e407688c0b4b7c230de40d5ecf95bf301111b4d05c5be473 category: main optional: false - name: contourpy @@ -966,15 +966,15 @@ package: platform: win-64 dependencies: numpy: '>=1.25' - python: '>=3.12,<3.13.0a0' + python: '' python_abi: 3.12.* ucrt: '>=10.0.20348.0' vc: '>=14.3,<15' vc14_runtime: '>=14.44.35208' - url: https://repo.prefix.dev/conda-forge/win-64/contourpy-1.3.3-py312hf90b1b7_3.conda + url: https://repo.prefix.dev/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda hash: - md5: 9dabe26ca46b845b669408109975b922 - sha256: 735847f474ffbef028e2bac81c786f46b2498d422b834b799f50e30d95730b37 + md5: 475bd41a63e613f2f2a2764cd1cd3b25 + sha256: 5f0dd3a4243e8293acc40abf3b11bcb23401268a1ef2ed3bce4d5a060383c1da category: main optional: false - name: coverage @@ -2462,7 +2462,7 @@ package: category: dev optional: true - name: jupyter-book - version: 2.1.0 + version: 2.1.1 manager: conda platform: linux-64 dependencies: @@ -2472,14 +2472,14 @@ package: nodejs: '>=20' platformdirs: '>=4.2.2' python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.0-pyhcf101f3_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.1-pyhcf101f3_0.conda hash: - md5: d684ce882bb25ee88fb3c03127d26202 - sha256: 8bbe0db8d825169c3ad26d19ef670425267e3e215053ceb242357b497d0766fe + md5: 29cc201b7334408707a8866d6baa35cc + sha256: efea291760fba57a8abaf5b3a05c57f99d60cf11c8950fe8499f4d2eaa4473bb category: dev optional: true - name: jupyter-book - version: 2.1.0 + version: 2.1.1 manager: conda platform: win-64 dependencies: @@ -2489,10 +2489,10 @@ package: nodejs: '>=20' platformdirs: '>=4.2.2' python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.0-pyhcf101f3_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyter-book-2.1.1-pyhcf101f3_0.conda hash: - md5: d684ce882bb25ee88fb3c03127d26202 - sha256: 8bbe0db8d825169c3ad26d19ef670425267e3e215053ceb242357b497d0766fe + md5: 29cc201b7334408707a8866d6baa35cc + sha256: efea291760fba57a8abaf5b3a05c57f99d60cf11c8950fe8499f4d2eaa4473bb category: dev optional: true - name: jupyter-lsp @@ -2715,7 +2715,7 @@ package: category: dev optional: true - name: jupyterlab - version: 4.5.2 + version: 4.5.3 manager: conda platform: linux-64 dependencies: @@ -2734,14 +2734,14 @@ package: tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda hash: - md5: 513e7fcc06c82b24c84ff88ece13ac9f - sha256: 4e277cee7fc4b403c954960476375e5a51babd06f3ac46a04bd9fff5971aa569 + md5: 106f4e36e14797b9c2abfc3849d9e92f + sha256: 18b5bff46717023ef5e81ae6ba71b254c1aca474db32c6dc21897c46ea26fa75 category: dev optional: true - name: jupyterlab - version: 4.5.2 + version: 4.5.3 manager: conda platform: win-64 dependencies: @@ -2760,10 +2760,10 @@ package: tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda hash: - md5: 513e7fcc06c82b24c84ff88ece13ac9f - sha256: 4e277cee7fc4b403c954960476375e5a51babd06f3ac46a04bd9fff5971aa569 + md5: 106f4e36e14797b9c2abfc3849d9e92f + sha256: 18b5bff46717023ef5e81ae6ba71b254c1aca474db32c6dc21897c46ea26fa75 category: dev optional: true - name: jupyterlab_pygments @@ -3063,31 +3063,31 @@ package: category: main optional: false - name: libaec - version: 1.1.4 + version: 1.1.5 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - libgcc: '>=13' - libstdcxx: '>=13' - url: https://repo.prefix.dev/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + libgcc: '>=14' + libstdcxx: '>=14' + url: https://repo.prefix.dev/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda hash: - md5: 01ba04e414e47f95c03d6ddd81fd37be - sha256: 410ab78fe89bc869d435de04c9ffa189598ac15bb0fe1ea8ace8fb1b860a2aa3 + md5: 86f7414544ae606282352fa1e116b41f + sha256: 822e4ae421a7e9c04e841323526321185f6659222325e1a9aedec811c686e688 category: main optional: false - name: libaec - version: 1.1.4 + version: 1.1.5 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' - vc: '>=14.2,<15' - vc14_runtime: '>=14.29.30139' - url: https://repo.prefix.dev/conda-forge/win-64/libaec-1.1.4-h20038f6_0.conda + vc: '>=14.3,<15' + vc14_runtime: '>=14.44.35208' + url: https://repo.prefix.dev/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda hash: - md5: 85a2bed45827d77d5b308cb2b165404f - sha256: 0be89085effce9fdcbb6aea7acdb157b18793162f68266ee0a75acf615d4929b + md5: 43b6385cfad52a7083f2c41984eb4e91 + sha256: e54c08964262c73671d9e80e400333e59c617e0b454476ad68933c0c458156c8 category: main optional: false - name: libblas @@ -4790,10 +4790,10 @@ package: manager: conda platform: win-64 dependencies: {} - url: https://repo.prefix.dev/conda-forge/win-64/nodejs-25.2.1-he453025_1.conda + url: https://repo.prefix.dev/conda-forge/win-64/nodejs-25.2.1-he453025_2.conda hash: - md5: 461d47b472740c68ec0771c8b759868b - sha256: 9742d28cf4a171dc9898bfb3c8512858f1ed46aa3cbc26d8839003d879564beb + md5: b965c8d527c0a5b4781e39339abc808a + sha256: abe64c5dce6d7024919807f9d5ac72729862848238e6ad6bf9ed4e721c8cc232 category: dev optional: true - name: notebook @@ -5025,67 +5025,64 @@ package: category: dev optional: true - name: packaging - version: '25.0' + version: '26.0' manager: conda platform: linux-64 dependencies: python: '>=3.8' - url: https://repo.prefix.dev/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + url: https://repo.prefix.dev/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda hash: - md5: 58335b26c38bf4a20f399384c33cbcf9 - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 category: main optional: false - name: packaging - version: '25.0' + version: '26.0' manager: conda platform: win-64 dependencies: python: '>=3.8' - url: https://repo.prefix.dev/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + url: https://repo.prefix.dev/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda hash: - md5: 58335b26c38bf4a20f399384c33cbcf9 - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 category: main optional: false - name: pandas - version: 2.3.3 + version: 3.0.0 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=14' libstdcxx: '>=14' - numpy: '>=1.22.4' - python: '>=3.12,<3.13.0a0' + numpy: '>=1.26.0' + python: '' python-dateutil: '>=2.8.2' - python-tzdata: '>=2022.7' python_abi: 3.12.* - pytz: '>=2020.1' - url: https://repo.prefix.dev/conda-forge/linux-64/pandas-2.3.3-py312hf79963d_1.conda + url: https://repo.prefix.dev/conda-forge/linux-64/pandas-3.0.0-py312h8ecdadd_0.conda hash: - md5: e597b3e812d9613f659b7d87ad252d18 - sha256: f633d5f9b28e4a8f66a6ec9c89ef1b6743b880b0511330184b4ab9b7e2dda247 + md5: 2db19c9eb81049acf8108ccfbe5cc2ed + sha256: 729c74e74703ab8686ee3915fd3023b6c454d0d97c60ec2e5f5c537cdab5277a category: main optional: false - name: pandas - version: 2.3.3 + version: 3.0.0 manager: conda platform: win-64 dependencies: - numpy: '>=1.22.4' - python: '>=3.12,<3.13.0a0' + numpy: '>=1.26.0' + python: '' python-dateutil: '>=2.8.2' - python-tzdata: '>=2022.7' + python-tzdata: '' python_abi: 3.12.* - pytz: '>=2020.1' ucrt: '>=10.0.20348.0' vc: '>=14.3,<15' vc14_runtime: '>=14.44.35208' - url: https://repo.prefix.dev/conda-forge/win-64/pandas-2.3.3-py312hc128f0a_2.conda + url: https://repo.prefix.dev/conda-forge/win-64/pandas-3.0.0-py312h95189c4_0.conda hash: - md5: 57d80e87a8b3161bcf26472deceaa556 - sha256: 7f37f3ccea378f491f68979c7afd7f2dbc8ee83c3461dfab3cce15d436298f44 + md5: 471867d1335d19294ff2b3391c4c7122 + sha256: cf9409d6f3b82a966d62c6d25dac02cf7277887591ff98d5f80f44815acef084 category: main optional: false - name: pandoc @@ -6056,8 +6053,8 @@ package: hash: md5: bc8e3267d44011051f2eb14d22fb0960 sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 - category: main - optional: false + category: dev + optional: true - name: pytz version: '2025.2' manager: conda @@ -6068,8 +6065,8 @@ package: hash: md5: bc8e3267d44011051f2eb14d22fb0960 sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 - category: main - optional: false + category: dev + optional: true - name: pywin32 version: '311' manager: conda @@ -6644,27 +6641,27 @@ package: category: main optional: false - name: soupsieve - version: 2.8.2 + version: 2.8.3 manager: conda platform: linux-64 dependencies: python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda hash: - md5: fcbe3971b6017792e9b24ff451daa7f5 - sha256: aacc87d88795ef887b89fe9401d1092312c43371d1ba92340d8924da1a982b6a + md5: 18de09b20462742fe093ba39185d9bac + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac category: dev optional: true - name: soupsieve - version: 2.8.2 + version: 2.8.3 manager: conda platform: win-64 dependencies: python: '>=3.10' - url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.2-pyhd8ed1ab_0.conda + url: https://repo.prefix.dev/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda hash: - md5: fcbe3971b6017792e9b24ff451daa7f5 - sha256: aacc87d88795ef887b89fe9401d1092312c43371d1ba92340d8924da1a982b6a + md5: 18de09b20462742fe093ba39185d9bac + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac category: dev optional: true - name: sphinx @@ -7602,27 +7599,29 @@ package: category: dev optional: true - name: wheel - version: 0.45.1 + version: 0.46.3 manager: conda platform: linux-64 dependencies: - python: '>=3.9' - url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + packaging: '>=24.0' + python: '>=3.10' + url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda hash: - md5: 75cb7132eb58d97896e173ef12ac9986 - sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae category: main optional: false - name: wheel - version: 0.45.1 + version: 0.46.3 manager: conda platform: win-64 dependencies: - python: '>=3.9' - url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + packaging: '>=24.0' + python: '>=3.10' + url: https://repo.prefix.dev/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda hash: - md5: 75cb7132eb58d97896e173ef12ac9986 - sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae category: main optional: false - name: widgetsnbextension @@ -7970,7 +7969,7 @@ package: manager: pip platform: linux-64 dependencies: - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 matplotlib: '>=3.8.4,<3.9.0' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' @@ -7988,7 +7987,7 @@ package: manager: pip platform: win-64 dependencies: - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 matplotlib: '>=3.8.4,<3.9.0' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' @@ -8002,7 +8001,7 @@ package: category: main optional: false - name: geoh5py - version: 0.13.0a2.dev52+fda60c22 + version: 0.13.0a2.dev90+689e16d4 manager: pip platform: linux-64 dependencies: @@ -8010,16 +8009,16 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.12.0,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 hash: - sha256: fda60c226dafdcdcb0bbe312be4c1622451479dc + sha256: 689e16d471a2f6a3ccfbbc921292c1e0387e2413 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 category: main optional: false - name: geoh5py - version: 0.13.0a2.dev52+fda60c22 + version: 0.13.0a2.dev90+689e16d4 manager: pip platform: win-64 dependencies: @@ -8027,12 +8026,12 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.12.0,<3.0.0' - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 hash: - sha256: fda60c226dafdcdcb0bbe312be4c1622451479dc + sha256: 689e16d471a2f6a3ccfbbc921292c1e0387e2413 source: type: url - url: git+https://github.com/MiraGeoscience/geoh5py.git@fda60c226dafdcdcb0bbe312be4c1622451479dc + url: git+https://github.com/MiraGeoscience/geoh5py.git@689e16d471a2f6a3ccfbbc921292c1e0387e2413 category: main optional: false - name: grid-apps @@ -8042,7 +8041,7 @@ package: dependencies: discretize: '>=0.11.0,<0.12.dev' geoapps-utils: 0.7.0a2.dev11+3f02228 - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' scipy: '>=1.14.0,<1.15.0' @@ -8061,7 +8060,7 @@ package: dependencies: discretize: '>=0.11.0,<0.12.dev' geoapps-utils: 0.7.0a2.dev11+3f02228 - geoh5py: 0.13.0a2.dev52+fda60c22 + geoh5py: 0.13.0a2.dev90+689e16d4 numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.12.0,<3.0.0' scipy: '>=1.14.0,<1.15.0' @@ -8074,7 +8073,7 @@ package: category: main optional: false - name: mira-simpeg - version: 0.23.0.3a1.dev107+g1cf096ddf + version: 0.23.0.3a1.dev109+gdb5c11995 manager: pip platform: linux-64 dependencies: @@ -8087,16 +8086,16 @@ package: pymatsolver: '>=0.3' scipy: '>=1.8' typing-extensions: '*' - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d hash: - sha256: 1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + sha256: db5c11995e74c81f1f61a9bda20a901b87d71c1d source: type: url - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d category: main optional: false - name: mira-simpeg - version: 0.23.0.3a1.dev107+g1cf096ddf + version: 0.23.0.3a1.dev109+gdb5c11995 manager: pip platform: win-64 dependencies: @@ -8109,11 +8108,11 @@ package: pymatsolver: '>=0.3' scipy: '>=1.8' typing-extensions: '*' - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d hash: - sha256: 1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + sha256: db5c11995e74c81f1f61a9bda20a901b87d71c1d source: type: url - url: git+https://github.com/MiraGeoscience/simpeg.git@1cf096ddfe44da149fecbb53d6f6e97fae3c23ae + url: git+https://github.com/MiraGeoscience/simpeg.git@db5c11995e74c81f1f61a9bda20a901b87d71c1d category: main optional: false diff --git a/pyproject.toml b/pyproject.toml index 87e4076e..bbe7ffa9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -103,7 +103,7 @@ grid-apps = {git = "https://github.com/MiraGeoscience/grid-apps.git", rev = "dev geoapps-utils = {git = "https://github.com/MiraGeoscience/geoapps-utils.git", rev = "develop"} #mira-simpeg = {version = ">=0.23.0.3a, 0.23.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 = "GEOPY-2683", extras = ["dask"]} ## about pip dependencies # to be specified to work with conda-lock From 210dad96f12b87adf25ffafaba5cfe8ededd78e9 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sun, 25 Jan 2026 13:21:56 -0800 Subject: [PATCH 04/11] Update UIjson with new auto_scale_tiles and "channels" --- .../uijson/direct_current_2d_inversion.ui.json | 6 +++--- .../uijson/direct_current_3d_inversion.ui.json | 6 +++--- .../direct_current_batch2d_inversion.ui.json | 6 +++--- .../uijson/fdem1d_inversion.ui.json | 6 +++--- .../uijson/fdem_inversion.ui.json | 14 +++++++++++--- .../uijson/gravity_inversion.ui.json | 6 +++--- .../induced_polarization_2d_inversion.ui.json | 6 +++--- .../induced_polarization_3d_inversion.ui.json | 6 +++--- .../induced_polarization_batch2d_inversion.ui.json | 6 +++--- .../uijson/joint_cross_gradient_inversion.ui.json | 2 +- .../uijson/joint_petrophysics_inversion.ui.json | 2 +- .../uijson/joint_surveys_inversion.ui.json | 2 +- .../uijson/magnetic_scalar_inversion.ui.json | 6 +++--- .../uijson/magnetic_vector_inversion.ui.json | 6 +++--- .../uijson/magnetotellurics_inversion.ui.json | 14 +++++++++++--- .../uijson/tdem1d_inversion.ui.json | 6 +++--- .../uijson/tdem_inversion.ui.json | 6 +++--- .../uijson/tipper_inversion.ui.json | 14 +++++++++++--- 18 files changed, 72 insertions(+), 48 deletions(-) diff --git a/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json b/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json index 060217ba..a1c51b41 100644 --- a/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json @@ -387,13 +387,13 @@ "enabled": true, "tooltip": "The global target data misfit value." }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor." + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json b/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json index e543ac9a..6fb02e4b 100644 --- a/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json @@ -357,13 +357,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json b/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json index d793940c..b72fc145 100644 --- a/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json @@ -368,13 +368,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json b/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json index fe8a1584..5e8728ba 100644 --- a/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json @@ -392,13 +392,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": false, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/fdem_inversion.ui.json b/simpeg_drivers-assets/uijson/fdem_inversion.ui.json index d646f052..a7ad8b6b 100644 --- a/simpeg_drivers-assets/uijson/fdem_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/fdem_inversion.ui.json @@ -393,13 +393,21 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + }, + "auto_scale_channels": { + "group": "Cooling schedule/target", + "label": "Auto-scale frequencies", + "value": false, + "verbose": 3, + "visible": true, + "tooltip": "Whether to auto-scale frequencies based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/gravity_inversion.ui.json b/simpeg_drivers-assets/uijson/gravity_inversion.ui.json index 74b130b6..d1a953cb 100644 --- a/simpeg_drivers-assets/uijson/gravity_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/gravity_inversion.ui.json @@ -626,13 +626,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json b/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json index 33a35ab9..30a34abd 100644 --- a/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json @@ -398,13 +398,13 @@ "enabled": true, "tooltip": "The global target data misfit value." }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor." + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json b/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json index e0769770..78df161e 100644 --- a/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json @@ -373,13 +373,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json b/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json index 3ea8e544..155c4acf 100644 --- a/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json @@ -380,13 +380,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/joint_cross_gradient_inversion.ui.json b/simpeg_drivers-assets/uijson/joint_cross_gradient_inversion.ui.json index 4fa16cfc..a852f4dd 100644 --- a/simpeg_drivers-assets/uijson/joint_cross_gradient_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/joint_cross_gradient_inversion.ui.json @@ -321,7 +321,7 @@ "value": true, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits functions of joint methods based on chi-factor" }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/joint_petrophysics_inversion.ui.json b/simpeg_drivers-assets/uijson/joint_petrophysics_inversion.ui.json index a3c3c2d6..b1149c05 100644 --- a/simpeg_drivers-assets/uijson/joint_petrophysics_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/joint_petrophysics_inversion.ui.json @@ -289,7 +289,7 @@ "value": true, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits functions of joint methods based on chi-factor" }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/joint_surveys_inversion.ui.json b/simpeg_drivers-assets/uijson/joint_surveys_inversion.ui.json index e3e1b610..f0e75224 100644 --- a/simpeg_drivers-assets/uijson/joint_surveys_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/joint_surveys_inversion.ui.json @@ -368,7 +368,7 @@ "value": true, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits functions of joint methods based on chi-factor" }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json b/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json index f37e0fa5..c4127876 100644 --- a/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json @@ -659,13 +659,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json b/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json index 084387d9..17713720 100644 --- a/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json @@ -724,13 +724,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json b/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json index 64f40d8e..b2b11b05 100644 --- a/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json @@ -578,13 +578,21 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + }, + "auto_scale_channels": { + "group": "Cooling schedule/target", + "label": "Auto-scale frequencies", + "value": false, + "verbose": 3, + "visible": true, + "tooltip": "Whether to auto-scale frequencies based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json b/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json index 77eebdca..80ef6d59 100644 --- a/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json @@ -377,13 +377,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": false, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/tdem_inversion.ui.json b/simpeg_drivers-assets/uijson/tdem_inversion.ui.json index 126d44e0..9c0cbf59 100644 --- a/simpeg_drivers-assets/uijson/tdem_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/tdem_inversion.ui.json @@ -437,13 +437,13 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/tipper_inversion.ui.json b/simpeg_drivers-assets/uijson/tipper_inversion.ui.json index ecd58b39..7ad0fdf0 100644 --- a/simpeg_drivers-assets/uijson/tipper_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/tipper_inversion.ui.json @@ -458,13 +458,21 @@ "enabled": true, "tooltip": "The global target data misfit value" }, - "auto_scale_misfits": { + "auto_scale_tiles": { "group": "Cooling schedule/target", - "label": "Auto-scale misfits", + "label": "Auto-scale tiles", "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits functions (tile, frequency, joint methods) based on chi-factor" + "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + }, + "auto_scale_channels": { + "group": "Cooling schedule/target", + "label": "Auto-scale frequencies", + "value": false, + "verbose": 3, + "visible": true, + "tooltip": "Whether to auto-scale frequencies based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, From c39dfe8ee5b53966e82c092282aaaf25737e7f35 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sun, 25 Jan 2026 13:23:49 -0800 Subject: [PATCH 05/11] Update options class for name change --- .../frequency_domain/options.py | 30 ++++++++++++++++++- simpeg_drivers/joint/options.py | 27 +++++++++++++++-- .../magnetotellurics/options.py | 3 ++ .../natural_sources/tipper/options.py | 3 ++ simpeg_drivers/options.py | 9 ++++-- 5 files changed, 66 insertions(+), 6 deletions(-) diff --git a/simpeg_drivers/electromagnetics/frequency_domain/options.py b/simpeg_drivers/electromagnetics/frequency_domain/options.py index 3dc79cb9..27d73047 100644 --- a/simpeg_drivers/electromagnetics/frequency_domain/options.py +++ b/simpeg_drivers/electromagnetics/frequency_domain/options.py @@ -22,7 +22,7 @@ LargeLoopGroundFEMReceivers, MovingLoopGroundFEMReceivers, ) -from pydantic import field_validator +from pydantic import AliasChoices, BaseModel, ConfigDict, Field, field_validator from simpeg_drivers import assets_path from simpeg_drivers.options import ( @@ -82,6 +82,31 @@ def name_change(cls, value: str): return value +class DirectiveOptions(BaseModel): + """ + Directive options for inversion. + + :param auto_scale_misfits: Automatically scale misfits of joint inversions. + :param auto_scale_tiles: Automatically scale tiles. + :param auto_scale_channels: Automatically scale channels. + :param beta_search: Beta search. + :param every_iteration_bool: Update the sensitivity weights every iteration. + :param save_sensitivities: Save sensitivities to file. + :param sens_wts_threshold: Threshold for sensitivity weights. + """ + + model_config = ConfigDict( + arbitrary_types_allowed=True, + ) + auto_scale_tiles: bool = Field( + False, validation_alias=AliasChoices("auto_scale_misfits", "auto_scale_tiles") + ) + auto_scale_channels: bool = False + every_iteration_bool: bool = True + save_sensitivities: bool = False + sens_wts_threshold: float | None = 1e-0 + + class FDEMForwardOptions(BaseForwardOptions, BaseFDEMOptions): """ Frequency Domain Electromagnetic Forward options. @@ -125,4 +150,7 @@ class FDEMInversionOptions(BaseFDEMOptions, BaseInversionOptions): z_real_uncertainty: PropertyGroup | None = None z_imag_channel: PropertyGroup | None = None z_imag_uncertainty: PropertyGroup | None = None + models: ConductivityModelOptions + + directives: DirectiveOptions = DirectiveOptions() diff --git a/simpeg_drivers/joint/options.py b/simpeg_drivers/joint/options.py index faa11fce..0bcac3bb 100644 --- a/simpeg_drivers/joint/options.py +++ b/simpeg_drivers/joint/options.py @@ -13,12 +13,11 @@ from geoh5py.data import FloatData from geoh5py.groups import PropertyGroup, SimPEGGroup -from pydantic import ConfigDict +from pydantic import BaseModel, ConfigDict from simpeg_drivers.options import ( CoolingSceduleOptions, CoreOptions, - DirectiveOptions, IRLSOptions, ModelOptions, OptimizationOptions, @@ -51,6 +50,28 @@ class JointModelOptions(ModelOptions): z_norm: float | FloatData | None = None +class DirectiveOptions(BaseModel): + """ + Directive options for inversion. + + :param auto_scale_misfits: Automatically scale misfits of joint inversions. + :param auto_scale_tiles: Automatically scale tiles. + :param auto_scale_channels: Automatically scale channels. + :param beta_search: Beta search. + :param every_iteration_bool: Update the sensitivity weights every iteration. + :param save_sensitivities: Save sensitivities to file. + :param sens_wts_threshold: Threshold for sensitivity weights. + """ + + model_config = ConfigDict( + arbitrary_types_allowed=True, + ) + auto_scale_misfits: bool = True + every_iteration_bool: bool = True + save_sensitivities: bool = False + sens_wts_threshold: float | None = 1e-0 + + class BaseJointOptions(CoreOptions): """ Base Joint Options. @@ -76,7 +97,7 @@ class BaseJointOptions(CoreOptions): group_c_multiplier: float | None = None irls: IRLSOptions = IRLSOptions() - directives: DirectiveOptions = DirectiveOptions(auto_scale_misfits=True) + directives: DirectiveOptions = DirectiveOptions() cooling_schedule: CoolingSceduleOptions = CoolingSceduleOptions() optimization: OptimizationOptions = OptimizationOptions() diff --git a/simpeg_drivers/natural_sources/magnetotellurics/options.py b/simpeg_drivers/natural_sources/magnetotellurics/options.py index c448a02e..ace35be8 100644 --- a/simpeg_drivers/natural_sources/magnetotellurics/options.py +++ b/simpeg_drivers/natural_sources/magnetotellurics/options.py @@ -19,6 +19,7 @@ from geoh5py.objects import MTReceivers from simpeg_drivers import assets_path +from simpeg_drivers.electromagnetics.frequency_domain.options import DirectiveOptions from simpeg_drivers.options import ( BaseForwardOptions, BaseInversionOptions, @@ -117,3 +118,5 @@ class MTInversionOptions(EMDataMixin, BaseInversionOptions): zyy_imag_uncertainty: PropertyGroup | None = None models: ConductivityModelOptions + + directives: DirectiveOptions = DirectiveOptions() diff --git a/simpeg_drivers/natural_sources/tipper/options.py b/simpeg_drivers/natural_sources/tipper/options.py index baeba98f..4f55f377 100644 --- a/simpeg_drivers/natural_sources/tipper/options.py +++ b/simpeg_drivers/natural_sources/tipper/options.py @@ -19,6 +19,7 @@ from geoh5py.objects import TipperReceivers from simpeg_drivers import assets_path +from simpeg_drivers.electromagnetics.frequency_domain.options import DirectiveOptions from simpeg_drivers.options import ( BaseForwardOptions, BaseInversionOptions, @@ -83,3 +84,5 @@ class TipperInversionOptions(EMDataMixin, BaseInversionOptions): tyz_imag_channel: PropertyGroup | None = None tyz_imag_uncertainty: PropertyGroup | None = None models: ConductivityModelOptions + + directives: DirectiveOptions = DirectiveOptions() diff --git a/simpeg_drivers/options.py b/simpeg_drivers/options.py index d086a4ea..187d4f7b 100644 --- a/simpeg_drivers/options.py +++ b/simpeg_drivers/options.py @@ -396,7 +396,9 @@ class DirectiveOptions(BaseModel): """ Directive options for inversion. - :param auto_scale_misfits: Automatically scale misfits of sub objectives. + :param auto_scale_misfits: Automatically scale misfits of joint inversions. + :param auto_scale_tiles: Automatically scale tiles. + :param auto_scale_channels: Automatically scale channels. :param beta_search: Beta search. :param every_iteration_bool: Update the sensitivity weights every iteration. :param save_sensitivities: Save sensitivities to file. @@ -406,7 +408,10 @@ class DirectiveOptions(BaseModel): model_config = ConfigDict( arbitrary_types_allowed=True, ) - auto_scale_misfits: bool = False + auto_scale_tiles: bool = Field( + False, validation_alias=AliasChoices("auto_scale_misfits", "auto_scale_tiles") + ) + auto_scale_channels: bool = False every_iteration_bool: bool = True save_sensitivities: bool = False sens_wts_threshold: float | None = 1e-0 From 65991b6aa387e67f45cf643f132e818e92ecf043 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Sun, 25 Jan 2026 13:25:10 -0800 Subject: [PATCH 06/11] Fix tooltip --- .../uijson/direct_current_2d_inversion.ui.json | 2 +- .../uijson/direct_current_3d_inversion.ui.json | 2 +- .../uijson/direct_current_batch2d_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/fdem_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/gravity_inversion.ui.json | 2 +- .../uijson/induced_polarization_2d_inversion.ui.json | 2 +- .../uijson/induced_polarization_3d_inversion.ui.json | 2 +- .../uijson/induced_polarization_batch2d_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/tdem_inversion.ui.json | 2 +- simpeg_drivers-assets/uijson/tipper_inversion.ui.json | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json b/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json index a1c51b41..b919c9e7 100644 --- a/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/direct_current_2d_inversion.ui.json @@ -393,7 +393,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json b/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json index 6fb02e4b..8ae10380 100644 --- a/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/direct_current_3d_inversion.ui.json @@ -363,7 +363,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json b/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json index b72fc145..eea2fd30 100644 --- a/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/direct_current_batch2d_inversion.ui.json @@ -374,7 +374,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json b/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json index 5e8728ba..e80f0797 100644 --- a/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/fdem1d_inversion.ui.json @@ -398,7 +398,7 @@ "value": false, "verbose": 3, "visible": false, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/fdem_inversion.ui.json b/simpeg_drivers-assets/uijson/fdem_inversion.ui.json index a7ad8b6b..82f50d48 100644 --- a/simpeg_drivers-assets/uijson/fdem_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/fdem_inversion.ui.json @@ -399,7 +399,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "auto_scale_channels": { "group": "Cooling schedule/target", diff --git a/simpeg_drivers-assets/uijson/gravity_inversion.ui.json b/simpeg_drivers-assets/uijson/gravity_inversion.ui.json index d1a953cb..db5d060c 100644 --- a/simpeg_drivers-assets/uijson/gravity_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/gravity_inversion.ui.json @@ -632,7 +632,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json b/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json index 30a34abd..1e679ef4 100644 --- a/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/induced_polarization_2d_inversion.ui.json @@ -404,7 +404,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json b/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json index 78df161e..3b997672 100644 --- a/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/induced_polarization_3d_inversion.ui.json @@ -379,7 +379,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json b/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json index 155c4acf..cfc61c6c 100644 --- a/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/induced_polarization_batch2d_inversion.ui.json @@ -386,7 +386,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json b/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json index c4127876..673ab5b1 100644 --- a/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/magnetic_scalar_inversion.ui.json @@ -665,7 +665,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json b/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json index 17713720..53bd286e 100644 --- a/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/magnetic_vector_inversion.ui.json @@ -730,7 +730,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json b/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json index b2b11b05..449951c9 100644 --- a/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/magnetotellurics_inversion.ui.json @@ -584,7 +584,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "auto_scale_channels": { "group": "Cooling schedule/target", diff --git a/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json b/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json index 80ef6d59..f50f403f 100644 --- a/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/tdem1d_inversion.ui.json @@ -383,7 +383,7 @@ "value": false, "verbose": 3, "visible": false, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/tdem_inversion.ui.json b/simpeg_drivers-assets/uijson/tdem_inversion.ui.json index 9c0cbf59..f8184da1 100644 --- a/simpeg_drivers-assets/uijson/tdem_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/tdem_inversion.ui.json @@ -443,7 +443,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "initial_beta_ratio": { "min": 0.0, diff --git a/simpeg_drivers-assets/uijson/tipper_inversion.ui.json b/simpeg_drivers-assets/uijson/tipper_inversion.ui.json index 7ad0fdf0..5e530251 100644 --- a/simpeg_drivers-assets/uijson/tipper_inversion.ui.json +++ b/simpeg_drivers-assets/uijson/tipper_inversion.ui.json @@ -464,7 +464,7 @@ "value": false, "verbose": 3, "visible": true, - "tooltip": "Whether to auto-scale misfits tiles based on chi-factor." + "tooltip": "Whether to auto-scale the misfit function of tiles based on chi-factor." }, "auto_scale_channels": { "group": "Cooling schedule/target", From 2fd2c4e65e70901a7711273c959bb625fcbba561 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 26 Jan 2026 09:28:31 -0800 Subject: [PATCH 07/11] Fix logic in base driver for scale tiles and channels --- .../components/factories/directives_factory.py | 6 ++++-- simpeg_drivers/driver.py | 4 ++-- tests/run_tests/driver_fem_test.py | 11 ++++++++++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index 035d97b2..bfc354ba 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -269,11 +269,13 @@ def save_iteration_residual_directive(self): def scale_misfits(self): if ( self._scale_misfits is None - and self.params.directives.auto_scale_misfits + and any( + getattr(self.params.directives, f"auto_scale_{val}", False) + for val in ["tiles", "channels", "misfits"] + ) and len(self.driver.data_misfit.objfcts) > 1 ): nested_tiles = self.driver.get_nested_tiles() - self._scale_misfits = directives.ScaleMisfitMultipliers( self.params.geoh5.h5file.parent, nested_tiles ) diff --git a/simpeg_drivers/driver.py b/simpeg_drivers/driver.py index 4de5b95f..e8e60a39 100644 --- a/simpeg_drivers/driver.py +++ b/simpeg_drivers/driver.py @@ -354,12 +354,12 @@ def get_nested_tiles(self) -> list: for channel in self.tiles.values(): tile_list = [] for tile in channel: - if self.params.directives.auto_scale_misfits: + if self.params.directives.auto_scale_tiles: tile_list.append(tile) else: tile_list += tile - if self.params.directives.auto_scale_misfits: + if self.params.directives.auto_scale_channels: nested_tiles.append(tile_list) else: nested_tiles += tile_list diff --git a/tests/run_tests/driver_fem_test.py b/tests/run_tests/driver_fem_test.py index 7c1e0987..ecc693d9 100644 --- a/tests/run_tests/driver_fem_test.py +++ b/tests/run_tests/driver_fem_test.py @@ -179,14 +179,23 @@ def test_fem_run(tmp_path: Path, max_iterations=1, pytest=True): max_global_iterations=max_iterations, initial_beta_ratio=1e1, percentile=100, - cooling_rate=3, + cooling_rate=1, chi_factor=0.25, + auto_scale_channels=True, + auto_scale_tiles=True, + tile_spatial=2, **data_kwargs, ) params.write_ui_json(path=tmp_path / "Inv_run.ui.json") driver = FDEMInversionDriver(params) driver.run() + np.testing.assert_allclose( + driver.data_misfit.multipliers, + [1.0, 0.5, 0.6004, 0.5, 0.5047, 0.5], + atol=1e-3, + ) + with geoh5.open() as run_ws: output = get_inversion_output( driver.params.geoh5.h5file, driver.params.out_group.uid From 9dc769c524893b6ccaff78039b0dd011bfac622c Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 26 Jan 2026 10:31:49 -0800 Subject: [PATCH 08/11] Add granularity to tests for scaling --- tests/run_tests/driver_fem_test.py | 4 ++-- .../run_tests/driver_joint_cross_gradient_test.py | 14 +++++++++++++- tests/run_tests/driver_joint_surveys_test.py | 9 +++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/tests/run_tests/driver_fem_test.py b/tests/run_tests/driver_fem_test.py index ecc693d9..83864e1d 100644 --- a/tests/run_tests/driver_fem_test.py +++ b/tests/run_tests/driver_fem_test.py @@ -182,7 +182,6 @@ def test_fem_run(tmp_path: Path, max_iterations=1, pytest=True): cooling_rate=1, chi_factor=0.25, auto_scale_channels=True, - auto_scale_tiles=True, tile_spatial=2, **data_kwargs, ) @@ -190,9 +189,10 @@ def test_fem_run(tmp_path: Path, max_iterations=1, pytest=True): driver = FDEMInversionDriver(params) driver.run() + # Scaling is done evenly on channels np.testing.assert_allclose( driver.data_misfit.multipliers, - [1.0, 0.5, 0.6004, 0.5, 0.5047, 0.5], + [1.0, 1.0, 0.6004, 0.6004, 0.5047, 0.5047], atol=1e-3, ) diff --git a/tests/run_tests/driver_joint_cross_gradient_test.py b/tests/run_tests/driver_joint_cross_gradient_test.py index 7875a7d9..f5cb8412 100644 --- a/tests/run_tests/driver_joint_cross_gradient_test.py +++ b/tests/run_tests/driver_joint_cross_gradient_test.py @@ -200,6 +200,8 @@ def test_joint_cross_gradient_inv_run( starting_model=0.0, reference_model=0.0, upper_bound=1.0, + tile_spatial=2, + auto_scale_tiles=True, ) drivers.append(GravityInversionDriver(params)) elif suffix == "C": @@ -231,9 +233,10 @@ def test_joint_cross_gradient_inv_run( data_object=survey, starting_model=1e-4, reference_model=0.0, - tile_spatial=1, tmi_channel=data, tmi_uncertainty=1e1, + tile_spatial=2, + auto_scale_tiles=False, ) drivers.append(MVIInversionDriver(params)) @@ -262,6 +265,15 @@ def test_joint_cross_gradient_inv_run( driver = JointCrossGradientDriver(joint_params) driver.run() + # Mix of scaling on misfits and tiles. + # Expecting that gravity tiles are independently scaled, but MVI tiles take + # the scaling from its total misfit. + np.testing.assert_allclose( + driver.data_misfit.multipliers, + [0.5011, 0.5, 0.5, 0.5, 1.0], + atol=1e-3, + ) + with Workspace(driver.params.geoh5.h5file): output = get_inversion_output( driver.params.geoh5.h5file, driver.params.out_group.uid diff --git a/tests/run_tests/driver_joint_surveys_test.py b/tests/run_tests/driver_joint_surveys_test.py index dd6b26fd..6da0c8b3 100644 --- a/tests/run_tests/driver_joint_surveys_test.py +++ b/tests/run_tests/driver_joint_surveys_test.py @@ -161,6 +161,7 @@ def test_joint_surveys_inv_run( gz_channel=gz, gz_uncertainty=np.var(gz.values) * 2.0, starting_model=0.0, + tile_spatial=2, ) drivers.append(GravityInversionDriver(params)) @@ -182,11 +183,19 @@ def test_joint_surveys_inv_run( max_global_iterations=max_iterations, initial_beta_ratio=1e-2, percentile=100, + auto_scale_misfits=True, ) driver = JointSurveyDriver(joint_params) driver.run() + # The rescaling is done evenly on the two tiles for both surveys + np.testing.assert_allclose( + driver.data_misfit.multipliers, + [1.0, 1.0, 0.8341, 0.8341], + atol=1e-3, + ) + with Workspace(driver.params.geoh5.h5file): output = get_inversion_output( driver.params.geoh5.h5file, driver.params.out_group.uid From a6164e9df873c0be79f471b5eabbdaba402ad824 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Mon, 26 Jan 2026 14:35:38 -0800 Subject: [PATCH 09/11] Fix return type of split_list --- simpeg_drivers/driver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/simpeg_drivers/driver.py b/simpeg_drivers/driver.py index e8e60a39..93e6b794 100644 --- a/simpeg_drivers/driver.py +++ b/simpeg_drivers/driver.py @@ -281,7 +281,7 @@ def __init__( self._window = None self.tiles: dict[list[np.ndarray]] - def split_list(self, tiles: list[np.ndarray]) -> list[np.ndarray]: + def split_list(self, tiles: list[np.ndarray]) -> list[list[np.ndarray]]: """ Number of splits for the data misfit to be distributed evenly among workers. """ @@ -311,7 +311,7 @@ def split_list(self, tiles: list[np.ndarray]) -> list[np.ndarray]: flat_tile_list = [] for tile, split in zip(tiles, split_list): flat_tile_list.append( - sub for sub in np.array_split(tile, split) if len(sub) > 0 + [sub for sub in np.array_split(tile, split) if len(sub) > 0] ) return flat_tile_list From 51826fe69c60b0425d112b256fc98a3842978269 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Tue, 27 Jan 2026 09:02:01 -0800 Subject: [PATCH 10/11] Pass the chi_target set of sub problem to the joint --- simpeg_drivers/joint/driver.py | 12 ++++++++---- tests/run_tests/driver_joint_cross_gradient_test.py | 7 +++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/simpeg_drivers/joint/driver.py b/simpeg_drivers/joint/driver.py index 3f74db24..0e4ab047 100644 --- a/simpeg_drivers/joint/driver.py +++ b/simpeg_drivers/joint/driver.py @@ -66,10 +66,14 @@ def data_misfit(self): for ii, fun in enumerate(driver.data_misfit.objfcts): fun.name = f"Group_{label.upper()}:Tile_{ii}" - multipliers += [ - (getattr(self.params, f"group_{label}_multiplier") or 1.0) - ** 2.0 - ] * len(driver.data_misfit.objfcts) + multipliers += ( + [ + (getattr(self.params, f"group_{label}_multiplier") or 1.0) + ** 2.0 + * driver.directives.update_irls_directive.chifact_target # Adjust for local chi factors + ] + * len(driver.data_misfit.objfcts) + ) tiles.append(driver.tiles) self.tiles = tiles diff --git a/tests/run_tests/driver_joint_cross_gradient_test.py b/tests/run_tests/driver_joint_cross_gradient_test.py index f5cb8412..1c70d394 100644 --- a/tests/run_tests/driver_joint_cross_gradient_test.py +++ b/tests/run_tests/driver_joint_cross_gradient_test.py @@ -202,6 +202,7 @@ def test_joint_cross_gradient_inv_run( upper_bound=1.0, tile_spatial=2, auto_scale_tiles=True, + chi_factor=0.8, ) drivers.append(GravityInversionDriver(params)) elif suffix == "C": @@ -263,6 +264,12 @@ def test_joint_cross_gradient_inv_run( ) driver = JointCrossGradientDriver(joint_params) + + # Check that chi factors set on the sub drivers are preserved forward + np.testing.assert_allclose( + driver.data_misfit.multipliers, [0.8, 0.8, 1.0, 1.0, 1.0], atol=1e-3 + ) + driver.run() # Mix of scaling on misfits and tiles. From f1cb89b01778bf6884645b5f6a5fabe79f81e16b Mon Sep 17 00:00:00 2001 From: dominiquef Date: Tue, 27 Jan 2026 09:04:15 -0800 Subject: [PATCH 11/11] Pass the global target chi_factor to the directive --- simpeg_drivers/components/factories/directives_factory.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/simpeg_drivers/components/factories/directives_factory.py b/simpeg_drivers/components/factories/directives_factory.py index bfc354ba..af16d6b5 100644 --- a/simpeg_drivers/components/factories/directives_factory.py +++ b/simpeg_drivers/components/factories/directives_factory.py @@ -277,7 +277,9 @@ def scale_misfits(self): ): nested_tiles = self.driver.get_nested_tiles() self._scale_misfits = directives.ScaleMisfitMultipliers( - self.params.geoh5.h5file.parent, nested_tiles + self.params.geoh5.h5file.parent, + nested_tiles, + target_chi=self.params.cooling_schedule.chi_factor, ) return self._scale_misfits