MESSAGEix
A versatile, dynamic systems-optimization modeling framework developed by the IIASA Energy, Climate, and Environment (ECE) Program since the 1980s.
https://github.com/iiasa/message_ix
Category: Climate Change
Sub Category: Integrated Assessment and Climate Policy
Keywords
energy-system gams integrated-assessment integrated-assessment-model open-source strategic-planning
Keywords from Contributors
data-warehouse modeling-tool energy-systems iamc-format integrated-assessment-scenarios macro-energy scenario-data timeseries-format archiving measur
Last synced: about 17 hours ago
JSON representation
Repository metadata
The integrated assessment and energy systems model MESSAGEix
- Host: GitHub
- URL: https://github.com/iiasa/message_ix
- Owner: iiasa
- License: apache-2.0
- Created: 2017-12-04T08:29:06.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-04-17T13:43:42.000Z (10 days ago)
- Last Synced: 2025-04-18T21:34:07.000Z (8 days ago)
- Topics: energy-system, gams, integrated-assessment, integrated-assessment-model, open-source, strategic-planning
- Language: Jupyter Notebook
- Homepage: https://docs.messageix.org
- Size: 12.1 MB
- Stars: 130
- Watchers: 15
- Forks: 162
- Open Issues: 136
- Releases: 17
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Security: .github/SECURITY.md
- Support: SUPPORT.md
- Governance: GOVERNANCE.md
- Authors: AUTHORS.md
README.md
The MESSAGEix framework
MESSAGEix is a versatile, dynamic, model framework for energy-engineering-economy-environment (E4) systems research.
MESSAGE (without “…ix”) is a specific formulation of a generic linear programming (LP) optimization model for strategic energy planning and integrated assessment of E4 systems, developed by the IIASA Energy, Climate, and Environment (ECE) Program since the 1980s.
To incorporate feedback between prices and demand levels for energy and commodities, the LP model can optionally be linked to the economic general equilibrium (GE) MACRO model.
The message_ix
Python package—also fully usable from R—includes:
- Implementations of MESSAGE, MACRO, and their linkage, in GAMS,
- Application programming interfaces (APIs) and tools for model building and scientific programming,
- Extensive documentation and a complete test suite.
The framework is built on IIASA's ix modeling platform (ixmp
), which provides data warehouse features for numerical scenario analysis.
Documentation
Complete documentation of the framework is available at https://docs.messageix.org.
This includes:
- Installation and recommended pre-requisite learning.
See ‘Getting started’, or the fileINSTALL.rst
. - Tutorials that introduce and demonstrate core features of the model framework using simple, single-country models, for both independent and classroom learning.
See ‘Tutorials’ or the filetutorial/README.rst
. - The Python and R APIs.
- The complete mathematical formulation of MESSAGE and MACRO, created automatically from inline comments in the GAMS source code.
- How to cite MESSAGEix when using it in published scientific work.
See ‘User guidelines and notice’ or the fileNOTICE.rst
.
Other forms of documentation:
- The online documentation is built automatically from the contents of the
message_ix
GitHub repository. - Documentation for the ‘latest’ or ‘stable’ release is shown by default.
- Use the chooser to access the ‘latest’ version, corresponding to the
main
branch and including the latest development code; or to access docs for a specific release, e.g.v3.2.0
. - For offline use, the documentation can be built from the source code.
See the filedoc/README.rst
Commitment to our Community
- We aim to create a community that is welcoming to everyone.
Please respect our Code of Conduct at all times when interacting withmessage_ix
and the community. - We warmly welcome all contributions to our community. Please take a look at our guidelines for contributing to development.
- If you are looking to understand how the
message_ix
team operates and how we decide what to do with your contributions, please read our governance guidelines. - We highly value code security.
To learn more about our security practice and advice, please visit our security policy. - We strive to entertain a welcoming and inclusive community.
If you struggle to usemessage_ix
, please check our guidelines for getting support. - We also:
- Host an annual MESSAGEix Community Meeting.
- Publish, at least once per year, a community newsletter.
You are cordially invited to subscribe by filling this form and ticking the box for “MESSAGEix Community”.
License
Copyright © 2018–2025 IIASA Energy, Climate, and Environment (ECE) Program
The MESSAGEix framework is licensed under the Apache License, Version 2.0 (the "License"); you may not use the files in this repository except in compliance with the License. You may obtain a copy of the License in LICENSE
or at http://www.apache.org/licenses/LICENSE-2.0.
In addition and per good scientific practice, you must cite the appropriate publications when you use MESSAGEix in scientific work.
Again, see ‘User guidelines and notice’ or the file NOTICE.rst
.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit. # Visit https://bit.ly/cffinit to generate yours today! cff-version: 1.2.0 title: MESSAGEix message: >- Thank you for using the MESSAGEix framework! Please cite the GitHub repository and the MESSAGEix framework manuscript (https://doi.org/10.1016/j.envsoft.2018.11.012). type: software version: 3.10.0 # Format: "yyyy-mm-dd" date-released: "2025-02-19" authors: - given-names: Paul Natsuo family-names: Kishimoto affiliation: IIASA orcid: "https://orcid.org/0000-0002-8578-753X" - given-names: Fridolin family-names: Glatter affiliation: IIASA orcid: "https://orcid.org/0009-0007-9452-2473" - given-names: Maik family-names: Budzinski affiliation: Aalborg University orcid: "https://orcid.org/0000-0003-2879-1193" - given-names: Miguel Poblete family-names: Cazenave affiliation: IIASA orcid: "https://orcid.org/0000-0001-8280-910X" - given-names: Oliver family-names: Fricko affiliation: IIASA orcid: "https://orcid.org/0000-0002-6835-9883" - given-names: Matthew J. family-names: Gidden orcid: "https://orcid.org/0000-0003-0687-414X" - given-names: Daniel family-names: Huppmann affiliation: IIASA orcid: "https://orcid.org/0000-0002-7729-7389" - given-names: Jarmo S. family-names: Kikstra affiliation: IIASA orcid: "https://orcid.org/0000-0001-9405-1228" - given-names: Peter family-names: Kolp orcid: "https://orcid.org/0000-0003-0122-2839" - given-names: Diamantis family-names: Koutsandreas orcid: "https://orcid.org/0000-0003-4683-090X" - given-names: Volker family-names: Krey affiliation: IIASA orcid: "https://orcid.org/0000-0003-0307-3515" - given-names: Nikolay family-names: Kushin - given-names: Francesco family-names: Lovat orcid: "https://orcid.org/0000-0002-4331-980X" - given-names: Marek family-names: Makowski affiliation: IIASA orcid: "https://orcid.org/0000-0002-6107-0972" - given-names: Alessio family-names: Mastrucci affiliation: IIASA orcid: "https://orcid.org/0000-0002-5611-7780" - given-names: Measrainsey family-names: Meng orcid: "https://orcid.org/0000-0003-2783-2029" - given-names: Jihoon family-names: Min affiliation: IIASA orcid: "https://orcid.org/0000-0002-0020-1174" - given-names: Clara family-names: Orthofer orcid: "https://orcid.org/0000-0002-7049-7791" - given-names: Michael family-names: Pimmer - given-names: Jan family-names: Steinhauser affiliation: IIASA orcid: "https://orcid.org/0000-0002-5989-6855" - given-names: Gamze family-names: Ünlü affiliation: IIASA orcid: "https://orcid.org/0000-0003-0080-7122" - given-names: Adriano family-names: Vinca affiliation: IIASA orcid: "https://orcid.org/0000-0002-3051-178X" - given-names: Laura family-names: Wienpahl orcid: "https://orcid.org/0000-0003-2049-8531" - given-names: Behnam family-names: Zakeri affiliation: IIASA orcid: "https://orcid.org/0000-0001-9647-2878" - given-names: Thomas family-names: Zipperle orcid: "https://orcid.org/0000-0003-2512-9508" identifiers: - type: url value: "https://github.com/iiasa/message_ix" description: "Main repository of the MESSAGEix framework on Github" - type: doi value: 10.5281/zenodo.4005684 description: "Zenodo entry" repository-code: "https://github.com/iiasa/message_ix" url: "https://docs.messageix.org/en/stable/index.html" abstract: >- MESSAGEix is a versatile, dynamic, model framework for energy-engineering-economy-environment (E4) systems research. MESSAGE (without “…ix”) is a specific formulation of a generic linear programming (LP) optimization model for strategic energy planning and integrated assessment of E4 systems, developed by the IIASA Energy, Climate, and Environment (ECE) Program since the 1980s. To incorporate feedback between prices and demand levels for energy and commodities, the LP model can optionally be linked to the economic general equilibrium (GE) MACRO model. The message_ix Python package—also fully usable from R—includes: Implementations of MESSAGE, MACRO, and their linkage, in GAMS, Application programming interfaces (APIs) and tools for model building and scientific programming, Extensive documentation and a complete test suite. The framework is built on IIASA's ix modeling platform (ixmp), which provides data warehouse features for high-powered numerical scenario analysis. keywords: - "integrated assessment" - "energy systems" - "macro-energy" - modelling - "scenario analysis" - "data visualisation" - "Python package" license: Apache-2.0 doi: 10.5281/zenodo.4005684 references: - title: "The MESSAGEix Integrated Assessment Model and the ix modeling platform (ixmp): An open framework for integrated and cross-cutting analysis of energy, climate, the environment, and sustainable development" journal: "Environmental Modelling & Software" year: 2019 authors: - given-names: Daniel family-names: Huppmann affiliation: IIASA orcid: "https://orcid.org/0000-0002-7729-7389" - given-names: Matthew J. family-names: Gidden affiliation: IIASA orcid: "https://orcid.org/0000-0003-0687-414X" - given-names: Oliver family-names: Fricko affiliation: IIASA orcid: "https://orcid.org/0000-0002-6835-9883" - given-names: Peter family-names: Kolp orcid: "https://orcid.org/0000-0003-0122-2839" - given-names: Clara family-names: Orthofer orcid: "https://orcid.org/0000-0002-7049-7791" - given-names: Michael family-names: Pimmer - given-names: Nikolay family-names: Kushin - given-names: Adriano family-names: Vinca affiliation: IIASA orcid: "https://orcid.org/0000-0002-3051-178X" - given-names: Alessio family-names: Mastrucci affiliation: IIASA orcid: "https://orcid.org/0000-0002-5611-7780" - given-names: Keywan family-names: Riahi affiliation: IIASA orcid: "https://orcid.org/0000-0001-7193-3498" - given-names: Volker family-names: Krey affiliation: IIASA orcid: "https://orcid.org/0000-0003-0307-3515" doi: "10.1016/j.envsoft.2018.11.012" url: "pure.iiasa.ac.at/15157/" volume: 112 month: 2 start: 143 end: 156 type: article
Owner metadata
- Name: IIASA
- Login: iiasa
- Email: [email protected]
- Kind: organization
- Description: International Institute for Applied Systems Analysis
- Website: https://www.iiasa.ac.at
- Location: Laxenburg, Austria
- Twitter: IIASAVienna
- Company:
- Icon url: https://avatars.githubusercontent.com/u/15230149?v=4
- Repositories: 128
- Last ynced at: 2024-04-16T01:17:07.573Z
- Profile URL: https://github.com/iiasa
GitHub Events
Total
- Create event: 36
- Release event: 1
- Issues event: 25
- Watch event: 15
- Delete event: 26
- Issue comment event: 176
- Push event: 128
- Pull request review comment event: 19
- Pull request review event: 39
- Pull request event: 68
- Fork event: 11
Last Year
- Create event: 36
- Release event: 1
- Issues event: 25
- Watch event: 15
- Delete event: 26
- Issue comment event: 176
- Push event: 128
- Pull request review comment event: 19
- Pull request review event: 39
- Pull request event: 68
- Fork event: 11
Committers metadata
Last synced: 4 days ago
Total Commits: 1,619
Total Committers: 26
Avg Commits per committer: 62.269
Development Distribution Score (DDS): 0.492
Commits in past year: 170
Committers in past year: 7
Avg Commits per committer in past year: 24.286
Development Distribution Score (DDS) in past year: 0.535
Name | Commits | |
---|---|---|
Paul Natsuo Kishimoto | m****l@p****e | 822 |
Fridolin Glatter | g****r@i****t | 183 |
Laura Wienpahl | 5****n | 130 |
Ben | b****i@l****m | 121 |
Francesco Lovat | f****t@g****m | 102 |
FRICKO Oliver | f****o@i****t | 72 |
Matthew Gidden | m****n@g****m | 48 |
dependabot[bot] | 4****] | 29 |
Marek Makowski | m****k@i****t | 28 |
Daniel Huppmann | dh@d****t | 23 |
adrivinca | a****a@y****t | 12 |
volker-krey | k****y@i****t | 10 |
GamzeUnlu95 | g****6@g****m | 9 |
MiguelPobleteCazenave | p****e@i****t | 6 |
behnam2015 | 3****5 | 4 |
Jarmo Kikstra | 4****a | 4 |
Jihoon | g****s@g****m | 3 |
Measrainsey Meng | m****y@p****e | 3 |
Thomas Zipperle | t****e | 2 |
Clara | c****r@t****e | 2 |
Maik Budzinski | 5****z | 1 |
Nikolay Kushin | z****h@g****m | 1 |
Peter Kolp | p****p | 1 |
amastrucci | m****c@i****t | 1 |
fonfon | b****b@f****t | 1 |
lumbric | l****c@g****m | 1 |
Committer domains:
- iiasa.ac.at: 6
- fonfon.at: 1
- tum.de: 1
- pm.me: 1
- yahoo.it: 1
- dergelbesalon.at: 1
- paul.kishimoto.name: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 351
Total pull requests: 496
Average time to close issues: 8 months
Average time to close pull requests: about 1 month
Total issue authors: 60
Total pull request authors: 31
Average comments per issue: 2.57
Average comments per pull request: 3.27
Merged pull request: 362
Bot issues: 0
Bot pull requests: 29
Past year issues: 27
Past year pull requests: 62
Past year average time to close issues: 21 days
Past year average time to close pull requests: 8 days
Past year issue authors: 8
Past year pull request authors: 6
Past year average comments per issue: 1.44
Past year average comments per pull request: 2.76
Past year merged pull request: 52
Past year bot issues: 0
Past year bot pull requests: 15
Top Issue Authors
- khaeru (58)
- OFR-IIASA (47)
- LauWien (25)
- glatterf42 (25)
- gidden (23)
- behnam-zakeri (19)
- ClaraLuisa (13)
- volker-krey (12)
- danielhuppmann (12)
- meng25meng (8)
- PelinaP (8)
- zsalimian (8)
- Jihoon (7)
- DIUANA (7)
- aaronliuqy (6)
Top Pull Request Authors
- khaeru (126)
- gidden (71)
- glatterf42 (63)
- OFR-IIASA (44)
- LauWien (30)
- dependabot[bot] (29)
- behnam-zakeri (28)
- danielhuppmann (22)
- volker-krey (13)
- ClaraLuisa (12)
- francescolovat (11)
- ywpratama (6)
- GamzeUnlu95 (5)
- adrivinca (5)
- macflo8 (4)
Top Issue Labels
- docs (71)
- enh (67)
- bug (48)
- ci (30)
- help wanted (18)
- discuss (17)
- gams (16)
- macro (16)
- awaiting info (16)
- question (15)
- good first issue (14)
- timeslice (13)
- reporting (10)
- duplicate (5)
- invalid (4)
- R (2)
- tutorials (2)
- wontfix (1)
- dependencies (1)
Top Pull Request Labels
- docs (96)
- ci (88)
- enh (73)
- bug (39)
- dependencies (32)
- reporting (23)
- timeslice (11)
- macro (10)
- safe to test (8)
- python (7)
- gams (5)
- tutorials (4)
- discuss (2)
- awaiting info (1)
- R (1)
- p:Spigot (1)
Package metadata
- Total packages: 2
-
Total downloads:
- pypi: 1,410 last-month
- Total dependent packages: 1 (may contain duplicates)
- Total dependent repositories: 2 (may contain duplicates)
- Total versions: 28
- Total maintainers: 3
pypi.org: message-ix
The MESSAGEix integrated assessment model framework
- Homepage:
- Documentation: https://message-ix.readthedocs.io/
- Licenses: Apache Software License
- Latest release: 3.10.0 (published 2 months ago)
- Last Synced: 2025-04-25T13:06:18.581Z (1 day ago)
- Versions: 18
- Dependent Packages: 1
- Dependent Repositories: 1
- Downloads: 1,410 Last month
-
Rankings:
- Dependent packages count: 4.746%
- Average: 13.597%
- Downloads: 14.409%
- Dependent repos count: 21.634%
- Maintainers (3)
conda-forge.org: message-ix
- Homepage: https://github.com/iiasa/message_ix
- Licenses: Apache-2.0
- Latest release: 3.6.0 (published over 2 years ago)
- Last Synced: 2025-04-01T02:08:53.245Z (26 days ago)
- Versions: 10
- Dependent Packages: 0
- Dependent Repositories: 1
-
Rankings:
- Forks count: 15.623%
- Dependent repos count: 24.103%
- Average: 31.441%
- Stargazers count: 34.5%
- Dependent packages count: 51.54%
Dependencies
- ixmp main
- actions/cache v3 composite
- iiasa/actions/setup-conda main composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- iiasa/actions/setup-gams main composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- iiasa/actions/setup-gams main composite
- r-lib/actions/setup-r v2 composite
- styfle/cancel-workflow-action 0.11.0 composite
- ts-graphviz/setup-graphviz v1.2.0 composite
- ${base_image} latest build
- gitpython ==3.1.34
- numpydoc ==1.5.0
- sphinx ==6.2.1
- sphinx-rtd-theme ==1.2.2
- sphinxcontrib-bibtex ==2.5.0
- alabaster ==0.7.13
- babel ==2.12.1
- certifi ==2023.7.22
- charset-normalizer ==3.2.0
- docutils ==0.18.1
- gitdb ==4.0.10
- gitpython ==3.1.34
- idna ==3.4
- imagesize ==1.4.1
- jinja2 ==3.1.2
- latexcodec ==2.0.1
- markupsafe ==2.1.3
- numpydoc ==1.5.0
- packaging ==23.1
- pybtex ==0.24.0
- pybtex-docutils ==1.0.2
- pygments ==2.16.1
- pyyaml ==6.0.1
- requests ==2.31.0
- six ==1.16.0
- smmap ==5.0.0
- snowballstemmer ==2.2.0
- sphinx ==6.2.1
- sphinx-rtd-theme ==1.2.2
- sphinxcontrib-applehelp ==1.0.4
- sphinxcontrib-bibtex ==2.5.0
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.1
- sphinxcontrib-jquery ==4.1
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.5
- urllib3 ==2.0.4
- PyYAML *
- click *
- genno [pyam] >= 1.18.1
- ixmp >= 3.7.0
- numpy *
- pandas >= 1.2
- scipy *
Score: 16.097184121056845