-
Notifications
You must be signed in to change notification settings - Fork 0
/
dice_main.gms
380 lines (322 loc) · 14.5 KB
/
dice_main.gms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
$ontext
changes to test the stern run
DICE delta version 8
July 17, 2008
This is for the revised model with climate and emissions modules changed.
This version is used for the 2007 book.
$offtext
SETS T Time periods /1*60/ ;
SCALARS
** Preferences
B_ELASMU Elasticity of marginal utility of consumption / 2.0 /
B_PRSTP Initial rate of social time preference per year / .015 /
** Population and technology
POP0 2005 world population millions /6514 /
GPOP0 Growth rate of population per decade /.35 /
POPASYM Asymptotic population / 8600 /
A0 Initial level of total factor productivity /.02722 /
GA0 Initial growth rate for technology per decade /.092 /
DELA Decline rate of technol change per decade /.001 /
DK Depreciation rate on capital per year /.100 /
GAMA Capital elasticity in production function /.300 /
Q0 2005 world gross output trill 2005 US dollars /61.1 /
K0 2005 value capital trill 2005 US dollars /137. /
** Emissions
SIG0 CO2-equivalent emissions-GNP ratio 2005 /.13418 /
GSIGMA Initial growth of sigma per decade /-.0730 /
DSIG Decline rate of decarbonization per decade /.003 /
DSIG2 Quadratic term in decarbonization / .000 /
ELAND0 Carbon emissions from land 2005(GtC per decade) / 11.000 /
** Carbon cycle
MAT2000 Concentration in atmosphere 2005 (GtC) /808.9 /
MU2000 Concentration in upper strata 2005 (GtC) /1255 /
ML2000 Concentration in lower strata 2005 (GtC) /18365 /
b11 Carbon cycle transition matrix /0.810712 /
b12 Carbon cycle transition matrix /0.189288 /
b21 Carbon cycle transition matrix /0.097213 /
b22 Carbon cycle transition matrix /0.852787 /
b23 Carbon cycle transition matrix /0.05 /
b32 Carbon cycle transition matrix /0.003119 /
b33 Carbon cycle transition matrix /0.996881 /
** Climate model
T2XCO2 Equilibrium temp impact of CO2 doubling oC / 3 /
FEX0 Estimate of 2000 forcings of non-CO2 GHG / -.06 /
FEX1 Estimate of 2100 forcings of non-CO2 GHG / 0.30 /
TOCEAN0 2000 lower strat. temp change (C) from 1900 /.0068 /
TATM0 2000 atmospheric temp change (C)from 1900 /.7307 /
C1 Climate-equation coefficient for upper level /.220 /
C3 Transfer coeffic upper to lower stratum /.300 /
C4 Transfer coeffic for lower level /.050 /
FCO22X Estimated forcings of equilibrium co2 doubling /3.8 /
** Climate damage parameters calibrated for quadratic at 2.5 C for 2105
A1 Damage intercept / 0.00000 /
A2 Damage quadratic term / 0.0028388 /
A3 Damage exponent / 2.00 /
** Abatement cost
EXPCOST2 Exponent of control cost function /2.8 /
PBACK Cost of backstop 2005 000$ per tC 2005 /1.17 /
BACKRAT Ratio initial to final backstop cost / 2 /
GBACK Initial cost decline backstop pc per decade /.05 /
LIMMIU Upper limit on control rate / 1 /
** Participation
PARTFRACT1 Fraction of emissions under control regime 2005 /1 /
PARTFRACT2 Fraction of emissions under control regime 2015 /1 /
PARTFRACT21 Fraction of emissions under control regime 2205 /1 /
DPARTFRACT Decline rate of participation /0 /
** Availability of fossil fuels
FOSSLIM Maximum cumulative extraction fossil fuels / 6000 /
** Scaling and inessential parameters
scale1 Scaling coefficient in the objective function /194 /
scale2 Scaling coefficient in the objective function /381800 / ;
* Definitions for outputs of no economic interest
SETS
TFIRST(T)
TLAST(T)
TEARLY(T)
TLATE(T);
PARAMETERS
L(T) Level of population and labor
AL(T) Level of total factor productivity
SIGMA(T) CO2-equivalent-emissions output ratio
R(T) Instantaeous rate of social time preference
RR(T) Average utility social discount rate
GA(T) Growth rate of productivity from 0 to T
FORCOTH(T) Exogenous forcing for other greenhouse gases
GL(T) Growth rate of labor 0 to T
GCOST1 Growth of cost factor
GSIG(T) Cumulative improvement of energy efficiency
ETREE(T) Emissions from deforestation
COST1(t) Adjusted cost for backstop
PARTFRACT(T) Fraction of emissions in control regime
AA1 Variable A1
AA2 Variable A2
AA3 Variable A3
ELASMU Variable elasticity of marginal utility of consumption
PRSTP Variable nitial rate of social time preference per year
LAM Climate model parameter
Gfacpop(T) Growth factor population ;
PARAMETERS
L(T) Level of population and labor
AL(T) Level of total factor productivity
SIGMA(T) CO2-equivalent-emissions output ratio
RR(T) Average utility social discount factor
GA(T) Growth rate of productivity from 0 to T
FORCOTH(T) Exogenous forcing for other greenhouse gases
GL(T) Growth rate of labor 0 to T
GCOST1 Growth of cost factor
GSIG(T) Cumulative improvement of energy efficiency
ETREE(T) Emissions from deforestation
COST1(t) Adjusted cost for backstop
PARTFRACT(T) Fraction of emissions in control regime
AA1 Variable A1
AA2 Variable A2
AA3 Variable A3
ELASMU Variable elasticity of marginal utility of consumption
PRSTP Variable nitial rate of social time preference per year
LAM Climate model parameter
Gfacpop(T) Growth factor population ;
* Unimportant definitions to reset runs
TFIRST(T) = YES$(ORD(T) EQ 1);
TLAST(T) = YES$(ORD(T) EQ CARD(T));
TEARLY(T) = YES$(ORD(T) LE 20);
TLATE(T) = YES$(ORD(T) GE 21);
AA1 = A1;
AA2 = A2;
AA3 = A3;
ELASMU = B_ELASMU;
PRSTP = B_PRSTP;
b11 = 1 - b12;
b21 = 587.473*B12/1143.894;
b22 = 1 - b21 - b23;
b32 = 1143.894*b23/18340;
b33 = 1 - b32 ;
* Important parameters for the model
LAM = FCO22X/ T2XCO2;
Gfacpop(T) = (exp(gpop0*(ORD(T)-1))-1)/exp(gpop0*(ORD(T)-1));
L(T)=POP0* (1- Gfacpop(T))+Gfacpop(T)*popasym;
ga(T)=ga0*EXP(-dela*10*(ORD(T)-1));
al("1") = a0;
LOOP(T, al(T+1)=al(T)/((1-ga(T))););
gsig(T)=gsigma*EXP(-dsig*10*(ORD(T)-1)-dsig2*10*((ord(t)-1)**2));
sigma("1")=sig0;
LOOP(T,sigma(T+1)=(sigma(T)/((1-gsig(T+1)))); );
cost1(T) = (PBACK*SIGMA(T)/EXPCOST2)* ( (BACKRAT-1+ EXP (-gback* (ORD(T)-1) ) )/BACKRAT);
ETREE(T) = ELAND0*(1-0.1)**(ord(T)-1);
RR(t)=1/((1+prstp)**(10*(ord(T)-1)));
FORCOTH(T)= FEX0+ .1*(FEX1-FEX0)*(ORD(T)-1)$(ORD(T) LT 12)+ 0.36$(ORD(T) GE 12);
partfract(t) = partfract21;
PARTFRACT(T)$(ord(T)<25) = Partfract21 + (PARTFRACT2-Partfract21)*exp(-DPARTFRACT*(ORD(T)-2));
partfract("1")= PARTFRACT1;
VARIABLES
MIU(T) Emission control rate GHGs
FORC(T) Radiative forcing in watts per m2
TATM(T) Temperature of atmosphere in degrees C
TOCEAN(T) Temperatureof lower oceans degrees C
MAT(T) Carbon concentration in atmosphere GtC
MATAV(T) Average concentrations
MU(T) Carbon concentration in shallow oceans Gtc
ML(T) Carbon concentration in lower oceans GtC
E(T) CO2-equivalent emissions GtC
C(T) Consumption trillions US dollars
K(T) Capital stock trillions US dollars
CPC(T) Per capita consumption thousands US dollars
PCY(t) Per capita income thousands US dollars
I(T) Investment trillions US dollars
S(T) Gross savings rate as fraction of gross world product
RI(T) Real interest rate per annum
Y(T) Gross world product net of abatement and damages
YGROSS(T) Gross world product GROSS of abatement and damages
YNET(T) Output net of damages equation
DAMAGES(T) Damages
ABATECOST(T) Cost of emissions reductions
CCA(T) Cumulative industrial carbon emissions GTC
PERIODU(t) One period utility function
UTILITY;
POSITIVE VARIABLES MIU, TATM, TOCE, E, MAT, MATAV, MU, ML, Y, YGROSS, C, K, I, CCA ;
EQUATIONS
CCTFIRST(T) First period cumulative carbon
CCACCA(T) Cumulative carbon emissions
UTIL Objective function
YY(T) Output net equation
YNETEQ(T) Output net of damages equation
YGROSSEQ(T) Output gross equation
DAMEQ(T) Damage equation
ABATEEQ(T) Cost of emissions reductions equation
CC(T) Consumption equation
KK(T) Capital balance equation
KK0(T) Initial condition for capital
KC(T) Terminal condition for capital
CPCE(t) Per capita consumption definition
PCYE(T) Per capita income definition
EE(T) Emissions equation
SEQ(T) Savings rate equation
RIEQ(T) Interest rate equation
FORCE(T) Radiative forcing equation
MMAT0(T) Starting atmospheric concentration
MMAT(T) Atmospheric concentration equation
MMATAVEQ(t) Average concentrations equation
MMU0(T) Initial shallow ocean concentration
MMU(T) Shallow ocean concentration
MML0(T) Initial lower ocean concentration
MML(T) Lower ocean concentration
TATMEQ(T) Temperature-climate equation for atmosphere
TATM0EQ(T) Initial condition for atmospheric temperature
TOCEANEQ(T) Temperature-climate equation for lower oceans
TOCEAN0EQ(T) Initial condition for lower ocean temperature
PERIODUEQ(t) Instantaneous utility function equation ;
** Equations of the model
CCTFIRST(TFIRST).. CCA(TFIRST)=E=0;
CCACCA(T+1).. CCA(T+1)=E=CCA(T)+ E(T);
KK(T).. K(T+1) =L= (1-DK)**10 *K(T)+10*I(T);
KK0(TFIRST).. K(TFIRST) =E= K0;
KC(TLAST).. .02*K(TLAST) =L= I(TLAST);
EE(T).. E(T)=E=10*SIGMA(T)*(1-MIU(T))*AL(T)*L(T)**(1-GAMA)*K(T)**GAMA + ETREE(T);
FORCE(T).. FORC(T) =E= FCO22X*((log((Matav(T)+.000001)/596.4)/log(2)))+FORCOTH(T);
MMAT0(TFIRST).. MAT(TFIRST) =E= MAT2000;
MMU0(TFIRST).. MU(TFIRST) =E= MU2000;
MML0(TFIRST).. ML(TFIRST) =E= ML2000;
MMAT(T+1).. MAT(T+1) =E= MAT(T)*b11+MU(T)*b21 + E(T);
MMATAVEQ(t).. MATAV(T) =e= (MAT(T)+MAT(T+1))/2 ;
MML(T+1).. ML(T+1) =E= ML(T)*b33+b23*MU(T);
MMU(T+1).. MU(T+1) =E= MAT(T)*b12+MU(T)*b22+ML(T)*b32;
TATM0EQ(TFIRST).. TATM(TFIRST) =E= TATM0;
TATMEQ(T+1).. TATM(T+1) =E= TATM(t)+C1*(FORC(t+1)-LAM*TATM(t)-C3*(TATM(t)-TOCEAN(t)));
TOCEAN0EQ(TFIRST).. TOCEAN(TFIRST) =E= TOCEAN0;
TOCEANEQ(T+1).. TOCEAN(T+1) =E= TOCEAN(T)+C4*(TATM(T)-TOCEAN(T));
YGROSSEQ(T).. YGROSS(T) =e= AL(T)*L(T)**(1-GAMA)*K(T)**GAMA;
DAMEQ(T).. DAMAGES(t) =E= YGROSS(T)- YGROSS(T)/(1+aa1*TATM(T)+ aa2*TATM(T)**aa3);
YNETEQ(T).. YNET(T) =E= YGROSS(T)/(1+aa1*TATM(T)+ aa2*TATM(T)**aa3);
ABATEEQ(T).. ABATECOST(T) =E= (PARTFRACT(T)**(1-expcost2))*YGROSS(T)*(cost1(t)*(MIU(T)**EXPcost2));
YY(T).. Y(T) =E= YGROSS(T)*((1-(PARTFRACT(T)**(1-expcost2))*cost1(t)*(MIU(T)**EXPcost2)))/(1+aa1*TATM(T)+ aa2*TATM(T)**aa3);
SEQ(T).. S(T) =E= I(T)/(.001+Y(T));
RIEQ(T).. RI(T) =E= GAMA*Y(T)/K(T)- (1-(1-DK)**10)/10 ;
CC(T).. C(T) =E= Y(T)-I(T);
CPCE(T).. CPC(T) =E= C(T)*1000/L(T);
PCYE(T).. PCY(T) =E= Y(T)*1000/L(T);
PERIODUEQ(T).. PERIODU(T) =E= ((C(T)/L(T))**(1-ELASMU)-1)/(1-ELASMU);
UTIL.. UTILITY =E= SUM(T, 10 *RR(T)*L(T)*(PERIODU(T))/scale1)+ scale2 ;
** Upper and Lower Bounds: General conditions for stability
K.lo(T) = 100;
MAT.lo(T) = 10;
MU.lo(t) = 100;
ML.lo(t) = 1000;
C.lo(T) = 20;
TOCEAN.up(T) = 20;
TOCEAN.lo(T) = -1;
TATM.up(t) = 20;
miu.up(t) = LIMMIU;
partfract("1")= 0.25372;
* First period predetermined by Kyoto Protocol
miu.fx("1") = 0.005;
** Fix savings assumption for standardization if needed
*s.fx(t)=.22;
** Cumulative limits on carbon use at 6000 GtC
CCA.up(T) = FOSSLIM;
** Solution options
option iterlim = 99900;
option reslim = 99999;
option solprint = on;
option limrow = 0;
option limcol = 0;
model CO2 /all/;
* Optimal run
$include def_opt.gms
$include sigmaput.gms
$ontext
$include def_reset.gms
* Estimate of geoengineering
$include def_geoeng.gms
$include def_reset.gms
* Estimate Hoteling rents
$ include def_hotel.gms
$include def_reset.gms
* Base-5per defined as 50 years of no action with miu at Hotelling control rates
$include def_base_5per.gms
$include def_reset.gms
* Base-25per defined as 250 years of no action with miu at Hotelling control rates
$include def_base_25per.gms
$include def_reset.gms
* Stern run
$include def_stern_v2.gms
$include def_reset.gms
* Original specification of damage function
$include def_orig_dam.gms
$include def_reset.gms
* Limit to 1.5, 2.0, 2.5, 3.0 degrees temperature increase
$include def_limt15deg.gms
$include def_reset.gms
$include def_limt2deg.gms
$include def_reset.gms
$include def_limt25deg.gms
$include def_reset.gms
$include def_limt3deg.gms
$include def_reset.gms
* Limit to 1.5 2 and 2.5 preindustrial co2
$include def_lim15xco2.gms
$include def_reset.gms
$include def_lim2xco2.gms
$include def_reset.gms
$include def_lim25xco2.gms
$include def_reset.gms
* Limited participation in emissions reductions from 20% to 50%
$include def_limpart.gms
$include def_reset.gms
* Estimate of run with Kyoto without US and full trading
$include def_kyoto_nous.gms
$include def_reset.gms
* Estimate of run with Kyoto with US and full trading
$include def_kyoto_withus.gms
$include def_reset.gms
* Estimate of strengthened Kyoto
$include def_kyoto_strong.gms
$include def_reset.gms
$include def_gore.gms
$include def_reset.gms
$include def_limpart.gms
$include def_reset.gms
$include def_base_35per.gms
$include def_reset.gms
* Output of all runs in one put file
$include put_dice_delta_runs_050807.gms
display b11, b12, b21, b22, b23, b32, b33;
$offtext