Skip to content

Layered heat markets

Choose a tag to compare

@romainsacchi romainsacchi released this 08 Aug 08:49
· 5 commits to master since this release

Version 2.4.9 substantially improves how premise represents future heat supply and consumption.

Highlights

  • Introduces a three-layer heat-market architecture separating:

    • secondary district and industrial heat supply;
    • delivered heat for buildings;
    • delivered heat for industry.
  • Adds 49 explicit heat technology categories covering REMIND, REMIND-EU, IMAGE, GCAM, MESSAGE, and TIAM-UCL.

  • Converts final-energy projections into delivered heat using regional combustion efficiencies, electric-boiler efficiencies, and heat-pump coefficients of performance.

  • Creates regional and World heat markets with explicit supplier selection and production-volume weighting.

  • Supports both cutoff and consequential databases, using average or marginal heat mixes respectively.

  • Adds industrial electric-boiler and nuclear-cogeneration inventories.

  • Improves regional fuel relinking and fossil/non-fossil CO₂ recalculation for heat-production activities.

Safer transformation and relinking

The release adds stricter validation for incomplete, negative, or non-finite IAM heat data. Missing or all-zero heat layers are skipped
cleanly.

Legacy building and industrial heat consumers are redirected to the
appropriate new markets while protecting generated markets, frozen
fallback suppliers, and specialized heat markets from recursive
relinking.

Diagnostics and documentation

Scenario reports now include a dedicated secondary-heat worksheet.
Additional diagnostics record raw IAM volumes, conversion factors,
delivered-heat shares, residual calculations, supplier fallbacks, and
modelling assumptions.

The documentation now provides a consolidated TRANSFORM → Heat section
describing the market architecture, IAM coverage, conversion rules,
fallbacks, and consequential modelling.

Upgrade note

The public update interface remains unchanged: ndb.update() and
ndb.update("heat") are both supported.

Heat-related supply chains and impact results may differ materially from
earlier releases because heat production and end-use technologies are no
longer combined in one market.

See the full changelog
(https://github.com/polca/premise/blob/master/CHANGELOG.md#249) for
detailed changes and test coverage.