Doing an effort-sharing run

MIMOSA has some built-in effort sharing regimes. In this example, they are used in combination with a carbon budget (but it could be used in CBA mode). The welfare module is set to cost minimising, as this is typically used with effort sharing regimes. Effort sharing would be impossible without emission trading. Finally, this would often be infeasible for some regions, if we didn't allow for some extra financial transfers beyond just emission trading, which is why we set the relative mitigation cost minimum level to a small negative number.

from mimosa import MIMOSA, load_params


# Loop over the three available effort sharing regimes
for regime in [
    "equal_mitigation_costs",
    "equal_total_costs",
    "per_cap_convergence",
    "ability_to_pay",
    "equal_cumulative_per_cap",
]:
    params = load_params()
    params["effort sharing"]["regime"] = regime
    params["model"]["emissiontrade module"] = "emissiontrade"
    params["model"]["welfare module"] = "cost_minimising"
    params["emissions"]["carbonbudget"] = "700 GtCO2"
    params["emissions"]["baseline carbon intensity"] = False  # (1)!
    params["economics"]["MAC"]["rel_mitigation_costs_min_level"] = -0.5  # (2)!
    params["time"]["end"] = 2100

    model1 = MIMOSA(params)
    model1.solve()
    model1.save(f"run_{regime}")
  1. Some effort sharing regimes can lead to large financial transfers between regions. If baseline carbon intensities are used instead of just baseline emissions, the baseline emissions can vary significantly, leading to numerical instability. Especially for ECPC regime, this setting is important.
  2. Some effort sharing regimes require such large financial transfers that they are infeasible without allowing for some extra financial transfers beyond just emission trading. This is why we set the relative mitigation cost minimum level to a negative number.