WPC4  24 ZB}HP LaserJet Series IIXN\  PXPa1AutoList4$ a2AutoList4/`  a3AutoList4:`   2 faa4AutoList4E`   a5AutoList4P  `  #h# a6AutoList4[  `  #h#(( a7AutoList4f `  #h#((-- 2R }  !a8AutoList4q`  #h#((--2p2 a1AutoList3 $ a2AutoList3 /`  a3AutoList3 :`   2  -  a4AutoList3 E`   a5AutoList3 P`  #h# a6AutoList3[`  #h#(( a7AutoList3f`  #h#((-- 24  }   a8AutoList3q `  #h#((--2p2 a1AutoList2$!" a2AutoList2/#$`  a3AutoList2:%&`   2 f aa4AutoList2E'(`   a5AutoList2P)*`  #h# a6AutoList2[+,`  #h#(( a7AutoList2f-.`  #h#((-- 2R}!a8AutoList2q/0`  #h#((--2p2 a1AutoList1$12 a2AutoList1/34`  a3AutoList1:56`   2-a4AutoList1E78`   a5AutoList1P9:`  #h# a6AutoList1[;<`  #h#(( a7AutoList1f=>`  #h#((-- 2 !0=a8AutoList1 q?@`  #h#((--2p2 Default Para!$AB$ XN\  P}  XN\  P} ѫXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  P QXP<  Y Z$Symbol RegularXXN\  P XP(9 Z6Times New Roman RegularXXr\  P QXP<  Y Z$Symbol RegularXXN\  P XP(9 Z6Times New Roman RegularXXr\  P QXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  P XP(9 Z6Times New Roman RegularXXN4  p!G;Xp'4 XXN\  P"XP(9 Z6Times New Roman RegularXXN4  p#G;Xp'4 XXN\  P$XP(9 Z6Times New Roman RegularXXN4  p%G;Xp'4 XXN\  P&XP(9 Z6Times New Roman RegularXXN4  p'G;Xp'4 XXN\  P(XP(9 Z6Times New Roman RegularXXN4  p)G;Xp'4 XXN\  P*XP(9 Z6Times New Roman RegularXXr\  P+QXP<  Y Z$Symbol RegularXXN\  P,XP(9 Z6Times New Roman RegularXXN4  p-G;Xp'4 XXN\  P.XP(9 Z6Times New Roman RegularXXN4  p/G;Xp'4 XXN\  P0XP(9 Z6Times New Roman RegularXXN4  p1G;Xp'4 XXN\  P2XP(9 Z6Times New Roman RegularXXN4  p3G;Xp'4 XXN\  P4XP(9 Z6Times New Roman RegularXXN4  p5G;Xp'4 XXN\  P6XP(9 Z6Times New Roman RegularXXr\  P7QXP<  Y Z$Symbol RegularXXN\  P8XP(9 Z6Times New Roman RegularXXN4  p9G;Xp'4 XXN\  P:XP(9 Z6Times New Roman RegularXXN4  p;G;Xp'4 XXN\  P<XP(9 Z6Times New Roman RegularXXN4  p=G;Xp'4 XXN\  P>XP(9 Z6Times New Roman RegularXXr\  P?QXP<  Y Z$Symbol RegularXXN\  P@XP(9 Z6Times New Roman RegularXXr\  PAQXP<  Y Z$Symbol RegularXXN\  PBXP(9 Z6Times New Roman RegularXXN4  pCG;Xp'4 XXN\  PDXP(9 Z6Times New Roman RegularXXr\  PEQXP<  Y Z$Symbol RegularXXN\  PFXP(9 Z6Times New Roman RegularXXN4  pGG;Xp'4 XXN\  PHXP(9 Z6Times New Roman RegularXXN\  PIXP\  `*Times New RomanTTXXN4  pJG;Xp'4 XXN\  PKXP\  `*Times New RomanTTXXN\  PLXP(9 Z6Times New Roman RegularXXN\  PMXP\  `*Times New RomanTTXXN4  pNG;Xp'4 XXN\  POXP\  `*Times New RomanTTXXN\  PPXP(9 Z6Times New Roman RegularXXr\  PQQXP<  Y Z$Symbol RegularXXN\  PRXP(9 Z6Times New Roman RegularXXN4  pSG;Xp'4 XXN\  PTXP(9 Z6Times New Roman RegularXXN4  pUG;Xp'4 XXN\  PVXP(9 Z6Times New Roman RegularXXr\  PWQXP<  Y Z$Symbol RegularXXN\  PXXP(9 Z6Times New Roman RegularXXN4  pYG;Xp'4 XXN\  PZXP(9 Z6Times New Roman RegularXXr\  P[QXP<  Y Z$Symbol RegularXXN\  P\XP(9 Z6Times New Roman RegularXXN4  p]G;Xp'4 XXN\  P^XP(9 Z6Times New Roman RegularXXr\  P_QXP<  Y Z$Symbol RegularXXN\  P`XP(9 Z6Times New Roman RegularXXr\  PaQXP<  Y Z$Symbol RegularXXN\  PbXP(9 Z6Times New Roman RegularXXN4  pcG;Xp'4 XXN\  PdXP(9 Z6Times New Roman RegularXXr\  PeQXP<  Y Z$Symbol RegularXXN\  PfXP(9 Z6Times New Roman RegularXXN4  pgG;Xp'4 XXN\  PhXP(9 Z6Times New Roman RegularXXr\  PiQXP<  Y Z$Symbol RegularXXN\  PjXP(9 Z6Times New Roman RegularXXN4  pkG;Xp'4 XXN\  PlXP(9 Z6Times New Roman RegularXXN4  pmG;Xp'4 XXN\  PnXP(9 Z6Times New Roman RegularXXN4  poG;Xp'4 XXN\  PpXP(9 Z6Times New Roman RegularXXN4  pqG;Xp'4 XXN\  PrXP(9 Z6Times New Roman RegularXXN4  psG;Xp'4 XXN\  PtXP(9 Z6Times New Roman RegularXXN4  puG;Xp'4 XXN\  PvXP(9 Z6Times New Roman RegularXXN4  pwG;Xp'4 XXN\  PxXP(9 Z6Times New Roman RegularXXN4  pyG;Xp'4 XXN\  PzXP(9 Z6Times New Roman RegularXXN4  p{G;Xp'4 XXN\  P|XP(9 Z6Times New Roman RegularXXN4  p}G;Xp'4 XXN\  P~XP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXT\  PP\  `*Times New RomanTT{\  PQP<  Y Z$Symbol RegularT\  PP\  `*Times New RomanTT{\  PQP<  Y Z$Symbol RegularT\  PP\  `*Times New RomanTTXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularX{\  PQP<  Y Z$Symbol RegularT\  PP\  `*Times New RomanTTXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN\  PXP\  `&Times New RomanXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN\  PXP\  `&Times New RomanXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXN4  pG;Xp'4 XXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  P XP(9 Z6Times New Roman RegularXXr\  P QXP<  Y Z$Symbol RegularXXN\  P XP(9 Z6Times New Roman RegularXXr\  P QXP<  Y Z$Symbol RegularXXN\  P XP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXr\  PQXP<  Y Z$Symbol RegularXXN\  PXP(9 Z6Times New Roman RegularXXN\  PXP\  `*Times New RomanTTXXN\  PXP(9 Z6Times New Roman RegularXT\  PP(9 Z6Times New Roman Regular{\  PQP<  Y Z$Symbol RegularT\  PP\  `*Times New RomanTT{\  PQP<  Y Z$Symbol RegularT\  PP\  `*Times New RomanTT{\  PQP<  Y Z$Symbol RegularT\  PP\  `*Times New RomanTTXN\  PXP(9 Z6Times New Roman RegularXT\  PP\  `*Times New RomanTTXN\  PXP(9 Z6Times New Roman RegularXXr\  P QXP<  Y Z$Symbol RegularXXN\  P!XP(9 Z6Times New Roman RegularXXr\  P"QXP<  Y Z$Symbol RegularXXN\  P#XP(9 Z6Times New Roman RegularXXr\  P$QXP<  Y Z$Symbol RegularXXN\  P%XP(9 Z6Times New Roman RegularXXr\  P&QXP<  Y Z$Symbol RegularXXN\  P'XP(9 Z6Times New Roman RegularXXr\  P(QXP<  Y Z$Symbol RegularXXN\  P)XP(9 Z6Times New Roman RegularXXr\  P*QXP<  Y Z$Symbol RegularXXN\  P+XP(9 Z6Times New Roman RegularXT\  P,P\  `*Times New RomanTT{\  P-QP<  Y Z$Symbol RegularT\  P.P\  `*Times New RomanTT{\  P/QP<  Y Z$Symbol RegularT\  P0P\  `*Times New RomanTTXN\  P1XP(9 Z6Times New Roman RegularXXr\  P2QXP<  Y Z$Symbol RegularXXN\  P3XP(9 Z6Times New Roman RegularXXr\  P4QXP<  Y Z$Symbol RegularXXN\  P5XP(9 Z6Times New Roman RegularXXr\  P6QXP<  Y Z$Symbol RegularXXN\  P7XP(9 Z6Times New Roman RegularXXr\  P8QXP<  Y Z$Symbol RegularXXN\  P9XP(9 Z6Times New Roman RegularXXr\  P:QXP<  Y Z$Symbol RegularXXN\  P;XP(9 Z6Times New Roman RegularXXr\  P<QXP<  Y Z$Symbol RegularXXN\  P=XP(9 Z6Times New Roman RegularXXr\  P>QXP<  Y Z$Symbol RegularXXN\  P?XP(9 Z6Times New Roman RegularXXr\  P@QXP<  Y Z$Symbol RegularXXN\  PAXP(9 Z6Times New Roman RegularXXr\  PBQXP<  Y Z$Symbol RegularXXN\  PCXP(9 Z6Times New Roman RegularXXr\  PDQXP<  Y Z$Symbol RegularXXN\  PEXP(9 Z6Times New Roman RegularXXr\  PFQXP<  Y Z$Symbol RegularXXN\  PGXP(9 Z6Times New Roman RegularXXr\  PHQXP<  Y Z$Symbol RegularXXN\  PIXP(9 Z6Times New Roman RegularXXr\  PJQXP<  Y Z$Symbol RegularXXN\  PKXP(9 Z6Times New Roman RegularXXr\  PLQXP<  Y Z$Symbol RegularXXN\  PMXP(9 Z6Times New Roman RegularXXr\  PNQXP<  Y Z$Symbol RegularXXN\  POXP(9 Z6Times New Roman RegularXXN4  pPG;Xp'4 XXN\  PQXP(9 Z6Times New Roman RegularXXN4  pRG;Xp'4 XXN\  PSXP(9 Z6Times New Roman RegularXXr\  PTQXP<  Y Z$Symbol RegularXXN\  PUXP(9 Z6Times New Roman RegularXXr\  PVQXP<  Y Z$Symbol RegularXXN\  PWXP(9 Z6Times New Roman RegularXXr\  PXQXP<  Y Z$Symbol RegularXXN\  PYXP(9 Z6Times New Roman RegularXXN4  pZG;Xp'4 XXN\  P[XP(9 Z6Times New Roman RegularXXN4  p\G;Xp'4 XXN\  P]XP(9 Z6Times New Roman RegularXXN4  p^G;Xp'4 XXN\  P_XP(9 Z6Times New Roman RegularXXN4  p`G;Xp'4 XXN\  PaXP(9 Z6Times New Roman RegularXXN4  pbG;Xp'4 XXN\  PcXP(9 Z6Times New Roman RegularXXN4  pdG;Xp'4 XXN\  PeXP(9 Z6Times New Roman RegularXXN4  pfG;Xp'4 XXN\  PgXP(9 Z6Times New Roman RegularXXN4  phG;Xp'4 XXN\  PiXP(9 Z6Times New Roman RegularXXN4  pjG;Xp'4 XXN\  PkXP'\ `XXN4  plG;Xp'4 XXN\  PmXP'\ `XXr\  PnQXP9\ `XXN\  PoXP'\ `XXr\  PpQXP9\ `XXN\  PqXP'\ `XXN4  prG;Xp'4 XXN\  PsXP'\ `XXN4  ptG;Xp'4 XXN\  PuXP'\ `XXN4  pvG;Xp'4 XXN\  PwXP'\ `XXN4  pxG;Xp'4 XXN\  PyXP'\ `XXN4  pzG;Xp'4 XXN\  P{XP'\ `XXr\  P|QXP9\ `X23|xo. d UUUUUUUUUUUUU ,,,888EEEQQQaaaqqq*.. + e  .1  &` & MathType "- K  @Times New Roman- 2 2CG+B 2 t} 2  g 2 s 2 ds [Times New Roman- 2 7popppp 2 3 popppp 2 61t> 2 #(popppp@Times New Roman- 2 Z( 2 ) 2 ( 2  exp[ 2 ]) [Times New Roman- 2 *p@Symbol- 2 = 2 -\Symbol- 2 }@Times New Roman- 2 ` 100 2 `100 [Times New Roman- 2 #0p@Symbol- 2 d & "System-.G d UUUUUUUUUUUUU ,,,888EEEQQQaaaqqq*..G G +   .1   &R & MathType @Times New Roman- 2 2CG+B 2 {t} 2 ! g 2 ms 2 Uds [Times New Roman- 2 tfp>>p 2 0 tfp>>p 2 t> 2 dtfp>>p@Times New Roman- 2 ( 2 ) 2 d( 2 E exp[ 2 ]) [Times New Roman- 2  *p@Symbol- 2 = 2 x-\Symbol- 2 = [Times New Roman- 2 Z0p@Symbol- 2 Ed & "System-The DICE99 Excel spreadsheet is contained in the file dice99.xls. I. Worksheets The spreadsheet contains four worksheets:  Model ,  Saved Output ,  Output,  and  ESP . A. Model  Contains the equations that make up the DICE model. This worksheet contains four kinds of rows: Parameters and Exogenous Variables, Endogenous Variables, Control Variables, and Key Shadow Prices. Parameter and Exogenous Variable rows contain either values (as opposed to formulas) or formulas based entirely on other Parameter and Exogenous Variable rows. Endogenous Variable rows contain formulas based on both the exogenous variables and the control variables. The Control Variable rows are determined by the user. A policy is a choice of values for these rows. The Key Shadow Price rows are formulas based on the Endogenous Variables. The Key Shadow Price rows are included in the Model worksheet because they indicate whether the Control Variables are optimal. (See section III.C.1 for more on this.) Important: the user should not enter numbers directly into the Carbon tax row ( Model , row 99). This will erase a formula. Instead, when choosing values for the carbon tax, the user should enter them into the Unconstrained carbon tax row ( Model , row 110). This is explained fully in sections II.A.3 and II.A.4.b. B. Saved Output Contains selected output from the base case and other cases. (See section III.B for discussion of cases.) This worksheet consists entirely of values (No formulas). Thus, it is not changed when a new policy or other change alters the endogenous variables. The Saved Output worksheet is included as an example of how to save output from a model run, records useful output from the base case and other cases, and allows measures of the welfare impacts of policies to be constructed on the Output worksheet. C. Output This worksheet displays model output. Consists of formulas linked to the Model worksheet. D. ESP  This worksheet calculates the environmental shadow price of carbon, one of the Key Shadow Prices on the model worksheet. II. Model structure In the spreadsheet, we follow the convention that endogenous variables are in bold font while exogenous variables and parameters are in normal font. When we refer to a row on a worksheet, we will generally refer to it as Variable name ( Worsksheet name , row #) In the formulas below, t represents time. In 1995 t=1, in 2005 t=2, etc. Factors of 10, 100, and 1000  Since each time period spans a decade in the model, and since flows and some rates of change are represented on the spreadsheet on a per year basis, factors of 10 are needed when expressing stocks as functions of flows or expressing parameters as functions of annual rates of change. For instance, the gross change in the capital stock from period to period is 10 times annual investment. We display percentages rather than fractions on the spreadsheet. In the formulas creating these percentages, fractions are multiplied by 100; similarly, in formulas linked to the percentages on the spreadsheet which call for fractions rather than percentages, we divide the percentages by 100. The units in which variables on the spreadsheet are commonly measured are occasionally inconsistent. We usually refer to carbon intensity in terms of tonnes of carbon per $1000 of GDP but refer to the carbon tax in terms of $/tonne, not $1000 per tonne. Factors of 10 to 1000 occur occasionally in the spreadsheet formulas to allow for the expression of all the variables in their mostcommonly used units. A. Model Worksheet 1. Parameters and Exogenous Variables a. Output and Capital Accumulation Row 5 `   Xr\  PQ q XN\  P 1#h#((Damage coefficient on temperature  Parameter in Climate damage ( Model , row 74). Also enters Marginal effect of temperature on output ( ESP , row 4) Row 6 Xr\  PQ  q XN\  P 2#h#Damage coefficient on temperature squared Parameter in Climate damage ( Model , row 74). Also enters Marginal effect of temperature on output ( ESP , row 4). Row 7`  b1 (t)#h#Abatement cost function coefficient Parameter in Abatement cost ( Model , row 72). Also enters Control rate ( Model , row 82) and Carbon tax ( Model , row 99). Also enters formula for the Unconstrained carbon tax ( Model , row 110) when the macro LimCT is run (in solving the emissions limits case. See section III.B below). Row 8 `  b1*#h#((Initial cost function coefficient.  Determines firstperiod value of Abatement cost function coefficient. ( Model , row 7) Row 9`  gb*#h#Initial rate of growth in abatement cost coefficient.  Parameter in growth rate of Abatement cost coefficient. ( Model , row 11) Row 10 Xr\  PQ d XN\  P b#h#Rate of decline in growth rate of abatement cost coefficient Parameter in growth rate of Abatement cost coefficient. ( Model , row 11) Row 11gb(t)#h#Growth rate of abatement cost coefficient Parameter that determines Abatement cost function coefficient. ( Model , row 7). Row 12`  b2#h#Exponent of abatement cost function Parameter in Abatement cost ( Model , row 72). Also enters Control rate ( Model , row 82) and Carbon tax ( Model , row 99). Also enters formula for the Unconstrained carbon tax ( Model , row 110) when the macro LimCT is run (in solving the emissions limits case. See section on Cases below) Row 13 Xr\  PQ g XN\  P #h#Capital share Parameter in Output gross of climate damage and abatement costs. ( Model , row 71) Also enters Interest rate (Model, row 103) and Output, base case temperature (Output, row 9) Row 14 Xr\  P Q `  d XN\  P  #h#Rate of depreciation Parameter in Capital stock ( Model , row 79). Also enters Interest rate ( Model , row 103) and Output, base case temperature ( Output , row 10). Row 15`  K*#h#Initial capital stock Parameter in Capital stock ( Model , row 79). Also enters Capital, base case temperature ( Output , row 10). b. Emissions Row 17 Xr\  P Q `  d XN\  P  L#h#Rate of decline in landuse change emissions Parameter that determines Carbon emissions from landuse change ( Model , row 18) Row 18`  LU(t)#h#Carbon emissions from landuse change Parameter in Total emissions ( Model , row 81). Also enters formula for the Unconstrained carbon tax ( Model , row 110) when the macro LimCT is run (in solving the emissions limits case. See section III.B below) Row 19`  LU*#h#Initial carbon emissions from landuse change Parameter in Emissions from landuse change ( Model , row 18) Row 20`  Xr\  P Q  s( XN\  P t Xr\  PQ ) XN\  P #h#Industrial CO2 emissions to output ratio  Parameter in Industrial emissions ( Model , row 80). Also enters Control rate ( Model , row 82) and Carbon tax ( Model , row 99). Also enters formula for the Unconstrained carbon tax ( Model , row 110) when the macro LimCT is run (in solving the emissions limits case. See section III.B below). This parameter represents the CO2output ratio in the absence of environmental controls ! in a policy where the carbon tax is zero. The actual CO2output ratio in a given case will depend on the Control rate ( Model , row 82), which is a function of the Carbon tax ( Model , row 99). Row 21 Xr\  PQ `  s* XN\  P #h#Initial industrial CO2 emissions to output ratio  Determines firstperiod value of Industrial CO2 emissions to output ratio ( Model , row 20) Row 22`  g Xr\  PQ s XN\  P *#h#Initial growth rate of industrial CO2 emissions to output ratio.  Parameter in Growth rate of industrial CO2 emissions to output ratio ( Model , row 25) Row 23 Xr\  PQ `  ds XN\  P 1#h#Rate of decline in growth rate of sigma Parameter in Growth rate of industrial CO2 emissions to output ratio ( Model , row 25) Row 24 Xr\  PQ `  ds2 XN\  P #h#Acceleration parameter of growth rate of sigma Parameter in Growth rate of industrial CO2 emissions to output ratio ( XN4  pG; Model XN\  P , row 25) Row 25`  g Xr\  PQ s XN\  P (t)#h#Growth rate of industrial CO2 emissions to output ratio Parameter that determines Industrial CO2 emissions to output ratio ( XN4  pG; Model XN\  P , row 20). Row 26`  EL(t)#h#World emissions limit Limit for total CO2 emissions in the emissionslimit case. (See description of cases below.) The model user can try out different emissions limits in the model by entering different numbers in this row. This parameter enters the Unconstrained carbon tax ( XN4  pG; Model XN\  P  , row 111) when the macro LimCT is run. EL has no role in the model outside of the emissionslimit case. Row 27`  CPOT#h#Convergence parameter for optimal carbon tax Parameter determines the step size in the macro OptCT that solves for the optimal carbon tax.. CPOT must be set to a number bigger than 0 and no larger than 1. (See section III.C.2.b for advice on choosing CPOT.) CPOT enters into the Iteration step. ( XN4  p!G; Model XN\  P" , row 110) c. Population Row 29`  L(t)#h#Population Enters into Output gross of climate damage and abatement costs ( XN4  p#G; Model XN\  P$ , row 71), Per capita consumption ( XN4  p%G; Model XN\  P& , row 93), Periodspecific utility function ( Model , row 94), GDP per capita ( Output , row 7) and Output, base case temperature ( Output , row 9). Row 30`  L*#h#Initial population  Determines firstperiod value of Population ( XN4  p'G; Model XN\  P( , row 29) Row 31`  gpop*#h#Initial population growth rate  Parameter in Cumulative population growth rate ( XN4  p)G; Model XN\  P* , row 33) Row 32 Xr\  P+Q `  d XN\  P, pop#h#Rate of decline in population growth rate  Parameter in Cumulative population growth rate ( XN4  p-G; Model XN\  P. , row 33) Row 33`  CGpop(t)#h#Cumulative population growth rate Parameter that determines Population ( XN4  p/G; Model XN\  P0 , row 29). d. Productivity Row 35`  TFP(t)#h#Total factor productivity Enters into Output gross of climate damage and abatement costs ( XN4  p1G; Model XN\  P2 , row 71) and Output, base case temperature ( Output , row 9)Row 36`  TFP*#h#Initial level of total factor productivity  Determines firstperiod value of Total factor productivity ( XN4  p3G; Model XN\  P4 , row 35) Row 37`  gtfp*#h#Initial productivity growth rate Parameter in Productivity growth rate ( XN4  p5G; Model XN\  P6 , row 39) Row 38 Xr\  P7Q `  d XN\  P8 tfp#h#Rate of decline in productivity growth rate  Parameter in Productivity growth rate ( XN4  p9G; Model XN\  P: , row 39) Row 39`  gtfp(t)#h#Productivity growth rate Parameter that determines Total factor productivity ( XN4  p;G; Model XN\  P< , row 35).  e. Concentrations Row 41`  M*Initial atmospheric concentration of CO2 Row 42`  MU*#h#Initial concentration of CO2 in biosphere/shallow oceans Row 43`  ML*#h#Initial concentration of CO2 in deep oceans Parameters in carbon cycle equations ( XN4  p=G; Model XN\  P> , rows 8486) Rows 4451 Xr\  P?Q `  f11, f12,#h# XN\  P@ Carbon cycle transition coefficients  Xr\  PAQ f21, f22, f23, f32, f33  XN\  PB  Parameters in carbon cycle equations ( XN4  pCG; Model XN\  PD , rows 8486)  Xr\  PEQ f XN\  PF ij specifies the percentage of carbon in box j at the start of a decade that moves into box i over the decade. Row 52`  CL#h#Concentrations limit Limit for atmospheric carbon concentrations in the concentrationslimit case. (See description of cases in section III.B) The model user can try out different concentrations limits in the model by entering different numbers in this cell. This parameter enters Marginal effect of environment on output ( ESP , row 4) when the macro Climdfunction is run. Outside of the concentration limits case, CL plays no role in the model. The default value is 1192.8 GtC, double the assumed preindustrial atmospheric concentration of carbon dioxide. f. Temperature TTRow 54`  O(t)#h#Exogenous forcing  Forcing from sources other then CO2 emissions. Enters Total increase in radiative forcing since preindustrial ( XN4  pGG; Model XN\  PH , row 89).  XN\  PI  Row 55`  T*#h#Initial atmospheric temperature Enters Atmospheric temperature ( XN4  pJG; Model XN\  PK , row 88) Row 56`  TLO*#h#Initial temperature of the deep oceans  XN\  PL   XN\  PM Enters Lower ocean temperature ( XN4  pNG; Model XN\  PO , row 90) XN\  PP  Row 57 Xr\  PQQ `  s XN\  PR 1 Speed of adjustment parameter for atmospheric carbon Enters Atmospheric temperature ( XN4  pSG; Model XN\  PT , row 88) Row 58`  CS#h#Climate sensitivity Parameter in Atmospheric temperature ( XN4  pUG; Model XN\  PV , row 88). Specifies the longrun increase in temperature over preindustrial levels due to a doubling of atmospheric carbon concentrations from preindustrial levels. Row 59 Xr\  PWQ `  s XN\  PX 2#h#Coefficient of heat loss from atmosphere to oceans Parameter in Atmospheric temperature ( XN4  pYG; Model XN\  PZ , row 88) Row 60 Xr\  P[Q `  s XN\  P\ 3#h#Coefficient of heat gain by deep oceans Parameter in Lower ocean temperature ( XN4  p]G; Model XN\  P^ , row 90) Row 61`  TL#h#Temperature limit Limit for atmospheric temperature in the temperaturelimit case. (See description of cases below.) The model user can try out different temperature limits in the model by entering different numbers in this cell. This parameter enters Marginal effect of environment on output ( ESP , row 4) when the macro Tlimdfunction is run. Outside of the temperaturelimits case, this parameter plays no role in the model. The default value is 2.5 degrees Celsius. g. Welfare Row 63`   Xr\  P_Q  r( XN\  P` t Xr\  PaQ ) XN\  Pb #h#Social rate of time preference  Parameter in Social time preference factor ( XN4  pcG; Model XN\  Pd , row 66) Row 64 Xr\  PeQ `   r XN\  Pf *#h#Initial social rate of time preference Parameter in Social rate of time preference ( XN4  pgG; Model XN\  Ph , row 63)Row 65`   g Xr\  PiQ r XN\  Pj #h#Rate of decline of social rate of time preference Parameter in Social rate of time preference ( XN4  pkG; Model XN\  Pl , row 63) Row 66`   R(t)#h#Social time preference factor Parameter in Periodspecific utility term ( XN4  pmG; Model XN\  Pn , row 94) and Discount factor ( XN4  poG; Model XN\  Pp , row 96) Row 67`   USM#h#Multiplicative scaling factor in utility function Parameter in Welfare ( XN4  pqG; Model XN\  Pr , row 95). Calibrated so that small changes in Welfare from the base case level are measured in units of first period consumption ! ie, dW/dC(0)=1 in the solution of the base case. Row 68`   USAD#h#((Additive scaling factor in utility function Parameter in Welfare ( XN4  psG; Model XN\  Pt , row 95). Calibrated so that in the base case Welfare equals Present value of consumption ( Model , row 97).  2. Endogenous Variables  a. Output Row 71`   Y(t)#h#Output gross of climate damage and abatement costs Enters into Output gross of climate damage ( XN4  puG; Model XN\  Pv , row 73), Industrial carbon emissions ( XN4  pwG; Model XN\  Px , row 80), and Industrial carbon intensity ( Output , row 27) Row 72`   ACP(t)#h#Abatement cost (as a percentage of Y)AxA Percentage of output lost due to costs of abating CO2 emissions. Enters into Output gross of climate change ( XN4  pyG; Model XN\  Pz , row 73). Row 73`   YGR(t)#h#((Output gross of climate damage Enters into Output net of climate damage and abatement costs ( XN4  p{G; Model XN\  P| , row 75) and Marginal effect of environment on output ( ESP , row 4). Row 74`   D(t)#h#Climate damage Percentage of output lost due to damage from temperature increase. Enters into Output net of climate damage and abatement costs ( XN4  p}G; Model XN\  P~ , row 75), Control rate ( Model , row 82), Carbon tax ( Model , row 99), Climate damage (Output, row 12), and Marginal effect of environment on output ( ESP , row 4).Row 75 `  Q(t)#h#Output net of climate damage and abatement costs Output available for consumption and investment. Enters into Investment ( XN4  pG; Model XN\  P , row 77), Consumption ( XN4  pG; Model XN\  P , row 92), Interest rate ( XN4  pG; Model XN\  P , row 103), Output ( Output , row 4), and GDP, difference from reference ( Output , row 5) b. Capital accumulation Row 77`   I(t)#h#Investment Gross capital accumulation. Enters into Capital ( XN4  pG; Model XN\  P , row 78) and Consumption ( Model , row 92) Row 78`   K(t)#h#Capital Capital stock. Enters into Output gross of abatement costs and climate damage ( XN4  pG; Model XN\  P , row 71) and interest rate ( XN4  pG; Model XN\  P , row 103) c. Emissions Row 80`   E(t)#h#Industrial CO2 emissions Enters into Total CO2 emissions ( XN4  pG; Model XN\  P , row 81), Industrial CO2 emissions ( Output , row 26), and Industrial carbon intensity ( Output , row 27). Row 81`   ET(t)#h#Total CO2 emissions Enters into Atmospheric CO2 concentration ( XN4  pG; Model XN\  P , row 82) and Total CO2 emissions ( Output , row 25). Row 82 Xr\  PQ `   m XN\  P (t)#h#Control rate Percent decrease in emissions from their zerocarbon tax level. Enters into Industrial CO2 emissions ( XN4  pG; Model XN\  P , row 80), Abatement cost ( XN4  pG; Model XN\  P , row 72), and Control rate ( Output , row 30). The Control rate is a function of the Carbon tax ( XN4  pG; Model XN\  P , row 99). From II.A.5.1417 and II.A.5.20, II.A.2.1Q(t)=[1/(1+D(t)/100)](1b1( Xr\  PQ m XN\  P (t)/100)b2)Y(t) II.A.5.20 T\  P E(t) = (1 {\  PQ m T\  P (t)/100) {\  PQ s T\  P (t)Y(t) XN\  P  II.A.5.20 can be rewritten II.A.2.2  Xr\  PQ m XN\  P (t)=100[1E(t)/ {\  PQ s T\  P (t)Y(t) XN\  P ]Plugging II.A.2.2 into II.A.2.1 and taking dQ(t)/dE(t), we get a formula for the marginal product of emissions: II.A.2.3dQ(t)/dE(t) ={ [1/(1+D(t)/100)]b1(t)b2( Xr\  PQ m XN\  P (t)/100)(b21)}/ Xr\  PQ s XN\  P (t) Economic agents produce Industrial carbon dioxide emissions ( Model , row 80) until the marginal product equals the marginal cost. In our model, emissions have zero economic cost; thus, the marginal cost of an emission is the Carbon tax ( Model , row 99). Setting the marginal product of emissions equal to the Carbon tax, we can solve for the Control rate induced by a given Carbon tax. d. Carbon cycle Row 84`   M(t)#h#Atmospheric carbon concentration Enters into Biosphere/upper ocean carbon dioxide concentration ( Model , row 85), Total increase in radiative forcing since preindustrial ( XN4  pG; Model XN\  P , row 89) and dF(t)/dE(i) ( ESP , rows 78112). When the macro Climdfunction has been run, this variable enters into Marginal effect of the environment on output ( ESP , row 4). `  Row 85`   MU(t)#h#((Biosphere/upper ocean carbon dioxide concentration Enters into Atmospheric CO2 concentration ( XN4  pG; Model XN\  P , row 84) and Deep ocean CO2 concentration ( XN4  pG; Model XN\  P , 86) Row 86`   ML(t)#h#Deep ocean CO2 concentration Enters into Biosphere/upper ocean CO2 concentration ( XN4  pG; Model XN\  P , 85) e. Temperature Row 88`   T(t)#h#Atmospheric temperature This variable serves as a comprehensive measure of climate change in the DICE model. All harmful environmental effects of greenhouse gases occur through the effect of this variable on GDP. Enters Climate damage ( XN4  pG; Model XN\  P , row 72), Lower ocean temperature ( XN4  pG; Model XN\  P , row 90), Atmospheric temperature ( Output , row 13), Global mean temperature, difference from base ( Output , row 15), and Marginal effect of environment on output ( ESP , row 4).  Row 89`   F(t)#h#Increase in radiative forcing since preindustrial times Enters Atmospheric temperature ( XN4  pG; Model XN\  P , row 88). The 596.4 in II.A.5.28 is our estimate of preindustrial concentrations of carbon dioxide. A doubling of carbon dioxide relative to its preindustrial level will raise radiative forcing by 4.1 W/m2 over its preindustrial level, according to this equation.77 Row 90`   TLO(t)#h#((Lower ocean temperature Enters Atmospheric temperature ( XN4  pG; Model XN\  P , row 90) f. Welfare Row 92`   C(t)#h#Consumption Enters into Consumption per capita ( XN4  pG; Model XN\  P , row 93) Row 93`   CPC(t)#h#((Consumption per capita Enters into Periodspecific utility function ( XN4  pG; Model XN\  P , row 95), Discount factor ( XN4  pG; Model XN\  P , row 96), and Consumption ( Output , row 17). Row 94`   U(t)#h#Periodspecific utility term Individual period terms in the time separable social welfare function. Enters Welfare ( XN4  pG; Model XN\  P , row 95). Row 95`   W#h#Welfare This cell displays the value of the social welfare function, the measure of the overall welfare of society. Row 96`   DF(t)#h#Discount factor Ratio of marginal social welfare of consumption in time t to the marginal social welfare of consumption in the first period, or the value of a unit of future consumption in terms of units of consumption today. Enters into Present value of consumption ( Model , row 97) and Discount rate ( Model , row 104). (II.A.2.4)` DF(t) = R(t)L(t)C(0)/[C(t)L(0)] This is derived by taking the derivative of II.A.5.32 with respect to C(t). Row 97`   PVC#h#Present value of consumption An alternative welfare measure to Welfare, this is the sum across periods of consumption, discounted by the discount factor. (II.A.2.5)` PVC =  Xr\  PQ S XN\  P  10DF(t)C(t)  t  Note: If one is comparing the present value of consumption across policies, one should use the same discount factors to calculate both discounted sums. 3. Control Variables Row 99 Xr\  PQ `   t XN\  P #h#Carbon tax The tax that must be paid for each metric ton of industrial emissions. This variable is the policymakers means of controlling emissions. By increasing the tax, the policymaker makes emissions more costly, thus decreasing their use. This variable enters the formula for the Control rate ( XN4  pG; Model XN\  P , row 82), Iteration step ( XN4  pG; Model XN\  P , row 109), and Carbon tax ( Output , row 32). The control rate formula allows the Control rate ( Model , row 82) to be over 100% for high enough  Xr\  PQ t XN\  P . This would imply negative Industrial CO2 emissions. To prevent the Carbon tax from entering this range, we have made the carbon tax row a formula that caps the Carbon tax at the value that sets the Control rate to 100. Model users should not enter values into the carbon tax row directly; this will erase the formula. Instead, values for the Carbon tax should be entered into the Unconstrained carbon tax ( Model , row 110). The value that appears in the carbon tax row will then be the minimum of the userentered tax rate and the zeroindustrialemissions tax rate:   Xr\  PQ (II.A.3.1)` t XN\  P (t) = min { Xr\  PQ t XN\  P UC(t) Xr\  PQ , 1000b1( XN\  P t Xr\  PQ )b2/[(1+ XN\  P D(t) Xr\  PQ /100)s( XN\  P t Xr\  PQ )]} XN\  P  The zeroindustrialemissions carbon tax, or the second term on the right hand side of (II.A.3.1) is derived by setting  Xr\  PQ m XN\  P (t) = 100 in II.A.5.22 and solving for  Xr\  PQ t XN\  P (t). Row 100`   s(t)#h#Savings rate The Savings rate determines which fraction of output is devoted to consumption and which to investment. It enters the formula for Investment ( XN4  pG; Model XN\  P , row 77) and Capital, base case temperature ( Output , row 10). The user enters his choice for the savings rates directly into the Savings rate row. 4. Key shadow prices a. Capital Row 103`   i(t)#h#Interest rate Rate of return on investment, expressed as an annual rate. Enters into the Difference between the interest rate and discount rate ( XN4  pG; Model XN\  P , row 105).  An additional unit of investment in the current period has two benefits in the next period. It increases output and reduces the investment necessary to attain a given target for the capital stock. Thus, the interest rate that applies to investment in the current period can be derived by adding the marginal product of capital in the next period to the fraction of investment that remains after one decades depreciation, and then converting the sum into an annual rate: (II.A.4.1)[1+i(t)/100]10 = 10 Xr\  PQ g XN\  P Q(t+1)/K(t+1) + (1 Xr\  PQ d XN\  P /100)10   XN\  P There is no factor of 10 on the second term in the first equation above, because an increase of 10 in endofperiod capital stock reduces the peryear investment necessary to attain a given target by only 1. Rearranging (II.A.4.1) gives us the spreadsheet formula for the interest rate:  XN\  P (II.A.4.2)`  i(t) = 100{[10 Xr\  PQ g XN\  P Q(t+1)/K(t+1) + (1 Xr\  PQ d XN\  P /100)10]1/10 1} XN\  P  4 <DL! XN\  P Row 1044  DR(t)  < Discount rate   Ratio of marginal social welfare of consumption in current period to that in next period, expressed as an annual rate. Enters into the Difference between the interest rate and discount rate ( XN4  pG; Model XN\  P , row 105). (II.A.4.3)[1+DR(t)/100]10 = [dW/dC(t)]/[dW/dC(t+1)] = DF(t)/DF(t+1) (II.A.4.4)4DR(t) = 100([DF(t)/DF(t+1)]1/10 1) Variable list Row 1054  DiffC(t) < %%Difference between interest rate and discount rate  Serves as a criterion to judge whether the Savings rate is optimal. Optimal savings rates will set DiffC to zero. (II.A.4.5)4DiffC(t) = 100[i(t) DR(t)]/DR(t) b. Emissions Row 1074  ESP(t) < %%Environmental shadow price of carbon  Societal willingness to pay to avoid the marginal environmental consequences of carbon dioxide emissions. The calculation of ESP is done on the ESP worsksheet. Enters into Difference between carbon tax and ESP ( XN4  pG; Model XN\  P , row 108), Iteration step ( XN4  pG; Model XN\  P , row 109), and Environmental shadow price of carbon ( Output , row 33) Row 1084  DiffE(t) < %%Difference between carbon tax and ESP  Serves as a criterion to judge whether the Carbon tax is optimal. The optimal Carbon tax sets DiffE to zero ! the marginal product of emissions should equal their marginal environmental cost.(II.A.4.6)4DiffE(t) = 100[ESP(t)  Xr\  PQ t XN\  P (t)]/ESP(t) Row 1094  IS(t)  < Iteration step  A point midway between the Carbon tax and ESP. Used in the macro OptCT that finds the optimal Carbon tax. IS(t) is the next value that the algorithm will try in the Unconstrained carbon tax row ( Model , row 110). (II.A.4.7)IS(t) =  Xr\  PQ t XN\  P (t) + CPOT(ESP(t)  Xr\  PQ t XN\  P (t)) Row 110 Xr\  PQ 4  t XN\  P uc(t)  < Unconstrained carbon tax *  In this row the user specifies his choice for the Carbon tax. The user can place as high a number as he would like in this row. The formula in the carbon tax row ( XN4  pG; Model XN\  P , row 99) prevents the Carbon tax that enters the control rate formula ( XN4  pG; Model XN\  P , row 82) from exceeding 100%. 5. List of equations This list contains all formulas on the Model worksheet up to row 95. These comprise the equations of the DICE99 model. (II.A.5.1) b1(t)=b1(t1)/[1+gb(t)/100] Row 7 b1(1)=b1* (II.A.5.2)4gb(t)=gb*exp( Xr\  PQ 10(d XN\  P b/100)t) Row 11 (II.A.5.3)4LU(t)=LU*(1[ Xr\  PQ d XN\  P L/100])t Row 18 (II.A.5.4)4 Xr\  PQ s XN\  P (t)= Xr\  PQ s XN\  P (t1)/[1+g Xr\  PQ s XN\  P (t)/100] Row 20  Xr\  PQ s XN\  P (1)= Xr\  PQ s XN\  P  * (II.A.5.5)4g Xr\  P Q s XN\  P  (t)=g Xr\  P Q s XN\  P  *exp( Xr\  PQ (ds XN\  P /100)t Xr\  PQ ds2 XN\  P t) Row 25 (II.A.5.6)L(t)=L*exp[CGpop(t)] Row 29 (II.A.5.7)4 Row 33 )  )  ) y . dd y    (II.A.5.8) 4TFP(t)=TFP(t1)/[1+gtfp(t)/100] Row 35 TFP(1)=TFP* (II.A.5.9)4gtfp(t)=gtfp*exp( Xr\  PQ (d XN\  P tfp/100)t) Row 37  (II.A.5.9) Row 394 )  )  ) y, .G dd, y     XN\  P (II.A.5.10) O(t) = 0.1965 + 0.13465t**/D/t < 12 Row 54 = 1.15  < %%**t > 11 XN\  P    T\  P (II.A.5.11) {\  PQ   r T\  P (t) =  {\  PQ r T\  P *exp(10(g {\  PQ r/100) T\  P t) XN\  P  Row 63  (II.A.5.12) T\  P R(t) = R(t1)/[1+ #(t1)]10 XN\  P  Row 66 R(1) = 1 (II.A.5.13)Y(t)=TFP(t)(K(t) Xr\  P Q g XN\  P! )(L(t)1 Xr\  P"Q g XN\  P# ) Row 71 (II.A.5.14)ACP(t) = 100b1( Xr\  P$Q m XN\  P% (t)/100)b2 Row 72 (II.A.5.15) YGR(t) = [1(ACP(t)/100)]Y(t) Row 73 (II.A.5.16)D(t) =100*(  Xr\  P&Q q XN\  P' 1T(t)+ Xr\  P(Q q XN\  P) 2T(t)2) Row 74 (II.A.5.17) Q(t)=YGR(t)/(1+D(t)/100) Row 75 (II.A.5.18) I(t) = (s(t)/100)Q(t) Row 77(II.A.5.19)K(t) = 10I(t)+K(t1)(1 Xr\  P*Q d XN\  P+ /100)10 Row 78K(1) = K*  T\  P, (II.A.5.20) E(t) = (1 {\  P-Q m T\  P. (t)/100) {\  P/Q s T\  P0 (t)Y(t) XN\  P1  Row 80 (II.A.5.21) ET(t) = E(t) + LU(t) Row 81  Xr\  P2Q (II.A.5.22) m XN\  P3 (t)=100[( Xr\  P4Q t( XN\  P5 t Xr\  P6Q )/1000)s( XN\  P7 t Xr\  P8Q )(1+ XN\  P9 D(t)/100)/(b1(t)b2)]1/(b21) Row 82 (II.A.5.23) M(t) = 10ET(t1) + ( Xr\  P:Q f XN\  P; 11/100)M(t1) + ( Xr\  P<Q f XN\  P= 12/100)MU(t1) Row 84M(1)= M* (II.A.5.24) MU(t) = ( Xr\  P>Q f XN\  P? 21/100)M(t1) + ( Xr\  P@Q f XN\  PA 22/100)MU(t1) + ( Xr\  PBQ f XN\  PC 23/100)ML(t1) Row 85MU(1)= MU* (II.A.5.26) ML(t) = ( Xr\  PDQ f XN\  PE 32/100)MU(t1) + ( Xr\  PFQ f XN\  PG 33/100)ML(t1)  Row 86ML(1)= ML* (II.A.5.27) T(t) = T(t1) +  Xr\  PHQ s XN\  PI 1{F(t1) [4.1/CS]T(t1)  Xr\  PJQ s XN\  PK 2[T(t1) TLO(t1)]} Row 88T(1) = T* (II.A.5.28) F(t) = 4.1[ln(M(t)/596.4)/ln(2)] Row 89 (II.A.5.29) TLO(t) = TLO(t1) +  Xr\  PLQ s XN\  PM 3[T(t1) TLO(t1)] Row 904TLO(1) = TLO* (II.A.5.30) C(t) = Q(t) I(t) Row 92 (II.A.5.31) CPC(t) = 1000C(t)/L(t) Row 93 (II.A.5.32) U(t) = R(t)L(t)ln(CPC(t)/1000) Row 94 (II.A.5.33)W = USAD +  Xr\  PNQ S XN\  PO  U(t)/USM Row 95 t B. Saved Output This worksheet was created by solving some of the cases below (III.B) and copying the values from some of the rows in the Output worksheet. There are no formulas on this page; the rows consist entirely of values. The variable definitions are the same as the corresponding variables on the Output worksheet. Some of the rows on this page are used to construct variables on the Output worksheet that compare the users choice of policy to the base case. These rows are Row 54  QB(t) < %%Base case output  Enters GDP, difference from reference ( Output , row 5) and GDP, difference from reference, percent ( Output , row 6) Row 94  DB(t) < %%Base case climate damage   Enters Output, base case temperature ( Output , row 9), Global mean temperature, difference from base ( Output , row 15) Row 104 TB(t)  < Base case atmospheric temperature Enters Global mean temperature, difference from base ( Output , row 15) Row 144 DFB(t)  < Base case discount factor Enters Base case discount factor ( Output , row 18) Row 154 PVCB  <  Base case present value of consumption   Enters Total abatement cost of policy ( Output , row 21) and Total economic impact of policy ( Output , row 23) Row 174 ETB(t)  < Base case total carbon dioxide emissions  Enters Cumulative carbon dioxide emissions, difference from reference ( Output , row 29)  C. Output 1. Output Row 44  Q(t) < %%Output  This equals Output net of climate damage and abatement costs on the  XN4  pPG; Model XN\  PQ  worksheet.( XN4  pRG; Model XN\  PS , row 75). Enters GDP per capita ( Output , row 7) Row 54  QDR(t)%%GDP, difference from reference  Difference between GDP under users choice of policy and GDP in base case. Enters GDP, difference from reference, percent ( Output , row 6) (II.C.1.1)QDR(t) = Q(t) QB(t) Row 64  QDRP(t)%%**GDP, difference from reference, percent Difference between GDP and base case GDP, expressed as percent of base case GDP (II.C.1.2)QDRP(t) = 100[QDR(t)]/QB(t) Row 74  QPC(t)%%**GDP per capita Enters GDP per capita, ratio to 1995 ( Output , row 8) (II.C.1.3)QPC(t) = 1000Q(t)/L(t) Row 84  QPCR95(t)%%GDP per capita, ratio to 1995 Ratio of GDP per capita to its 1995 level (II.C.1.4)QPCR95(t) = QPC(t)/QPC(1995) Row 94  QBT(t)%%**Output, base case temperature  A counterfactual ! what GDP would have been under the current policy but with the same time path of temperature as in the base case. Enters Consumption, base case temperature ( Output , row 20). (II.C.1.5)QBT(t) = [1/(1+DB(t)/100)](1ACP(t)/100)A(t)KBT(t) Xr\  PTQ g XN\  PU L(t)1 Xr\  PVQ g XN\  PW  Row 104 KBT(t) < %%Capital, base case temperature  What Capital stock would have been under current policy but with the same time path of temperature as the base case. Enters Output, base case temperature ( Output , row 9) (II.C.1.6)KBT(t) = KBT(t1)(1 Xr\  PXQ d XN\  PY /100)10 + 10(s(t1)/100)YBT(t1) 2. Environment Row 124 D(t)  < Climate damage Equals Climate damage from  XN4  pZG; Model XN\  P[  worksheet. ( XN4  p\G; Model XN\  P] , row 74)99 Row 134 T(t)  < Atmospheric temperature  Equals Atmospheric temperature in  XN4  p^G; Model XN\  P_  worksheet. ( XN4  p`G; Model XN\  Pa , row 88) Row 144 M(t)  < Atmospheric carbon dioxide concentration Equals Atmospheric carbon dioxide concentration on  XN4  pbG; Model XN\  Pc  worksheet ( XN4  pdG; Model XN\  Pe , row 84) Row 154 TDR(t) < %%Global mean temperature, difference from reference (II.C.2.1)TDR(t) = T(t) TB(t) 3. Welfare Row 174 C(t)  < Consumption  Equals Consumption in  XN4  pfG; Model XN\  Pg  worksheet ( XN4  phG; Model XN\  Pi , row 92) Enters into Total economic impact of policy ( Output , row 23) Row 184 DFB(t)  < Base case discount factor  Equals Base case discount factor ( Saved Output, row 13). Enters into Total abatement cost of policy ( Output , row 21) and Present value of consumption, base case discount factors ( XN4  pjG; Output XN\  Pk , row 19). This row consists of values, not formulas. It was created by solving the base case and pasting the values of the Discount factor (Model, row 96) In making welfare comparisons between 2 different policies, the same relative prices should be used to discount the future consumption streams that result from both policies. Thus, in constructing the comparison measures Total abatement cost of policy ( Output , Row 21) and Total economic impact of policy ( Output , row 23), we use the base case relative prices to discount both base case consumption and consumption under current policy. Row 194 PVCBDF < Present value of consumption, base case discount factors  This is identical to Present value of consumption ( XN4  plG; Model XN\  Pm  row 97) except that the discount factors used are the Base case discount factors ( Output , row 18). Enters Total economic impact of policy ( Output , row 23) (II.C.3.1)PVCBDF =  Xr\  PnQ S XN\  Po  10DFB(t)C(t)  t Row 204 CBT(t) < %%Consumption, base case temperature  Consumption, assuming current policy and the time path of temperature in the base case. Calculating this variable allows us to separate the costs of carbon abatement from the environmental benefits of a policy. Enters Total abatement cost of policy ( Output , row 21) (II.C.3.2)CBT(t) = (1s(t)/100)QBT(t) Row 214 TAC  < Total abatement cost of policy  The total impact of a policy can be conceptually broken down into the costs of abating carbon emissions and the environmental effects of the abatement. TAC provides a measure of the first component. It is the difference between Base case present value of consumption ( Saved Output , row 15) and the present value of consumption assuming the current policy has no effect on the time path of temperature. Enters Environmental benefit of policy ( Output , row 22) (II.C.3.3)TAC = 1000[PVCB  Xr\  PpQ S XN\  Pq  10DFB(t)CBT(t)]  t Row 224 EB  < Environmental benefit of policy  Defined as a residual: the Total economic impact of a policy equals the Environmental benefit of the policy minus the Total abatement cost: (II.C.3.4)4EB = TEI + TAC Row 234 TEI  < Total economic impact of policy Difference from the base case in the present value of consumption. This is one possible measure of the overall effect of a policy on welfare. An alternative way to measure the welfare effects would be to calculate the compensating variation or equivalent variation in terms of first period consumption, using the value of the social welfare function ( XN4  prG; Model XN\  Ps , row 95). Note that since all of the negative effects of climate change are summarized by their effects on consumption in the model, Total economic impact of policy includes the environmental effect. (II.C.3.5)TEI = PVBDF PVCB 4. Emissions Row 254 ET(t)  < Total carbon dioxide emissions Equals Total carbon dioxide emissions on the  XN4  ptG; Model XN\  Pu  worksheet ( XN4  pvG; Model XN\  Pw , row 81) Row 264 E(t)  < Industrial carbon dioxide emissions Equals Industrial carbon dioxide emissions on the  XN4  pxG; Model XN\  Py  worksheet ( XN4  pzG; Model XN\  P{ , row 80) Row 274 ICI(t)  < Industrial carbon intensity  Ratio of industrial emissions to GDP. Enters Industrial carbon intensity growth rate ( Output , row 28) (II.C.4.1)ICI(t) = E(t)/Y(t) Row 284 gICI (t) Industrial carbon intensity growth rate (II.C.4.2)gICI(t) = 100([ICI(t+1)/ICI(t)]1/10 1 ) Row 294 CumEDB(t)Cumulative carbon dioxide emissions, difference from the reference (II.C.4.3)CumEDB(t) = CumEDB(t1) + 10 [ET(t) ETB(t)] CumEDB(1) = 0 Row 304  Xr\  P|Q m XN\  P} (t)Control rate Equals Control rate on  XN4  p}G; Model XN\  P}  worksheet ( XN4  p}G; Model XN\  P} , row 82) 5. Prices Row 32 Xr\  P}Q 4 t( XN\  P} t Xr\  P}Q ) XN\  P} Carbon tax Equals Carbon tax on  XN4  p}G; Model XN\  P}  worksheet ( XN4  p}G; Model XN\  P} , row 99) Row 334 ESP(t)  < Environmental shadow price of carbon Equals Environmental shadow price of carbon from  XN4  p}G; Model XN\  P}  worksheet ( XN4  p}G; Model XN\  P} , row 33) Row 344 i(t)  < Interest rate Equals Interest rate on  XN4  p}G; Model XN\  P}  worksheet ( XN4  p}G; Model XN\  P} , row 103) D. ESP The calculation of the environmental shadow price is a technical matter whose details need not concern most model users. The default formula for ESP is derived from the equations on the Model worksheet, so is consistent with the rest of the model. In the temperature and concentration limits cases, we use different formulas to calculate the ESP. 1. ESP calculation Row 34  ESP(t) < %%Environmental shadow price of carbon Societal willingness to pay to avoid the marginal environmental consequences of carbon dioxide emissions. Enters Environmental shadow price of carbon ( XN4  p}G; Model XN\  P} , row 107). ESP consists of the discounted sum over all future periods of the Marginal effect of the environment on output (ESP, row 4) times the marginal effect of a currentperiod emission on the environment. NOP (II.D.1.1)ESP(t) = 1000  Xr\  P}Q S XN\  P}  [DF(i)/DF(t)]MCD(i)[dT(i)/dE(t)] i=t+1  where NOP is the number of periods in the model. When the macro climdfunction is run, ESP takes the form NOP (II.D.1.2)ESP(t) = 1000  Xr\  P}Q S XN\  P}  [DF(i)/DF(t)]MCD(i)[dM(i)/dE(t)] i=t+1  Row 44  MCD(t)%%Marginal effect of environment on output  Enters Environmental shadow price of carbon ( ESP , row 3) This can be derived from II.A.5.16 and II.A.5.17  (II.D.1.3)MCD(t) = YGR(t)[ Xr\  P}Q q XN\  P} 1 + 2 Xr\  P}Q q XN\  P} 2T(t)]/(1+D(t)/100)2 When the macro Tlimdfunction is run, the equation becomes (II.D.1.4)MCD(t) = YGR(t)[CDCexp(T(t)EDC/TL)][EDC/TL]/[1+CDCexp(T(t)EDC/TL)]2 This is derived from II.A.5.17 and III.B.1.2. When the macro Climdfunction is run, the equation becomes (II.D.1.5)MCD(t) = YGR(t)[CDCexp(M(t)EDC/CL)][EDC/CL]/[1+CDCexp(M(t)EDC/CL)]2 This is derived from II.A.5.17 and III.B.1.3. Rows 640  dT(i)/dE(t)%%Marginal effect on temperature of emissions at time t  Enters Environmental shadow price of carbon ( ESP , row 3) and Marginal effect on temperature of deep oceans of emissions at time t ( ESP , rows 4276). From II.A.5.27: (II.D.1.6)4dT(i)/dE(t) = (1 4.1 Xr\  P}Q s XN\  P} 1/CS  Xr\  P}Q s XN\  P} 1 Xr\  P}Q s XN\  P} 2)[dT(i1)/dE(t) ]+  Xr\  P}Q s XN\  P} 1[dF(i1)/dE(t)] +  Xr\  P}Q s XN\  P} 1 Xr\  P}Q s XN\  P} 2[dTLO(i1)/dE(t)] dT(i)/dE(t) = 0, i=1  The marginal emission in period t has no effect on climatic variables in period t. In period t+1 it affects atmospheric concentrations and forcing, but not temperature, since forcing affects temperature with a lag. Only in period t+2 will it affect atmospheric temperature, through its effect on forcing in t+1. Thus, (II.D.1.7)dT(i)/dE(t) = 0, i < t+2 Rows 4276  dTLO(t)/dE(i)%%**Marginal effect on temperature of deep oceans of emissions at time t  Enters Marginal effect on temperature of emissions at time t ( ESP , rows 6 40). From II.A.5.29,  (II.D.1.8)dTLO(i)/dE(t) =  Xr\  P}Q s XN\  P} 3[dT(i1)/dE(t)] + (1 Xr\  P}Q s XN\  P} 3)[dTLO(i1)/dE(t)] dTLO(i)/dE(t) = 0, i=1 Since dT(i)/dE(t) becomes nonzero only in period t+2, (II.D.1.9)dTLO(i)/dE(t) = 0, i < t+3 Rows 78112  dF(t)/dE(i)%%Marginal effect on radiative forcing of emissions at time t  Enters Marginal effect on temperature on emissions at time t ( ESP , row 4) From II.A.5.28 (II.D.1.10)dF(i)/dE(t) = [dM(i)/dE(t)]4.1/[ln(2)M(t)] Since dM(i)/dE(t) becomes nonzero only when i=t+1, (II.D.1.11)dF(i)/dE(t) = 0, i < t+1 Rows 114148  dM(t)/dE(i)%%Marginal effect on atmospheric carbon dioxide concentration of emissions at time t  Enters Marginal effect on radiative forcing of emissions at time t ( ESP , rows 78112) andMarginal effect on biosphere/upper oceans carbon concentrations of emissions at time t ( ESP , rows 150184). When the macro Climdfunction is run, also enters Environmental shadow price of carbon ( ESP , row 3). From II.A.5.23, (II.D.1.12)dM(i)/dE(t) = 0, i < t+1 dM(i)/dE(t) = 10, i=t+1, dM(i)/dE(t) =  Xr\  P}Q f XN\  P} 11dM(i1)/dE(t) +  Xr\  P}Q f XN\  P} 12dMU(i1)/dE(t), i>t+1 Rows 150184  dMU(t)/dE(i)%%**Marginal effect on bioshpere/upper ocean carbon dioxide concentration of emissions at time t   Enters Marginal effect on atmospheric carbon dioxide concentration of emissions at time t ( ESP , rows 114148) and Marginal effect on deep ocean carbon dioxide concentration of emissions at time t ( ESP , rows 186220). From II.A.5.24, (II.D.1.13)dMU(i)/dE(t) = 0, i < t+2 dMU(i)/dE(t) =  Xr\  P}Q f XN\  P} 21dM(i1)/dE(t) +  Xr\  P}Q f XN\  P} 22dMU(i1)/dE(t) +  Xr\  P}Q f XN\  P} 23dML(i1)/dE(t), i>t+1 Rows 186220  dML(t)/dE(i)%%**Marginal effect on deep ocean carbon dioxide concentration of emissions at time t  Enters Marginal effect on biosphere/upper ocean carbon dioxide concentration of emissions at time t ( ESP , rows 150184) From II.A.5.26, (II.D.1.14) dML(i)/dE(t) = 0, i < t+3 dML(i)/dE(t) =   Xr\  P}Q f XN\  P} 32dMU(i1)/dE(t) +  Xr\  P}Q f XN\  P} 33dML(i1)/dE(t), i>t+2 2. Steep damage curve parameters  In the concentration limit case, we calculate MCD as if D(t) were (II.D.2.1)DSDC(t) = 100CDCexp(M(t)EDC/CL)  In the temperature limits case, replace M(t) with T(t) and CL with TL in II.D.2.1. DSDC(t) will be practically zero until M or T gets near CL TL and then will increase rapidly. The user can control DSDC and thus MCD in the concentration and temperaturelimit cases via the parameters CDC and EDC. The user controls CDC and EDC via the parameters LRP, URP, PLRP, and PURP, which have more intuitive interpretations. Changing these parameters can change the steepness of the rapid increase in DSDC and the range over which it occurs.  Row 2234 LRP  < Lower reference point  Point at which DSDC becomes PLRP. Enters into Exponent on steep damage curve ( ESP , row 227) and Coefficient on steep damage curve ( ESP , row 228) Row 2244 URP  < Upper reference point  Point at which DSDC becomes PURP. Enters into Exponent on steep damage curve ( ESP , row 227) and Coefficient on steep damage curve ( ESP , row 228) Row 2254 PLRP  < Percentage of output lost at lower reference point Enters into Exponent on steep damage curve ( ESP , row 227) and Coefficient on steep damage curve ( ESP , row 228) Row 2264 PURP  < Percentage of output lost at upper reference point Enters into Exponent on steep damage curve ( ESP , row 227) and Coefficient on steep damage curve ( ESP , row 228) LRP, URP, PLRP, and PURP are best explained by example, using the concentrations case. For the equivalent conditions in the temperaturelimit case, substitute T(t) for M(t) and TL for CL in II.D.2.2 and II.D.2.3: (II.D.2.2)When M =(1LRP/100)CL DSDC = PLRP (II.D.2.3)When M =(1+URP/100)CL DSDC = PURP  Row 2274 EDC  < Exponent on steep damage curve Enters Marginal effect of environment on output ( ESP , row 4) when either Climdfunction or Tlimdfunction are run. Row 2284 CDC  < Coefficient on steep damage curve Enters Marginal effect of environment on output ( ESP , row 4) when either Climdfunction or Tlimdfunction are run.  We derive EDC and CDC by setting up the following system of equations, which we obtain from (II.D.2.1), (II.D.2.2), and (II.D.2.3): (II.D.2.4)PLRP = 100CDCexp((1LRP/100)EDC) (II.D.2.5)PURP = 100CDCexp((1+URP/100)EDC) Which gives us  (II.D.2.6)EDC = [ln(PLRP/100) ln(CDC)]/[1LRP/100] (II.D.2.7)CDC = exp { [(1+URP/100)ln(PLRP/100) (1LRP/100)ln(PURP/100)]/ [LRP/100+URP/100]} III. Solving the  XN4  p}G; Model  XN\  P}  A. User Control  The user can try out different policies by varying the values in the control variable rows. The user can also alter the model by changing the equations or altering the exogenous variables and parameters. The latter type of change, however, should not be viewed as the implementation of a policy; it is only justifiable if the user thinks a different view of nature, of the economic and environmental constraints facing society, is in order. One possible exception is the altering of the damage coefficients ( Model , rows 5 and 6) in the geoengineering case (section III.B). One approach to setting policy is to directly enter the desired values for the Carbon tax and the Savings rate into the control variable rows. Another approach is to specify conditions for a policy to meet and then to find the values of the control variables that meet these conditions. A set of such conditions is called a case. The values of the control variables that satisfy the conditions of a case are said to solve that case, and the values of the endogenous variables that result from the solution are the output of that case. Some of the most interesting cases are listed below. B. Cases 1. Base In the base case the Carbon tax is set to zero and the Savings rate is optimized. This represents the models projection of what will happen to output, emissions, and climate if no further government action is taken to reduce climate change. It can be thought of as the unregulated market outcome: what happens if the market is left to its own forces with no attempt to internalize the climate externality. The default values of the control variables and thus of the endogenous variables are their basecase values. 2. Optimal  Both the Savings rate and the Carbon tax are optimized. That is, the Carbon tax in each period is set at the level that strikes the optimal balance between the costs and benefits of carbon abatement. 3. Emissions limits The Carbon tax is set in each period so that Total carbon dioxide emissions ( Model , row 81) do not exceed the World emissions limit ( Model , row 26) in that period. The Savings rate is again optimized. 4. Geoengineering In the geoengineering case, the damage coefficients  Xr\  P}Q q XN\  P} 1 and  Xr\  P}Q q XN\  P} 2 ( XN4  p}G; Model XN\  P} , rows 5 and 6) are set to zero and the Savings rate is optimized. The Carbon tax is set to zero. The geoengineering case, in which the climate problem is removed with the wave of a hand, allows us to put a dollar value on the damages from climate change. It can be thought of as the result of the application of a costless geoengineering technology to solve the climate change problem. Realisticallycosted geoengineering solutions can be evaluated by subtracting their costs from Output net of abatement costs and climate damage (Model, row 75) in each period.  5. Temperature limits Atmospheric temperature ( Model , row 88) is constrained not to exceed the Temperature limit ( Model , row 61). The time path of the Carbon tax is optimized subject to this constraint, and the Savings rate is optimized as well. 6. Concentrations limits Atmospheric concentration of carbon dioxide ( Model , row 84) is constrained not to exceed the Concentrations limit (Model, row 52). The time path of the Carbon tax is optimized subject to this constraint, and the Savings rate is optimized as well. C. Solving cases 1. Mathematical conditions Cases are solved by translating their conditions into mathematical conditions and then finding the values of the control variables that cause the mathematical conditions to be met. Table 1 displays the mathematical conditions for solution for the cases in part B, along with the control variable which can be altered in order to satisfy each condition. Note that when the Table 1. Conditions for Solution in DICE99   D @6"҇Case Condition for solution Mathematical condition Control variable 1. Base Optimal savings behavior DiffC = 0 ( XN4  p}G; Model XN\  P} , row 105) Savings rate Carbon externality ignored  Xr\  P}Q t XN\  P}  = 0 ( XN4  p}G; Model XN\  P} , row 99) Carbon tax 2. Optimal Optimal savings behavior DiffC = 0( XN4  p}G; Model XN\  P} , row 105) Savings rate Optimal carbon abatement DiffE = 0 ( XN4  p}G; Model XN\  P} , row 108) Carbon tax 3. Emissions limit Optimal savings behavior DiffC = 0 ( XN4  p}G; Model XN\  P} , row 105) Savings rate Total emissions equal world emissions limit ET(t) = EL(t) ( XN4  p}G; Model XN\  P} , rows 81 and 26) Carbon tax 4. Geoengineering Optimal savings behavior DiffC = 0 ( XN4  p}G; Model XN\  P} , row 105) Savings rate Temperature damage eliminated  Xr\  P}Q q XN\  P} 1=0,  Xr\  P}Q q XN\  P} 2=0 ( XN4  p}G; Model XN\  P} , rows 5 and 6) 5. Temperature limit Optimal savings behavior DiffC = 0 ( XN4  p}G; Model XN\  P} , row 105) Savings rate Optimal carbon abatement subject to temperature limit DiffE = 0, with damages a steep function of temperature Carbon tax 6. Concentration limit Optimal savings behavior DiffC = 0 ( XN4  p}G; Model XN\  P} , row 105) Savings rate Optimal carbon abatement subject to concentration limit DiffE = 0, with damages a steep function of concentration D @6"Carbon tax    carbon tax is specified as the control variable in Table 1, the user searches by altering the Unconstrained carbon tax ( XN4  p}G; Model XN\  P} , row 110). 2. Notes on individual conditions a. Optimal savings rates The easiest way to find the optimal savings rates is to use the Goal Seek command. First use the Goal Seek command to set DiffC(1) equal to zero by varying s(1), then do so for period 2, etc.In the last period, the Savings rate should be set so that Investment is equal to 2% of the Capital stock. This is done by using the Goal Seek command to set the Terminal condition for K ( XN4  p}G; Model XN\  P} , row 77, column AK) equal to zero by varying s(NOP). (NOP = number of periods.) The sequence of commands described in the above paragraph can be carried out by executing the macro FOSR. Since the Discount rate (Model, row 104) for period t depends on the Savings rate in period t+1, the user may need to repeat FOSR one or more times in order to set DiffC=0 for all t. b. Optimal carbon tax The Goal Seek command could also be used to find the Carbon tax that sets DiffE=0. An easier way to find the optimal carbon tax is to try values in the Unconstrained carbon tax row that are somewhere between the Carbon tax and the Environmental shadow price. Repeating this will generally cause DiffE to become smaller and smaller. That is, simply copy the values of the Iteration step ( XN4  p}G; Model XN\  P} , row 109), which is  Xr\  P}Q t XN\  P}  + CPOT(ESP  Xr\  P}Q t XN\  P} ), into the Unconstrained carbon tax row ( XN4  p}G; Model XN\  P} , row 110) and repeat until the Carbon tax is satisfactorily close to the Environmental shadow price. The macro OptCT carries out the operation described in the above paragraph 100 times. Increasing CPOT ( Model , row 27) will increase the iteration step size; the step taken in each iteration toward ESP will be larger. This will reduce the number of iterations needed to achieve convergence, assuming the algorithm remains stable. The drawback of increasing CPOT is that it increases the likelihood that the algorithm becomes unstable. In the optimal case, where ESP is calculated from the default damage function, the algorithm is generally stable even if CPOT is 1. The algorithm to find the optimal carbon tax is the same in the optimal, temperaturelimit, and concentrationlimit cases. What differs across these cases is the calculation of the Environmental shadow price. In order to use our optimal carbon tax algorithm to find optimal carbon abatement subject to temperature or concentration limits, we transform the limits into damage functions. Optimizing carbon abatement subject to these limits is the same as optimizing subject to a damage function that is zero before the limit is reached and unacceptably high upon reaching the limit. Since our algorithm for finding the optimal carbon taxes requires a continuous damage function, we use damage functions that are very steep near the limit rather than completely vertical at the limit; the carbon taxes that we get out of our algorithm with such functions will be very close to the optimal ones, although not exactly the same. In the optimal case, we calculate the ESP assuming (III.B.1.1)D(t) =100(  Xr\  P}Q q XN\  P} 1T(t)+ Xr\  P}Q q XN\  P} 2T(t)2) In the temperature limits case, we calculate ESP assuming (III.B.1.2)D(t) = DSTD(t) = 100CDCexp(T(t)EDC/TL) And in the concentration limits case, we calculate ESP assuming (III.B.1.3)D(t) = DSTD(t) = 100CDCexp(M(t)EDC/CL) (D(t) is Climate damage (Model, row 74).) By choice of the parameters CDC and EDC, we can make III.B.1.2 and III.B.1.3 as close to a step function as we want at the temperature or concentration limit. Note that in the temperature and concentrationlimit cases, these alternative assumptions affect only the ESP worksheet, not D(t) on the  XN4  p}G; Model XN\  P}  worksheet. The actual damages do not change in these cases, only the incentives given to the market via the solution Carbon tax. To switch from the default ESP to the temperature (concentration) limitscase ESP, use the macro Tlimdfunction (Climdfunction). To switch back, use Normaldfunction. Because of these damage functions are so steep, the algorithm to find the optimal carbon tax will generally be unstable unless CPOT ( Model , row 27) is small. For example, if Atmospheric temperature in a late period is near the limit, the ESP for an early period will be very high. If CPOT is one, the algorithm will try a high value of the Carbon tax in the early periods, which would cause emissions to be reduced in the early periods and late period temperature to be driven away from the limit. Since the function is so steep, this might well drive the ESP down to zero. The default value of CPOT is 0.0025. c. Emissions equal to world limit From II.A.5.20 and II.A.5.21, we can solve for the control rate  Xr\  P}Q m XN\  P} EL needed to satisfy the second condition for a solution in case 3, Table 1: (III.B.1.4) Xr\  P}Q m XN\  P} EL(t) = 1 [WEL(t) LU(t)]/[ Xr\  P}Q s XN\  P} (t)Q(t)]  In the emissions limit case, the limit is a cap, not a target to be met; if unregulated emissions would be below the limit in a certain period, the control rate will simply be zero in the solution, not negative. Thus, (III.B.1.5) Xr\  P}Q m XN\  P} EL(t) = 0,  Xr\  P}Q s XN\  P} (t)Q(t) < WEL(t) LU(t) From II.A.5.22, we can solve for the carbon tax  Xr\  P}Q t XN\  P} EL that induces the desired control rate: (III.B.1.6) Xr\  P}Q t XN\  P} EL(t) = 1000(b1(t)b2/[ Xr\  P}Q s XN\  P} (t)(1+D(t)/100)])[1min([WEL(t)LU(t)]/ Xr\  P}Q s XN\  P} (t)Q(t), 1)]b21 Plugging this formula into the Unconstrained carbon tax row will satisfy the solution condition for the Carbon tax in the emissions limits case. This can be carried out via the macro LimCT. D. Macros For convenience, a few macros have been programmed into DICE99: 1. ZeroDam Sets the damage coefficients  Xr\  P}Q q XN\  P} 1 and  Xr\  P}Q q XN\  P} 2 ( XN4  p}G; Model XN\  P} , rows 5 and 6) to zero. Can be used when solving the geoengineering case. 2. DefDam Sets the damage coefficients  Xr\  P}Q q XN\  P} 1 and  Xr\  P}Q q XN\  P} 2 ( XN4  p}G; Model XN\  P} , rows 5 and 6) to their default values. To be used after ZeroDam has been run to return the spreadsheet to normal. 3. ZeroCT Sets the Unconstrained carbon tax ( XN4  p}G; Model XN\  P} , row 110) and thus the Carbon tax ( XN4  p}G; Model XN\  P} , row 99) to zero. To be used when solving the base case. 4. FOSR (First order, Savings rate) Uses Goal Seek command to find values of the Savings rate ( XN4  p}G; Model XN\  P} , row 100) that set DiffC ( XN4  p}G; Model XN\  P} , row 105) equal to zero, starting with period 1 and proceeding to the nexttolast period in turn. In period 35, the last period, it finds the value of the Savings rate that sets the Terminal condition for capital (Model, cell AK78) equal to zero. Can be used to find optimal savings rates. 5. OptCT .(Optimal Carbon Tax) Copies the values of the Iteration step ( XN4  p}G; Model XN\  P} , row 109) into the Unconstrained carbon tax row ( XN4  p}G; Model XN\  P} , row 110). Repeats this operation 100 times. Can be used to find the optimal carbon tax. 6. LimCT (Limits Carbon Tax) Sets  Xr\  P}Q t XN\  P} UC equal to  Xr\  P}Q t XN\  P} EL (see III.B.1.6) and thus Total carbon dioxide emissions ( XN4  p}G; Model XN\  P} , row 81) equal to the World emissions limit ( XN4  p}G; Model XN\  P} , row 26) 7. Tlimdfunction This macro is used to change the way the Environmental shadow price of carbon ( ESP , row 4) is calculated, as explained in section III.B.2.b. When this is done, the Environmental shadow price assumes a damage function of the form III.B.1.2. Used when setting up the temperature limits case.  8. Climdfunction This macro is used to change the way ESP ( ESP , row 3) is calculated, as explained in section III.B.2.b. When this is done, the Environmental shadow price assumes a damage function of the form III.B.1.3. Used when setting up the concentration limits case. 9. Normaldfunction Sets the ESP ( ESP , row 3) and MCD ( ESP , row 4) formulas back to the default. When this macro is run, the Environmental shadow price assumes a damage function of the form III.B.1.1. To be used to restore the default formulas on the ESP worksheet after Tlimdfunction or Climdfunction is run. E. Metamacros Metamacros have been programmed into the spreadsheet to solve cases 14 by calling the macros above. They economize on user time and prevent errors by a) Making sure the spreadsheet is correctly set up for the given case b) Carrying out the expected number of iterations of each macro necessary to achieve convergence. c) Solving all conditions for a solution.  1. BASE Solves the base case. Calls the following macros in order: a) DefDam b) Normaldfunction c) ZeroCT d) FOSR (5 times)   2. Optimal Solves the optimal case. Calls the following macros in order: a) DefDam b) Normaldfunction c) OptCT (5 times) d) FOSR (5 times) e) OptCT (5 times) f) FOSR (5 times) g) OptCT (5 times)  3. Emlim Solves the emissions limits case. Calls the following macros in order: a) DefDam b) Normaldfunction c) LimCT d) FOSR (5 times) e) LimCT f) FOSR (5 times)g) LimCT 4. Geo Solves the geoengineering case. Calls the following macros in order a) ZeroDam b) Normaldfunction c) ZeroCT (5 times) d) FOSR (5 times) F. Notes on Solving the Model 1. EXCEL solver An alternative way to solve the model would be to use the EXCEL solver. For instance, one could in theory solve the optimal case by maximizing Welfare ( XN4  p}G; Model XN\  P} , row 95), varying the Control Variables ( XN4  p}G; Model XN\  P} , rows 99 and 100). Our experience with the EXCEL solver has not been good; we have found that it is difficult or computer timeintensive to get it to converge. 2. Solution time The macros generally require 515 seconds of computer time on a 500 MHz machine. The metamacros require from 14 minutes. 3. Constant savings rates We have found that optimal savings rates do not change much from case to case. Thus, assuming constant savings rates will often lose the user little in terms of solution accuracy while allowing him to avoid having to reoptimize the Savings rate with each new solution. 4. Convergence criteria The desired solution accuracy ! the values of DiffC and DiffE judged small enough to signify algorithm convergence ! is arbitrary. Getting DiffE and DiffC below 0.5 should not be too difficult in most cases. 5. Solving the temperature and concentration limits cases.  It is important to have good starting values for the Carbon tax in these cases. If the the starting carbon taxes are far from the optimum, the algorithm is likely to either be unstable or to converge to zero. The instability is explained in section III.B.2.b.  Xr\  P}Q t XN\  P} (t) = 0 will likely satisfy the condition for an optimum in these cases despite the fact that it does not represent an optimum. This is because with a zero Carbon tax, which implies temperatures and concentrations well in excess of a strict limit, the damage functions III.B.1.2 and III.B.1.3 will imply that close to 100% of output is lost to climate damages, which will imply zero environmental shadow prices because there is nothing left to lose. The user may have to experiment with starting values in the Unconstrained carbon tax row in order to get the OptCT algorithm to work in these cases. Good starting values in these cases will produce Environmental shadow prices that are neither zero nor astronomically high, at least until late periods. We searched for starting values by simply varying the Unconstrained carbon tax ( Model , row 110) until the climatic variable of interest was kept on a path that increased until it was just below the limit in late periods. On the Saved Output page we include the values for the optimal carbon tax from the 2.5degree temperature limit case and the 1192.8GtC concentration limit cases (1192.8 GtC is double our assumed preindustrial concentration) Since the starting values are a matter of trial and error, we have not automated the solution to these cases via a metamacro. Instead, we provide the following list of steps one should take to solve these cases: 1. Run the macro DefDam 2. Run the macro Tlimdfunction or Climdfunction, depending on the case.  43. Choose starting values for the Unconstrained carbon tax ( Model , row 110), following the guidelines above. 4. Run the macro OptCT until DiffE has converged satisfactorily close to zero. 5. Run the macro FOSR to optimize Savings rate  46. Repeat steps 4 and 5 until both Savings rate and Carbon tax satisfy solution conditions. 7. Record the output of interest 8. Run Normaldfunction to return the ESP worksheet to its default formulas. One may find that somewhere between steps 48, new starting values for the Carbon tax need to be selected. Note that in the temperature and concentration limits cases, to see the environmental shadow price implied by the damage function on the Model worksheet, one needs to return to the default formulas on the ESP worksheet. The alternative formulas are simply tools for solving the cases. (See III.B.2.b if this is unclear.) If the user has difficulty getting a solution to these cases, or finds that the solution allows unsatisfactory deviation of the target variable from the limit, he can alter either the Steep damage curve parameters on the ESP worksheet (rows 223226) or the CPOT parameter ( Model , row 27). The effect of changing CPOT is explained above in sections III.B.2.b. Increasing LRP, decreasing URP, decreasing PLRP, or increasing PURP will all tend to make the damage functions III.B.1.2 and III.B.1.3 more closely resemble a step function, and thus will yield a solution carbon tax that is closer to that which would actually be optimal in this model with an environmental target (see III.B.2.b). However, making any of these changes comes at the drawback of making it more difficult to get the optimal carbon tax algorithm to converge (see III.B.2.b). The default values for CPOT and the Steep damage curve parameters have generally allowed satisfactory solutions to be found with reasonable effort and time.