If turned on, the 50_damages module calculates damages between iterations based on global mean temperature paths from MAGICC. Different damage specifications are available, currently based on DICE and @Burke2015. Damages are internalized in the optimization in module 51_internalizeDamages. Without that, they enter the optimization as a fixed variable reducing output in the budget equation. The method and the advanced specification of the Burke damage function are described in @Schultes2020.
Description | Unit | A | B | C | D | |
---|---|---|---|---|---|---|
cm_damage_KWSE | standard error for Kalkuhl & Wenz damages | x | ||||
cm_damages_BurkeLike_persistenceTime | persistence time in years for Burke-like damage functions | x | ||||
cm_damages_BurkeLike_specification | empirical specification for Burke-like damage functions | x | ||||
pm_GDPGross (tall, all_regi) |
gross GDP (before damages) | |||||
pm_globalMeanTemperatureZeroed1900 (tall) |
global mean temperature anomaly, zeroed around 1900 | x | ||||
pm_regionalTemperature (tall, all_regi) |
regional temperature | x | x | x | ||
pm_temperatureImpulseResponseCO2 (tall, tall) |
temperature impulse response to CO2 | \(K/GtCO2\) | x | |||
pm_tempScaleGlob2Reg (tall, all_regi) |
scaling factor from global to regional temperature | x |
E | F | G | H | |
---|---|---|---|---|
cm_damage_KWSE | ||||
cm_damages_BurkeLike_persistenceTime | ||||
cm_damages_BurkeLike_specification | ||||
pm_GDPGross (tall, all_regi) |
x | x | ||
pm_globalMeanTemperatureZeroed1900 (tall) |
x | x | ||
pm_regionalTemperature (tall, all_regi) |
x | x | ||
pm_temperatureImpulseResponseCO2 (tall, tall) |
||||
pm_tempScaleGlob2Reg (tall, all_regi) |
Description | Unit | |
---|---|---|
pm_damage (tall, all_regi) |
damage factor (reduces GDP) | |
pm_damageGrowthRate (tall, all_regi) |
damage function for growth rate of GDP | |
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 | |
pm_damageIso (tall, iso) |
damage factor (reduces GDP) | |
pm_damageMarginal (tall, all_regi) |
damage function derivative | |
pm_damageMarginalT (tall, all_regi) |
damage function derivative for KW | |
pm_damageMarginalTC (tall, iso) |
marginal damage of tropical cyclones | |
pm_damageMarginalTm1 (tall, all_regi) |
damage function derivative for KW | |
pm_damageMarginalTm2 (tall, all_regi) |
damage function derivative for KW | |
pm_damageProd (tall, all_regi) |
damage from aggregate damage function | |
pm_damageScc (tall, tall, all_regi) |
damage without pulse | |
pm_damageTC (tall, iso) |
tropical cyclone damages | |
pm_GDPfrac (tall, iso) |
ratio of country to region GDP | |
pm_GDPGrossIso (tall, iso) |
gross GDP on country level | |
vm_damageFactor (ttot, all_regi) |
damage factor reducing GDP | |
vm_damageProdFactor (ttot, all_regi, all_in) |
damage factor reducing production factors |
Output damages are calculated based on the damage function from @Burke2015, extended by a finite persistence term. The details are described in @Schultes2020. The persistence is a parameter to be specified in the config file (cm_damages_BurkeLike_persistenceTime). Two different damage realizations can be chosen via the switch cm_damages_BurkeLike_specification. “0” uses the short-run specification without lags, “1” the long-run specification. Damages are calculated on the regional level, the global temperature path from MAGICC is scaled to REMIND regions in module 16_downscaleTemperature, requiring the setting downscaleTemperature=CMIP5. @limitations: Currently only valid for RCP2.6, as for higher RCPs there is no limit for too extreme out-of-sample extrapoliations in terms of temperature (as it is done in Burke paper). Also the temperature downscaling requires a scaling parameter which is currently only included for RCP2.6 and RCP8.5 and for SSP2 population. Furthermore, unless the realization “BurkeLikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Output damages are calculated based on the damage function from @Burke2015, extended by a finite persistence term. The details are described in @Schultes2020. The persistence is a parameter to be specified in the config file (cm_damages_BurkeLike_persistenceTime). Two different damage realizations can be chosen via the switch cm_damages_BurkeLike_specification. “0” uses the short-run specification without lags, “1” the long-run specification. Damages are calculated on the regional level, the global temperature path from MAGICC is scaled to REMIND regions in module 16_downscaleTemperature, requiring the setting downscaleTemperature=CMIP5. @limitations: Currently only valid for RCP2.6, as for higher RCPs there is no limit for too extreme out-of-sample extrapoliations in terms of temperature (as it is done in Burke paper). Also the temperature downscaling requires a scaling parameter which is currently only included for RCP2.6 and RCP8.5 and for SSP2 population. Furthermore, unless the realization “BurkeLikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Output damages are calculated based on the damage function from @Burke2015, extended by a finite persistence term. The details are described in @Schultes2020. The persistence is a parameter to be specified in the config file (cm_damages_BurkeLike_persistenceTime). Two different damage realizations can be chosen via the switch cm_damages_BurkeLike_specification. “0” uses the short-run specification without lags, “1” the long-run specification. Damages are calculated on the regional level, the global temperature path from MAGICC is scaled to REMIND regions in module 16_downscaleTemperature, requiring the setting downscaleTemperature=CMIP5. @limitations: Currently only valid for RCP2.6, as for higher RCPs there is no limit for too extreme out-of-sample extrapoliations in terms of temperature (as it is done in Burke paper). Also the temperature downscaling requires a scaling parameter which is currently only included for RCP2.6 and RCP8.5 and for SSP2 population. Furthermore, unless the realization “BurkeLikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Limitations There are no known limitations.
Output damages are calculated based on the DICE-based damage function (see @DICEdocumentation). Multiple different specifications can be chosen: DICE2013R, DICE2016, Howard (@Howard2017) or different options from Kalkuhl & Wenz (2020) (KWcross for the cross-sectional specification, KWpanelPop for the panel specification with population weighting) through the switch cm_damage_DiceLike_specification. They are based on the global mean temperature pathway from MAGICC. @limitations: Unless the realization “DiceLikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable updated in between iterations.
Output damages are calculated based on the DICE-based damage function (see @DICEdocumentation). Multiple different specifications can be chosen: DICE2013R, DICE2016, Howard (@Howard2017) or different options from Kalkuhl & Wenz (2020) (KWcross for the cross-sectional specification, KWpanelPop for the panel specification with population weighting) through the switch cm_damage_DiceLike_specification. They are based on the global mean temperature pathway from MAGICC. @limitations: Unless the realization “DiceLikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable updated in between iterations.
Output damages are calculated based on the DICE-based damage function (see @DICEdocumentation). Multiple different specifications can be chosen: DICE2013R, DICE2016, Howard (@Howard2017) or different options from Kalkuhl & Wenz (2020) (KWcross for the cross-sectional specification, KWpanelPop for the panel specification with population weighting) through the switch cm_damage_DiceLike_specification. They are based on the global mean temperature pathway from MAGICC. @limitations: Unless the realization “DiceLikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable updated in between iterations.
Limitations There are no known limitations.
Output damages are calculated based on the damage function from Matthias Kalkuhl, Leonie Wenz: The impact of climate conditions on economic production. Evidence from a global panel of regions. Journal of Environmental Economics and Management, Volume 103, 2020, 102360, DOI: 10.1016/j.jeem.2020.102360 It is implemented similar to the Burke damage module, as a one-time growth effect Compared to module KWLike here we add the standard error (as shown in the paper Figure 1) to explore the upper end of the damage uncertainty @limitations: Unless the realization “KW_SEitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Output damages are calculated based on the damage function from Matthias Kalkuhl, Leonie Wenz: The impact of climate conditions on economic production. Evidence from a global panel of regions. Journal of Environmental Economics and Management, Volume 103, 2020, 102360, DOI: 10.1016/j.jeem.2020.102360 It is implemented similar to the Burke damage module, as a one-time growth effect Compared to module KWLike here we add the standard error (as shown in the paper Figure 1) to explore the upper end of the damage uncertainty @limitations: Unless the realization “KW_SEitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Output damages are calculated based on the damage function from Matthias Kalkuhl, Leonie Wenz: The impact of climate conditions on economic production. Evidence from a global panel of regions. Journal of Environmental Economics and Management, Volume 103, 2020, 102360, DOI: 10.1016/j.jeem.2020.102360 It is implemented similar to the Burke damage module, as a one-time growth effect Compared to module KWLike here we add the standard error (as shown in the paper Figure 1) to explore the upper end of the damage uncertainty @limitations: Unless the realization “KW_SEitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Limitations There are no known limitations.
Output damages are calculated based on the damage function from Matthias Kalkuhl, Leonie Wenz: The impact of climate conditions on economic production. Evidence from a global panel of regions. Journal of Environmental Economics and Management, Volume 103, 2020, 102360, DOI: 10.1016/j.jeem.2020.102360 It is implemented similar to the Burke damage module, as a one-time growth effect @limitations: Unless the realization “KWlikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Output damages are calculated based on the damage function from Matthias Kalkuhl, Leonie Wenz: The impact of climate conditions on economic production. Evidence from a global panel of regions. Journal of Environmental Economics and Management, Volume 103, 2020, 102360, DOI: 10.1016/j.jeem.2020.102360 It is implemented similar to the Burke damage module, as a one-time growth effect @limitations: Unless the realization “KWlikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Output damages are calculated based on the damage function from Matthias Kalkuhl, Leonie Wenz: The impact of climate conditions on economic production. Evidence from a global panel of regions. Journal of Environmental Economics and Management, Volume 103, 2020, 102360, DOI: 10.1016/j.jeem.2020.102360 It is implemented similar to the Burke damage module, as a one-time growth effect @limitations: Unless the realization “KWlikeItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Limitations There are no known limitations.
Combines output damages from Kalkuhl & Wenz 2020 (aggregate productivity damages as in module KWLike) and tropical cyclone damages from Krichene et al. 2022 (as in module TC). They should be additive as the former does not include effects of extreme events. @limitations: Unless the realization “KWTCitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Combines output damages from Kalkuhl & Wenz 2020 (aggregate productivity damages as in module KWLike) and tropical cyclone damages from Krichene et al. 2022 (as in module TC). They should be additive as the former does not include effects of extreme events. @limitations: Unless the realization “KWTCitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Combines output damages from Kalkuhl & Wenz 2020 (aggregate productivity damages as in module KWLike) and tropical cyclone damages from Krichene et al. 2022 (as in module TC). They should be additive as the former does not include effects of extreme events. @limitations: Unless the realization “KWTCitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Limitations There are no known limitations.
Damages on labor supply from Dasgupta et al. (2021), implemented to directly affect labor in the budget equation. @limitations: This does not include labor productivity effects (i.e. physiological reductions of productivity), as there are no robust empirical estimates available for that yet. Unless the realization “LabItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Damages on labor supply from Dasgupta et al. (2021), implemented to directly affect labor in the budget equation. @limitations: This does not include labor productivity effects (i.e. physiological reductions of productivity), as there are no robust empirical estimates available for that yet. Unless the realization “LabItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Damages on labor supply from Dasgupta et al. (2021), implemented to directly affect labor in the budget equation. @limitations: This does not include labor productivity effects (i.e. physiological reductions of productivity), as there are no robust empirical estimates available for that yet. Unless the realization “LabItr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Limitations There are no known limitations.
The off-realization of the damage module sets the damage factor on output to 1, meaning no damage.
The off-realization of the damage module sets the damage factor on output to 1, meaning no damage.
The off-realization of the damage module sets the damage factor on output to 1, meaning no damage.
Limitations There are no known limitations.
Tropical cyclone damages based on Krichene et al. (2022). They are growth rate effects (similar to the Burke module) on country level, only for countries affected by tropical cyclones. Coefficients are available for different persistencies (0-8 with 8 being the default) and confidence intervals (based on uncertainty in climate and TC projections) @limitations: Unless the realization “TCitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Tropical cyclone damages based on Krichene et al. (2022). They are growth rate effects (similar to the Burke module) on country level, only for countries affected by tropical cyclones. Coefficients are available for different persistencies (0-8 with 8 being the default) and confidence intervals (based on uncertainty in climate and TC projections) @limitations: Unless the realization “TCitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Tropical cyclone damages based on Krichene et al. (2022). They are growth rate effects (similar to the Burke module) on country level, only for countries affected by tropical cyclones. Coefficients are available for different persistencies (0-8 with 8 being the default) and confidence intervals (based on uncertainty in climate and TC projections) @limitations: Unless the realization “TCitr” is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations.
Limitations There are no known limitations.
Description | Unit | A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|---|---|
f50_countryGDPfrac (tall, iso, all_GDPscen) |
ratio country to regional GDP | x | x | |||||||
f50_TCconst (isoTC, all_SSPscen, all_TCpers, all_TCspec) |
damage parameter constant | x | x | |||||||
f50_TCtasK (isoTC, all_SSPscen, all_TCpers, all_TCspec) |
damage parameter, linear with temperature | x | x | |||||||
p50_cov_a1_a2 | covariance of coefs a1, a2 | x | ||||||||
p50_cov_a1_b1 | covariance of coefs a1, b1 | x | ||||||||
p50_cov_a1_b2 | covariance of coefs a1, b2 | x | ||||||||
p50_cov_a2_b1 | covariance of coefs a2, b1 | x | ||||||||
p50_cov_a2_b2 | covariance of a2, b2 | x | ||||||||
p50_cov_b1_b2 | covariance of b1, b2 | x | ||||||||
p50_damageFuncCoef1 | coef1 of damamge function | x | x | x | x | |||||
p50_damageFuncCoef2 | coef2 of damamge function | x | x | x | x | |||||
p50_damageFuncCoefa1 | coef1 of damamge function | x | x | x | ||||||
p50_damageFuncCoefa2 | coef2 of damamge function | x | x | x | ||||||
p50_damageFuncCoefb1 | coef1 of damamge function | x | x | x | ||||||
p50_damageFuncCoefb2 | coef2 of damamge function | x | x | x | ||||||
p50_damageFuncCoefTC0 (isoTC) |
coef0 for tropical cyclone damage function | x | x | |||||||
p50_damageFuncCoefTC1 (isoTC) |
coef1 for tropical cyclone damage function | x | x | |||||||
p50_damageFuncCoefTC2 (isoTC) |
damage function coefficient for TC, quadratic in temperture | x | ||||||||
p50_damageGrowthRateImp (tall, tall, all_regi) |
growth rate damage with emission pulse | x | ||||||||
p50_delT (tall, all_regi) |
temperature difference between current and previous year | x | ||||||||
p50_delT2 (tall, all_regi) |
temperature difference between previuos year and year before that | x | ||||||||
p50_delTimp (tall, tall, all_regi) |
temperature difference for pathway with emission pulse | x | ||||||||
p50_delTimp2 (tall, tall, all_regi) |
temperature difference of lag years with emission pulse | x | ||||||||
p50_regionalTemperatureImp (tall, tall, all_regi) |
regional temperature with emission pulse | x | ||||||||
p50_se (tall, all_regi) |
standard error for damages | x | ||||||||
p50_seImp (tall, tall, all_regi) |
damage standard error with emission pulse | x | ||||||||
p50_test (tall, iso) |
to check regional sum of GDP | x | ||||||||
p50_var_a1 | variance of coef1 | x | ||||||||
p50_var_a2 | variance of coef2 | x | ||||||||
p50_var_b1 | variance of coefb1 | x | ||||||||
p50_var_b2 | variance of coefb2 | x |
description | |
---|---|
all_GDPscen | all possible GDP scenarios |
all_in | all inputs and outputs of the CES function |
all_regi | all regions |
all_SSPscen | all 5 SSP scenarios |
all_TCpers | all possible persistencies of TC damages |
all_TCspec | TC damage distribution quantiles |
in(all_in) | All inputs and outputs of the CES function |
iso | list of iso countries |
isoTC(iso) | list of countries affected by TC damages |
modules | all the available modules |
regi(all_regi) | all regions used in the solution process |
regi2iso(all_regi, iso) | mapping regions to iso countries |
regi2isoTC(all_regi, isoTC) | map regions to TC countries |
tall | time index |
ttot(tall) | time index with spin up |
Anselm Schultes
01_macro, 16_downscaleTemperature, 51_internalizeDamages, core