Skip to content

Reporting

Daniel Huppmann edited this page Dec 19, 2018 · 32 revisions

This page exists to collect use cases and architecture thoughts for the reporting infrastructure being developed in iiasa/message_ix#142

Use cases

  • Behnam develops a sub-annual version of the Austria tutorial, and wants to plot the results coming out of the resulting model.
  • Paul develops a MESSAGEix-Transport version of the main global model, and wants to report aggregate results across different vehicle types and transport technology groups.

Architecture

API usage proposals

pp = Reporting()
  .add_activity(...)
  .add_activity()
  .aggregate(...)
  .build()
// reuse processing instance for multiple scenarios
pp.process(scenario1)
pp.process(scenario2)

// or
pp = Reporting().load(...)

Alternative suggestion for re-using reporting specs across scenarios:

specs.yaml

- activity
    - Primary Energy|Wind
        - technology: wind_ppl
- aggregate
    - Primary Energy

Call reporting specs on scenario: Reporting(scenario, 'specs.yaml')

And/or add a function to the message_ix.Scenario class like scenario.reporting('specs.yaml')

Clone this wiki locally