|
27 | 27 | same_node,
|
28 | 28 | )
|
29 | 29 | from message_ix_models.util.ixmp import rename_dims
|
| 30 | +from message_ix_models.util.sdmx import Dataflow |
| 31 | + |
| 32 | +from .files import common_structures |
30 | 33 |
|
31 | 34 | if TYPE_CHECKING:
|
32 | 35 | from sdmx.model.v21 import Code
|
@@ -409,3 +412,42 @@ class MERtoPPP(MaybeAdaptR11Source):
|
409 | 412 | register_source(cls) # type: ignore [type-abstract]
|
410 | 413 | except ValueError as e:
|
411 | 414 | log.info(str(e))
|
| 415 | + |
| 416 | + |
| 417 | +# Output data flows for reporting |
| 418 | + |
| 419 | + |
| 420 | +def _make_dataflow(**kwargs) -> "Dataflow": |
| 421 | + """Shorthand for data flows from this module.""" |
| 422 | + common_structures() # Ensure CS_MESSAGE_TRANSPORT exists |
| 423 | + |
| 424 | + kwargs.setdefault("module", __name__) |
| 425 | + kwargs.setdefault("units", "dimensionless") # FIXME Look up the correct units |
| 426 | + kwargs.setdefault("i_o", Dataflow.FLAG.OUT) |
| 427 | + desc = kwargs.setdefault("description", "") |
| 428 | + kwargs["description"] = f"{desc.strip()}\n\nOutput data from MESSAGEix-Transport." |
| 429 | + kwargs.setdefault("cs_urn", ("ConceptScheme=IIASA_ECE:CS_MESSAGE_TRANSPORT",)) |
| 430 | + |
| 431 | + return Dataflow(**kwargs) |
| 432 | + |
| 433 | + |
| 434 | +activity_passenger = _make_dataflow( |
| 435 | + id="ACTIVITY_PASSENGER", |
| 436 | + name="Passenger activity", |
| 437 | + key="pdt:n-y-t", |
| 438 | + units="dimensionless", |
| 439 | +) |
| 440 | +activity_vehicle = _make_dataflow( |
| 441 | + id="ACTIVITY_VEHICLE", |
| 442 | + name="Vehicle activity", |
| 443 | + description='Same as "Energy Service|Transportation" IAMC variable.', |
| 444 | + key="out:nl-t-ya-c:transport+units", |
| 445 | +) |
| 446 | +fe_transport = _make_dataflow( |
| 447 | + id="FE_TRANSPORT", |
| 448 | + name="Final energy", |
| 449 | + description='Same as "Final Energy|Transportation" IAMC variable.', |
| 450 | + key="in:nl-t-ya-c:transport+units", |
| 451 | +) |
| 452 | +gdp_in = _make_dataflow(id="GDP_IN", name="GDP", key="gdp:n-y") |
| 453 | +population_in = _make_dataflow(id="POPULATION_IN", name="Population", key="pop:n-y") |
0 commit comments