message-ix

The integrated assessment and energy systems model MESSAGEix

https://github.com/iiasa/message_ix

Science Score: 85.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    7 of 27 committers (25.9%) from academic institutions
  • Institutional organization owner
    Organization iiasa has institutional domain (www.iiasa.ac.at)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary

Keywords

energy-system gams integrated-assessment integrated-assessment-model open-source strategic-planning

Keywords from Contributors

energy-systems iamc-format integrated-assessment-scenarios timeseries-format scenario-data macro-energy energy-system-model interactive mesh standardization
Last synced: 6 months ago · JSON representation ·

Repository

The integrated assessment and energy systems model MESSAGEix

Basic Info
  • Host: GitHub
  • Owner: iiasa
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://docs.messageix.org
  • Size: 14 MB
Statistics
  • Stars: 138
  • Watchers: 15
  • Forks: 166
  • Open Issues: 132
  • Releases: 19
Topics
energy-system gams integrated-assessment integrated-assessment-model open-source strategic-planning
Created about 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security Support Governance Authors

README.md

The MESSAGEix framework

DOI PyPI version Anaconda version Documentation build Build status Test coverage Contributor Covenant

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:

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 file doc/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 with message_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 use message_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.

Owner

  • Name: IIASA
  • Login: iiasa
  • Kind: organization
  • Email: github-owners@iiasa.ac.at
  • Location: Laxenburg, Austria

International Institute for Applied Systems Analysis

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.11.1
date-released: "2025-06-03"  # Format: "yyyy-mm-dd"
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

GitHub Events

Total
  • Create event: 54
  • Release event: 2
  • Issues event: 37
  • Watch event: 19
  • Delete event: 39
  • Issue comment event: 224
  • Push event: 211
  • Pull request review comment event: 28
  • Pull request review event: 54
  • Pull request event: 97
  • Fork event: 15
Last Year
  • Create event: 54
  • Release event: 2
  • Issues event: 37
  • Watch event: 19
  • Delete event: 39
  • Issue comment event: 224
  • Push event: 211
  • Pull request review comment event: 28
  • Pull request review event: 54
  • Pull request event: 97
  • Fork event: 15

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,725
  • Total Committers: 27
  • Avg Commits per committer: 63.889
  • Development Distribution Score (DDS): 0.485
Past Year
  • Commits: 221
  • Committers: 7
  • Avg Commits per committer: 31.571
  • Development Distribution Score (DDS): 0.448
Top Committers
Name Email Commits
Paul Natsuo Kishimoto m****l@p****e 889
Fridolin Glatter g****r@i****t 219
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****] 31
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
daymontas1 5****1 1
fonfon b****b@f****t 1
lumbric l****c@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 352
  • Total pull requests: 596
  • Average time to close issues: 9 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 61
  • Total pull request authors: 32
  • Average comments per issue: 2.39
  • Average comments per pull request: 3.09
  • Merged pull requests: 423
  • Bot issues: 0
  • Bot pull requests: 52
Past Year
  • Issues: 23
  • Pull requests: 108
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 11 days
  • Issue authors: 7
  • Pull request authors: 7
  • Average comments per issue: 1.09
  • Average comments per pull request: 2.53
  • Merged pull requests: 76
  • Bot issues: 0
  • Bot pull requests: 22
Top Authors
Issue Authors
  • khaeru (59)
  • OFR-IIASA (47)
  • LauWien (25)
  • gidden (23)
  • glatterf42 (21)
  • behnam-zakeri (19)
  • ClaraLuisa (13)
  • danielhuppmann (12)
  • volker-krey (12)
  • PelinaP (8)
  • zsalimian (8)
  • meng25meng (8)
  • Jihoon (7)
  • DIUANA (7)
  • francescolovat (6)
Pull Request Authors
  • khaeru (155)
  • glatterf42 (94)
  • gidden (75)
  • dependabot[bot] (55)
  • OFR-IIASA (47)
  • behnam-zakeri (30)
  • LauWien (30)
  • danielhuppmann (22)
  • ywpratama (15)
  • volker-krey (13)
  • ClaraLuisa (12)
  • francescolovat (11)
  • macflo8 (7)
  • adrivinca (5)
  • GamzeUnlu95 (5)
Top Labels
Issue Labels
docs (66) enh (62) bug (46) ci (31) macro (16) gams (15) discuss (15) question (15) good first issue (14) help wanted (14) awaiting info (13) timeslice (13) reporting (9) duplicate (5) invalid (3) R (2) dependencies (2) tutorials (2)
Pull Request Labels
ci (120) docs (108) enh (91) dependencies (60) bug (47) reporting (24) python (19) timeslice (11) macro (11) safe to test (10) gams (8) tutorials (6) IXMP4Backend (5) discuss (3) p:Spigot (2) R (1) awaiting info (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 772 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 51
  • Total maintainers: 3
proxy.golang.org: github.com/iiasa/message_ix
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: message-ix

The MESSAGEix integrated assessment model framework

  • Versions: 22
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 772 Last month
Rankings
Dependent packages count: 4.7%
Average: 13.6%
Downloads: 14.4%
Dependent repos count: 21.6%
Maintainers (3)
Last synced: 6 months ago
conda-forge.org: message-ix
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Forks count: 15.6%
Dependent repos count: 24.1%
Average: 31.4%
Stargazers count: 34.5%
Dependent packages count: 51.5%
Last synced: 6 months ago

Dependencies

ci/rtd-requirements.txt pypi
  • ixmp main
.github/workflows/conda.yaml actions
  • actions/cache v3 composite
  • iiasa/actions/setup-conda main composite
.github/workflows/nightly.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • iiasa/actions/setup-gams main composite
.github/workflows/pytest.yaml actions
  • 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
Dockerfile docker
  • ${base_image} latest build
.github/workflows/lint.yaml actions
.github/workflows/publish.yaml actions
doc/requirements.in pypi
  • gitpython ==3.1.34
  • numpydoc ==1.5.0
  • sphinx ==6.2.1
  • sphinx-rtd-theme ==1.2.2
  • sphinxcontrib-bibtex ==2.5.0
doc/requirements.txt pypi
  • 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
pyproject.toml pypi
  • PyYAML *
  • click *
  • genno [pyam] >= 1.18.1
  • ixmp >= 3.7.0
  • numpy *
  • pandas >= 1.2
  • scipy *