REMIND - REgional Model of INvestments and Development

3.0.0

created with goxygen 1.2.4

Damages (50_damages)

Description

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.

Interfaces

Interfaces to other modules

Input

module inputs (A: BurkeLike | B: DiceLike | C: KW_SE | D: KWLike | E: KWTCint | F: Labor | G: off | H: TC) (continued below)
  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)

Output

module outputs
  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

Realizations

(A) BurkeLike

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.

(B) DiceLike

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.

(C) KW_SE

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.

(D) KWLike

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.

(E) KWTCint

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.

(F) Labor

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.

(G) off

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.

(H) TC

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.

Definitions

Objects

module-internal objects (A: BurkeLike | B: DiceLike | C: KW_SE | D: KWLike | E: KWTCint | F: Labor | G: off | H: TC)
  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

Sets

sets in use
  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

Authors

Anselm Schultes

See Also

01_macro, 16_downscaleTemperature, 51_internalizeDamages, core

References