HOWTO: Basic use of Calliope on the euler cluster


To install the latest version of Calliope, you need to run three commands in order:

module load python/3.7.1
export PATH=~/.local/bin:$PATH
pip install --user --upgrade calliope

To install a specific version, for example 0.6.3, change calliope to calliope==0.6.3 in the third command above.

Afterwards, confirm that Calliope is installed and works by typing:

calliope --version

This should simply print the installed version, such as “Version 0.6.3”, and show no errors.

If the version shown does not match the version you installed, make sure that you ran all three of the commands above.

To automatically activate the correct Python version and make Calliope accessible each time you log in to the cluster, you should edit the file .bash_profile in your home directory.

An easy way to achieve that is with the nano editor by typing:

nano ~/.bash_profile

Add the following two lines to the very end of the file:

module load python/3.7.1
export PATH=~/.local/bin:$PATH

To solve models, you should use the Gurobi solver, which requires loading it:

module load new gurobi/8.1.1

It is easiest to add this line to ~/.bash_profile as well to ensure it is always loaded on login.


At its most basic, a Calliope model can be submitted like this:

bsub -W 06:00 -n 1 -R "rusage[mem=10G]" -o calliope.log calliope run model.yaml

This assumes the command is run from an environment where calliope is available, and from a path that contains the model model.yaml. It requests a run time of 6 hours, a single CPU, and 10 GB of RAM. -o calliope.log means that all output (standard out and standard error) is logged into calliope.log (appending if the file exists).

Calliope also comes with a tool to automate the generation and submission of many models at once, which is described in the documentation.