Skip to content

v1.0.3

Latest

Choose a tag to compare

@LorenzoRinaldi LorenzoRinaldi released this 02 Jul 16:03

MARIO v1.0.3

New features

EMERGING-E parser

  • parse_emerging now supports the variant="E" (EMERGING-E) bundle, parsing the power-disaggregated table (146 sectors, with electricity split into 14 generation sub-sectors) from EMERGING_E_<year>.mat.
  • A sibling label workbook is auto-detected, with fallback to a packaged EMERGING-E sector classification. Use labels_path= to override detection.
  • CO₂ projection: when only the standard EMERGING_CO2_<year> companion is available, the 7 fuel rows of the aggregated electricity sector are projected onto the EMERGING-E generation sub-sectors through a fixed fuel-to-technology mapping. Use co2_path= to point to a specific companion file.

Matrix-specific export — Database.export

  • Added Database.export(matrices, scenarios=..., format="csv"|"txt"|"parquet", split="scenario"|"matrix", include_meta=False, **meta_overrides), which writes selected matrices as flat long-format files with Scenario, Matrix, Unit and Value columns.
  • Flow matrices carry the numerator unit; coefficient and exploded matrices (f_ex, m_ex, p_ex and SUT variants) carry the numerator/denominator ratio.
  • Output can be split one-per-scenario or one-per-matrix, with an optional metadata header (one row per scenario, or key/value metadata in the parquet schema). release_date and other metadata fields can be supplied at export time.
  • A filters argument restricts exported rows to selected axis labels, e.g. filters={"Satellite account": ["CO2"]}. Keys may be suffixed with _from/_to to target a single side.
  • In one-per-matrix mode, a flow and its coefficient (Z/z) no longer collide on case-insensitive filesystems: the coefficient token is doubled (zz).

Documentation and packaging

  • Added the API reference page for Database.export and updated the export methods overview.
  • Aligned the documentation version string to 1.0.3.
  • Updated installation notes: Python 3.11, 3.12 and 3.13 are supported; Python 3.14 is not supported yet (the numpy==2.1.1 pin has no wheel for 3.14 and the source build fails).

Compatibility

  • Requires Python 3.11–3.13.
  • No breaking changes since v1.0.2.

Full changelog: v1.0.2...v1.0.3