Welcome

TulipaEnergyModel.jl is an optimization model for the electricity market that can be coupled with other energy sectors (e.g., hydrogen, heat, natural gas, etc.). The optimization model determines the optimal investment and operation decisions for different types of assets (e.g., producers, consumers, conversion, storage, and transport). TulipaEnergyModel.jl is developed in Julia and depends on the JuMP.jl package.

Tulipa in a Nutshell

Example Questions

Tulipa can answer questions such as:

  • How much flexible energy supply and demand is available? How much is needed in the future?
  • How will different investment decisions impact the balance and generation mix of the energy system?
  • Where will there be grid congestion in the future? How would placing [technology] at [location] impact congestion?
  • How will [national/international] policy targets influence investment and dispatch?
  • How will a future energy system handle different weather patterns and extreme events (such as dunkelflaute)?

Not sure if Tulipa is right for your research? Feel free to ask in our Discussions!

Scope & Features

For modellers, here is a brief summary of Tulipa's scope and features. More details can be found in the Concepts or Formulation.

  • Optimisation Objective: Minimize total system cost for investment & dispatch
  • Geographic scope: Flexible/Anywhere - Region/Country/Continent
  • Energy carriers: Any/All - electricity, gas, H2, heat, etc
  • Timespan: Any - Usually Yearly or Multi-year
  • Time resolution: Fully-flexible - even mixing different resolutions (1-hr, 2-hr, 3-hr, etc) within a scenario
  • Temporal aggregation: Time series aggregation using blended representative periods
  • Storage representation: Short- and Long-term storage constraints, even while using representative periods
  • Solutions: Optimal & Near-optimal alternatives, using modelling to generate alternatives (MGA)

Getting Started

To start using TulipaEnergyModel for your research, check out our How to Use section and Tutorials.

For a more technical explanation, check out the Concepts section, or dive into the Mathematical Formulation.

Bug reports and discussions

If you think you have found a bug, feel free to open an Issue. If you have a general question or idea, start a Discussion.

Contributing

If you want to contribute (awesome!), please read our Contributing Guidelines and follow the setup in our Developer Documentation.

License

This content is released under the Apache License 2.0 License.

Contributors

Abel Soares Siqueira
Abel Soares Siqueira

💻 👀
Diego Alejandro Tejada Arango
Diego Alejandro Tejada Arango

💻 👀 🤔 🔬
Germán Morales
Germán Morales

🔬 🤔 🔍 📆
Greg Neustroev
Greg Neustroev

🤔 🔬 💻
Juha Kiviluoma
Juha Kiviluoma

🤔 🔬
Lauren Clisby
Lauren Clisby

💻 👀 🤔 📆
Laurent Soucasse
Laurent Soucasse

🤔
Mathijs de Weerdt
Mathijs de Weerdt

🔍 📆
Ni Wang
Ni Wang

💻 👀 🤔 🔬
Sander van Rijn
Sander van Rijn

🤔
Suvayu Ali
Suvayu Ali

💻 👀 🤔
Zhi
Zhi

🤔 🔬
maaikeelgersma
maaikeelgersma

🤔 🔬