Version 1.2.1 (February X, 2025)

This release of MESSAGEix-Materials refactors the model building code of MESSAGEix-Materials and updates some parameter sets. It does not alter the model structure of MESSAGEix-Materials.

Summary of changes:

  • Remove deprecated functions and CLI commands

  • Add type hints and docstrings to all functions

  • Drop model.material.util pycountry functions in favour of model.util.pycountry

  • Reduce set of parameters with year_act & year_vtg dimension by entries where: \(y^A - y^V > technical\_lifetime\)

  • Add separate input files for emission factors and relations

  • Convert .xlsx input files to .csv

  • Move all “other industry” parametrisation functions to model.material.data_other_industry

  • Refactor model.material.share_constraints

CLI changes

  • The --power-sector option added to material-ix build command, to allow building the model with or without the power sector materials module.

Deprecations

Removed:

  • .excel_to_csv

  • .get_all_input_data_dirs

  • .get_pycountry_iso

  • get_r12_reg

  • get_spec

  • gen_mock_demand_steel

  • gen_mock_demand_petro

  • read_yaml_file

Renamed:

New features

  • The following xlsx files have been replaced by multiple csv files for each sheet to facilitate version control and readability:

    • generic_furnace_boiler_techno_economic.xlsx

    • LCA_commodity_mapping.xlsx

    • LCA_region_mapping.xlsx

    • MESSAGE_global_model_technologies.xlsx

    • NTNU_LCA_coefficients.xlsx

  • New general function drop_redundant_rows() to reduce set of parameters with year_act & year_vtg dimension by entries where: \(y^A - y^V > technical\_lifetime\).

  • New dataclass CommShareConfig: for better structure of model.material.share_constraints

Bug Fixes

  • Fix conflicting constraints for cement furnaces in 2025

Compatibility