iiasa / iiasa/message-ix-models
Store IEA energy balance info in structure files
- Dominant language
- Python
- Stars
- 32
- Forks
- 57
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 5
Description
We use various files like `commodity.yaml`, `node/R12.yaml`, to store **code lists**: these are lists of **codes** with an **identifier** `R12_AFR`, *name*, *description*, and 0 or more **annotations**. For instance:
https://github.com/iiasa/message-ix-models/blob/c9f163822325e6b411e5841f381fb07f89380df1/message_ix_models/data/commodity.yaml#L6-L14
These annotations carry precise information about each code that can be directly usable in preparing model structure and data. In this case, the `ipcc-1996-name:` annotation gives the exact name that appears in a particular data source. This is a simple, clear, and unambiguous statement that a certain external name/code/ID should be used in correspondence with `c=coal`.
In particular, the IEA (extended) energy balances have particular code lists for concepts named FLOW and PRODUCT; these are dimensions in the data.
To do:
- Establish an ID and form for annotations that give correspondence between MESSAGEix-GLOBIOM codes and those appearing in IEA (E)EB. For instance, something like:
```yaml
solar_pv_ppl:
name: solar_pv_ppl
description: Solar photovoltaic power plant (no storage)
# ...
iea-eb:
- {PRODUCT: elect.output in gwh, FLOW: solar PV}
```
- Update the existing code lists with these annotations.
- Provide or extend tools that read this structural information from the code lists and prepare Python data structures that are needed for other operations; in particular for converting the IEA (E)WEB data to form(s) needed by MESSAGEix-GLOBIOM.
- Provide or extend tools for writing these structures out for convenience/reference, for instance in a form similar to the “Excel mapping files” that are sometimes used.
cf. iiasa/message_data#505
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the existing code lists in commodity.yaml and node/R12.yaml, then locate the tools that load or write these structure files. Define the annotation format, update the relevant code lists, and determine the Python structures and reference output needed for IEA energy-balance conversion. Done means the mappings are represented consistently and usable by the conversion workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100