The MESSAGEix framework
MESSAGEix is a versatile, dynamic systems-optimization modelling framework developed by the IIASA Energy, Climate, and Environment (ECE) Program  since the 1980s.
This is the documentation for
message_ix, a Python package that ties together all components of the framework.
ixmp are free and open source, licensed under the APACHE 2.0 open-source license.
For the scientific reference of the framework, see Huppmann et al. (2019) .
For an overview and recent publications related to the specific MESSAGEix-GLOBIOM global model instance used at the IIASA ECE Program, see the MESSAGEix-GLOBIOM documentation.
Modeling using MESSAGEix requires domain knowledge, understanding of certain research methods, and scientific computing skills.
Prerequisite knowledge & skills gives a list of these items for formal and self-guided learning.
Then, continue with the:
MESSAGEix model & framework detailed description and feature list.
Installation of the software and essential dependencies.
Tutorials for new users that demonstrate the basic features of the framework.
Usage of MESSAGEix in academic publications, research projects, and derived tools.
These pages provide comprehensive description of the variables and equations in the core MESSAGEix mathematical implementation.
Developing MESSAGEix models
Developing a valid, scientific MESSAGEix model requires careful use of the framework features. This section provides guidelines for how to make some common model design choices.
Using, getting help, and contributing
Everyone is encouraged to use the framework to develop energy system and integrated assessment models!
What’s New —release history and migration/upgrade notes.
User guidelines and notice —including how to properly cite the framework and software in scientific research.
Contributing to development —we welcome enhancements to the framework itself that enable new features across all models.
Sharing publications, projects, and tools—we invite the sharing of the usage of the MESSAGEix framework.
Have a question? Check…