Contents

Overview

docs

Documentation Status

Overview of tools for the planning of regional and district energy systems and infrastructures

  • Free software: MIT license

Documentation

Here you will find the actual list of tools for district energy planning:

https://tool-overview-energy-planning.readthedocs.io/

Contribution

You can easily contribute. If you know a tool that is missing in the overview, please open an issue and choose the Add new tool to list template: https://github.com/quarree100/tool-overview-energy-planning/issues

You can also directly open an PR.

Development

To run all the tests run:

tox

Note, the most important test of this package is the documentation:

tox -e "docs"

Collection of tools

The following tables collect software tools in the context of district and regional energy planning.

The categorization is done according to the specific tasks and individual steps in the energy planning process. If categories are missing, please write an issue or open an PR with a suggestion for improvement.

Single software tools might occur multiple times in different categories, as specific functionalities might sometimes be hidden within a package.

The aim of this overview is a topic and energy planning issue oriented overview.

0 Primary data sources

This section might contain data source, that are relevant for district energy planning. This might be specific, e.g. 3D building geometries are available for Lower Saxony …

1 Stocktaking and data acquisition

Description of subsection.

Data acquisition / download

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

osmnx

download of buildings footprints and street geometries from open street maps

coordinates of district

  • geopandas.DataFrame with buildings footprints. Streetnetwork graph.

open source

maintained

https://pypi.org/project/osmnx/

Data processing and visualisation

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

QGIS

Weather data

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

wetterdienst

https://github.com/earthobservations/wetterdienst

2 Energy demand

Heat

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

demandlib

Electricity

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

LoadProfileGenerator

https://github.com/FZJ-IEK3-VSA/LoadProfileGenerator

demandlib

Annuel electricity demand

Electricity load profiles according to

3 Renewable energy potential

Photovoltaic

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

pvlib

Solar thermal

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

oemof.thermal

Windpower

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

windpowerlib

4 District heating network

Routing & Dimensioning

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

DHNx

Optimisation of district heating network topology and dimension

MILP based on oemof.solph

GIS Polygon or point layer with buildings. Heat load of buildings. Potential DHS routes (e.g. Street network). DHS Pipeline data (costs, U-value).

DHS network with pipeline dimensions (geopandas.DataFrame). Costs and losses of DHS network.

open source

early stage

https://github.com/oemof/DHNx

University Bremen

Thermo-hydraulic simulation

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

DHNx

https://github.com/oemof/DHNx

pandaspipes

https://github.com/e2nIEE/pandapipes

DiGriPy

https://github.com/lvorspel/DiGriPy

5 Electricity network

Power flow calculation

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

osmnx

download of buildings footprints and street geometries from open street maps

coordinates of district

  • geopandas.DataFrame with buildings footprints \ - Streetnetwork graph

open source

maintained

https://pypi.org/project/osmnx/

6 District energy supply

Technology selection & Dimensioning

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

q100opt

https://github.com/quarree100/q100opt

mtress

https://github.com/mtress/mtress

DLR Oldenburg

Physical simulation

Name

Short description

Method

Input data

Output data

Availability

Status

Link

Developing organisations

modeliquarree

https://github.com/quarree100/modeliquarree

Reference

tool-overview-energy-planning

Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

Bug reports

When reporting a bug please include:

  • Your operating system name and version.

  • Any details about your local setup that might be helpful in troubleshooting.

  • Detailed steps to reproduce the bug.

Documentation improvements

Tool-Overview-Energy-Planning could always use more documentation, whether as part of the official Tool-Overview-Energy-Planning docs, in docstrings, or even on the web in blog posts, articles, and such.

Feature requests and feedback

The best way to send feedback is to file an issue at https://github.com/quarree100/tool-overview-energy-planning/issues.

If you are proposing a feature:

  • Explain in detail how it would work.

  • Keep the scope as narrow as possible, to make it easier to implement.

  • Remember that this is a volunteer-driven project, and that code contributions are welcome :)

Development

To set up tool-overview-energy-planning for local development:

  1. Fork tool-overview-energy-planning (look for the “Fork” button).

  2. Clone your fork locally:

    git clone git@github.com:YOURGITHUBNAME/tool-overview-energy-planning.git
    
  3. Create a branch for local development:

    git checkout -b name-of-your-bugfix-or-feature
    

    Now you can make your changes locally.

  4. When you’re done making changes run all the checks and docs builder with tox one command:

    tox
    
  5. Commit your changes and push your branch to GitHub:

    git add .
    git commit -m "Your detailed description of your changes."
    git push origin name-of-your-bugfix-or-feature
    
  6. Submit a pull request through the GitHub website.

Pull Request Guidelines

If you need some code review or feedback while you’re developing the code just make the pull request.

For merging, you should:

  1. Include passing tests (run tox).

  2. Update documentation when there’s new API, functionality etc.

  3. Add a note to CHANGELOG.rst about the changes.

  4. Add yourself to AUTHORS.rst.

Tips

To run a subset of tests:

tox -e envname -- pytest -k test_myfeature

To run all the test environments in parallel:

tox -p auto

Authors

Changelog

0.0.0 (2022-05-17)

  • First release on PyPI.

Indices and tables