Running effort-sharing scenarios
Use an effort-sharing regime when a carbon budget or cost-benefit run should also follow a regional allocation rule. The example below loops over the five available regimes and solves a separate optimisation for each one:
from mimosa import MIMOSA, load_params
# Loop over the five 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["model structure"]["effortsharing module"] = regime
params["model structure"]["emissiontrade module"] = "emissiontrade"
params["model structure"]["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}")
- Using the exogenous SSP baseline emissions prevents regional baseline emissions from changing with damage-induced GDP losses.
- A negative minimum allows regions receiving trading payments to have negative attributed mitigation costs.
The example combines each regime with the following settings:
| Setting | Purpose |
|---|---|
emissiontrade |
Allows attributed emission reductions and costs to differ from the reductions physically taking place in a region |
cost_minimising welfare |
Uses equal monetary cost weighting while the selected regime determines the regional allocation |
| 700 GtCO2 carbon budget | Gives all five runs the same global mitigation target |
Five output pairs are created, named run_<regime>.csv and
run_<regime>.csv.params.json. Useful variables for comparing the results include
regional_emission_allowances, attributed_emission_reductions,
mitigation_cost_trading_balance and mitigation_costs.
Points to keep in mind
- Some regimes require large transfers and can otherwise be infeasible. The value
rel_mitigation_costs_min_level = -0.5is a permissive assumption for this comparison, not a universal recommended value. - Effort-sharing rules use soft equalities, so the allocation is satisfied within its documented tolerance rather than as an exact numerical equality.
- Keeping baseline emissions exogenous can improve numerical behaviour in these comparisons, but it also changes the model assumption: baseline emissions no longer respond to lower GDP.
- These examples use optimisation. See the note on the effort-sharing component page for the limitation in simulation mode.