/BDD2018

Replication code to reproduce all figures, tables, and estimates appearing in the main text and extended data of Burke, Davis, Diffenbaugh (2018)

Primary LanguageRMIT LicenseMIT

Large potential reduction in economic damages under UN mitigation targets

The data and code in this repository allow users to reproduce all figures, tables, and estimates appearing in the main text and extended data of Burke, Davis, Diffenbaugh (2018), which users of this repository are encouraged to cite.

If you find a consequential coding error, need clarification, or have suggestions for improving the efficiency or readability of the code, please consider submitting an issue to this repository or contacting Matthew Davis at wm.alampaydavis@gmail.com. Inquiries and comments on the methodologies employed and the paper itself should be directed to the corresponding author Marshall Burke at mburke@stanford.edu.

Organization of repository

  • scripts: contains scripts needed to replicate estimates and figures that appear in the paper
  • data/input: contains input data
  • data/output: after running scripts 01-05, will contain downloaded and processed data needed to run scripts 06-16
  • figures: after running scripts 01-15, will contain pre-processed versions of the main figures (Figs. 1-4) and extended data figures (Figs. ED1-6)
  • tables: after running scripts 01-05 and 16, will contain .tex files used to recreate Tables ED1-3
  • paperfigures: contains vectorized figures close to as they appear in the paper

Instructions for replication

The repository is 160.8 MB unzipped. Full replication will occupy 5.2 GB. Script 02 requires an internet connection. The user should set their working directory in R to the folder containing the unzipped repository.

After Scripts 01-05 are run, Scripts 06-16 reproduce the figures and tables in the order they appear in the paper but can be run in any order and independently. Further, the user may consider partial replication in the interest of saving time (see: Processing times below). The table below maps the scripts strictly required to reproduce each object. Numbers in the rightmost column index the scripts required with superscripts indexing subsections within those scripts.

Object Panels Scripts required
Figure 1 01, 02, 031, 06
Figure 2 a
b
01, 02, 031, 041, 07
01, 02, 031, 041, 05, 07
Figure 3 01, 02, 033, 043, 08
Figure 4 a
b-c
01, 02, 032, 09
01, 02, 031, 041, 05, 09
Figure ED1 01, 02, 031, 051, 10
Figure ED2 01, 02, 034, 043, 11
Figure ED3 01, 02, 031, 041, 05, 12
Figure ED4 01, 02, 031, 041 , 13
Figure ED5 01, 02, 031,3, 041,2, 05, 14
Figure ED6 01, 02, 032, 15
Table ED1 01, 02, 031, 041, 161
Table ED2 left
right
01, 02, 031, 041, 162
01, 02, 031, 041, 05, 162
Table ED3 01, 02, 031, 041, 163

Resultant figures and tables will appear in the figures and tables folders respectively. Some figures and Table ED2 will produce multiple outputs representing component panels and elements to be combined in post-processing and will be titled accordingly. Resultant figures and tables should differ only aesthetically from those appearing in the paper due to post-processing in Adobe Illustrator and an internal power struggle over whether to use base R or the far superior ggplot2.

R packages required

  • lfe
  • dplyr
  • readstata13
  • data.table
  • raster
  • rgdal
  • ncdf4
  • magrittr
  • reshape2
  • zoo
  • tibble
  • ggplot2
  • grid
  • gridExtra
  • classInt
  • fields
  • plotrix
  • xtable

Scripts were written in R 3.4.3.

Users can run the following one-off command to install the most recent versions of these packages:

install.packages(c('lfe', 'dplyr', 'readstata13', 'data.table', 'raster', 'rgdal', 'ncdf4', 'magrittr', 'reshape2', 'zoo', 'tibble', 'ggplot2', 'grid', 'gridExtra', 'classInt', 'fields', 'plotrix', 'xtable'), dependencies = T)

Processing times

For reference, the table below describes how long the most time-consuming scripts took to run on a standard 2.2 GHz personal laptop. These likely represent an upper bound as some processing power was unavoidably channeled towards streaming NBA playoff games while the programs were being timed.

Script name Parts (if applicable) Processing time
(hh:mm:ss)
01Bootstraps.R 01:51:00
02DataProcessing.R Part 1: Global climate projections
Part 2: Country-level climate projections
Part 3: Growth and population projections
00:22:21
00:01:30
00:00:06
03ImpactProjections.R Part 1: Simulate global pathways
Part 2: Simulate single-bootstrap pathways
Part 3: Simulate non-linear warming pathways
Part 4: Simulate country-level pathways
09:39:40
00:01:00
00:31:06
01:37:16
04PerCapitaDamages.R Part 1: Global damages
Part 2: Global damages with non-linear warming
Part 3: Country-level damages
03:39:13
00:01:58
00:35:52
05CumulativeDamages.R Part 1: Preparing discount schemes
Part 2: Applying discount schemes
Part 3: Regressions to compute cumulative impacts
00:00:00
25:29:21
00:05:22
06Figure1.R 00:18:19
Total 44:08:42

The remaining scripts produce the figures and tables they are named for and should take less than two minutes each to run.