https://github.com/timtroendle/calliope-in-ose-model-comparison
Simulation runs of Euro-Calliope within the OSE model comparison.
https://github.com/timtroendle/calliope-in-ose-model-comparison
energy europe model reproducible-research research
Last synced: 25 days ago
JSON representation
Simulation runs of Euro-Calliope within the OSE model comparison.
- Host: GitHub
- URL: https://github.com/timtroendle/calliope-in-ose-model-comparison
- Owner: timtroendle
- License: mit
- Created: 2019-01-04T15:54:04.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-13T12:46:35.000Z (over 5 years ago)
- Last Synced: 2024-06-11T17:31:10.042Z (about 2 years ago)
- Topics: energy, europe, model, reproducible-research, research
- Language: Python
- Homepage:
- Size: 13.7 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# OSE Model Comparison -- Euro-Calliope
Simulation runs of Euro-Calliope within the OSE model comparison.
This repository contains the entire scientific project, including code and report. The philosophy behind this repository is that no intermediary results are included, but all results are computed from raw data and code.
## Getting ready
1. Clone the repo. Because `euro-calliope` is added as a git submodule, you may want to clone using `git clone --recurse-submodules `.
2. Create an environment to run the analysis. You need [conda](https://conda.io/docs/index.html) to run the analysis. Using conda, you can create a conda environment from within you can run it:
`conda env create -f environment.yaml`
3. Make sure you have a Gurobi license, or install and configure another solver.
4. Provide the input data for Euro-Calliope, as defined in "Getting Ready" in `./euro-calliope/README.md`.
## Run the analysis
snakemake --use-conda
This will run all analysis steps to reproduce results and eventually build the report.
You can also run certain parts only by using other `snakemake` rules; to get a list of all rules run `snakemake --list`.
To generate a PDF of the dependency graph of all steps, and if you have `dot` installed, run:
snakemake --rulegraph | dot -Tpdf > dag.pdf
## Run on Euler cluster
To run on Euler, use the following command:
snakemake --use-conda --profile config/euler [--config email=]
By providing an email address, you will be informed by mail when Snakemake finishes execution.
If you want to run on another cluster, read [snakemake's documentation on cluster execution](https://snakemake.readthedocs.io/en/stable/executable.html#cluster-execution) and take `config/euler` as a starting point.
## Run the tests
snakemake test --use-conda
## Units and scaling
The default units within the optimisation model are `MW`, `MWh`, `EUR`, `Mt`, and `km2`, but you can scale all of these using the configuration values in `config/default.yaml`. Apart from convenience, this may be important to handle numerical issues with your solver.
## Repo structure
* `report`: contains all files necessary to build the report; plots and result files are not in here but generated automatically
* `envs`: contains execution environments
* `src`: contains the Python source code
* `tests`: contains the test code
* `config`: configurations used in the study
* `data`: place for raw data
* `build`: will contain all results (does not exist initially)