GEMS is a graph-based algebraic modelling language for building, managing, and solving optimization problems that describe energy systems.
This language differs from traditional optimization languages in several ways by natively accounting for the specific needs of energy system modelling. Its underlying motivation is to provide essential features for advanced energy modelling: a readable and user-friendly syntax, strong flexibility, and a tool-agnostic design.
The ambition behind the GEMS language is to build and support a community of energy modellers and energy foresight practitioners who can easily share models, assumptions, and studies. This approach is particularly important as future energy systems are increasingly conceived in a multi-energy, multi-sector landscape, characterised by rising complexity and tightly coupled interactions between energy carriers and sectors.

GEMS has the key attributes required to support and sustain such a community.
Versatility: GEMS is a generic optimization language capable of representing a wide range of energy systems and use cases, from operational studies to long-term planning, across multiple energy carriers and scales.
Code Stability and Maintainability: By clearly separating model definition from problem resolution, GEMS promotes robust, modular, and maintainable code that can evolve over time without breaking existing models.
Interoperability / Interpretability: GEMS relies on a self-contained and exhaustive mathematical formulation, ensuring that all modelling assumptions, variables, and constraints are explicitly defined. This guarantees unambiguous interpretability of models, which is a key enabler for true interoperability between tools, solvers, and modelling frameworks.
Let’s join the community!