message_ix_models.model.transport.operator.share_weight

message_ix_models.model.transport.operator.share_weight(share: AnyQuantity, gdp: AnyQuantity, cost: AnyQuantity, lamda: AnyQuantity, t_modes: List[str], y: List[int], config: dict) AnyQuantity[source]

Calculate mode share weights.

  • In the base year (y[0]), the weights for each \(n\) are as given in share.

  • In the convergence year (Config.year_convergence, via config["transport"]), the weights are between the same-node base year mode shares and the mean of the base-year mode shares in 0 or more reference nodes given by the mapping Config.share_weight_convergence.

    • The interpolation between these points is given by the ratio \(k\) between the same-node convergence-year GDP PPP per capita (gdp) and the reference node(s mean) base-year GDP PPP per capita.

    • If no reference nodes are given, the values converge towards equal weights for each of t_modes, with a fixed parameter \(k = 1/3\).

  • Values for the years between the base year and the convergence year are interpolated.

Parameters:

gdp – GDP per capita in purchasing power parity.

Returns:

With dimensions \((n, t, y)\): \(n\) matching gdp_ppp_cap; :math:`t per t_modes, and \(y\) per y.

Return type:

Quantity