This module prepares electricity demand timeseries for Europe at arbitrary resolution
This is a modular snakemake workflow created as part of the Modelblocks project. It can be imported directly into any snakemake workflow.
For more information, please consult the Modelblocks documentation,
the integration example,
and the snakemake documentation.
Data processing steps:
- Download ENTSO-E historical load profiles.
- Download a gridded population dataset that serves as a disaggregation proxy.
- Filter and clean the raw load profile data.
- Clip the population raster to the ENTSO-E area.
- Disaggregate the national annual load to raster, using population as weight.
- Re-aggregate the annual load raster data to the target shapes.
- Assign the corresponding national load profile to each region to get the final load profiles for the target shapes.
Please consult the configuration README and the configuration example for a general overview on the configuration options of this module.
Please consult the interface file for more information.
We use pixi as our package manager for development.
Once installed, run the following to clone this repository and install all dependencies.
git clone git@github.com:modelblocks-org/module_demand_electricity.git
cd module_demand_electricity
pixi install --allPlease be aware that this is a multi-environment project (see pixi.toml for details).
default: used for development and integration testing. Because it containsSnakemake,condaandpytestas dependencies it should not be used inSnakemakerules.module: contains minimal dependencies used inSnakemakerules. If modified, be sure to export it toSnakemakeso it can be recreated by module users:
# create module.yaml and conda-spec pin files in workflow/envs/
pixi run export-snakemake-env moduleFor testing, simply run:
pixi run test-integrationTo test a minimal example of a workflow using this module:
pixi shell # activate this project's environment
cd tests/integration/ # navigate to the integration example
snakemake --use-conda --cores 2 # run the workflow!This module is based on the following research and datasets:
Thanks goes to these wonderful people, sorted alphabetically (emoji key):
Jann Launer 🤔 💻 |
Ivan Ruiz Manuel 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!