Project overview
Background
The urgent need for a rapid transition towards locally sourced, decarbonized heat supply, especially at the building level, is evident from climate goals and recent political developments. Unlike in electricity system planning, where decisions are typically made in a top-down manner through the deployment of large-scale power system components, the heating sector requires a bottom-up approach due to the diverse building stock, existing heating systems, and local renewable resource availability. As a result, various regulatory bodies are working on communal heat planning guidelines, to facilitate individualized decision-making at the district or building level.
To address this challenge, the project Energy – Sector Coupling and Microgrids, in short STROM, aims to develop a digital, automated energy supply planning tool. This tool will utilize local data such as renewable resource potentials, energy demand, and a distribution grid topology for an arbitrary district.
The tool consists of two key components:
pylovo, a module that generates synthetic distribution grids for a user-defined research areathe optimization framework
urbs, which is a linear programming model for multi-commodity energy systems. The primary objective ofurbsis on determining optimal storage sizes and utilization.
By leveraging the urbs optimization framework, the tool conducts a multi-sector, system-scale cost optimization
to determine optimal transition pathways for meeting the energy demands of the district,
thereby assisting decision-making processes.
See also
urbs: Please refer to the urbs documentation, or find the project on GitHubpylovo: Please refer to the pylovo documentation, or find the project on Gitlab LRZ
The aim of the ACEPT project is to automate the process of sourcing input data for urbs.
Additionally, it was integrated into the GUI of pylovo, that allows a user to quickly visualize different grids and
set parameters as well as results of the optimization of said grids.
The ACEPT project is part of an Interdisciplinary Project (IDP) at the Chair of Renewable and Sustainable Energy Systems at the Technical University of Munich (TUM).
Features of acept
Since the available data on buildings does not necessarily contain all needed information on the building,
acept can be used to complement the existing data on buildings with additional knowledge.
There are a number of timeseries data sets that are needed as an input for urbs.
These timeseries contain hourly data for one year. Since these timeseries are a describe a
characteristic for a research area or equipment, we call them “profiles” for short.
acept provides support to create such timeseries profiles for…
the typical weather for a location or area,
the ambient temperature for a location or area,
heat demand profiles for all buildings in a specified area and the area as a whole,
solar profiles, that give the PV capacity factor for all buildings in a specified area,
the Coefficient of Performance (COP) for heat pumps,
…
To calculate the heat demand profiles, acept leverages an upgraded version of the existing
tool UrbanHeatPro. For more information on this tool, please refer to the
section The UrbanHeatPro dependency, the UrbanHeatPro API documentation, or find the project on
GitHub.
Repository structure
Repository structure
📦acept ┣ 📂data Data directory ┃ ┣ 📂bbd Root directory for the preprocessed BBD ┃ ┃ ┗ 📂TestBezirk Contains example shapefiles for testing ┃ ┣ 📂dwd Weather data from the Deutscher Wetterdienst (DWD) ┃ ┃ ┗ 📂try_bavarian Bavarian TRY data ┃ ┣ 📂fed_states Shape files for the federal states of Germany ┃ ┣ 📂plz PLZ shape files ┃ ┣ 📂plz_mappigs PLZ mapping data ┃ ┣ 📜plz-5stellig-daten.csv Contains information on PLZ areas ┃ ┗ 📜zuordnung_plz_ort.csv Contains information for mapping PLZ to ┣ 📂deps Dependencies as git submodules ┃ ┗ 📂UrbanHeatPro UrbanHeatPro submodule, see ::ref:`UrbanHeatPro` ┣ 📂docs Documentation ┃ ┣ 📂build ┃ ┣ 📂source Source files for the documentation ┃ ┃ ┣ 📂_static Static files and style sheets ┃ ┃ ┣ 📂_templates HTML templates ┃ ┃ ┣ 📂auto_api_reference API reference for the packages in the project ┃ ┃ ┣ 📂file_trees File trees ┃ ┃ ┣ 📂images Images for the documentation ┃ ┃ ┣ 📜conf.py Sphinx configuration ┃ ┃ ┣ 📜contribute.rst ┃ ┃ ┣ 📜data_setup.rst ┃ ┃ ┣ 📜development_future_work.rst ┃ ┃ ┣ 📜index.rst ┃ ┃ ┣ 📜installation.rst ┃ ┃ ┣ 📜project_overview.rst ┃ ┃ ┣ 📜pylovo_gui.rst ┃ ┃ ┣ 📜uhp.rst ┃ ┃ ┗ 📜usage.rst ┃ ┣ 📜Makefile ┃ ┣ 📜docs_requirements.txt Requirements for building the documentation ┃ ┗ 📜make.bat ┣ 📂settings Settings files for UrbanHeatPro ┃ ┣ 📜uhp_settings.yaml Settings file for UrbanHeatPro ┃ ┗ 📜uhp_settings_example.yaml Example settings file for UrbanHeatPro ┣ 📂src ┃ ┗ 📂acept ┃ ┃ ┣ 📂acept_notebooks Jupyther notebooks for using acept (examples) ┃ ┃ ┃ ┣ 📜bbd_plz_processsing_examples.ipynb ┃ ┃ ┃ ┣ 📜building_information_example.ipynb ┃ ┃ ┃ ┣ 📜buildings_shapes_analytics.ipynb ┃ ┃ ┃ ┣ 📜demand_profiles_example.ipynb ┃ ┃ ┃ ┣ 📜dwd_try_data_performance_analytics.ipynb ┃ ┃ ┃ ┣ 📜plz_shape_data_analytics.ipynb ┃ ┃ ┃ ┗ 📜weather_profile_examples.ipynb ┃ ┃ ┣ 📂examples Examples of using acept ┃ ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┃ ┣ 📜main_example.py ┃ ┃ ┃ ┗ 📜pv_cap_example.py ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜acept_constants.py Constants for acept ┃ ┃ ┣ 📜acept_utils.py Utility functions for acept ┃ ┃ ┣ 📜bbd_plz_preprocessing.py Module for preprocessing the BBD shapefiles with PLZ areas ┃ ┃ ┣ 📜buildings_information.py Module for adding and calculating information about buildings ┃ ┃ ┣ 📜cop_profiles.py Module for calculating COP profiles ┃ ┃ ┣ 📜demand_profiles.py Module for calculating demand profiles ┃ ┃ ┣ 📜dwd_try_data_handling.py Module for handling the DWD TRY data ┃ ┃ ┣ 📜dwd_try_data_setup.py Module for setting up the DWD TRY data ┃ ┃ ┣ 📜exceptions.py Exceptions for acept ┃ ┃ ┣ 📜personal_settings.py Personal settings, this has to be created ┃ ┃ ┣ 📜plz_shape.py Module for processing PLZ shapefiles ┃ ┃ ┣ 📜pv_cap_api.py Module for using the PV API of renewables.ninja ┃ ┃ ┣ 📜pv_cap_factor_profiles.py Module for building PV capacity factor profiles ┃ ┃ ┣ 📜temperature_profiles.py Module for building temperature profiles ┃ ┃ ┣ 📜uhp_csv_io.py Module for handling UrbanHeatPro CSV files ┃ ┃ ┣ 📜uhp_input_formatting.py Module for formatting the UrbanHeatPro input ┃ ┃ ┗ 📜weather_profile_api.py Module for using the weather API of PVGIS ┣ 📂temp Directory temporary files are saved in ┣ 📜.gitignore A file that specifies which files and directories should be ignored by Git ┣ 📜.gitmodules A file specifying the submodule dependencies required by the project ┣ 📜.readthedocs.yaml Configuration for readthedocs ┣ 📜LICENSE The license file for the project ┣ 📜README.md The readme file for the project ┣ 📜imported_requirements.txt ┣ 📜imported_requirements_install_requires.txt ┣ 📜pyproject.toml The project configuration file ┣ 📜requirements.txt The requirements file ┣ 📜setup.cfg The setup configuration file ┗ 📜setup.sh The convenience setup scriptFull repository structure
📦acept ┣ 📂data ┃ ┣ 📂bbd ┃ ┃ ┗ 📂TestBezirk ┃ ┃ ┃ ┣ 📜Res_9565000_10_buildings.cpg ┃ ┃ ┃ ┣ 📜Res_9565000_10_buildings.csv ┃ ┃ ┃ ┣ 📜Res_9565000_10_buildings.dbf ┃ ┃ ┃ ┣ 📜Res_9565000_10_buildings.prj ┃ ┃ ┃ ┣ 📜Res_9565000_10_buildings.shp ┃ ┃ ┃ ┗ 📜Res_9565000_10_buildings.shx ┃ ┣ 📂dwd ┃ ┃ ┗ 📂try_bavarian ┃ ┣ 📂fed_states ┃ ┃ ┣ 📜federal_states_borders_germany.dbf ┃ ┃ ┣ 📜federal_states_borders_germany.prj ┃ ┃ ┣ 📜federal_states_borders_germany.shp ┃ ┃ ┗ 📜federal_states_borders_germany.shx ┃ ┣ 📂plz ┃ ┃ ┣ 📜plz-5stellig.dbf ┃ ┃ ┣ 📜plz-5stellig.prj ┃ ┃ ┣ 📜plz-5stellig.shp ┃ ┃ ┗ 📜plz-5stellig.shx ┃ ┣ 📂plz_mappigs ┃ ┣ 📜plz-5stellig-daten.csv ┃ ┗ 📜zuordnung_plz_ort.csv ┣ 📂deps ┃ ┗ 📂UrbanHeatPro ┃ ┃ ┣ 📂UrbanHeatPro ┃ ┃ ┃ ┣ 📂Classes ┃ ┃ ┃ ┃ ┣ 📜Building.py ┃ ┃ ┃ ┃ ┣ 📜City.py ┃ ┃ ┃ ┃ ┣ 📜HotWaterDemand.py ┃ ┃ ┃ ┃ ┣ 📜HotWaterDemand_D.py ┃ ┃ ┃ ┃ ┣ 📜Simulation.py ┃ ┃ ┃ ┃ ┣ 📜SpaceHeatingDemand.py ┃ ┃ ┃ ┃ ┗ 📜__init__.py ┃ ┃ ┃ ┣ 📂Functions ┃ ┃ ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┃ ┃ ┣ 📜plot.py ┃ ┃ ┃ ┃ ┣ 📜probabilistic.py ┃ ┃ ┃ ┃ ┣ 📜to_tuple.py ┃ ┃ ┃ ┃ ┗ 📜uhp_utils.py ┃ ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┃ ┗ 📜run_uhp.py ┃ ┃ ┣ 📂input ┃ ┃ ┃ ┣ 📂Building Typology ┃ ┃ ┃ ┃ ┣ 📜AirFlowRate-1_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜AirFlowRate-2_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜AirFlowRate-3_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜AirFlowRate_NonResidential.csv ┃ ┃ ┃ ┃ ┣ 📜AreaRatio_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜C_NonResidential.csv ┃ ┃ ┃ ┃ ┣ 📜C_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜EnvelopeArea_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜Floors_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜MonthlySpaceHeatingProbability.csv ┃ ┃ ┃ ┃ ┣ 📜Tset.csv ┃ ┃ ┃ ┃ ┣ 📜U-1_NonResidential.csv ┃ ┃ ┃ ┃ ┣ 📜U-1_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜U-2_NonResidential.csv ┃ ┃ ┃ ┃ ┣ 📜U-2_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜U-3_NonResidential.csv ┃ ┃ ┃ ┃ ┣ 📜U-3_Residential.csv ┃ ┃ ┃ ┃ ┣ 📜WindowOrientationRatio_Residential.csv ┃ ┃ ┃ ┃ ┗ 📜YMdhm.csv ┃ ┃ ┃ ┣ 📂Buildings ┃ ┃ ┃ ┃ ┗ 📜buildings_Unterhaching.csv ┃ ┃ ┃ ┣ 📂Domestic Hot Water ┃ ┃ ┃ ┃ ┣ 📜dhw_Demand.csv ┃ ┃ ┃ ┃ ┣ 📜dhw_Loads.csv ┃ ┃ ┃ ┃ ┣ 📜dhw_ProbDaytime.csv ┃ ┃ ┃ ┃ ┗ 📜dhw_ProbWeekday.csv ┃ ┃ ┃ ┣ 📂Regional Data ┃ ┃ ┃ ┃ ┣ 📂DE ┃ ┃ ┃ ┃ ┃ ┣ 📜ActiveHours_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜AverageDwellingSize_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜BuildingStock_NonResidential_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜BuildingStock_Residential_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜CurrentRefurbished_NonResidential_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜CurrentRefurbished_Residential_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜HouseholdSize_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜I_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜MaxRefurbished_NonResidential_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜MaxRefurbished_Residential_DE.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜SingleDwellingBuildings_DE.csv ┃ ┃ ┃ ┃ ┃ ┗ 📜Tamb_DE.csv ┃ ┃ ┃ ┃ ┗ 📂Unterhaching ┃ ┃ ┃ ┃ ┃ ┣ 📜ActiveHours_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜AverageDwellingSize_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜BuildingStock_NonResidential_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜BuildingStock_Residential_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜CurrentRefurbished_NonResidential_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜CurrentRefurbished_Residential_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜HouseholdSize_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜I_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜MaxRefurbished_NonResidential_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜MaxRefurbished_Residential_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┣ 📜SingleDwellingBuildings_Unterhaching.csv ┃ ┃ ┃ ┃ ┃ ┗ 📜Tamb_Unterhaching.csv ┃ ┃ ┃ ┗ 📂Styles ┃ ┃ ┃ ┃ ┣ 📜TUM.mplstyle ┃ ┃ ┃ ┃ ┗ 📜presentation.mplstyle ┃ ┃ ┣ 📂results ┃ ┃ ┣ 📂settings ┃ ┃ ┃ ┣ 📜uhp_default_settings.yaml ┃ ┃ ┃ ┣ 📜uhp_settings_currently_used.yaml ┃ ┃ ┃ ┗ 📜uhp_settings_example.yaml ┃ ┃ ┣ 📜.gitignore ┃ ┃ ┣ 📜LICENSE ┃ ┃ ┣ 📜README.md ┃ ┃ ┣ 📜requirements.txt ┃ ┃ ┣ 📜runme.py ┃ ┃ ┗ 📜setup.py ┣ 📂docs ┃ ┣ 📂build ┃ ┣ 📂source ┃ ┃ ┣ 📂_static ┃ ┃ ┃ ┣ 📜custom.css ┃ ┃ ┃ ┗ 📜theme.css ┃ ┃ ┣ 📂_templates ┃ ┃ ┃ ┗ 📂autoapi ┃ ┃ ┃ ┃ ┗ 📜index.rst ┃ ┃ ┣ 📂auto_api_reference ┃ ┃ ┃ ┣ 📂UrbanHeatPro ┃ ┃ ┃ ┣ 📂acept ┃ ┃ ┃ ┗ 📜index.rst ┃ ┃ ┣ 📂file_trees ┃ ┃ ┃ ┣ 📜acept_tree.rst ┃ ┃ ┃ ┗ 📜uhp_tree.rst ┃ ┃ ┣ 📂images ┃ ┃ ┃ ┣ 📜demand_generated.png ┃ ┃ ┃ ┣ 📜demand_new_ui.png ┃ ┃ ┃ ┣ 📜supim_generated.png ┃ ┃ ┃ ┣ 📜supim_new_ui.png ┃ ┃ ┃ ┣ 📜tve_generated.png ┃ ┃ ┃ ┗ 📜tve_new_ui.png ┃ ┃ ┣ 📜conf.py ┃ ┃ ┣ 📜contribute.rst ┃ ┃ ┣ 📜data_setup.rst ┃ ┃ ┣ 📜development_future_work.rst ┃ ┃ ┣ 📜index.rst ┃ ┃ ┣ 📜installation.rst ┃ ┃ ┣ 📜project_overview.rst ┃ ┃ ┣ 📜pylovo_gui.rst ┃ ┃ ┣ 📜uhp.rst ┃ ┃ ┗ 📜usage.rst ┃ ┣ 📜Makefile ┃ ┣ 📜docs_requirements.txt ┃ ┗ 📜make.bat ┣ 📂settings ┃ ┣ 📜uhp_settings.yaml ┃ ┗ 📜uhp_settings_example.yaml ┣ 📂src ┃ ┗ 📂acept ┃ ┃ ┣ 📂acept_notebooks ┃ ┃ ┃ ┣ 📜bbd_plz_processsing_examples.ipynb ┃ ┃ ┃ ┣ 📜building_information_example.ipynb ┃ ┃ ┃ ┣ 📜buildings_shapes_analytics.ipynb ┃ ┃ ┃ ┣ 📜demand_profiles_example.ipynb ┃ ┃ ┃ ┣ 📜dwd_try_data_performance_analytics.ipynb ┃ ┃ ┃ ┣ 📜plz_shape_data_analytics.ipynb ┃ ┃ ┃ ┗ 📜weather_profile_examples.ipynb ┃ ┃ ┣ 📂examples ┃ ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┃ ┣ 📜main_example.py ┃ ┃ ┃ ┗ 📜pv_cap_example.py ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜acept_constants.py ┃ ┃ ┣ 📜acept_utils.py ┃ ┃ ┣ 📜bbd_plz_preprocessing.py ┃ ┃ ┣ 📜buildings_information.py ┃ ┃ ┣ 📜cop_profiles.py ┃ ┃ ┣ 📜demand_profiles.py ┃ ┃ ┣ 📜dwd_try_data_handling.py ┃ ┃ ┣ 📜dwd_try_data_setup.py ┃ ┃ ┣ 📜exceptions.py ┃ ┃ ┣ 📜personal_settings.py ┃ ┃ ┣ 📜plz_shape.py ┃ ┃ ┣ 📜pv_cap_api.py ┃ ┃ ┣ 📜pv_cap_factor_profiles.py ┃ ┃ ┣ 📜temperature_profiles.py ┃ ┃ ┣ 📜uhp_csv_io.py ┃ ┃ ┣ 📜uhp_input_formatting.py ┃ ┃ ┗ 📜weather_profile_api.py ┣ 📂temp ┣ 📜.gitignore ┣ 📜.gitmodules ┣ 📜.readthedocs.yaml ┣ 📜LICENSE ┣ 📜README.md ┣ 📜imported_requirements.txt ┣ 📜imported_requirements_install_requires.txt ┣ 📜pyproject.toml ┣ 📜requirements.txt ┣ 📜setup.cfg ┗ 📜setup.sh
The
datadirectory holds various data files and subdirectories such as weather data from the Deutscher Wetterdienst (DWD), shape files for federal states and PLZ areas in Germany, and mapping data for PLZ areas.The
depsdirectory contains dependencies as git submodules, including the UrbanHeatPro submodule.The
docsdirectory contains documentation files, including the source files, build files, and configuration files for generating the documentation.The
settingsdirectory holds settings files for the UrbanHeatPro module.The
srcdirectory contains the source code for the acept project, organized into subdirectories such as notebooks for Jupyter usage, examples of using acept, and modules for various functionalities like preprocessing shapefiles, calculating COP profiles, handling DWD TRY data, creating heat demand profiles, and more.The
tempdirectory is used to store temporary files and outputs of the project.