DOI: 10.5281/zenodo.6771218
title: Supplementary data: "Open modeling of electricity and heat demand curves for all residential buildings in Germany"

description: <strong>THIS VERSION IS OUTDATED, PLEASE CHECK OUT THE LAST VERSION HERE: https://zenodo.org/record/6771217</strong> ___________________________________ This repository contains result data for the paper <em> "Open modeling of electricity and heat demand curves for all residential buildings in Germany"</em>. The published data includes residential electricity and heat demand profiles for every building in Germany. It was created with the open source tool eGon-data within the research project eGon. All input data sets as well as the code are available under open source licenses. <strong>Files</strong> The profile data is stored as PostgreSQL database in attached backup file. The data can be restored by using e.g. pgAdmin or via PostgreSQL's pg_restore command. See section <strong>Database structure</strong> below for details. Unpack the zip files. The directory <em>scripts/</em> contains example scripts to obtain electricity and heat profiles. The directory <em>additional_data/</em> contains TRY climate zones and weather data which can be used to extract heat profiles. See section <strong>Example scripts</strong> below for details. <strong>Database structure</strong> After restoring the backup file, the data is stored in different schemas: <em>society, openstreetmap</em> and <em>demand</em>. Different tables have to be combined to create the final demand time series for heat and electricity. In the following, the tables and the matching methods are described. The schema <em>society</em> includes data from Census 2011 on population in 100m x 100m cells ('Census cells'). The cells are georeferenced and have a unique id. Schema: <em>society</em> <em>destatis_zensus_population_per_ha_inside_germany</em><br> National census in Germany in 2011 with the bounds on Germanys borders. id: Unique identifier grid_id: Grid number of Census population: Number of registred residents geom_point: Geometry centroid (CRS: ERTS89) geom: Geometry (CRS: ERTS89) Schema: <em>openstreetmap</em> The schema <em>openstreetmap</em> includes data on residential buildings. All buildings hold an internal building_id. All residential buildings extracted from openstreetmap are stored in <em>openstreetmap.osm_buildings_residential</em> including osm_id and internal building_id. Additional, synthetic buildings are stored in <em>openstreetmap.osm_buildings_synthetic.</em> <em>osm_buildings_residential</em>: Filtered list of residential buildings from OpenStreetMap - (c) OpenStreetMap contributors id: Building id osm_id: Openstreetmap id amenity: Amenity in building building: Type of building name: Name of the building geom: Polygon of building (CRS: ERTS89) area: Surface area of building geom_point: Centroid of building (CRS: ERTS89) tags: Opensteetmap tags <em>osm_buildings_synthetic</em>: List of generated synthetic buildings id: Building id geom: Polygon of building (CRS: ERTS89) geom_point: Centroid of building (CRS: ERTS89) grid_id: Census grid id (reference to: <em>society.destatis_zensus_population_per_ha_inside_germany.grid_id</em>) cell_id: Census cell id (reference to: <em>society.destatis_zensus_population_per_ha_inside_germany.id</em>) building: Building type (residential) area: Surface area Schema: <em>demand</em> With the <em>profile_ids</em> in <em>egon_household_electricity_profile_of_buildings</em>, specific profiles from <em>iee_household_load_profiles</em> are mapped to all residential buildings. The profiles need to be scaled therafter by their annual sum and the corresponding scaling factors, which can be found in<em> egon_household_electricity_profile_in_census_cell</em> and matched per census cell id. <em>egon_household_electricity_profile_in_census_cell</em>: Mapping table for household electricity profiles to census cell including scaling factors for two scenarios (eGon2035, eGon100RE) . cell_id: Census cell id (reference to: <em>society.destatis_zensus_population_per_ha_inside_germany.id</em>) grid_id: Census grid id cell_profile_ids: Household profile ids nuts3: NUTS 3 code nuts1: NUTS 1 code factor_2035: Scaling factor for scenario eGon2035 factor_2050: Scaling factor for scenario eGon100RE <em>iee_household_load_profiles</em>: 100.000 annual profiles in hourly resolution of electricity demand of private households for different household types (singles, couples, other) with varying number of elderly and children. The profiles were created using a bottom-up load profile generator by Fraunhofer IEE developed in the Bachelor's thesis "Auswirkungen verschiedener Haushaltslastprofile auf PV-Batterie-Systeme" by Jonas Haack, Fachhochschule Flensburg, December 2012. The columns are named as follows: "&lt;HH_TYPE_PREFIX&gt;a&lt;PROFILE_ID&gt;", e.g. P2a0000 is the first profile of a couple's household with 2 children. See publication below for the list of prefixes. Values are given in Wh. A related conference paper can be obtained here. id: Unique identifier type: Profile id load_in_wh: Demand timeseries for one year (8760 hours) in Wh <em>egon_household_electricity_profile_of_building</em>: Mapping table for household electricity profiles to buildings via internal building_id and corresponding census cell_id. id: Unique identifier building_id: Building id (reference to: <em>osm_buildings_residential.id, osm_buildings_synthetic.id</em>) cell_id: Census cell id (reference to: <em>society.destatis_zensus_population_per_ha_inside_germany.id</em>) profile_id: Household profile id (reference to: <em>iee_household_load_profiles.type</em>) Heat demand profiles per building can be created by combining the tables <em>egon_peta_heat</em>, <em>heat_idp_pool</em> and <em>heat_timeseries_selected_profiles</em>. In addition, weather data (e.g. from ERA5, located in <em>additional_data/</em>) is needed to distribute the annual heat demands to single days. This is included in the example script, the usage is described below. <em>egon_peta_heat</em>: Table for annual heat demands of residential and service sector per Census cell demand: Annual heat demand in MWh id: Unique identifier scenario: Scenario name (either eGon2035 or eGon100RE) sector: Demand sector (either 'residential' or 'service') zensus_population_id: id of the Census cell (reference to: society.destatis_zensus_population_per_ha_inside_germany.id) <em>heat_idp_pool</em>: About 460,000 inidvidual daily heat demand profiles per building including the temeprature class and building type. house: Single- or multi-family house idp: Normalized demand timeseries for one day (24 hours) index: Unique identifier temperature_class: Number of corresponding temperature class <em>heat_timeseries_selected_profiles</em>: Mapping table for household heat profiles to buildings per day via internal building_id and corresponding census cell_id. ID: Unique identifier building_id: Id of the corresponding building (reference to: <em>osm_buildings_residential.id, osm_buildings_synthetic.id</em>) selected_ipd_profiles: Array of selected profiles per day (values in array refer to: <em>heat_idp_pool.index</em>) zensus_population_id: id of corresponding Census cell (reference to: <em>society.destatis_zensus_population_per_ha_inside_germany.id</em>) Weather data and the used climate zones are not included in the database. They are stored in files which are part of the<em> additional_data/</em> folder. In this folder, you find the following data sets: <em>TRY_Climate_Zone</em>: Climate zones in Germany source: Own representation based on DWD TRY climate zones License: Attribution 4.0 International (CC BY 4.0) <em>germany-2011-era5.nc</em>: ERA 5 Weather data for the year 2011 Source: https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels?tab=overview Terms of Use: https://cds.climate.copernicus.eu/api/v2/terms/static/20180314_Copernicus_License_V1.1.pdf <strong>Example queries</strong> <em>Electricity profiles:</em> The demand profiles for residential buildings can be obtained using the tables stored in the <em>demand</em> schema. To extract electricity demand profiles, the following tables have to be combined: egon_household_electricity_profile_in_census_cell iee_household_load_profiles egon_household_electricity_profile_of_building Example script to obtain the electrical demand timeseries for 1 specific building for the eGon2035 scenario: <em>scripts/select_electrical_profile_1_building_2035.sql</em> <em>Heat profiles:</em> To extract heat demand profiles, weather data, e.g. from ERA5 is needed to calculated the dialy heat demand based on temperature data. This data is currently not intergrated in the database. The profiles can be extracted using the python script <em>scripts/selected_heat_profiles.py</em>. To run this script, you need to install the following packages: pandas, geopandas, atlite and sqlalchemy e.g. using pip. <em>We will extend the example scripts and simplify the creation of heat demand profiles in the next version of this dataset.</em> <strong>Citing</strong> Please cite as: Büttner, C., Amme, J., Endres, J., Malla, A., Schachler, B., Cußmann, I.: Open modeling of electricity and heat demand curves for all residential buildings in Germany, <em>Energy Informatics (2022)</em> <strong>Funding</strong> The authors thank the Federal Ministry for Economic Affairs and Climate Action for funding the research project eGon (funding code: 03EI1002).