From 77ba8a76f00cbe0bea32c3c1080198897bacfd62 Mon Sep 17 00:00:00 2001 From: Heronimonimo Date: Fri, 15 Feb 2019 09:38:44 +0100 Subject: [PATCH] Extend readme --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/README.md b/README.md index c343fb99..04e85dec 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ Not all data dependencies are shipped with the git repository (since git is not The model has several configuration options collected in the [config.yaml](config.yaml) file located in the root directory. +## Model workflow The generation of the model is controlled by the workflow management system [Snakemake](https://snakemake.bitbucket.io/). In a nutshell, one declares in the `Snakefile` for each python script in the `scripts` directory a rule which @@ -110,6 +111,7 @@ snakemake networks/elec_s_128.nc follows the dependency graph ![Dependency graph for network elec_s_128](img/dependencies-elec_s_128.png) +## Building the network In detail this means it has to run the independent scripts, - `build_shapes` to generate GeoJSON files with country, exclusive economic zones and nuts3 shapes - `build_cutout` to prepare smaller weather data portions from ERA5 for cutout `europe-2013-era5` and SARAH for cutout `europe-2013-sarah`. @@ -142,6 +144,34 @@ The additional rules prepare approximations of the full model, in which generati The simplification and clustering steps are described in detail in the paper [The role of spatial scale in joint optimisations of generation and transmission for European highly renewable scenarios](https://arxiv.org/abs/1705.07617), 2017, [arXiv:1705.07617](https://arxiv.org/abs/1705.07617), [doi:10.1109/EEM.2017.7982024](https://doi.org/10.1109/EEM.2017.7982024). +## Solving the network +After generating the network it can be solved by using 'solve_all_elec_networks'. This runs the following rules: +- 'cluster_network' +- 'prepare_network' +- 'solve_all_elec_networks' +- 'solve_network' + +## Summarising the results and making plots +The following rule can be used to summarize the results in seperate .csv files: +``` +snakemake results/summaries/elec_s_all_lall_Co2L-3H_all + ^ clusters + ^ line volume or cost cap + ^- options + ^- all countries +``` +the line volume/cost cap field can be set to one of the following: +* `lv1.25` for a particular line volume extension by 25% +* `lc1.25` for a line cost extension by 25 % +* `lall` for all evalutated caps +* `lvall` for all line volume caps +* `lcall` for all line cost caps + +Replacing '/summaries/' with '/plots/' creates nice colored maps of the results. + +# Solver choice +Default choice for the solver is Gurobi (freely available under academic license) or CPLEX. If you want to go fully opensource the CBC solver (https://projects.coin-or.org/Cbc) can be used. To install CBC run 'conda install -c conda-forge coincbc'. + # Hints For the use of `snakemake`, it makes sense to familiarize oneself quickly with its [basic tutorial](https://snakemake.readthedocs.io/en/stable/tutorial/basics.html) and then read carefully through the section [Executing Snakemake](https://snakemake.readthedocs.io/en/stable/executable.html), noting the arguments `-n`, `-r`, but also `--dag`, `-R` and `-t`.