geoloop 0.0.1__py3-none-any.whl → 1.0.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. geoloop/axisym/AxisymetricEL.py +751 -0
  2. geoloop/axisym/__init__.py +3 -0
  3. geoloop/bin/Flowdatamain.py +89 -0
  4. geoloop/bin/Lithologymain.py +84 -0
  5. geoloop/bin/Loadprofilemain.py +100 -0
  6. geoloop/bin/Plotmain.py +250 -0
  7. geoloop/bin/Runbatch.py +81 -0
  8. geoloop/bin/Runmain.py +86 -0
  9. geoloop/bin/SingleRunSim.py +928 -0
  10. geoloop/bin/__init__.py +3 -0
  11. geoloop/cli/__init__.py +0 -0
  12. geoloop/cli/batch.py +106 -0
  13. geoloop/cli/main.py +105 -0
  14. geoloop/configuration.py +946 -0
  15. geoloop/constants.py +112 -0
  16. geoloop/geoloopcore/CoaxialPipe.py +503 -0
  17. geoloop/geoloopcore/CustomPipe.py +727 -0
  18. geoloop/geoloopcore/__init__.py +3 -0
  19. geoloop/geoloopcore/b2g.py +739 -0
  20. geoloop/geoloopcore/b2g_ana.py +535 -0
  21. geoloop/geoloopcore/boreholedesign.py +683 -0
  22. geoloop/geoloopcore/getloaddata.py +112 -0
  23. geoloop/geoloopcore/pyg_ana.py +280 -0
  24. geoloop/geoloopcore/pygfield_ana.py +519 -0
  25. geoloop/geoloopcore/simulationparameters.py +130 -0
  26. geoloop/geoloopcore/soilproperties.py +152 -0
  27. geoloop/geoloopcore/strat_interpolator.py +194 -0
  28. geoloop/lithology/__init__.py +3 -0
  29. geoloop/lithology/plot_lithology.py +277 -0
  30. geoloop/lithology/process_lithology.py +697 -0
  31. geoloop/loadflowdata/__init__.py +3 -0
  32. geoloop/loadflowdata/flow_data.py +161 -0
  33. geoloop/loadflowdata/loadprofile.py +325 -0
  34. geoloop/plotting/__init__.py +3 -0
  35. geoloop/plotting/create_plots.py +1137 -0
  36. geoloop/plotting/load_data.py +432 -0
  37. geoloop/utils/RunManager.py +164 -0
  38. geoloop/utils/__init__.py +0 -0
  39. geoloop/utils/helpers.py +841 -0
  40. geoloop-1.0.0b1.dist-info/METADATA +112 -0
  41. geoloop-1.0.0b1.dist-info/RECORD +46 -0
  42. geoloop-1.0.0b1.dist-info/entry_points.txt +2 -0
  43. geoloop-0.0.1.dist-info/licenses/LICENSE → geoloop-1.0.0b1.dist-info/licenses/LICENSE.md +2 -1
  44. geoloop-0.0.1.dist-info/METADATA +0 -10
  45. geoloop-0.0.1.dist-info/RECORD +0 -6
  46. {geoloop-0.0.1.dist-info → geoloop-1.0.0b1.dist-info}/WHEEL +0 -0
  47. {geoloop-0.0.1.dist-info → geoloop-1.0.0b1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,112 @@
1
+ Metadata-Version: 2.4
2
+ Name: geoloop
3
+ Version: 1.0.0b1
4
+ Summary: This is a Python package for simulation of (deep) Borehole Heat Exchanger (BHE) systems
5
+ Author-email: Zanne Korevaar <zanne.korevaar@tno.nl>, Jan-Diederik van Wees <jan_diederik.vanwees@tno.nl>
6
+ License: Apache 2.0
7
+ Keywords: borehole heat exchanger,BHE,geothermal,ground-source heat pump,deep borehole heat exchanger
8
+ Requires-Python: <3.14,>=3.12
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE.md
11
+ Requires-Dist: pygfunction>=2.2.2
12
+ Requires-Dist: matplotlib>=3.10.1
13
+ Requires-Dist: numpy>=2.2.4
14
+ Requires-Dist: scipy>=1.7.3
15
+ Requires-Dist: h5py>=3.4.0
16
+ Requires-Dist: xarray>=2025.3.1
17
+ Requires-Dist: pandas<3,>=2.2.3
18
+ Requires-Dist: seaborn>=0.13.2
19
+ Requires-Dist: tqdm>=4.67.1
20
+ Requires-Dist: netCDF4>=1.7.2
21
+ Requires-Dist: SecondaryCoolantProps>=1.3
22
+ Requires-Dist: openpyxl>=3.1.5
23
+ Requires-Dist: h5netcdf>=1.7.3
24
+ Requires-Dist: pathlib>=1.0.1
25
+ Requires-Dist: pydantic>=2.12.4
26
+ Requires-Dist: typer>=0.20.0
27
+ Dynamic: license-file
28
+
29
+ # Geoloop: A BHE Calculator for Python
30
+
31
+ [![PyPI](https://img.shields.io/pypi/v/geoloop.svg)](https://pypi.org/project/geoloop/)
32
+ [![Documentation](https://img.shields.io/badge/docs-latest-blue)](https://geoloop-8f7a36.ci.tno.nl/)
33
+
34
+ ## What is **Geoloop**?
35
+
36
+ **Geoloop** is a Python package for simulating borehole heat exchanger (BHE) systems,
37
+ with a focus on optimal implementation of subsurface thermal properties and their impact on system performance.
38
+
39
+ **Geoloop** incorporates (uncertainty in) depth-variations in subsurface thermal conductivity, subsurface temperature,
40
+ BHE design and diverse operational boundary conditions such as seasonal load variations or
41
+ minimum fluid temperatures, in a tool for deterministic or stochastic performance analyses with the opportunity
42
+ for optimization of the system design and operation. This makes Geoloop ideal for scenario analyses and sensitivity
43
+ studies in both research and practical applications.
44
+
45
+ **Geoloop** uses thermal response factors (*g*-functions) calculated using the analytical Finite Line Source model from
46
+ the *pygfunction* package. This setup is extended into a stacked approach for depth-dependent thermal response calculations.
47
+ A detailed description and benchmark of this depth-dependent semi-analytical method is provided in Korevaar & Van Wees (in prep.).
48
+ **Geoloop's** generic framework allows for easy switching between simulation methods, including the innovative depth-dependent
49
+ semi-analytical approach, the depth-uniform implementation of g-functions as implemented in *pygfunction* and a numerical
50
+ finite volume approach.
51
+
52
+ ---
53
+
54
+ ## Installation
55
+
56
+ Install from PyPI using:
57
+
58
+ ```bash
59
+ pip install geoloop
60
+ ```
61
+
62
+ For detailed setup instructions (including uv-based environments and development setup),
63
+ see the [Installation Guide](https://geoloop-8f7a36.ci.tno.nl/installation/install/).
64
+
65
+ ---
66
+
67
+ ## Requirements
68
+
69
+ Geoloop requires **Python 3.12 or higher**.
70
+
71
+ Core dependencies include:
72
+ - pygfunction
73
+ - matplotlib
74
+ - numpy
75
+ - scipy
76
+ - h5py
77
+ - xarray
78
+ - pandas
79
+ - seaborn
80
+ - tqdm
81
+ - netCDF4
82
+ - SecondaryCoolantProps
83
+ - openpyxl
84
+ - h5netcdf
85
+ - pathlib
86
+ - pydantic
87
+ - typer
88
+
89
+ ---
90
+
91
+ ## Quick Start
92
+
93
+ Explore the [Examples](docs/examples/) folder to get started quickly with Geoloop.
94
+
95
+ Read the full documenation [here](https://geoloop-8f7a36.ci.tno.nl/).
96
+
97
+ ---
98
+
99
+ ## License
100
+
101
+ This project is licensed under the Apache 2.0 License.
102
+ See the [LICENSE.md](LICENSE.md) file for details.
103
+
104
+ ---
105
+
106
+ ## Acknowledgments
107
+
108
+ Developed with the support of the Dutch funding agency **RVO**, in a consortium project with grant nr. MOOI322009.
109
+
110
+ ---
111
+
112
+
@@ -0,0 +1,46 @@
1
+ geoloop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ geoloop/configuration.py,sha256=RuouQFQGbElpD382KI1JZviK0TfTJSHQP3IZimW3C7g,33140
3
+ geoloop/constants.py,sha256=F2fsh3e35Fp8AqNguPba6W96jaIAfsWazk1d6uzKi6I,2698
4
+ geoloop/axisym/AxisymetricEL.py,sha256=uGERxWzt9PIixzyYqK_v2kBuOEye6ZhqqXVBBEbrRig,28218
5
+ geoloop/axisym/__init__.py,sha256=s3Suw3X0GzuQKGvR1ia6RCYGa43Az8g4gtRgedkf2b0,84
6
+ geoloop/bin/Flowdatamain.py,sha256=vwVn7y9jPH-6RU2_eH2tWLvcsbFFHDxi8APoQ5ug1J0,2566
7
+ geoloop/bin/Lithologymain.py,sha256=8vzXVsLbleIp7FN0aM1Y6qrPfFeK0vaG9RuZC71rNsA,2839
8
+ geoloop/bin/Loadprofilemain.py,sha256=A491o8eiImAfanjZrdJPGkbWgiW1L6-KeNazKTwJKVg,3218
9
+ geoloop/bin/Plotmain.py,sha256=7D7lAjMSgyyeuVRG3m8C6JpuUpEZRSPRW7EjXecOmns,10293
10
+ geoloop/bin/Runbatch.py,sha256=b5EbMEbUI7pYrOxfkFgmxYnFuJ4Cutsb1Y-caZlUji0,2211
11
+ geoloop/bin/Runmain.py,sha256=nan1DlWijdfb3DK_yWvbaDNnw3jAlkDbeQNIyixyNWc,2729
12
+ geoloop/bin/SingleRunSim.py,sha256=xzQOBzTF_JSUNHzFK4PKdcDNrMYQ42N2opvL1rc4sS8,29483
13
+ geoloop/bin/__init__.py,sha256=TCfdSH7pJZUGcJEdcnwnoLwtOv7JtEZJTfHMjNGiFhE,76
14
+ geoloop/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ geoloop/cli/batch.py,sha256=S_H-XWwH5NN2isXZsuJvbgCSAjHmMvZeeDe76V_mwSM,3499
16
+ geoloop/cli/main.py,sha256=OPLHHZ_jTcRhJJyxMso11lBbV_QV6u9sv672SCiXLPA,3061
17
+ geoloop/geoloopcore/CoaxialPipe.py,sha256=QDoelo4LmIy99Wf6_w8ECZOQbNQ7hTRMrvY6RgdiA94,18395
18
+ geoloop/geoloopcore/CustomPipe.py,sha256=2sRUj0dhqtqbi0h2ydj_uDvpxYpqi1yowXvhlpOoRYA,23885
19
+ geoloop/geoloopcore/__init__.py,sha256=-KGPB9JKniMxRslEodzCwcrRPrdz_JgWion7uDbfF9I,104
20
+ geoloop/geoloopcore/b2g.py,sha256=U7Hw6M1v4ckY78K9IYzyqk_NtVTU5ibwUlTsGNbEeiY,29098
21
+ geoloop/geoloopcore/b2g_ana.py,sha256=_jcSudb6qZX4XiERtEH1Mv193jRqLtGr2gGWz4BsE78,19193
22
+ geoloop/geoloopcore/boreholedesign.py,sha256=k9TlSHrnRFCnw9TtDoZ8rURIWMksHncS0Uz0qp7fY8E,23574
23
+ geoloop/geoloopcore/getloaddata.py,sha256=Lj5q8dx6JQms0TIpkhA2GzQ-BGrgJEp4agFq-i3d15Y,4135
24
+ geoloop/geoloopcore/pyg_ana.py,sha256=b66IoR4UwvB9n_bFUBqjYvq34e49MeBcXMwKVwyLy3k,9756
25
+ geoloop/geoloopcore/pygfield_ana.py,sha256=vBMSg8ii47Gs1L9I9jXVpSmmc4sZRtmYkix0BiSeblQ,16957
26
+ geoloop/geoloopcore/simulationparameters.py,sha256=_fd4FKiZCs6D553cJ10enCps-_38kKHNviatxhP64QQ,4122
27
+ geoloop/geoloopcore/soilproperties.py,sha256=vpH5Iq7Uuf1AX2wEqWEAv9J8w9nQqh-CfEAYHPVhPpU,6053
28
+ geoloop/geoloopcore/strat_interpolator.py,sha256=BB-xMA5Py3QOOoAdZMZBnxsuGpEug9xCfvuE7ZL6Ysk,6071
29
+ geoloop/lithology/__init__.py,sha256=Nwcc5G-DCpBQjTIn2VK0Rvm2HDs3cc8gjXUAjRg7DmU,158
30
+ geoloop/lithology/plot_lithology.py,sha256=SyOYH6hEAhMz8f4qk9XlofEVG7cEpOtBxOwgh6uEeQ0,9477
31
+ geoloop/lithology/process_lithology.py,sha256=ukAExhO-41NnS6FI1Lp2FoKB2yjWztHSSkEZIYImctA,26449
32
+ geoloop/loadflowdata/__init__.py,sha256=5LO-5fjkWkw50gOuLwDIY2oZHojguTdKJrOtuHHVFPo,138
33
+ geoloop/loadflowdata/flow_data.py,sha256=FM9QZ-oK0zSrMTfTTOjjifP4G5F5sAiWHhnSpRVGaaw,5395
34
+ geoloop/loadflowdata/loadprofile.py,sha256=a0sMkNfqs-YDMwuLreX1Oy3L_yF4aciziHBthsnEvMM,9746
35
+ geoloop/plotting/__init__.py,sha256=cUvbg7WZIuEAYLgQrhhUyS0MFzkwhWaktVV9TwmncuU,125
36
+ geoloop/plotting/create_plots.py,sha256=b6ggMpn2UgDzZKZnD0_p6rp7fLTpAN-cIG0LTSqdCe0,45269
37
+ geoloop/plotting/load_data.py,sha256=7-HGOLV4e-_D8PShTljMSbehRrX10vok6aTjenrfOYM,18184
38
+ geoloop/utils/RunManager.py,sha256=_teQvHJ5ET5STjTv1YZbYUD4I9lC6xPpACL5zer7nas,5861
39
+ geoloop/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ geoloop/utils/helpers.py,sha256=Xrowd6t1nUUsU642y2bD3haKtNs0Zi8cCR8PtIFqAug,32139
41
+ geoloop-1.0.0b1.dist-info/licenses/LICENSE.md,sha256=0MhY1_Mi2BnmfY4sG2hMfaIQBsGbCR-_jPNOQ2wjnaI,582
42
+ geoloop-1.0.0b1.dist-info/METADATA,sha256=F2WiBAsKe6nSpTGtuA1NpOYBkiGmnongTMbI2nvM_LI,3680
43
+ geoloop-1.0.0b1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
+ geoloop-1.0.0b1.dist-info/entry_points.txt,sha256=MK2kD_B90zZfZN-kUVrfQyJZqorcgg1WYLe7CSgvfHc,56
45
+ geoloop-1.0.0b1.dist-info/top_level.txt,sha256=V20v-HNxFxZn9Tguuo4KZFG3c9Kn4D4w06tL1tlRbwE,8
46
+ geoloop-1.0.0b1.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ geoloop = geoloop.cli.main:simulation
@@ -1,4 +1,5 @@
1
- Copyright 2025 TNO
1
+ Copyright (c) 2025, TNO
2
+ All rights reserved.
2
3
 
3
4
  Licensed under the Apache License, Version 2.0 (the "License");
4
5
  you may not use this file except in compliance with the License.
@@ -1,10 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: geoloop
3
- Version: 0.0.1
4
- Summary: Reserved package name
5
- Author-email: Jan-Diederik van Wees <Jan_Diederik.vanWees@tno.nl>, Zanne Korevaar <zanne.korevaar@tno.nl>
6
- License: Apache 2.0
7
- Requires-Python: >=3.8
8
- Description-Content-Type: text/markdown
9
- License-File: LICENSE
10
- Dynamic: license-file
@@ -1,6 +0,0 @@
1
- geoloop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- geoloop-0.0.1.dist-info/licenses/LICENSE,sha256=kBlk8vnfPW7g3Bkg0mhhm15kY4Y1uxj-Zy1Q_LN4rb0,555
3
- geoloop-0.0.1.dist-info/METADATA,sha256=62hkwWs_w1cs0p4Oxs8GVr8_-pho1rEWRpfZ3OLsJxE,325
4
- geoloop-0.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
5
- geoloop-0.0.1.dist-info/top_level.txt,sha256=V20v-HNxFxZn9Tguuo4KZFG3c9Kn4D4w06tL1tlRbwE,8
6
- geoloop-0.0.1.dist-info/RECORD,,