Giter VIP home page Giter VIP logo

calliope-in-ose-model-comparison's Introduction

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 <link-to-this-repo>.

  2. Create an environment to run the analysis. You need conda 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=<[email protected]>]

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 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)

calliope-in-ose-model-comparison's People

Contributors

timtroendle avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.