Energy system models, from urban districts to entire continents

Calliope has been under continuous development since its creation in 2013. It is a free and open-source (Apache 2.0 licensed) framework for building energy system models. You define a model in plain text. Calliope turns it into an optimisation problem you can solve, explore and share.

Why Calliope?

One framework for every scale

A Calliope model can cover a single urban district or an entire continent. A model is defined by its data, and the code and math are shared across scales. See what people have built.
The same European system modelled at continental and at regional resolution, with the cost and infrastructure each implies

Models are human-readable text files

YAML and CSV, and nothing else. That makes a model readable, diffable and reviewable, and lets a whole one live in a repository. See the example models and tutorials.
Example definition of a combined cycle gas turbine
techs:
  ccgt:
    name: Combined cycle gas turbine
    base_tech: supply
    carrier_out: electricity
    flow_cap_max: 40000  # kW
    flow_out_eff: 0.5
    flow_ramping: 0.8
    lifetime: 25

The math is text too, including everything built-in

Every constraint Calliope contains is written in YAML, and you can add your own in the same syntax or override what is built-in. What you see here is Calliope's own energy balance. Our docs give you a range of examples to build on, from monthly peak charges to piecewise costs. Write your own math.
Definition of the built-in energy balance constraint
system_balance:
  foreach: [nodes, carriers, timesteps]
  equations:
    - expression: >-
        sum(flow_out, over=techs) -
        sum(flow_in, over=techs) -
        sum(flow_export, over=techs) +
        (unmet_demand + unused_supply) == 0

Results you can explore, without writing plotting code

Calligraph, a companion tool, opens a solved model in your browser to click through. See the Calligraph documentation.

There is more behind these: modelling to generate alternatives with SPORES mode, scenarios and run scripts for batches of runs, tabular data from CSV, time resampling and clustering, MILP and piecewise linear constraints, shadow prices, and a solver-agnostic backend with a direct Gurobi interface.

Showcase

These selected examples showcase the wide range of applications that Calliope can be used for.

For a more complete listing of the hundreds of academic studies building on Calliope, the Google Scholar listing of citations to the Calliope paper is a useful starting point.

  • ResearchBrazil Renewables at scale while protecting conservation areas and promoting reforestationITA · TU Delft Keeping large-scale wind and solar out of priority conservation areas raises total system cost by only up to 4%. It also allows re-foresting degraded lands, sequestering up to an additional 770 Mt of CO₂ a year.TU Delft and Instituto Tecnológico de AeronáuticaPaula Conde Santos Borba, Wilson Cabral de Sousa and Stefan Pfenninger (2025). Land conservation and large-scale renewable energy systems are simultaneously possible in Brazil. One Earth. doi: 10.1016/j.oneear.2025.101520 OA
  • PracticeAustralia Australia's first national hydrogen infrastructure assessmentArup · Frontier Economics · DCCEEW Where hydrogen infrastructure investment would do most good, across three demand scenarios and eight sectors, taking in electricity, gas and water networks, refuelling, ports and rail.Arup with Frontier Economics, for the Department of Climate Change, Energy, the Environment and WaterFinal report · Arup on the project
  • ResearchEurope How many different ways can Europe reach carbon neutrality?ETH Zürich · TU Delft Rather than one cost-optimal answer, this study mapped the space of very different system designs that all eliminate fossil fuels across power, heat, transport and industry. The results show how much design freedom is left.ETH Zürich and TU DelftBryn Pickering, Francesco Lombardi and Stefan Pfenninger (2022). Diversity of options to eliminate fossil fuels and reach carbon neutrality across the entire European energy system. Joule. doi: 10.1016/j.joule.2022.05.009 OA
  • TeachingDelft Which heat transition for a Delft neighbourhood?Leiden University · TU Delft District heating, full electrification or a hybrid, sized for four Delft neighbourhoods across cold, normal and warm years. The model returns a bill of materials for the network, which a life-cycle assessment then turns into the environmental cost of actually building each option.Leiden University and TU Delft — Alex Nedelcu, Elvire Landais, Daan van Amelsfort and Zhi-Chin JuCode · Report (PDF
  • PracticeHawai‘i Hawai‘i decarbonisation pathways for the state legislatureHawai‘i State Energy Office · NREL Four scenarios to 2045 spanning transport, buildings, waste, refrigerants and land use, built in Engage — the web-based planning tool that NREL designed on top of Calliope.Hawai‘i State Energy Office with the National Renewable Energy LaboratoryAssumptions and methods · Engage
  • ResearchAfrica What storage and transmission would Africa need?Politecnico di Milano A continent-wide model of the role storage and transmission play in integrating renewables across Africa, at a resolution that lets the two be traded off against each other.Politecnico di MilanoNicolò Stevanato, Valeria Baiocco and Emanuela Colombo (2025). Calliope Africa: Modeling the role of storage and transmission for renewable energy integration. Energy for Sustainable Development. doi: 10.1016/j.esd.2025.101760 OA
  • PracticeWales Local area energy plans across WalesArup · Welsh Government Hourly optimisation of local energy systems, often down to the electricity substation, to work out which technologies and infrastructure each area needs. Adopted by councils including Cardiff, Gwynedd, Flintshire and Monmouthshire.Arup, with the Welsh Government and local authoritiesArup on the programme · Gwynedd technical report
  • ResearchBangalore Do district energy designs survive the conditions they were not designed for?University of Cambridge An urban district in Bangalore, tested against demand and grid-availability scenarios it had not been optimised against. This is a way of checking whether a least-cost design is merely least-cost on paper and fails in reality.University of CambridgeBryn Pickering and Ruchi Choudhary (2021). Quantifying resilience in energy systems with out-of-sample testing. Applied Energy. doi: 10.1016/j.apenergy.2021.116465 OA
  • PracticeKosovo Kosovo's national climate commitmentBerlin Economics · Government of Kosovo A sector-coupled model of electricity and district heating, including cross-border exchange, built to underpin the emissions target Kosovo submitted as its Nationally Determined Contribution.Berlin Economics, for the Government of Kosovo with UNDP supportGovernment decision and NDC
  • ResearchEurope What are smart charging and vehicle-to-grid actually worth?TU Delft Charging infrastructure and its costs added into a European energy system model, with uncontrolled charging, V1G and V2G left to compete. Smart charging (V1G only) saves the most, at €19–42 billion a year, while V2G saves far less but has the potential to earn around €6.4 billion a year in balancing markets. Uniform EU charging targets overstate what some countries need, and hold back the benefits in others.TU DelftFrancesco Sanvito, Francesco Lombardi and Stefan Pfenninger-Lee (2026). Coordinated planning of European charging infrastructure and energy system for optimal V1G and V2G deployment. Nature Energy. doi: 10.1038/s41560-026-02107-5
  • PracticeUkraine A solar plan for UkraineBerlin Economics · Greenpeace Capacity expansion and dispatch for solar, storage and balancing through 2030, in a power system system under continuous attack.Berlin Economics, for Greenpeace GermanyReport

Community

Calliope is built by many people and credits are tracked with all-contributors in the Calliope repository. Calliope’s maintainers (marked as maintainer in the contributor list) can be reached at maintainers@callio.pe.

Join the community

Calliope is built entirely in the open, and every kind of contribution counts.