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
, viaconfig["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 mappingConfig.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: