Loading .gitignore +3 −1 Original line number Diff line number Diff line Loading @@ -11,3 +11,5 @@ dist tests/resources/test_output pydoubletcalc_install workdir No newline at end of file pixi.lock +191 −31 Original line number Diff line number Diff line Loading @@ -52,9 +52,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.0-h5888daf_0.conda Loading @@ -63,6 +65,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.7.1-py313h74173ec_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda Loading Loading @@ -164,6 +167,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h3f2d84a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.62.1-py313hd8e3f9f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.5-py313h17eae1a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.3-h5fbd93e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313h9c9eb82_1.conda Loading Loading @@ -231,11 +235,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.34.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py313h78bf25f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2024.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py313h07c4f96_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2025.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda Loading Loading @@ -306,14 +312,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.0.1-py313ha7868ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.7.1-py313h5327936_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda Loading Loading @@ -400,6 +409,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/nh3-0.2.21-py39he870945_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numba-0.62.1-py313h924e429_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py313hc90dcd4_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.2.5-py313hefb8edb_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.3-h4d64b90_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py313he57e174_1.conda Loading Loading @@ -470,11 +480,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py313hfa70ccb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2024.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-h0e40799_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-h0e40799_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2025.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py313ha7868ed_2.conda Loading Loading @@ -1624,6 +1636,18 @@ packages: purls: [] size: 618596 timestamp: 1640112124844 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda sha256: c994a70449d548dd388768090c71c1da81e1e128a281547ab9022908d46878c5 md5: bf74a83f7a0f2a21b5d709997402cac4 depends: - python >=3.10 - wrapt <2,>=1.10 license: MIT license_family: MIT purls: - pkg:pypi/deprecated?source=hash-mapping size: 15815 timestamp: 1761813872696 - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda sha256: 6d977f0b2fc24fee21a9554389ab83070db341af6d6f09285360b2e09ef8b26e md5: 003b8ba0a94e2f1e117d0bd46aebc901 Loading Loading @@ -1674,6 +1698,18 @@ packages: - pkg:pypi/docutils?source=hash-mapping size: 402700 timestamp: 1733217860944 - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda sha256: d58e97d418f71703e822c422af5b9c431e3621a0ecdc8b0334c1ca33e076dfe7 md5: c56a7fa5597ad78b62e1f5d21f7f8b8f depends: - python >=3.9 - pyyaml license: MIT license_family: MIT purls: - pkg:pypi/donfig?source=hash-mapping size: 22491 timestamp: 1734368817583 - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda sha256: 2209534fbf2f70c20661ff31f57ab6a97b82ee98812e8a2dcb2b36a0d345727c md5: 71bf9646cbfabf3022c8da4b6b4da737 Loading Loading @@ -1864,6 +1900,37 @@ packages: purls: [] size: 143452 timestamp: 1718284177264 - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.7.1-py313h74173ec_1.conda sha256: 81ca7fb5c0756e3a5934fe18b44b90be475a03329bcd715334455aec340e34c0 md5: 8580f244242b4d6a8c1933d8d0475b9c depends: - __glibc >=2.17,<3.0.a0 - libcrc32c >=1.1.2,<1.2.0a0 - libgcc >=14 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/google-crc32c?source=hash-mapping size: 24798 timestamp: 1755850411927 - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.7.1-py313h5327936_1.conda sha256: 5d1a3322ab5949c63326bbb779feaf47f95902849a9687da094e8de490250e22 md5: 35b1131e4ea5eb0f27664eeb68c9a29b depends: - libcrc32c >=1.1.2,<1.2.0a0 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/google-crc32c?source=hash-mapping size: 27799 timestamp: 1755850484807 - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda sha256: c1e4039c9b6d613e8e9feafa21fae58db5eebeaa5f8bece5d8610154ae6ebf80 md5: aafe052f140a58b1afaf8ab473f5ac0d Loading Loading @@ -4178,6 +4245,46 @@ packages: - pkg:pypi/numba?source=hash-mapping size: 5706597 timestamp: 1759165298367 - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda sha256: 7c35d46639f8638849535a22cb7ae1b7210121be0c7b053d8e2ab7ed485e6bff md5: 0f394ef25fb81d1dec8ff4fa716f00bd depends: - __glibc >=2.17,<3.0.a0 - deprecated - libgcc >=14 - libstdcxx >=14 - msgpack-python - numpy >=1.23,<3 - numpy >=1.24 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - typing_extensions license: MIT license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping size: 808201 timestamp: 1764782369322 - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py313hc90dcd4_0.conda sha256: 008d11564f2a3bac16ea0e323a02b24ca06fb28f8b74c01cde13098003c35b9b md5: 4006d795b35200d0d6e28a1de84dfcc5 depends: - deprecated - msgpack-python - numpy >=1.23,<3 - numpy >=1.24 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - typing_extensions - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: MIT license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping size: 516677 timestamp: 1764782612807 - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.5-py313h17eae1a_0.conda sha256: c0a200d0e53a1acbfa1d1e2277e3337ea2aa8cb584448790317a98c62dcaebce md5: 6ceeff9ed72e54e4a2f9a1c88f47bdde Loading Loading @@ -4945,10 +5052,10 @@ packages: - pypi: ./ name: pythermogis version: 1.2.0 sha256: 35de67af8136fb6442b90f5a2956e6ac57f8a6f52f1fbbfad15768e83e08b31f sha256: 5307b5b9e674861991952ee2bb4da21dfc517e11259fd4ed7735f28b5fb54408 requires_dist: - jpype1>=1.5.2,<2 - xarray==2024.9.0.* - xarray==2025.12.0.* - pandas>=2.2.3,<3 - pytz>=2024.1,<2025 - build>=1.2.2.post1,<2 Loading Loading @@ -5949,41 +6056,73 @@ packages: - pkg:pypi/win-inet-pton?source=hash-mapping size: 9555 timestamp: 1733130678956 - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2024.9.0-pyhd8ed1ab_1.conda sha256: 8bb5b522cdf1905d831a9b371a3a3bd2932a9f53398332fbd38ed3442015bbaf md5: dc790d427d89b85ae12fc094e264833f - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py313h07c4f96_1.conda sha256: 3688598866224e3fbeed8a74f12fd0a3c19dadcb931ce778bdc6cc2e04621b3b md5: c2662497e9a9ff2153753682f53989c9 depends: - numpy >=1.24 - packaging >=23.1 - pandas >=2.1 - python >=3.10 - __glibc >=2.17,<3.0.a0 - libgcc >=14 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: BSD-2-Clause license_family: BSD purls: - pkg:pypi/wrapt?source=hash-mapping size: 64865 timestamp: 1756851811052 - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_1.conda sha256: 260a3295f39565c28be9232a11ca7ee435af6e9366ffd2569ff29a63e7c144a0 md5: 3e199c8db04833fe628867462aeaca24 depends: - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: BSD-2-Clause license_family: BSD purls: - pkg:pypi/wrapt?source=hash-mapping size: 63385 timestamp: 1756851987645 - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.12.0-pyhcf101f3_0.conda sha256: b35f6848f229d65dc6e6d58a232099a5e293405a5e3e369b15110ed255cf9872 md5: efdb3ef0ff549959650ef070ba2c52d2 depends: - python >=3.11 - numpy >=1.26 - packaging >=24.1 - pandas >=2.2 - python constrains: - seaborn-base >=0.12 - distributed >=2023.9 - scipy >=1.11 - bottleneck >=1.4 - cartopy >=0.23 - cftime >=1.6 - dask-core >=2024.6 - distributed >=2024.6 - flox >=0.9 - h5netcdf >=1.3 - h5py >=3.11 - hdf5 >=1.14 - iris >=3.9 - matplotlib-base >=3.8 - nc-time-axis >=1.4 - netcdf4 >=1.6.0 - numba >=0.60 - numbagg >=0.8 - pint >=0.24 - pydap >=3.5.0 - scipy >=1.13 - seaborn-base >=0.13 - sparse >=0.15 - toolz >=0.12 - nc-time-axis >=1.4 - cftime >=1.6 - h5netcdf >=1.2 - matplotlib-base >=3.7 - h5py >=3.8 - zarr >=2.16 - hdf5 >=1.12 - numba >=0.57 - iris >=3.7 - cartopy >=0.22 - dask-core >=2023.9 - flox >=0.7 - bottleneck >=1.3 - pint >=0.22 - sparse >=0.14 - zarr >=2.18 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/xarray?source=hash-mapping size: 801066 timestamp: 1728453306227 size: 994025 timestamp: 1764974555156 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda sha256: ed10c9283974d311855ae08a16dfd7e56241fac632aec3b92e3cfe73cff31038 md5: f6ebe2cb3f82ba6c057dde5d9debe4f7 Loading Loading @@ -6062,6 +6201,27 @@ packages: purls: [] size: 63274 timestamp: 1641347623319 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda sha256: c36bec7d02d2f227409fcc4cf586cf3a658af068b58374de7f8f2d0b5c1c84f9 md5: c1844a94b2be61bb03bbb71574a0abfc depends: - python >=3.11 - packaging >=22.0 - numpy >=1.26 - numcodecs >=0.14 - typing_extensions >=4.9 - donfig >=0.8 - google-crc32c >=1.5 - python constrains: - fsspec >=2023.10.0 - obstore >=0.5.1 license: MIT license_family: MIT purls: - pkg:pypi/zarr?source=hash-mapping size: 305998 timestamp: 1763742695201 - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d md5: e52c2ef711ccf31bb7f70ca87d144b9e Loading pyproject.toml +4 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ license = { file = "LICENSE" } requires-python = ">=3.11" dependencies = [ "jpype1>=1.5.2,<2", "xarray==2024.9.0.*", "xarray==2025.12.0.*", "pandas>=2.2.3,<3", "pytz>=2024.1,<2025", "build>=1.2.2.post1,<2", Loading @@ -42,6 +42,7 @@ platforms = ["win-64", "linux-64"] [tool.pixi.pypi-dependencies] pythermogis = { path = ".", editable = true } pydoubletcalc = { path = 'C:\Users\knappersfy\work\thermogis\pydoubletcalc', editable = true } [tool.pixi.tasks] test = "PYTHONPATH=src/pythermogis pytest -s tests/" Loading @@ -53,7 +54,7 @@ pytg = "PYTHONPATH=src pixi run python src/pythermogis/main.py" [tool.pixi.dependencies] python = ">=3.13.2,<3.14" jpype1 = ">=1.5.2,<2" xarray = "2024.9.0.*" xarray = "2025.12.0.*" pandas = ">=2.2.3,<3" setuptools = ">=75.8.2,<76" wheel = ">=0.45.1,<0.46" Loading @@ -71,6 +72,7 @@ pre-commit = ">=4.3.0,<5" python-dotenv = ">=1.2.1,<2" numba = ">=0.62.1,<0.63" ruff = ">=0.14.8,<0.15" zarr = ">=3.1.5,<4" [tool.ruff] line-length = 88 Loading src/pythermogis/thermogis_classes/doublet.py +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ import numpy as np import xarray as xr from jpype import JClass from pythermogis.workflow.utc.doublet import calculate_doublet_performance, DoubletInput, DoubletOutput from pythermogis.workflow.utc.utc_properties import UTCConfiguration from pythermogis.workflow.utc.configuration import UTCConfiguration def simulate_doublet( Loading src/pythermogis/workflow/utc/utc_properties.py→src/pythermogis/workflow/utc/configuration.py +10 −10 Original line number Diff line number Diff line Loading @@ -62,16 +62,16 @@ class UTCConfiguration: ) property_grid_infos: list[PropertyGridInfo] = field( default_factory=lambda: [ PropertyGridInfo("Permeability", False, "__k.zmap"), PropertyGridInfo("PermeabilityLNSD", False, "__k_lnsd.zmap"), PropertyGridInfo("Porosity", False, "__phi.zmap"), PropertyGridInfo("Thickness", False, "__thick.zmap"), PropertyGridInfo("ThicknessSD", False, "__thick_sd.zmap"), PropertyGridInfo("Depth", False, "__top.zmap"), PropertyGridInfo("NetToGross", False, "__ntg.zmap"), PropertyGridInfo("Temperature", True, "__temperature.zmap"), PropertyGridInfo("HCAccum", True, "__hc_accum.zmap"), PropertyGridInfo("BoundaryShapefile", True, "__BoundaryShapefile.shp"), PropertyGridInfo("permeability", False, "_perm.nc"), PropertyGridInfo("permeability_lnsd", False, "_ln_perm_sd.nc"), PropertyGridInfo("porosity", False, "_poro.nc"), PropertyGridInfo("thickness", False, "_thick.nc"), PropertyGridInfo("thickness_sd", False, "_thick_sd.nc"), PropertyGridInfo("depth", False, "_top.nc"), PropertyGridInfo("ntg", False, "_ntg.nc"), PropertyGridInfo("temperature", True, "__temperature.nc"), PropertyGridInfo("hc_accum", True, "__hc_accum.nc"), PropertyGridInfo("boundary_shapefile", True, "__BoundaryShapefile.nc"), ] ) copy_aquifer_files_info: list[AquiferFile] = field( Loading Loading
.gitignore +3 −1 Original line number Diff line number Diff line Loading @@ -11,3 +11,5 @@ dist tests/resources/test_output pydoubletcalc_install workdir No newline at end of file
pixi.lock +191 −31 Original line number Diff line number Diff line Loading @@ -52,9 +52,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.0-h5888daf_0.conda Loading @@ -63,6 +65,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.7.1-py313h74173ec_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda Loading Loading @@ -164,6 +167,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h3f2d84a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.62.1-py313hd8e3f9f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.5-py313h17eae1a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.3-h5fbd93e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313h9c9eb82_1.conda Loading Loading @@ -231,11 +235,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.34.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py313h78bf25f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2024.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py313h07c4f96_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2025.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda Loading Loading @@ -306,14 +312,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.0.1-py313ha7868ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.7.1-py313h5327936_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda Loading Loading @@ -400,6 +409,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/nh3-0.2.21-py39he870945_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numba-0.62.1-py313h924e429_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py313hc90dcd4_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.2.5-py313hefb8edb_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.3-h4d64b90_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py313he57e174_1.conda Loading Loading @@ -470,11 +480,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py313hfa70ccb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2024.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-h0e40799_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-h0e40799_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2025.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py313ha7868ed_2.conda Loading Loading @@ -1624,6 +1636,18 @@ packages: purls: [] size: 618596 timestamp: 1640112124844 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda sha256: c994a70449d548dd388768090c71c1da81e1e128a281547ab9022908d46878c5 md5: bf74a83f7a0f2a21b5d709997402cac4 depends: - python >=3.10 - wrapt <2,>=1.10 license: MIT license_family: MIT purls: - pkg:pypi/deprecated?source=hash-mapping size: 15815 timestamp: 1761813872696 - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda sha256: 6d977f0b2fc24fee21a9554389ab83070db341af6d6f09285360b2e09ef8b26e md5: 003b8ba0a94e2f1e117d0bd46aebc901 Loading Loading @@ -1674,6 +1698,18 @@ packages: - pkg:pypi/docutils?source=hash-mapping size: 402700 timestamp: 1733217860944 - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda sha256: d58e97d418f71703e822c422af5b9c431e3621a0ecdc8b0334c1ca33e076dfe7 md5: c56a7fa5597ad78b62e1f5d21f7f8b8f depends: - python >=3.9 - pyyaml license: MIT license_family: MIT purls: - pkg:pypi/donfig?source=hash-mapping size: 22491 timestamp: 1734368817583 - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda sha256: 2209534fbf2f70c20661ff31f57ab6a97b82ee98812e8a2dcb2b36a0d345727c md5: 71bf9646cbfabf3022c8da4b6b4da737 Loading Loading @@ -1864,6 +1900,37 @@ packages: purls: [] size: 143452 timestamp: 1718284177264 - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.7.1-py313h74173ec_1.conda sha256: 81ca7fb5c0756e3a5934fe18b44b90be475a03329bcd715334455aec340e34c0 md5: 8580f244242b4d6a8c1933d8d0475b9c depends: - __glibc >=2.17,<3.0.a0 - libcrc32c >=1.1.2,<1.2.0a0 - libgcc >=14 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/google-crc32c?source=hash-mapping size: 24798 timestamp: 1755850411927 - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.7.1-py313h5327936_1.conda sha256: 5d1a3322ab5949c63326bbb779feaf47f95902849a9687da094e8de490250e22 md5: 35b1131e4ea5eb0f27664eeb68c9a29b depends: - libcrc32c >=1.1.2,<1.2.0a0 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/google-crc32c?source=hash-mapping size: 27799 timestamp: 1755850484807 - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda sha256: c1e4039c9b6d613e8e9feafa21fae58db5eebeaa5f8bece5d8610154ae6ebf80 md5: aafe052f140a58b1afaf8ab473f5ac0d Loading Loading @@ -4178,6 +4245,46 @@ packages: - pkg:pypi/numba?source=hash-mapping size: 5706597 timestamp: 1759165298367 - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda sha256: 7c35d46639f8638849535a22cb7ae1b7210121be0c7b053d8e2ab7ed485e6bff md5: 0f394ef25fb81d1dec8ff4fa716f00bd depends: - __glibc >=2.17,<3.0.a0 - deprecated - libgcc >=14 - libstdcxx >=14 - msgpack-python - numpy >=1.23,<3 - numpy >=1.24 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - typing_extensions license: MIT license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping size: 808201 timestamp: 1764782369322 - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py313hc90dcd4_0.conda sha256: 008d11564f2a3bac16ea0e323a02b24ca06fb28f8b74c01cde13098003c35b9b md5: 4006d795b35200d0d6e28a1de84dfcc5 depends: - deprecated - msgpack-python - numpy >=1.23,<3 - numpy >=1.24 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - typing_extensions - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: MIT license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping size: 516677 timestamp: 1764782612807 - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.5-py313h17eae1a_0.conda sha256: c0a200d0e53a1acbfa1d1e2277e3337ea2aa8cb584448790317a98c62dcaebce md5: 6ceeff9ed72e54e4a2f9a1c88f47bdde Loading Loading @@ -4945,10 +5052,10 @@ packages: - pypi: ./ name: pythermogis version: 1.2.0 sha256: 35de67af8136fb6442b90f5a2956e6ac57f8a6f52f1fbbfad15768e83e08b31f sha256: 5307b5b9e674861991952ee2bb4da21dfc517e11259fd4ed7735f28b5fb54408 requires_dist: - jpype1>=1.5.2,<2 - xarray==2024.9.0.* - xarray==2025.12.0.* - pandas>=2.2.3,<3 - pytz>=2024.1,<2025 - build>=1.2.2.post1,<2 Loading Loading @@ -5949,41 +6056,73 @@ packages: - pkg:pypi/win-inet-pton?source=hash-mapping size: 9555 timestamp: 1733130678956 - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2024.9.0-pyhd8ed1ab_1.conda sha256: 8bb5b522cdf1905d831a9b371a3a3bd2932a9f53398332fbd38ed3442015bbaf md5: dc790d427d89b85ae12fc094e264833f - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py313h07c4f96_1.conda sha256: 3688598866224e3fbeed8a74f12fd0a3c19dadcb931ce778bdc6cc2e04621b3b md5: c2662497e9a9ff2153753682f53989c9 depends: - numpy >=1.24 - packaging >=23.1 - pandas >=2.1 - python >=3.10 - __glibc >=2.17,<3.0.a0 - libgcc >=14 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: BSD-2-Clause license_family: BSD purls: - pkg:pypi/wrapt?source=hash-mapping size: 64865 timestamp: 1756851811052 - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_1.conda sha256: 260a3295f39565c28be9232a11ca7ee435af6e9366ffd2569ff29a63e7c144a0 md5: 3e199c8db04833fe628867462aeaca24 depends: - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: BSD-2-Clause license_family: BSD purls: - pkg:pypi/wrapt?source=hash-mapping size: 63385 timestamp: 1756851987645 - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.12.0-pyhcf101f3_0.conda sha256: b35f6848f229d65dc6e6d58a232099a5e293405a5e3e369b15110ed255cf9872 md5: efdb3ef0ff549959650ef070ba2c52d2 depends: - python >=3.11 - numpy >=1.26 - packaging >=24.1 - pandas >=2.2 - python constrains: - seaborn-base >=0.12 - distributed >=2023.9 - scipy >=1.11 - bottleneck >=1.4 - cartopy >=0.23 - cftime >=1.6 - dask-core >=2024.6 - distributed >=2024.6 - flox >=0.9 - h5netcdf >=1.3 - h5py >=3.11 - hdf5 >=1.14 - iris >=3.9 - matplotlib-base >=3.8 - nc-time-axis >=1.4 - netcdf4 >=1.6.0 - numba >=0.60 - numbagg >=0.8 - pint >=0.24 - pydap >=3.5.0 - scipy >=1.13 - seaborn-base >=0.13 - sparse >=0.15 - toolz >=0.12 - nc-time-axis >=1.4 - cftime >=1.6 - h5netcdf >=1.2 - matplotlib-base >=3.7 - h5py >=3.8 - zarr >=2.16 - hdf5 >=1.12 - numba >=0.57 - iris >=3.7 - cartopy >=0.22 - dask-core >=2023.9 - flox >=0.7 - bottleneck >=1.3 - pint >=0.22 - sparse >=0.14 - zarr >=2.18 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/xarray?source=hash-mapping size: 801066 timestamp: 1728453306227 size: 994025 timestamp: 1764974555156 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda sha256: ed10c9283974d311855ae08a16dfd7e56241fac632aec3b92e3cfe73cff31038 md5: f6ebe2cb3f82ba6c057dde5d9debe4f7 Loading Loading @@ -6062,6 +6201,27 @@ packages: purls: [] size: 63274 timestamp: 1641347623319 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda sha256: c36bec7d02d2f227409fcc4cf586cf3a658af068b58374de7f8f2d0b5c1c84f9 md5: c1844a94b2be61bb03bbb71574a0abfc depends: - python >=3.11 - packaging >=22.0 - numpy >=1.26 - numcodecs >=0.14 - typing_extensions >=4.9 - donfig >=0.8 - google-crc32c >=1.5 - python constrains: - fsspec >=2023.10.0 - obstore >=0.5.1 license: MIT license_family: MIT purls: - pkg:pypi/zarr?source=hash-mapping size: 305998 timestamp: 1763742695201 - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d md5: e52c2ef711ccf31bb7f70ca87d144b9e Loading
pyproject.toml +4 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ license = { file = "LICENSE" } requires-python = ">=3.11" dependencies = [ "jpype1>=1.5.2,<2", "xarray==2024.9.0.*", "xarray==2025.12.0.*", "pandas>=2.2.3,<3", "pytz>=2024.1,<2025", "build>=1.2.2.post1,<2", Loading @@ -42,6 +42,7 @@ platforms = ["win-64", "linux-64"] [tool.pixi.pypi-dependencies] pythermogis = { path = ".", editable = true } pydoubletcalc = { path = 'C:\Users\knappersfy\work\thermogis\pydoubletcalc', editable = true } [tool.pixi.tasks] test = "PYTHONPATH=src/pythermogis pytest -s tests/" Loading @@ -53,7 +54,7 @@ pytg = "PYTHONPATH=src pixi run python src/pythermogis/main.py" [tool.pixi.dependencies] python = ">=3.13.2,<3.14" jpype1 = ">=1.5.2,<2" xarray = "2024.9.0.*" xarray = "2025.12.0.*" pandas = ">=2.2.3,<3" setuptools = ">=75.8.2,<76" wheel = ">=0.45.1,<0.46" Loading @@ -71,6 +72,7 @@ pre-commit = ">=4.3.0,<5" python-dotenv = ">=1.2.1,<2" numba = ">=0.62.1,<0.63" ruff = ">=0.14.8,<0.15" zarr = ">=3.1.5,<4" [tool.ruff] line-length = 88 Loading
src/pythermogis/thermogis_classes/doublet.py +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ import numpy as np import xarray as xr from jpype import JClass from pythermogis.workflow.utc.doublet import calculate_doublet_performance, DoubletInput, DoubletOutput from pythermogis.workflow.utc.utc_properties import UTCConfiguration from pythermogis.workflow.utc.configuration import UTCConfiguration def simulate_doublet( Loading
src/pythermogis/workflow/utc/utc_properties.py→src/pythermogis/workflow/utc/configuration.py +10 −10 Original line number Diff line number Diff line Loading @@ -62,16 +62,16 @@ class UTCConfiguration: ) property_grid_infos: list[PropertyGridInfo] = field( default_factory=lambda: [ PropertyGridInfo("Permeability", False, "__k.zmap"), PropertyGridInfo("PermeabilityLNSD", False, "__k_lnsd.zmap"), PropertyGridInfo("Porosity", False, "__phi.zmap"), PropertyGridInfo("Thickness", False, "__thick.zmap"), PropertyGridInfo("ThicknessSD", False, "__thick_sd.zmap"), PropertyGridInfo("Depth", False, "__top.zmap"), PropertyGridInfo("NetToGross", False, "__ntg.zmap"), PropertyGridInfo("Temperature", True, "__temperature.zmap"), PropertyGridInfo("HCAccum", True, "__hc_accum.zmap"), PropertyGridInfo("BoundaryShapefile", True, "__BoundaryShapefile.shp"), PropertyGridInfo("permeability", False, "_perm.nc"), PropertyGridInfo("permeability_lnsd", False, "_ln_perm_sd.nc"), PropertyGridInfo("porosity", False, "_poro.nc"), PropertyGridInfo("thickness", False, "_thick.nc"), PropertyGridInfo("thickness_sd", False, "_thick_sd.nc"), PropertyGridInfo("depth", False, "_top.nc"), PropertyGridInfo("ntg", False, "_ntg.nc"), PropertyGridInfo("temperature", True, "__temperature.nc"), PropertyGridInfo("hc_accum", True, "__hc_accum.nc"), PropertyGridInfo("boundary_shapefile", True, "__BoundaryShapefile.nc"), ] ) copy_aquifer_files_info: list[AquiferFile] = field( Loading