Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
44bbeb6
Enhanced docstrings and more readable code
ISHINJaR Feb 3, 2023
7464776
Design of energy technical devices
ISHINJaR Feb 3, 2023
358fc01
Some docstring improvements
ISHINJaR Mar 14, 2023
502b5e4
Clustering
ISHINJaR Mar 14, 2023
bc64389
Improved clustering
ISHINJaR Mar 16, 2023
c85dd6f
Optimization
ISHINJaR May 18, 2023
246dc83
Central energy unit for district
ISHINJaR May 18, 2023
90d03fc
KPIs
ISHINJaR May 31, 2023
31b4fd3
Integration of EHDO into the districtgenerator
ISHINJaR May 31, 2023
bdda50c
update params EHDO
Sep 8, 2023
9afc621
update optimizer
Sep 8, 2023
5b8828e
update optimizer
Oct 13, 2023
d772627
Change DHW calculation and use precalculated profiles
Jan 19, 2024
598853b
Add Ratio of total gross floor area to net floor area
Feb 15, 2024
b7a4fac
Add ratio of total gross floor area to net floor area
Feb 15, 2024
fad3e22
update opti
Feb 27, 2024
148cb51
update opti
Feb 28, 2024
2d20ced
Merge branch 'develop' of github.com:RWTH-EBC/districtgenerator into …
Feb 29, 2024
72ea701
Add location from zip code and prediciton of run time
Mar 27, 2024
7240ad7
Add possibility to use old TRY weather data
Mar 28, 2024
dddd332
Update zip code to weather file
Apr 4, 2024
2f828e3
Change weather data to examples of 10 cities
Apr 16, 2024
46d210c
better functionality
Jun 3, 2024
1c1f5ee
merge opti_central
Jun 3, 2024
37ffdea
merge specific files from webtool to develop
Jun 3, 2024
ee038ac
update EHDO
Jun 11, 2024
91805ce
update EHDO COP
Jun 18, 2024
a019a71
update opti ev
Jun 26, 2024
4225400
EHDO interface
Jul 2, 2024
8008bc6
update webtool
Jul 3, 2024
efa1319
update EHDO
Jul 22, 2024
34ef1da
update weather data depending on postal code
Jul 22, 2024
419f69e
Merge branches 'develop' and 'develop' of github.com:RWTH-EBC/distric…
Jul 22, 2024
d6a53ac
fix output EHDO
Aug 7, 2024
63f3c1d
update output EHDO
Aug 8, 2024
ad44238
opti_central
Aug 13, 2024
74bd576
update opti_central
Aug 14, 2024
9023405
Change demand files
Sep 10, 2024
dee21cc
sphinx documentation
Oct 10, 2024
7ec6635
new examples
Oct 10, 2024
0f98184
update examples
Oct 15, 2024
cdd28cf
add functional test
Oct 16, 2024
3ffe76b
delete wrong example
Oct 16, 2024
bd31cc4
add gitlab-ci.yml
Oct 16, 2024
b2d0852
add requirements
Oct 16, 2024
77a6e93
new structure img
Oct 16, 2024
e42844f
bugfix
Oct 16, 2024
9b550ee
extend opti_central with energy hub
Nov 20, 2024
791ed76
update
Dec 9, 2024
472906a
update clustering with energy hub
Dec 16, 2024
9a50236
update 2 clustering with energy hub
Dec 16, 2024
dca29cc
Change in the method for determining the number of residents in resid…
RawadHamze Jan 10, 2025
fff1a09
#24 Correcting the 5R1C Method and the norm heat load calculation (#25)
RawadHamze Jan 10, 2025
1d5143c
#26 Changing the number of flats in MFH (#27)
RawadHamze Jan 10, 2025
104f59f
#28 Accounting for seasonal fluctuations to reflect changes in the de…
RawadHamze Jan 10, 2025
088017e
#30 Improve Residential Electricity Consumption with a Probabilistic …
RawadHamze Jan 10, 2025
5112796
Add files via upload
RawadHamze Jan 13, 2025
a1d174e
Correct the names of the weather stations
RawadHamze Jan 13, 2025
086ab94
delete EHDO folder
Jan 15, 2025
e64b681
Merge branch 'develop' to 'master'
Jan 15, 2025
0afc679
bugfixes
Jan 16, 2025
2a964c7
Add: Function to export building model
c0nb4 Jan 16, 2025
20e81cc
Merge remote-tracking branch 'RWTH-EBC/master' into 34-revert-rebase
c0nb4 Jan 20, 2025
607d041
FIX: EBC tests running again
c0nb4 Jan 20, 2025
1cf3a55
Fix: Tests are working again
c0nb4 Jan 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ errorfile.txt
*.pkl
__pycache__/
.idea/
demands/

Distribution / packaging
.Python
Expand Down
125 changes: 100 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,48 @@
![E.ON EBC RWTH Aachen University](./img/EBC_Logo.png)

# districtgenerator
# DistrictGenerator

[![License](http://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org)
[![Documentation](https://rwth-ebc.github.io/FiLiP/master/docs/doc.svg)](https://rwth-ebc.github.io/FiLiP/master/docs/index.html)

The districtgenerator is a Python tool for generating building-specific thermal, electrical and occupancy profiles for districts.
By integrating several open-source data bases and tools like [TEASER](https://github.com/RWTH-EBC/TEASER) and
[richardsonpy](https://github.com/RWTH-EBC/richardsonpy),
the districtgenerator is designed to provide easy access to profile generation.
Through the DistrictGenerator, we introduce an python-based open-source tool aimed at urban planners, energy suppliers,
housing associations, engineering firms, architectural professionals, as well as academic and research institutions.
This tool furnishes crucial insights into energy demands, pivotal for the effective design and operation of
neighborhoods energy systems. Consequently, users can discern actionable measures to harmonize energy supply.

The districtgenerator is being developed at [RWTH Aachen University, E.ON Energy

The DistrictGenerator is being developed at [RWTH Aachen University, E.ON Energy
Research Center, Institute for Energy Efficient Buildings and Indoor
Climate](https://www.ebc.eonerc.rwth-aachen.de/cms/~dmzz/E-ON-ERC-EBC/?lidx=1) and [TU Berlin, Institute for Digital Networking of Buildings, Energy Supply Systems and Users](https://www.tu.berlin/en/dvg).

## Version
## General Motivation

In the early stages of neighborhood planning, crucial data such as demand profiles of electricity, heating,
domestic hot water, and occupancy profiles are often not available. The absence of this data hampers
accurate evaluations of energy systems in districts. The DistrictGenerator seeks to advance the applicability
of sustainable, cross-sectoral energy systems in neighborhoods, with a specific emphasis on exploiting synergy
potentials among buildings of diverse usage structures through integrated concepts. We summarize the key contributions
of the DistrictGenerator as follows:

- An open-source tool with minimal input requirements. Leveraging pre-set elements and default values of temporally
resolved demand profiles, as well as decentralized heat generator sizing conforming to DIN standards.

- The tool enables the bottom-up representation of entire urban structures through neighborhood models, affording a
sufficiently detailed analysis foundation.

- Facilitation of central operational optimization and presentation of analytical results and key performance
indicators. This supports the examination of various neighborhood types and supply scenarios concerning technology
selection and penetrations. We thereby create a platform for early-stage comparison of neighborhood concepts
with the flexibility of selecting different variants, given the tool's rapid recalculations.

The districtgenerator is an ongoing research project. The current version is v0.1.0.

## Getting started

### Install the districtgenerator
### Install the DistrictGenerator

To install, first clone this repository with

Expand All @@ -38,9 +61,8 @@ activate the envrionment and run:
pip install -e <path-to-districtgenerator> .
```

### How to get started?

Once you have installed the generator, you can check the [examples](./examples) to learn how to use the different components.
Once you have installed the DistrictGenerator, you can check the [examples](EXAMPLES.md)
to learn how to use the different components.

### Minimum required input data

Expand All @@ -52,42 +74,95 @@ The minimal input data set was defined following the [TABULA archetype approach]
* _retrofit_: retrofit state according to TABULA (0: existing state, 1: usual refurbishment, 2: advanced refurbishment)
* _area_: reference floor area (given in square meters)

Please find a template [here](./data/scenarios/example.csv).
- id: building ID (just numerate the buildings)
- building: residential building type (single family house, terraced house, multi family house or apartment block)
- year: construction year (the calendar year in which the building was constructed)
- retrofit: retrofit state according to TABULA (0: existing state, 1: usual refurbishment, 2: advanced refurbishment)
- area: reference floor area (given in square meters)

The example.csv file can be used as [template](../districtgenerator/data/scenarios/example.csv).

### What you get

After executing district generation you can find building-specific profiles in
After executing district generation you can find building-specific and time-dependent profiles in
the .csv format in folder results/demands. The results contain:
* _heat_: space heating demand
* _dhw_: domestic hot water demand
* _elec_: electricity demand for lighting and electric household devices
* _occ_: number of persons present
* _gains_: internal gains from persons, lighting and electric household devices

All values are given in Watt and for the [time resolution](./data/time_data.json) you require.
- heat: space heating demand
- dhw: domestic hot water demand
- elec: electricity demand for lighting and electric household devices
- occ: number of persons present
- gains: internal gains from persons, lighting and electric household devices


## Known Limitations

* Non-Residential Buildings need EPW-Files.

## License

The districtgenerator is released by RWTH Aachen University, E.ON Energy
Research Center, Institute for Energy Efficient Buildings and Indoor Climate,
under the
[MIT License](LICENSE.md).
## Structure of the DistrictGenerator

![Library Structure](./img/Struktur_Quartiersgenerator.png)

## Running examples for functional testing

Once you have installed the DistrictGenerator, you can check the [examples](EXAMPLES.md)
to learn how to use the different components.

To test the tool's executability, run [test_examples.py](https://github.com/RWTH-EBC/districtgenerator/tree/15-joss-documentation/tests) in the tests folder.
This functional testing checks the entire chain of the tool, from data input and
initialization to the output of the calculated profiles. It does not correspond to a
test of the functional units of the entire process. This functional testing is based
on the examples automatically executed one after another.

## How to contribute

The documentation and examples should be understandable and the code bug-free.
As all users have different backgrounds, you may not understand everything or encounter bugs.
If you have questions, want to contribute new features or fix bugs yourself,
please [raise an issue here](https://github.com/RWTH-EBC/districtgenerator/issues/new).

If you wrote a new feature, create a pull request and assign
a reviewer before merging. Once review is finished, you can merge.

## Authors

* [Joel Schölzel](https://www.ebc.eonerc.rwth-aachen.de/cms/e-on-erc-ebc/das-institut/mitarbeiter/digitale-energie-quartiere/~obome/schoelzel-joel/?allou=1) (corresponding)
* [Tobias Beckhölter](https://www.ebc.eonerc.rwth-aachen.de/cms/E-ON-ERC-EBC/Das-Institut/Mitarbeiter/Team6/~scaj/Beckhoelter-Tobias/)
* [Carla Wüller](https://www.ebc.eonerc.rwth-aachen.de/cms/E-ON-ERC-EBC/Das-Institut/Mitarbeiter/Digitale-Energie-Quartiere/~beoyus/Wueller-Carla/)
* [Felix Rehmann](https://github.com/c0nb4)

## Alumni

* Sarah Henn

## Reference

coming soon :)
We presented or applied the library in the following publications:

- J. Schölzel, S. Henn, R. Streblow, D. Müller. Evaluation of Energy Sharing on a
Local Energy Market Through Comparison of Energy Management Techniques. 36th International
Conference on Efficiency, Cost, Optimization, Simulation and Environmental Impact of Energy Systems.
https://doi.org/10.52202/069564-0307

- J. Schölzel, T. Beckhölter, S. Henn, C.Wüller, R. Streblow, D. Müller.
Districtgenerator: A Novel Open-Source Webtool to Generate Building-Specific Load
Profiles and Evaluate Energy Systems of Residential Districts. 37th International
Conference on Efficiency, Cost, Optimization, Simulation and Environmental Impact of
Energy Systems.

- C. Wüller, J. Schölzel, R. Streblow, D. Müller.Optimizing Local Energy Trading in Residential Neighborhoods:A Price Signal Approach
in Local Energy Markets. 37th International Conference on Efficiency, Cost, Optimization,
Simulation and Environmental Impact of Energy Systems.

## License

The DistrictGenerator is released by RWTH Aachen University, E.ON Energy
Research Center, Institute for Energy Efficient Buildings and Indoor Climate,
under the [MIT License](about/LICENSE.md).

## Acknowledgements

The districtgenerator has been developed within the public funded projects
"BF2020 Begleitforschung ENERGIEWENDEBAUEN - Modul Quartiere" (promotional reference: 03EWB003B) and "BF2020 Begleitforschung ENERGIEWENDEBAUEN - Modul Digitalisierung" (promotional reference: 04EWB003A) and with financial support by BMWK (German Federal Ministry for Economic Affairs and Climate Action).

<img src="https://www.innovation-beratung-foerderung.de/INNO/Redaktion/DE/Bilder/Titelbilder/titel_foerderlogo_bmwi.jpg?__blob=normal" width="200">

## Problems?
Please [raise an issue here](https://github.com/RWTH-EBC/districtgenerator/issues/new).
20 changes: 0 additions & 20 deletions data/time_data.json

This file was deleted.

Binary file removed data/weather/DWD/TRY_2015.zip
Binary file not shown.
Binary file removed data/weather/DWD/TRY_2045.zip
Binary file not shown.
17 changes: 17 additions & 0 deletions districtgenerator.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Metadata-Version: 2.1
Name: districtgenerator
Version: 0.0.1
Summary: Energy profile generation and optimization of districts
Home-page: https://github.com/RWTH-EBC/districtgenerator
Author: Joel Schölzel
Author-email: joel.schoelzel@eonerc.rwth-aachen.de
License: MIT License
Classifier: Programming Language :: Python :: 3
License-File: LICENSE.md
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: matplotlib
Requires-Dist: scipy
Requires-Dist: teaser
Requires-Dist: richardsonpy
Requires-Dist: pylightxl
15 changes: 15 additions & 0 deletions districtgenerator.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
LICENSE.md
README.md
setup.py
classes/__init__.py
classes/datahandler.py
classes/envelope.py
classes/plots.py
classes/profils.py
classes/solar.py
classes/users.py
districtgenerator.egg-info/PKG-INFO
districtgenerator.egg-info/SOURCES.txt
districtgenerator.egg-info/dependency_links.txt
districtgenerator.egg-info/requires.txt
districtgenerator.egg-info/top_level.txt
1 change: 1 addition & 0 deletions districtgenerator.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

7 changes: 7 additions & 0 deletions districtgenerator.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
numpy
pandas
matplotlib
scipy
teaser
richardsonpy
pylightxl
1 change: 1 addition & 0 deletions districtgenerator.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
classes
6 changes: 0 additions & 6 deletions districtgenerator/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
from districtgenerator.datahandler import Datahandler
from districtgenerator.envelope import Envelope
from districtgenerator.solar import Sun
from districtgenerator.users import Users
from districtgenerator.profils import Profiles
from districtgenerator.plots import DemandPlots
Loading
Loading