What’s new
Next release
Add documentation on Migrating individual modules using git filter-repo and helper scripts (PR #89).
v2023.7.26
Add code and CLI commands to fetch and load MESSAGEix-GLOBIOM snapshots (PR #102).
Add
util.pooch.fetch(), a thin wrapper for using Pooch (PR #102).New module
message_ix_models.model.macrowith utilities for calibratingmessage_ix.macro(PR #104).New method
Workflow.guess_target()(PR #104).Change in behaviour of
Workflow.add_step(): the method now returns the name of the newly-added workflow step, rather than theWorkflowStepobject added to carry out the step (PR #104). The former is more frequently used in code that usesWorkflow.Add the 17-region aggregation (R17) node code list (PR #109).
Add the 20-region aggregation (R20) node code list (PR #109).
v2023.5.31
v2023.5.13
Adjust
generate_product()for pandas 2.0.0 (PR #98).
2023.4.2
New utility function
replace_par_data()(PR #90).disutility.get_spec()preserves allAnnotationsattached to theCodeobject used as a template for usage technologies (PR #90).Add
CO2_Emission_Global_Totalto the “A” relation codelist (PR #90).AdapterandMappingAdaptercan be imported frommessage_ix_models.util(PR #90).
2023.2.8
Codelists for the
relationMESSAGEix set (PR #85):The “bare” reference energy system now includes relations from the codelist indicated by
model.Config.relations; default “A”.
Commodities (commodity.yaml) (PR #85):
Add “biomass”, “non-comm”, “rc_spec”, and “rc_therm”.
Add “report” annotations for some items. These include string fragments to be used in variable names when reporting data in the IAMC data structure.
generate_product()(andgenerate_set_elements()) can handle a regular expression to select a subset of codes for the Cartesian product (PR #85).New utility method
Context.write_debug_archive()writes a ZIP archive containing files listed byConfig.debug_paths(PR #85).WorkflowStepcan store and apply keyword options for the optionalclone()step at the start of the step execution (PR #85).Bugfix:
WorkflowStep.__call__()ensures thatConfig.scenario_infoon theContextinstance passed to its callback matches the target scenario (PR #85).
2022.11.7
Add the Zambia (ZMB) node code list (PR #83).
Add the utility
same_time(), to copy the set time in paramenters (PR #83).New
Configandmodel.Configdataclassesfor clearer description/handling of recognized settings stored onContext(PR #82).ConfigHelperfor convenience/utility functionality inmessage_ix_models-based code.New functions
generate_product(),generate_set_elements(),get_region_codes()inmodel.structure(PR #82).Revise and improve the Workflow API (PR #82).
Adjust for pandas 1.5.0 (PR #81).
2022.8.17
Add
nodes_ex_world()and use this indisutility.data_conversion()instead of expected a “World” node ID to be the first element inScenarioInfo.N(PR #78).Add example files and documentation for IIASA Scenario Explorer metadata (PR #78).
Expand
~(i.e.$HOME) in the"message local data"configuration setting (PR #78).
2022.7.25
Add
get_advance_data(), and related tools for data from the ADVANCE project, including the node codelist for the data (PR #76).Add unit annotations to Commodities (commodity.yaml) (PR #76).
New utility methods
ScenarioInfo.io_units()to derive units forinputandoutputparameters fromunits_for()commodity stocks and technology activities (PR #76).Transfer
add_tax_emission()frommessage_data, improve, and add tests (PR #76).Unit annotations on commodity and technology codes are copied to child codes using
process_units_anno()(PR #76).make_matched_dfs()acceptspint.Quantityto set both magnitude and units in generated data (PR #76).strip_par_data()also removes the set element for which data is being stripped (PR #76).The common CLI options --verbose and --dry-run are stored on
Contextautomatically (PR #76).New utility method
Context.set_scenario()(PR #76).iam_units.registryis the default unit registry even whenmessage_datais not installed (PR #76).Expand
broadcast()to allowDataFramewith multiple dimensions as input (PR #74).
2022.5.6
Bump minimum required version of
message_ixto v3.4.0 from v3.2.0 (PR #71).Add a documentation page on Distributed computing (PR #59).
Add
testing.not_ci()for marking tests not to be run on continuous integration services; improvesession_context()(PR #62).apply_spec()also adds elements of the “node” set usingixmp.Platform.add_region()(PR #62).Add new logo the documentation (PR #68).
Add
Workflow; see Multi-scenario workflows (workflow) (PR #60).
2022.3.30
Add
adapt_R11_R12(), a function for adapting data from the 11-region aggregation (R11) to the 12-region aggregation (R12) node lists (PR #56).Work around iiasa/ixmp#425 in
disutility.data_conversion()(docs, PR #55).
2022.3.3
Change the node name in R12.yaml from R12_CPA to R12_RCPA (PR #49).
Register “message local data” ixmp configuration file setting and use to set the
Context.local_pathwhen provided. See (3) Other, system-specific (“local”) directories (PR #47)
2022.1.26
New
Specclass for easier handling of specifications of model (or model variant) structure (PR #39)New utility function
util.local_data_path()(PR #39).repr()ofContextno longer prints a (potentially very long) list of all keys and settings (PR #39).as_codes()accepts adictwithCodevalues (PR #39).
Earlier releases
2021.11.24
Add --years and --nodes to
common_params()(PR #35).New utility function
structure.codelists()(PR #35).
2021.7.27
Improve caching using mod:genno v1.8.0 (PR #29).
2021.7.22
Migrate utilities
cached(),check_support(),convert_units(),maybe_query(),series_of_pint_quantity()(PR #27)Add
testing.NIE.Add the
--jvmargsoption to pytest (seepytest_addoption()).Remove
Context.get_config_file(),get_path(),load_config(), andunits(), all deprecated since 2021-02-28.
2021.7.6
Add
identify_nodes(), a function for identifying a Node code lists based on aScenario(PR #24).Add
adapt_R11_R14(), a function for adapting data from the 11-region aggregation (R11) to the 14-region aggregation (R14) node lists (PR #24).Add
export_test_data()and mix-models export-test-data command (PR #16). See Prepare data for testing.Allow use of pytest’s persistent cache across test sessions (PR #23). See Reproducibility.
Add the 12-region aggregation (R12) node code list (PR #14).
2021.4.7
Add
model.disutility, code for setting up structure and data for generalized consumer disutility (PR #13)
2021.3.24
Add Years or time periods (year/*.yaml), YAML data files,
ScenarioInfo.year_from_codes()and associated tests (GH #11, PR #12)
2021.3.22
Migrate
model.bare,model.build,model.cli, and associated documentation (PR #9)Migrate utilities:
ScenarioInfo,add_par_data(),eval_anno(),iter_parameters(), andstrip_par_data().
2021.3.3
Migrate
util.click,util.logging; expand documentation (PR #8:).Context.clone_to_dest()method replacesclone_to_dest()function.Build PDF documentation on ReadTheDocs.
Allow CLI commands from both
message_ix_modelsandmessage_datavia mix-models.Migrate mix-models techs CLI command.
2021.2.28
Migrate
Contextclass andtestingmodule frommessage_data(PR #5:).Add
load_private_data(),package_data_path(),private_data_path().Document: Data, metadata, and configuration and Command-line interface.
Update node codelists to ensure they contain both current and former ISO 3166 codes for countries that have changed status (PR #6:). For instance, ANT dissolved into BES, CUW, and SXM in 2010; all four are included in R11_LAM so this list can be used to handle data from either before or after 2010.
2021.2.26
Add
get_codes()and related code lists (PR #2:).Add
MessageDataFinderand document Migrating from message_data (PR #3:).
2021.2.23
Initial release.