DOI: 10.5281/zenodo.7070438
title: Interannual Electricity Demand Calculator

description: <strong>Interannual Electricity Demand Calculator</strong> Large parts of this code were originally developed by Lieke van der Most (University of Groningen) in the <em>EU renewable energy modelling framework</em> and release under MIT license. The original version of the code can be found here and is referenced below as [1]. This model has been validated against historical electricity demand data reported on the ENTSO-E transparancy platform. We have made the following adjustments to the original version: generate hourly instead of daily electricity consumption profiles use <code>snakemake</code> for workflow management trim repository to demand-related code and data adjust code to accept cutouts from <code>atlite</code> for weather data <strong>Purpose</strong> Variations in weather conditions affect electricity demand patterns. This workflow generates country-level electricity consumption time series based on weather data using analysis by Lieke van der Most correlating historical electricity demand to temperature. This workflow first calculates a daily electricity demand based on the regression model developed in [1]. Subsequently, cumulative daily electricity demands are disaggregated using a hourly profile sampled from a random historical day (that is the same weekday) from the Open Power System Database. The resulting <code>output/demand_hourly.csv</code> file is compatible with the open-source electricity system model PyPSA-Eur. Holidays are treated like weekend days. Data on national holidays across Europe are obtained using another repository by Aleksander Grochowicz and others that similarly computes artificial electricity demand time series: github.com/aleks-g/multidecade-data. The holidays are stored at <code>input_files/noworkday.csv</code>. <strong>Installation and Usage</strong> <strong>Clone the Repository</strong> Download the demand_calculator repository using <code>git</code>. <pre><code>/some/other/path % cd /some/path/without/spaces /some/path/without/spaces % git clone https://github.com/martacki/demand_calculator.git</code></pre> <strong>Install Dependencies with conda/mamba</strong> Use <code>conda</code> or <code>mamba</code> to install the required packages listed in environment.yaml. The environment can be installed and activated using <pre><code>.../demand_calculator % conda env create -f environment.yaml .../demand_calculator % conda activate demand</code></pre> <strong>Retrieve Input Data</strong> The only required additional input files are ERA5 cutouts which can be recycled from the PyPSA-Eur weather data deposit on Zenodo. Place the file <code>europe-2013-era5.nc</code> in the following location (and rename!): <pre><code>./input_files/cutouts/europe-era5-2013.nc</code></pre> Cutouts for other weather years than 2013 can be built using the <code>build_cutout</code> rule from the PyPSA-Eur repository. <strong>Run the Workflow</strong> This repository uses <code>snakemake</code> for workflow management. To run the complete workflow, execute: <pre><code>.../demand_calculator % snakemake -jall all</code></pre> After successfully running the workflow, the output files will be located in <code>output/energy_demand</code> named <code>demand_hourly_{yr}.csv</code>. The years to compute can be modified directly in the <code>Snakefile</code>. <strong>License</strong> The file demand_hourly.csv is released under CC-BY-4.0 license. The file src.zip is released under MIT license.