Skip to content

Repository files navigation

Zulip chat Main branch build status Documentation build status Test coverage PyPI version Anaconda.org/conda-forge version JOSS DOI


A multi-scale energy systems modelling framework | www.callio.pe


Contents


About

Calliope is a framework to develop energy system models, with a focus on flexibility, high spatial and temporal resolution, the ability to execute many runs based on the same base model, and a clear separation of framework (code) and model (data). Its primary focus is on planning energy systems at scales ranging from urban districts to entire continents. In an optional operational mode it can also test a pre-defined system under different operational conditions.

A Calliope model consists of a collection of text files (in YAML and CSV formats) that fully define a model, with details on technologies, locations, resource potentials, etc. Calliope takes these files, constructs an optimization problem, solves it, and reports back results. Results can be saved to CSV or NetCDF files for further processing, or analysed directly in Python through Python's extensive scientific data processing capabilities provided by libraries like Pandas and xarray.

Model results can be explored interactively with Calligraph, our companion visualisation tool. Having some knowledge of the Python programming language helps when running Calliope, but is not a prerequisite.

Quick start

Calliope can run on Windows, macOS and Linux. It can be installed using pixi (pixi add calliope), conda (conda install calliope), or uv (uv pip install calliope). For local development, use pixi as described in the documentation.

See the documentation for more information on installing.

Several easy to understand example models are included with Calliope and accessible through the calliope.examples submodule.

The tutorials in the documentation run through these examples. A good place to start is to look at these tutorials to get a feel for how Calliope works, and then to read the "Getting Started" pages in the online documentation.

More fully-featured examples that have been used in peer-reviewed scientific publications are available in our model gallery.

Documentation

Documentation is available on Read the Docs.

Contributing

See our documentation for more on how to contribute to Calliope.

What's new

See changes made in recent versions in the changelog.

Citing Calliope

If you use Calliope for academic work please cite:

Stefan Pfenninger and Bryn Pickering (2018). Calliope: a multi-scale energy systems modelling framework. Journal of Open Source Software, 3(29), 825. doi: 10.21105/joss.00825

License

Copyright since 2013 Calliope contributors listed in AUTHORS

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Stefan Pfenninger-Lee
Stefan Pfenninger-Lee

πŸ’» πŸ“– πŸ€” πŸ› πŸ” πŸ“† πŸ“£ 🚧 πŸ’¬
Bryn Pickering
Bryn Pickering

πŸ’» πŸ“– πŸ€” πŸ› πŸ” πŸ“† πŸ“£ 🚧 πŸ’¬
Ivan Ruiz Manuel
Ivan Ruiz Manuel

πŸ’» πŸ“– πŸ€” πŸ› πŸ“£ 🚧 πŸ’¬
Tim TrΓΆndle
Tim TrΓΆndle

πŸ’» πŸ“– πŸ€” πŸ› πŸ“£
Francesco Lombardi
Francesco Lombardi

πŸ’» πŸ“– πŸ€” πŸ› πŸ“£
Jann Launer
Jann Launer

πŸ’» πŸ“– πŸ€” πŸ›
Adriaan Hilbers
Adriaan Hilbers

πŸ’» πŸ€” πŸ›
Tom Harris
Tom Harris

πŸ€” πŸ› πŸ“£
Francesco Sanvito
Francesco Sanvito

πŸ’» πŸ› πŸ“£
Stefan StrΓΆmer
Stefan StrΓΆmer

πŸ’» πŸ€” πŸ›
arnaud-leroy
arnaud-leroy

πŸ€” πŸ›
Graeme Hawker
Graeme Hawker

πŸ’» πŸ›
Martial Garchery
Martial Garchery

πŸ’» πŸ›
smorgenthaler
smorgenthaler

πŸ’» πŸ›
Mohammad Amin Tahavori
Mohammad Amin Tahavori

πŸ€” πŸ›
Dodo
Dodo

πŸ€” πŸ›
lblabr
lblabr

πŸ€” πŸ›
James Fallon
James Fallon

πŸ› πŸ’¬
Rodrigo Amaro e Silva
Rodrigo Amaro e Silva

πŸ€” πŸ›
James Morris
James Morris

πŸ€” πŸ›
fvandebeek
fvandebeek

πŸ€” πŸ›
Yiqiao Wang
Yiqiao Wang

πŸ€” πŸ›
hiddegrootes
hiddegrootes

πŸ€” πŸ›
mchen6
mchen6

πŸ€” πŸ›
cpalazzi
cpalazzi

πŸ€” πŸ›
thormeyc
thormeyc

πŸ›
Vijay C S
Vijay C S

πŸ›
mkoehme
mkoehme

πŸ›
Jonas HΓΆrsch
Jonas HΓΆrsch

πŸ›
louischaman
louischaman

πŸ›
miraStud
miraStud

πŸ›
Andrea B.
Andrea B.

πŸ›
Katrin Leinweber
Katrin Leinweber

πŸ“–
Mat Doucet
Mat Doucet

πŸ›
AlexandreLab
AlexandreLab

πŸ›
Jed Brown
Jed Brown

πŸ€”
Giorgio Balestrieri
Giorgio Balestrieri

πŸ€”
alex
alex

πŸ›
b-jesse
b-jesse

πŸ€”
Darlain Edeme
Darlain Edeme

πŸ€”
Ewan Frost-Pennington
Ewan Frost-Pennington

πŸ’¬
brmanuel
brmanuel

πŸ’»
Suvayu Ali
Suvayu Ali

πŸ’»
GlennCeusters
GlennCeusters

πŸ›
Febin Kachirayil
Febin Kachirayil

πŸ›
alicestamp
alicestamp

πŸ€”
leonardgoeke
leonardgoeke

πŸ›
bbrannon4
bbrannon4

πŸ›
yannick van til
yannick van til

πŸ›
namosata
namosata

πŸ›
Lingkang Jin
Lingkang Jin

πŸ›
ZoltÑn Marić
ZoltÑn Marić

πŸ›
Saim Islam
Saim Islam

πŸ›
cristinaantonini
cristinaantonini

πŸ›
Adrien Mellot
Adrien Mellot

πŸ›
ollie-bell
ollie-bell

πŸ›
SisiLimperatrice
SisiLimperatrice

πŸ›
Sander van Rijn
Sander van Rijn

πŸ›
Florian Maurer
Florian Maurer

πŸ›
jsejdija
jsejdija

πŸ›
Ni Wang
Ni Wang

πŸ›
jgu2@nlr
jgu2@nlr

πŸ€”
eeroinkeri
eeroinkeri

πŸ›
Longquan-Li
Longquan-Li

πŸ›
jeisenman23
jeisenman23

πŸ›
ddahawkins-TUDelft
ddahawkins-TUDelft

πŸ›
antoniodepadova
antoniodepadova

πŸ›
omahs
omahs

πŸ’»
jaakkohypi
jaakkohypi

πŸ›
Regan Scott
Regan Scott

πŸ€”
Alexander de TomΓ‘s Pascual
Alexander de TomΓ‘s Pascual

πŸ›
Niklas Denter
Niklas Denter

πŸ€”
TimothydW
TimothydW

πŸ›
joeseakinsarup
joeseakinsarup

πŸ€”
mkarmellos
mkarmellos

πŸ€”
Alex Nedelcu
Alex Nedelcu

πŸ›
Sergio FernΓ‘ndez
Sergio FernΓ‘ndez

πŸ“£
Kevin Moy
Kevin Moy

πŸ›
Marija Cveevska
Marija Cveevska

πŸ“–
Sai Asish Y
Sai Asish Y

πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A multi-scale energy systems modelling framework

Topics

Resources

Code of conduct

Contributing

Stars

370 stars

Watchers

17 watching

Forks

Releases

Packages

Used by

Contributors

Languages