If turned on, the module 51_internalizeDamages calculates in between iterations the social cost of carbon based on the damages calculated in module 50_damages. These are then stored in the parameter pm_taxCO2eqSCC which is to the carbon tax, endogenizing the social cost of carbon into the model. The method is described in @Schultes2020. The options correspond to the damages calculated in module 50_damages. Aside from the damages, a temperature impulse response is required, which is calculated with MAGICC based on the given emissions pathway. The calculation is done with an annual time step, input from REMIND is interpolated to that. The parameter p51_sccConvergenceMaxDeviation is an indicator for the difference of the SCC to that of the previous iteration, assessing convergence.

Description | Unit | A | B | C | D | |
---|---|---|---|---|---|---|

cm_damages_BurkeLike_persistenceTime | persistence time in years for Burke-like damage functions | x | ||||

cm_damages_SccHorizon | Horizon for SCC calculation. Damages cm_damagesSccHorizon years into the future are internalized. | x | x | x | x | |

cm_startyear | first optimized modelling time step | \(year\) | x | x | x | x |

pm_cesdata (tall, all_regi, all_in, cesParameter) |
parameters of the CES function | |||||

pm_consPC (tall, all_regi) |
Consumption per capita | x | x | x | x | |

pm_damage (tall, all_regi) |
damage factor (reduces GDP) | x | x | |||

pm_damageGrowthRate (tall, all_regi) |
damage function for growth rate of GDP | x | x | |||

pm_damageGrowthRateIso (tall, iso) |
damage function for growth rate of GDP | |||||

pm_damageGrowthRateTC (tall, iso) |
growth rate damage from tropical cyclones | |||||

pm_damageImp (tall, tall, all_regi) |
damage with emission pulse | x | ||||

pm_damageIso (tall, iso) |
damage factor (reduces GDP) | |||||

pm_damageMarginal (tall, all_regi) |
damage function derivative | x | x | |||

pm_damageMarginalT (tall, all_regi) |
damage function derivative for KW | x | ||||

pm_damageMarginalTC (tall, iso) |
marginal damage of tropical cyclones | |||||

pm_damageMarginalTm1 (tall, all_regi) |
damage function derivative for KW | x | ||||

pm_damageMarginalTm2 (tall, all_regi) |
damage function derivative for KW | x | ||||

pm_damageProd (tall, all_regi) |
damage from aggregate damage function | |||||

pm_damageScc (tall, tall, all_regi) |
damage without pulse | x | ||||

pm_damageTC (tall, iso) |
tropical cyclone damages | |||||

pm_GDPfrac (tall, iso) |
ratio of country to region GDP | |||||

pm_GDPGross (tall, all_regi) |
gross GDP (before damages) | x | x | x | x | |

pm_GDPGrossIso (tall, iso) |
gross GDP on country level | |||||

pm_interpolWeight_ttot_tall (tall) |
weight for linear interpolation of ttot-dependent variables | |||||

pm_lab (tall, all_regi) |
data for labour | \(bn people\) | ||||

pm_prtp (all_regi) |
Pure rate of time preference | x | x | x | x | |

pm_tall_2_ttot (tall, ttot) |
mapping from tall to ttot | |||||

pm_taxCO2eqSCC (ttot, all_regi) |
carbon tax component due to damages (social cost of carbon) | x | x | x | x | |

pm_temperatureImpulseResponseCO2 (tall, tall) |
temperature impulse response to CO2 | \(K/GtCO2\) | x | x | x | |

pm_tempScaleGlob2Reg (tall, all_regi) |
scaling factor from global to regional temperature | x | x |

E | F | G | H | I | J | |
---|---|---|---|---|---|---|

cm_damages_BurkeLike_persistenceTime | ||||||

cm_damages_SccHorizon | x | x | x | x | x | |

cm_startyear | x | x | x | x | x | |

pm_cesdata (tall, all_regi, all_in, cesParameter) |
x | |||||

pm_consPC (tall, all_regi) |
x | x | x | x | ||

pm_damage (tall, all_regi) |
x | x | x | |||

pm_damageGrowthRate (tall, all_regi) |
x | x | x | |||

pm_damageGrowthRateIso (tall, iso) |
x | |||||

pm_damageGrowthRateTC (tall, iso) |
x | |||||

pm_damageImp (tall, tall, all_regi) |
||||||

pm_damageIso (tall, iso) |
x | |||||

pm_damageMarginal (tall, all_regi) |
x | x | ||||

pm_damageMarginalT (tall, all_regi) |
x | x | x | |||

pm_damageMarginalTC (tall, iso) |
x | |||||

pm_damageMarginalTm1 (tall, all_regi) |
x | x | x | |||

pm_damageMarginalTm2 (tall, all_regi) |
x | x | x | |||

pm_damageProd (tall, all_regi) |
x | |||||

pm_damageScc (tall, tall, all_regi) |
||||||

pm_damageTC (tall, iso) |
x | |||||

pm_GDPfrac (tall, iso) |
x | |||||

pm_GDPGross (tall, all_regi) |
x | x | x | x | ||

pm_GDPGrossIso (tall, iso) |
x | |||||

pm_interpolWeight_ttot_tall (tall) |
x | |||||

pm_lab (tall, all_regi) |
x | |||||

pm_prtp (all_regi) |
x | x | x | x | x | |

pm_tall_2_ttot (tall, ttot) |
x | |||||

pm_taxCO2eqSCC (ttot, all_regi) |
x | x | x | x | x | x |

pm_temperatureImpulseResponseCO2 (tall, tall) |
x | x | x | x | x | |

pm_tempScaleGlob2Reg (tall, all_regi) |
x | x | x | x |

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Burke-based damages calculated in module 50_damages/BurkeLike are calculated.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Burke-based damages calculated in module 50_damages/BurkeLike are calculated.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Burke-based damages calculated in module 50_damages/BurkeLike are calculated.

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the DICE-based damages calculated in module 50_damages/DiceLike are calculated.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the DICE-based damages calculated in module 50_damages/DiceLike are calculated.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the DICE-based damages calculated in module 50_damages/DiceLike are calculated.

LimitationsThere are no known limitations.

The social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages including the standard error calculated in module 50_damages/KW_SE is calculated. The analytical approach from Schultes et al (2021) does not work here due to the missing interaction terms in the damage marginals. Therefore this is based on a direct calculation of the SCC as the discounted difference between a GDP path with climate change and a GDP path with climate change and an additional emission pulse (done in 50_damages/KW_SE), following Ricke et al. (2018).

The social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages including the standard error calculated in module 50_damages/KW_SE is calculated. The analytical approach from Schultes et al (2021) does not work here due to the missing interaction terms in the damage marginals. Therefore this is based on a direct calculation of the SCC as the discounted difference between a GDP path with climate change and a GDP path with climate change and an additional emission pulse (done in 50_damages/KW_SE), following Ricke et al. (2018).

The social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages including the standard error calculated in module 50_damages/KW_SE is calculated. The analytical approach from Schultes et al (2021) does not work here due to the missing interaction terms in the damage marginals. Therefore this is based on a direct calculation of the SCC as the discounted difference between a GDP path with climate change and a GDP path with climate change and an additional emission pulse (done in 50_damages/KW_SE), following Ricke et al. (2018).

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the global social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. The global solution is derived assuming Negishi weights.

Based on the analytic expression derived in @Schultes2020 the global social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. The global solution is derived assuming Negishi weights.

Based on the analytic expression derived in @Schultes2020 the global social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. The global solution is derived assuming Negishi weights.

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. Compared to module KWlikeItr here a real Nash assumption is taken, i.e. each region only takes into account its own damages when calculation its own SCC.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. Compared to module KWlikeItr here a real Nash assumption is taken, i.e. each region only takes into account its own damages when calculation its own SCC.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. Compared to module KWlikeItr here a real Nash assumption is taken, i.e. each region only takes into account its own damages when calculation its own SCC.

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. Compared to module KWlikeItr no Negishi weights are assumed in the SCC derivation, which leads to regional SCC.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. Compared to module KWlikeItr no Negishi weights are assumed in the SCC derivation, which leads to regional SCC.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the Kalkuhl&Wenz (2020) damages calculated in module 50_damages/KWLike are calculated. Compared to module KWlikeItr no Negishi weights are assumed in the SCC derivation, which leads to regional SCC.

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the combined aggregate productivity damages from Kalkuhl & Wenz (2020) and the tropical cyclone damages from Krichene et al (2022), as calculated in module 50_damages/KWTCint are calculated. The latter are calculated on country level for affected countries only.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the combined aggregate productivity damages from Kalkuhl & Wenz (2020) and the tropical cyclone damages from Krichene et al (2022), as calculated in module 50_damages/KWTCint are calculated. The latter are calculated on country level for affected countries only.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the combined aggregate productivity damages from Kalkuhl & Wenz (2020) and the tropical cyclone damages from Krichene et al (2022), as calculated in module 50_damages/KWTCint are calculated. The latter are calculated on country level for affected countries only.

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the labor productivity damages from Dasgupta et al (2021), as calculated in module 50_damages/Labor are calculated. They affect labor directly, so the net effect on output has to be calculated first.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the labor productivity damages from Dasgupta et al (2021), as calculated in module 50_damages/Labor are calculated. They affect labor directly, so the net effect on output has to be calculated first.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the labor productivity damages from Dasgupta et al (2021), as calculated in module 50_damages/Labor are calculated. They affect labor directly, so the net effect on output has to be calculated first.

LimitationsThere are no known limitations.

The off-realization of the internalizeDamages module sets the parameter pm_taxCO2eqSCC to zero, meaning no social costs of carbon are included in the optimization.

The off-realization of the internalizeDamages module sets the parameter pm_taxCO2eqSCC to zero, meaning no social costs of carbon are included in the optimization.

The off-realization of the internalizeDamages module sets the parameter pm_taxCO2eqSCC to zero, meaning no social costs of carbon are included in the optimization.

LimitationsThere are no known limitations.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the tropical cyclone damages from Krichene et al (2022), as calculated in module 50_damages/TC are calculated.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the tropical cyclone damages from Krichene et al (2022), as calculated in module 50_damages/TC are calculated.

Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the tropical cyclone damages from Krichene et al (2022), as calculated in module 50_damages/TC are calculated.

LimitationsThere are no known limitations.

Description | Unit | A | B | C | D | E | |
---|---|---|---|---|---|---|---|

p51_dy (tall, all_regi) |
damage factor for GDP instead of labor | ||||||

p51_lab (tall, all_regi) |
labor for extension beyond 2150 | ||||||

p51_labEff (tall, all_regi) |
ces parameter eff for labor, needed for extension beyond 2150 | ||||||

p51_labEffgr (tall, all_regi) |
ces parameter effgr for labor, needed for extension beyond 2150 | ||||||

p51_labRho (tall, all_regi) |
ces parameter rho for labor, needed for extension beyond 2150 | ||||||

p51_labXi (tall, all_regi) |
ces parameter xi for labor, needed for extension beyond 2150 | ||||||

p51_marginalDamageCumul (tall, tall, all_regi) |
marginal cumulative damage damages | x | x | x | |||

p51_marginalDamageCumulKW (tall, tall, all_regi) |
marginal cumulative damage damages | ||||||

p51_marginalDamageCumulTC (tall, tall, iso) |
marginal cumulative damage damages | ||||||

p51_scc (tall) |
Social cost of carbon (due to GDP damages) | \(\$/tCO2eq\) | x | x | x | x | x |

p51_sccConvergenceMaxDeviation | max deviation of SCC from last iteration | \(percent\) | x | x | x | x | x |

p51_sccLastItr (tall) |
Social cost of carbon (due to GDP damages) from last iteration | \(\$/tCO2eq\) | x | x | x | x | x |

p51_sccParts (tall, tall, all_regi) |
Social cost of carbon components (time, region) | x | x | x | x | ||

p51_sccPartsTC (tall, tall, all_regi) |
Social cost of carbon components (time, region) | ||||||

p51_ygross (tall, all_regi) |
GDP net of labor damage |

F | G | H | I | J | |
---|---|---|---|---|---|

p51_dy (tall, all_regi) |
x | ||||

p51_lab (tall, all_regi) |
x | ||||

p51_labEff (tall, all_regi) |
x | ||||

p51_labEffgr (tall, all_regi) |
x | ||||

p51_labRho (tall, all_regi) |
x | ||||

p51_labXi (tall, all_regi) |
x | ||||

p51_marginalDamageCumul (tall, tall, all_regi) |
x | x | |||

p51_marginalDamageCumulKW (tall, tall, all_regi) |
x | ||||

p51_marginalDamageCumulTC (tall, tall, iso) |
x | ||||

p51_scc (tall) |
x | x | x | x | |

p51_sccConvergenceMaxDeviation | x | x | x | x | |

p51_sccLastItr (tall) |
x | x | x | x | |

p51_sccParts (tall, tall, all_regi) |
x | x | x | x | |

p51_sccPartsTC (tall, tall, all_regi) |
x | ||||

p51_ygross (tall, all_regi) |
x |

description | |
---|---|

all_in | all inputs and outputs of the CES function |

all_regi | all regions |

cesParameter | parameters of the CES functions and for calibration |

iso | list of iso countries |

isoTC(iso) | list of countries affected by TC damages |

iteration | iterator for main (Negishi/Nash) iterations |

modules | all the available modules |

regi(all_regi) | all regions used in the solution process |

regi2iso(all_regi, iso) | mapping regions to iso countries |

tall | time index |

ttot(tall) | time index with spin up |

Anselm Schultes

01_macro, 02_welfare, 16_downscaleTemperature, 50_damages, core