message_ix_models.model.transport.build.add_structure

message_ix_models.model.transport.build.add_structure(c: Computer) None[source]

Add tasks to c for structures required by transport.build.

These include:

  • The following keys only if not already present in c. If, for example, c is a Reporter prepared from an already-solved Scenario, the existing tasks referring to the Scenario contents are not changed.

    • n: \(n\) as list of str.

    • y: \(y\) in the base model.

    • cat_year: simulated data structure for “cat_year” with at least 1 row ("firstmodelyear", y0).

    • y::model: \(y\) within the model horizon as list of int.

    • y0: The first model period, int.

  • All tasks from STRUCTURE_STATIC.

  • c::transport: the \(c\) set of the add member of Config.spec, transport commodities to be added.

  • c::transport+base: all \(c\) that will be present in the build model

  • cg: “consumer group” set elements.

  • indexers:cg: cg as indexers.

  • nodes: \(n\) in the base model.

  • indexers:scenario: dict mapping “scenario” to the short form of Config.ssp (for instance, “SSP1”), for indexing.

  • t::transport: all transport \(t\) to be added, list.

  • t::transport agg: dict mapping “t” to the output of get_technology_groups(). For use with operators like ‘aggregate’, ‘select’, etc.

  • t::transport all: dict mapping “t” to t::transport. .. todo:: Choose a more informative key.

  • t::transport modes: Config.demand_modes.

  • t::transport modes 0: dict mapping “t” to the keys only from t::transport agg. Use with ‘aggregate’ to produce the sum across modes, including “non-LDV”.

  • t::transport modes 1: same as t::transport modes 0 except excluding “non-ldv”.

  • t::RAIL etc.: transport \(t\) in the “RAIL” mode/group as list of str. See get_technology_groups().

  • t::transport RAIL etc.: dict mapping “t” to the elements of t::RAIL.

  • All of the keys in bcast_tcl and bcast_y.