modelblocks-org/module_euro_building_heat
This module prepares time series of heat demand and heat supply technologies for buildings in European countries.
Overview
Latest release: None, Last update: 2026-09-03
Share link: https://snakemake.github.io/snakemake-workflow-catalog?wf=modelblocks-org/module_euro_building_heat
Quality control: linting: passed formatting: passed
Wrappers: geo/rasterio/clip utils/libarchive/extract
Deployment
Step 1: Install Snakemake and Snakedeploy
Snakemake and Snakedeploy are best installed via the Conda package manager. It is recommended to install conda via Miniforge. Run
conda create -c conda-forge -c bioconda -c nodefaults --name snakemake snakemake snakedeploy
to install both Snakemake and Snakedeploy in an isolated environment. For all following commands ensure that this environment is activated via
conda activate snakemake
For other installation methods, refer to the Snakemake and Snakedeploy documentation.
Step 2: Deploy workflow
With Snakemake and Snakedeploy installed, the workflow can be deployed as follows. First, create an appropriate project working directory on your system and enter it:
mkdir -p path/to/project-workdir
cd path/to/project-workdir
In all following steps, we will assume that you are inside of that directory. Then run
snakedeploy deploy-workflow https://github.com/modelblocks-org/module_euro_building_heat . --tag None
Snakedeploy will create two folders, workflow and config. The former contains the deployment of the chosen workflow as a Snakemake module, the latter contains configuration files which will be modified in the next step in order to configure the workflow to your needs.
Step 3: Configure workflow
To configure the workflow, adapt config/config.yml to your needs following the instructions below.
Step 4: Run workflow
The deployment method is controlled using the --software-deployment-method (short --sdm) argument.
To run the workflow with automatic deployment of all required software via conda/mamba, use
snakemake --cores all --sdm conda
Snakemake will automatically detect the main Snakefile in the workflow subfolder and execute the workflow module that has been defined by the deployment in step 2.
For further options such as cluster and cloud execution, see the docs.
Step 5: Generate report
After finalizing your data analysis, you can automatically generate an interactive visual HTML report for inspection of results together with parameters and code inside of the browser using
snakemake --report report.zip
Configuration
The following section is imported from the workflow’s config/README.md.
We recommend consulting the following before using this module:
config/config.yaml: a generic example configuration of this module.workflow/internal/config.schema.yaml: a schematic overview of all the configuration options of this module.INTERFACE.yaml: lists module input and output files, and their default locations.tests/integration/Snakefile: an example of how to call this module from another workflow.
Overview
This is only a brief overview of the configuration options. Consult the configuration example and the schema for additional information.
demand_years: annual heat-demand years, from 2010 through 2023.start: first year to include.end: first year not to include; it may be no later than 2024.
weather_years: ERA5 years used to create the hourly profiles. This range must contain as many years asdemand_years, with both ranges being paired in order. Output timeseries use this year range in their timestamps.start: first weather year to include.end: first weather year not to include.
threads: parallelism available to aggregation tasks.aggregation: maximum worker count, with a minimum of1.
population: GHSL population data used to allocate demand to the input shapes. The workflow selects the available population epoch closest todemand_years.start.resolution: raster resolution in metres. Use1000for a smaller, faster calculation or100for more spatial detail.
crs: coordinate reference systems used for geometry calculations.projected: projected CRS for operations such as centroid calculation, for exampleEPSG:3035or3035.
data_proxies: optional mappings for requested countries missing from baseline datasets. Map each target ISO alpha-3 code to one or more covered reference-country codes. Multiple references are averaged.sfh_mfh_shares: proxies single and multi-family dwelling shares.annual_energy_balance: proxies per-capita energy intensities and scales them to the target population. The target and references must have land shapes with positive assigned population.household_end_use: proxies residential carrier-level end-use shares.jrc_idees: proxies commercial carrier-level end-use shares.
heat: controls conversion to useful heat and average heat-pump performance.useful_heat_demand: This is optional.actual(the default) uses published useful heat where available, whilecalculate_allapplies the configured efficiencies everywhere.tech_efficiencies: final-to-useful conversion factors by carrier underspace_heat,hot_water, andcooking. Keep the carrier keys shown in the example configuration and adjust their numeric factors as needed.heat_pump: settings used to calculate the combined air-source and ground-source heat-pump COP profile.sink_temperature: operating temperature in degrees Celsius for each heat-delivery method.space_heat_sink_shares: space-heating share for each sink. Values must sum to one. Please omit exactly one configured sink to designate it for hot water.heat_pump_shares:ashpandgshpshares, each between zero and one and together summing to one.correction_factor: positive multiplier applied to the COP curves.
This data module is part of the Modelblocks project. Please consult the Modelblocks documentation for more details.
Linting and formatting
Linting results
All tests passed!
Formatting results
All tests passed!