Calliope: a multi-scale energy systems modelling framework¶
v0.6.8 (Release history)
This is the documentation for version 0.6.8. See the main project website for contact details and other useful information.
Calliope focuses 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. Calliope’s built-in tools allow interactive exploration of results:
A model based on Calliope consists of a collection of text files (in YAML and CSV formats) that define the technologies, locations and resource potentials. Calliope takes these files, constructs an optimisation problem, solves it, and reports results in the form of xarray Datasets which in turn can easily be converted into Pandas data structures, for easy analysis with Calliope’s built-in tools or the standard Python data analysis stack.
Calliope is developed in the open on GitHub and contributions are very welcome (see the Development guide).
Key features of Calliope include:
Model specification in an easy-to-read and machine-processable YAML format
Generic technology definition allows modelling any mix of production, storage and consumption
Resolved in space: define locations with individual resource potentials
Resolved in time: read time series with arbitrary resolution
Able to run on high-performance computing (HPC) clusters
Uses a state-of-the-art Python toolchain based on Pyomo, xarray, and Pandas
Freely available under the Apache 2.0 license
User guide¶
- Introduction
- Download and installation
- Building a model
- Running a model
- Analysing a model
- Tutorials
- Advanced constraints
- Advanced features
- Time resolution adjustment
- Setting a random seed
- Using
tech_groups
to group configuration - Removing techs, locations and links
- Operational mode
- SPORES mode
- Generating scripts to run a model many times
- Importing other YAML files in overrides
- Interfacing with the solver backend
- Specifying custom solver options
- Configuration and defaults
- Troubleshooting
- More info (reference)
- Development guide
API documentation¶
Documents functions, classes and methods:
Release history¶
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
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.
Next: Introduction