From 9fa7fa647b7f1f7537d3f661ce2426ca58db4e56 Mon Sep 17 00:00:00 2001
From: korevaarzer
Date: Mon, 22 Dec 2025 07:56:14 +0100
Subject: [PATCH 1/4] Delete setup.py
---
setup.py | 8 --------
1 file changed, 8 deletions(-)
delete mode 100644 setup.py
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 21de9df..0000000
--- a/setup.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from setuptools import find_packages, setup
-
-setup(
- name="geoloop",
- version="1.0.0",
- packages=find_packages(),
- install_requires=[],
-)
--
GitLab
From e33378f22063486fc433f57255555b03a630db34 Mon Sep 17 00:00:00 2001
From: korevaarzer
Date: Mon, 22 Dec 2025 08:15:04 +0100
Subject: [PATCH 2/4] Update pyproject.toml format for publication on PYPI
---
pyproject.toml | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 742c83a..b079eac 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,20 +1,22 @@
+[build-system]
+requires = ["setuptools>=61", "wheel"]
+build-backend = "setuptools.build_meta"
+
[project]
name = "geoloop"
version = "1.0.0"
-description = "This is a Python code for simulationo of (deep) Borehole Heat Exchangers (BHEs)"
-readme = "README.md"
-license = { text = "Apache 2.0" }
+description = "This is a Python package for simulation of (deep) Borehole Heat Exchanger (BHE) systems"
authors = [
{ name = "Zanne Korevaar", email = "zanne.korevaar@tno.nl" },
- { name = "Jan-Diederik", email = "jan_diederik.vanwees@tno.nl" }
+ { name = "Jan-Diederik van Wees", email = "jan_diederik.vanwees@tno.nl" }
]
+readme = "README.md"
+license = { file = "LICENSE" }
+requires-python = ">=3.12,<3.14"
keywords = [
- "BHE", "geothermal", "ground source heat pump",
- "deep borehole heat exchanger", "geoloop"
+ "borehole heat exchanger", "BHE", "geothermal", "ground-source heat pump",
+ "deep borehole heat exchanger"
]
-
-requires-python = ">=3.12,<3.14"
-
dependencies = [
"pygfunction>=2.2.2",
"matplotlib>=3.10.1",
@@ -47,10 +49,6 @@ dev = [
"mkdocstrings-python>=1.18.2",
]
-[build-system]
-requires = ["setuptools>=61", "wheel"]
-build-backend = "setuptools.build_meta"
-
[tool.setuptools.packages.find]
where = ["src"]
--
GitLab
From f474824a8427926e9c76b0f55ba71f7585bc467f Mon Sep 17 00:00:00 2001
From: korevaarzer
Date: Mon, 22 Dec 2025 09:52:55 +0100
Subject: [PATCH 3/4] Update geoloop description in README and docs home page
---
README.md | 30 ++++++++++++++++++++----------
docs/index.md | 22 +++++++++++++---------
2 files changed, 33 insertions(+), 19 deletions(-)
diff --git a/README.md b/README.md
index 3366dd0..7cba212 100644
--- a/README.md
+++ b/README.md
@@ -3,17 +3,23 @@
[](https://pypi.org/project/geoloop/)
[](https://geoloop-8f7a36.ci.tno.nl/)
-## What is *Geoloop*?
+## What is **Geoloop**?
-*Geoloop* is a Python package for evaluating borehole heat exchanger (BHE) performance
-with depth-dependent thermal properties, temperature profiles, and borehole design options.
+**Geoloop** is a Python package for simulating borehole heat exchanger (BHE) systems,
+with a focus on optimal implementation of subsurface thermal properties and their impact on system performance.
-It integrates realistic subsurface models to improve simulation reliability and supports
-informed decision-making for both research and practical applications.
+**Geoloop** incorporates (uncertainty in) depth-variations in subsurface thermal conductivity, subsurface temperature,
+BHE design and diverse operational boundary conditions such as seasonal load variations or
+minimum fluid temperatures, in a tool for deterministic or stochastic performance analyses with the opportunity
+for optimization of the system design and operation. This makes Geoloop ideal for scenario analyses and sensitivity
+studies in both research and practical applications.
-The package is based on thermal response factors (or *g*-functions) for borehole heat exchangers, calculated
-using an analytical solution to the Finite Line Source model. The model set-up with *g*-functions is extended
-into a stacked, depth-dependent formulation for depth-dependent thermal response calculations.
+**Geoloop** uses thermal response factors (*g*-functions) calculated using the analytical Finite Line Source model from
+the *pygfunction* package. This setup is extended into a stacked approach for depth-dependent thermal response calculations.
+A detailed description and benchmark of this depth-dependent semi-analytical method is provided in Korevaar & Van Wees (in prep.).
+**Geoloop's** generic framework allows for easy switching between simulation methods, including the innovative depth-dependent
+semi-analytical approach, the depth-uniform implementation of g-functions as implemented in *pygfunction* and a numerical
+finite volume approach.
---
@@ -25,14 +31,14 @@ Install from PyPI using:
pip install geoloop
```
-For detailed setup instructions (including Pixi-based environments and development setup),
+For detailed setup instructions (including uv-based environments and development setup),
see the [Installation Guide](https://geoloop-8f7a36.ci.tno.nl/installation/install/).
---
## Requirements
-Geoloop requires **Python 3.10 or higher**.
+Geoloop requires **Python 3.12 or higher**.
Core dependencies include:
- pygfunction
@@ -72,3 +78,7 @@ See the [LICENSE.md](LICENSE.md) file for details.
## Acknowledgments
Developed with the support of the Dutch funding agency **RVO**, in a consortium project with grant nr. MOOI322009.
+
+---
+
+
diff --git a/docs/index.md b/docs/index.md
index c95eb91..b17ef2f 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -6,17 +6,21 @@
-*Geoloop* is a Python package for simulation of borehole heat exchanger (BHE) systems. It offers
-broad functionality for fast calculations of BHE system performance, while including uncertainty in subsurface
-thermal properties and operational conditions.
+**Geoloop** is a Python package for simulating borehole heat exchanger (BHE) systems,
+with a focus on optimal implementation of subsurface thermal properties and their impact on system performance.
-*Geoloop* incorporates depth-variations in subsurface thermal conductivity, subsurface temperature, and
-borehole design, and diverse operational boundary conditions such as seasonal load variations or
-minimum fluid temperatures in a tool for deterministic or stochastic performance analyses with the opportunity
+**Geoloop** incorporates (uncertainty in) depth-variations in subsurface thermal conductivity, subsurface temperature,
+BHE design and diverse operational boundary conditions such as seasonal load variations or
+minimum fluid temperatures, in a tool for deterministic or stochastic performance analyses with the opportunity
for optimization of the system design and operation. This makes Geoloop ideal for scenario analyses and sensitivity
-studies.
-
-It offers a tool to support informed decision-making in both research and practical applications.
+studies in both research and practical applications.
+
+**Geoloop** uses thermal response factors (*g*-functions) calculated using the analytical Finite Line Source model from
+the *pygfunction* package. This setup is extended into a stacked approach for depth-dependent thermal response calculations.
+A detailed description and benchmark of this depth-dependent semi-analytical method is provided in Korevaar & Van Wees (in prep.).
+**Geoloop's** generic framework allows for easy switching between simulation methods, including the innovative depth-dependent
+semi-analytical approach, the depth-uniform implementation of g-functions as implemented in *pygfunction* and a numerical
+finite volume approach.
---
--
GitLab
From 19066a548dd5b43afb1fb4a74425d7d4fdc9e9e3 Mon Sep 17 00:00:00 2001
From: korevaarzer
Date: Mon, 22 Dec 2025 09:53:15 +0100
Subject: [PATCH 4/4] Update required python version in docs installation page
---
docs/installation/install.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/installation/install.md b/docs/installation/install.md
index e4d1b82..bc12f83 100644
--- a/docs/installation/install.md
+++ b/docs/installation/install.md
@@ -15,7 +15,7 @@ pip install geoloop
This installs *Geoloop* along with its required dependencies.
-Geoloop requires **Python 3.12 or newer**.
+Geoloop requires **Python 3.12 or higher**.
---
--
GitLab