demand_calculator
Science Score: 64.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.9%) to scientific vocabulary
Keywords from Contributors
Repository
Basic Info
- Host: GitHub
- Owner: martacki
- License: mit
- Language: Python
- Default Branch: master
- Size: 54.1 MB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
Interannual Electricity Demand Calculator
Large parts of this code were originally developed by Lieke van der Most (University of Groningen) in the EU renewable energy modelling framework. The original version of the code can be found here and is referenced below as [1]. [1] has been validated against historical electricity demand data reported on the ENTSO-E transparancy platform. If you use this code, please refer to her work as well.
We have made the following adjustments to the original version:
- generate hourly instead of daily electricity consumption profiles
- use
snakemakefor workflow management - trim repository to demand-related code and data
- adjust code to accept cutouts from
atlitefor weather data
Purpose
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
output/demand_hourly.csv 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 input_files/noworkday.csv.
Exemplary Data
Electricity consumption time-series for the years 1951-2021 and all European countries are available on Zenodo.
Installation and Usage
Clone the Repository
Download the demand_calculator
repository using git.
bash
/some/other/path % cd /some/path/without/spaces
/some/path/without/spaces % git clone https://github.com/martacki/demand_calculator.git
Install Dependencies with conda/mamba
Use conda or
mamba to install the required packages
listed in
environment.yaml.
The environment can be installed and activated using
bash
.../demand_calculator % conda env create -f environment.yaml
.../demand_calculator % conda activate demand
Retrieve Input Data
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
europe-2013-era5.nc in the following location (and rename!):
./input_files/cutouts/europe-era5-2013.nc
Cutouts for other weather years than 2013 can be built using the build_cutout
rule from the PyPSA-Eur repository.
Run the Workflow
This repository uses snakemake for workflow management. To run the complete
workflow, execute:
bash
.../demand_calculator % snakemake -jall all
After successfully running the workflow, the output files will be located in
output/energy_demand named demand_hourly_{yr}.csv.
The years to compute can be modified directly in the Snakefile.
Example Plots of the Workflow Output
An exemplary plot of the result for Germany (DE) of an exemplary week of January, 2013 comparing the results of this workflow with the Open Power System Data in hourly resolution.

An exemplary plot of the result for Spain (ES) of an exemplary week of January, 2013 comparing the results of this workflow with the Open Power System Data in hourly resolution.

Owner
- Name: Martha Frysztacki
- Login: martacki
- Kind: user
- Location: Munich, Germany
- Company: Open Energy Transition
- Website: https://openenergytransition.org/about-us.html#team
- Twitter: martacki
- Repositories: 8
- Profile: https://github.com/martacki
Energy System Modeller; last name spelling: [frɨʂtat͡skʲ]
Citation (CITATION.cff)
cff-version: 1.1.0
title: "Interannual electricity demand calculator"
repository: https://github.com/martacki/demand_calculator
version: 0.1.0
license: MIT
authors:
- family-names: Frysztacki
given-names: Martha
orcid: https://orcid.org/0000-0002-0788-1328
- family-names: Neumann
given-names: Fabian
orcid: https://orcid.org/0000-0001-8551-1480
GitHub Events
Total
- Push event: 1
- Create event: 1
Last Year
- Push event: 1
- Create event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Martha Frysztacki | m****i@k****u | 25 |
| Fabian Neumann | f****n@o****e | 7 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 5
- Average time to close issues: N/A
- Average time to close pull requests: about 1 hour
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.6
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- fneum (5)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- cdo
- geopandas
- netcdf4
- pandas
- pypsa
- python >=3.8
- python-cdo
- regionmask
- snakemake-minimal
- xarray 0.19.0.*