$TITLE Joint Maximization $OFFSYMXREF OFFSYMLIST OPTION NLP=SNOPT; SETS RG REGIONS /USA, OOECD, USSR, CHINA, ROW/ YR YEARS / 1990*2120 / TP(YR) TIME PERIODS (STARTING YEAR) /1990, 2000, 2010, 2020, 2030, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120/ TRD TRADEABLE GOODS /NUM, CRT/ ITER0 USED FOR DISPLAY PURPOSES /IT0*IT5/ ITER(ITER0) NEGISHI ITERATIONS /IT1*IT5/; ALIAS(R,RG); SETS PP(TP) PROJECTION PERIODS (ALL PERIODS BUT THE BASE PERIOD) TBASE(TP) BASE TIME PERIOD TLAST(TP) LAST TIME PERIOD; PP(TP) = YES$(ORD(TP) NE 1); TBASE(TP) = YES$(ORD(TP) EQ 1); TLAST(TP) = YES$(ORD(TP) EQ CARD(TP)); TABLE FYR(*,*) FIRST YEAR OF TIME PERIOD FY 1990 1990 2000 2000 2010 2010 2020 2020 2030 2030 2040 2040 2050 2050 2060 2060 2070 2070 2080 2080 2090 2090 2100 2100 2110 2110 2120 2120 2130 2130 2140 2140 2150 2150 2160 2160 2170 2170 2180 2180 2190 2190 2200 2200; PARAMETERS NYPER(TP) NUMBER OF YEARS IN A GIVEN PERIOD - FORWARD DIFF TE(TP) YEARS ELAPSED SINCE BEGINNING OF FIRST PERIOD; LOOP(TBASE, TE(TP) = FYR(TP,"FY") - FYR(TBASE, "FY") ); NYPER(TP) = TE(TP+1) - TE(TP); NYPER(TP)$(ORD(TP) EQ CARD(TP)) = NYPER(TP-1); OPTION SOLPRINT = OFF; OPTION LIMROW = 0; OPTION LIMCOL = 0; OPTION ITERLIM = 100000; OPTION RESLIM = 20000; PARAMETERS UDR(RG,TP) UTILITY DISCOUNT RATE FOR PERIOD TP UDF(RG,TP) UTILITY DISCOUNT FACTOR FOR PERIOD TP UDFSUM(RG) UDF NORMALIZING CONSTANT L(RG,TP) CURRENT LABOR FORCE (EFFICIENCY UNITS) GDP(RG) INITIAL GDP ($ TRILLIONS) KGDP(RG) INITIAL CAPITAL-GDP RATIO ACQ(RG,TP) ABATEMENT COST PARAMETER - QUADRATIC ACB(RG,TP) ABATEMENT COST PARAMETER - BACKSTOP DEPR(RG) ANNUAL DEPRECIATION RATE OF CAPITAL KSUR(TP,RG) CAPITAL SURVIVAL FACTOR KPVS(RG) CAPITAL VALUE SHARE OF GDP LBVS(RG) LABOR VALUE SHARE OF GDP NW(RG) NEGISHI WEIGHTS GROW(TP,RG) ANNUAL LABOR FORCE GROWTH RATE A(RG) PRODUCTION FUNCTION SCALE FACTOR I0(RG) INITIAL INVESTMENT C0(RG) INITIAL CONSUMPTION K0(RG) INITIAL CAPITAL Y0(RG) INITIAL GDP; SCALAR SCC STABILIZE CUMULATIVE CARBON EMISSIONS - BILLION TONS; SCC = 500; TABLE MACRO(*, RG) MACROECONOMIC AND OTHER PARAMETERS USA OOECD USSR CHINA ROW GDP 5.60 10.20 2.68 1.10 3.34 KGDP 2.4 2.8 3.0 3.0 3.0 DEPR 0.05 0.05 0.05 0.05 0.05 KPVS 0.24 0.28 0.30 0.30 0.30 ; $ONTEXT Terminology and sources used in MACRO table: GDP INITIAL GDP - TRILLION $ KGDP INITIAL CAPITAL-GDP RATIO DEPR ANNUAL DEPRECIATION RATE OF CAPITAL KPVS CAPITAL'S VALUE SHARE IN COBB-DOUGLAS PRODUCTION FUNCTION The 2000 shares are proportional to 1990 regional emissions. The 2030 shares (and thereafter) are proportional to 1990 populations. The shares between 2000 and 2030 are determined by linear interpolation. Shares must sum to unity in each time period. The population figures used are shown below (in billions). USA OOECD USSR CHINA ROW 1990 0.250 0.582 0.289 1.116 3.024 $OFFTEXT TABLE SH(*,RG) SHARES IN GLOBAL CARBON EMISSIONS USA OOECD USSR CHINA ROW 2000 0.24 0.23 0.17 0.11 0.25 2010 0.18 0.19 0.13 0.14 0.36 2020 0.11 0.15 0.10 0.18 0.46 2030 0.05 0.11 0.06 0.21 0.57 2040 0.05 0.11 0.06 0.21 0.57 2050 0.05 0.11 0.06 0.21 0.57 2060 0.05 0.11 0.06 0.21 0.57 2070 0.05 0.11 0.06 0.21 0.57 2080 0.05 0.11 0.06 0.21 0.57 2090 0.05 0.11 0.06 0.21 0.57 2100 0.05 0.11 0.06 0.21 0.57 2110 0.05 0.11 0.06 0.21 0.57 2120 0.05 0.11 0.06 0.21 0.57 2130 0.05 0.11 0.06 0.21 0.57 2140 0.05 0.11 0.06 0.21 0.57 2150 0.05 0.11 0.06 0.21 0.57 2160 0.05 0.11 0.06 0.21 0.57 2170 0.05 0.11 0.06 0.21 0.57 2180 0.05 0.11 0.06 0.21 0.57 2190 0.05 0.11 0.06 0.21 0.57 2200 0.05 0.11 0.06 0.21 0.57 ; TABLE PGROW(*,RG) POTENTIAL GDP GROWTH RATES - ANNUAL PERCENT USA OOECD USSR CHINA ROW 1990 2.50 2.70 2.50 4.50 3.75 2000 2.00 2.00 2.00 4.00 3.30 2010 2.00 2.00 2.00 4.00 3.30 2020 1.75 1.75 1.75 3.75 3.05 2030 1.50 1.50 1.50 3.50 2.80 2040 1.50 1.50 1.50 3.50 2.80 2050 1.25 1.25 1.25 3.26 2.56 2060 1.15 1.15 1.15 3.16 2.45 2070 1.05 1.05 1.05 3.05 2.34 2080 0.96 1.00 1.00 2.90 2.23 2090 0.88 1.00 1.00 2.70 2.12 2100 0.80 1.00 1.00 2.50 2.00 2110 0.76 0.96 1.00 2.30 2.00 2120 0.72 0.92 1.00 2.10 2.00 2130 0.68 0.88 1.00 1.90 2.00 2140 0.64 0.84 1.00 1.70 2.00 2150 0.60 0.80 1.00 1.50 2.00 2160 0.56 0.76 1.00 1.30 2.00 2170 0.52 0.72 1.00 1.10 2.00 2180 0.50 0.70 1.00 1.00 2.00 2190 0.50 0.70 1.00 1.00 2.00 2200 0.50 0.70 1.00 1.00 2.00 ; TABLE ZBASE(*,*) BAU CARBON EMISSIONS LEVELS USA OOECD USSR CHINA ROW WORLD 1990 1.430 1.375 1.055 0.641 1.502 6.003 2000 1.648 1.880 1.115 0.772 1.810 7.225 2010 1.817 2.274 1.133 0.907 2.179 8.311 2020 2.115 2.765 1.137 1.190 2.695 9.902 2030 2.418 3.055 1.029 1.446 3.349 11.298 2040 3.076 3.016 1.221 1.891 4.237 13.441 2050 3.087 3.480 1.098 2.497 4.924 15.085 2060 3.015 3.460 0.928 3.389 6.399 17.191 2070 2.943 3.441 0.757 4.282 7.874 19.296 2075 2.907 3.431 0.672 4.728 8.611 20.349 2080 2.850 3.382 0.633 5.451 9.522 21.838 2090 2.735 3.285 0.556 6.898 11.343 24.817 2100 2.620 3.187 0.479 8.345 13.165 27.796 2110 2.054 2.816 0.398 9.808 14.613 29.689 2120 1.487 2.445 0.317 11.271 16.061 31.582 2125 1.204 2.260 0.277 12.003 16.785 32.529 2130 1.040 2.163 0.277 12.543 15.786 31.808 2140 0.711 1.970 0.276 13.623 13.787 30.367 2150 0.382 1.776 0.276 14.703 11.788 28.925 2160 0.290 1.307 0.276 14.313 11.245 27.432 2170 0.199 0.838 0.276 13.924 10.702 25.939 2175 0.153 0.604 0.276 13.729 10.431 25.193 2180 0.140 0.547 0.276 13.541 9.773 24.277 2190 0.115 0.432 0.276 13.164 8.458 22.445 2200 0.090 0.318 0.276 12.787 7.142 20.613 ; TABLE AQPER(*,*) MAXIMUM LEVEL OF QUADRATIC ABATEMENT - PERCENTAGE OF BAU USA OOECD USSR CHINA ROW 2000 16.312 22.412 19.045 22.725 15.569 2010 29.837 33.134 27.452 33.781 28.295 2020 41.252 41.934 34.014 42.520 38.444 2030 50.557 48.810 38.731 48.941 46.018 2040 57.753 53.763 41.604 53.045 51.016 2050 62.839 56.793 42.631 54.831 53.437 2060 65.815 57.900 41.814 54.300 53.282 2070 66.682 57.084 39.151 51.451 50.551 2080 65.439 54.345 34.644 46.284 45.244 2090 62.087 49.684 28.292 38.800 37.361 2100 56.625 43.099 20.094 28.999 26.901 2110 56.625 43.099 20.094 28.999 26.901 2120 56.625 43.099 20.094 28.999 26.901 2130 56.625 43.099 20.094 28.999 26.901 2140 56.625 43.099 20.094 28.999 26.901 2150 56.625 43.099 20.094 28.999 26.901 2160 56.625 43.099 20.094 28.999 26.901 2170 56.625 43.099 20.094 28.999 26.901 2180 56.625 43.099 20.094 28.999 26.901 2190 56.625 43.099 20.094 28.999 26.901 2200 56.625 43.099 20.094 28.999 26.901 ; ACB(RG,PP) = 0.2; ACQ(RG,PP) = (0.5*ACB(RG,PP)) / (0.01*AQPER(PP,RG)*ZBASE(PP,RG)); DISPLAY ACQ; GDP(RG) = MACRO("GDP",RG); KGDP(RG) = MACRO("KGDP",RG); DEPR(RG) = MACRO("DEPR",RG); KPVS(RG) = MACRO("KPVS",RG); GROW(TP,RG) = PGROW(TP,RG)/100; KSUR(TP,RG) = (1-DEPR(RG))**NYPER(TP); LBVS(RG) = 1 - KPVS(RG); NW(RG) = GDP(RG) / SUM(R, GDP(R)); UDF(RG,TBASE) = 1; L(RG,TBASE) = 1; UDR(RG,TP) = KPVS(RG)/KGDP(RG) - DEPR(RG) - GROW(TP,RG); LOOP(TP, L(RG,TP+1) = L(RG,TP)*(1 + GROW(TP,RG))**NYPER(TP) ; UDF(RG,TP+1) = UDF(RG,TP)*(1 - UDR(RG,TP))**NYPER(TP) ; ); UDF(RG,TLAST) = UDF(RG,TLAST) / ( 1 - (1 - UDR(RG,TLAST))**NYPER(TLAST) ); UDFSUM(RG) = SUM(PP, UDF(RG,PP)); UDF(RG,TBASE) = 0.0; UDF(RG,PP) = UDF(RG,PP)/UDFSUM(RG); DISPLAY UDF; K0(RG) = KGDP(RG)*GDP(RG); LOOP(TBASE, I0(RG) = K0(RG) * (GROW(TBASE,RG) + DEPR(RG)); ); C0(RG) = GDP(RG) - I0(RG); Y0(RG) = GDP(RG); A(RG)= Y0(RG)/(K0(RG)**KPVS(RG)); $ontext NWEL, ZG and ZC are "central" variables. They appear only in the central constraints. All others are regional. That is, they may appear in the central constraints, but in only one of the regional blocks. $offtext VARIABLES NWELB NEGISHI WELFARE X(RG,TRD,TP) NET EXPORTS OF TRADEABLE GOODS; POSITIVE VARIABLES Ur(RG) REGIONAL UTILITY ZG(TP) GLOBAL CARBON EMISSIONS - BILLION TONS ZC(TP) GLOBAL CUMULATIVE CARBON EMISSIONS - BILLION TONS K(RG,TP) CAPITAL STOCK - TRILLION $ C(RG,TP) CONSUMPTION - TRILLION $ I(RG,TP) INVESTMENT - TRILLION $ AQ(RG,TP) QUADRATIC ABATEMENT LEVEL - BILLION TONS AB(RG,TP) BACKSTOP ABATEMENT LEVEL - BILLION TONS Z(RG,TP) REGIONAL CARBON EMISSIONS - BILLION TONS; EQUATIONS * Central constraints. NWELDF NEGISHI WELFARE OBJECTIVE FUNCTION TRDBAL(TRD,TP) GLOBAL TRADE BALANCE RGEM(RG,TP) REGIONAL SHARES IN GLOBAL EMISSIONS CUME(TP) CUMULATIVE GLOBAL CARBON EMISSIONS * Regional blocks of constraints. CAPACCUM(RG,TP) CAPITAL ACCUMULATION TC(RG,TP) TERMINAL CONDITION ON INVESTMENT BEXP(RG,TP) LIMIT ON BACKSTOP EXPANSION EMIS(RG,TP) REGIONAL EMISSIONS DEFINITION; * Central constraints. * Objective function NWELDF.. NWELB =N= 1000*1000*SUM(RG, NW(RG) * SUM((PP), UDF(RG,PP) * LOG( A(RG) * (K(RG,PP)**KPVS(RG)) * (L(RG,PP)**LBVS(RG)) - I(RG,PP) - X(RG,"NUM",PP) - ACQ(RG,PP)*(AQ(RG,PP)**2) - ACB(RG,PP)*AB(RG,PP))) ); TRDBAL(TRD,PP).. SUM(RG, X(RG,TRD,PP)) =E= 0; RGEM(RG,PP).. Z(RG,PP) + X(RG,"CRT",PP) =E= SH(PP,RG)*ZG(PP); CUME(TP+1).. ZC(TP+1) =E= ZC(TP) + .5 * NYPER(TP) * (ZG(TP) + ZG(TP+1)); * Regional blocks of constraints. CAPACCUM(RG,TP+1) .. K(RG,TP+1) =E= KSUR(TP,RG) * K(RG,TP) + .5 * NYPER(TP) * (KSUR(TP,RG) * I(RG,TP) + I(RG,TP+1)); TC(RG,TLAST).. I(RG,TLAST) =G= (GROW(TLAST,RG) + DEPR(RG)) * K(RG,TLAST); * Backstop is limited in its initial market share and expansion rate. BEXP(RG,TP+1).. AB(RG,TP+1) =L= .01 * ZBASE(TP+1,RG) + 2 * AB(RG,TP); EMIS(RG,PP).. Z(RG,PP) =E= ZBASE(PP,RG) - AQ(RG,PP) - AB(RG,PP); MODEL JM /ALL/; JM.OPTFILE = 1; * The following fixes the variables in the base year K.FX(RG,TBASE) = K0(RG); C.FX(RG,TBASE) = C0(RG); I.FX(RG,TBASE) = I0(RG); AQ.FX(RG,TBASE) = 0; AB.FX(RG,TBASE) = 0; Z.FX(RG,TBASE) = ZBASE(TBASE,RG); ZG.FX(TBASE) = SUM(RG, ZBASE(TBASE,RG)); ZC.FX(TBASE) = 0; X.FX(RG,TRD,TBASE) = 0; * The following bounds help to avoid nasty program calls. K.LO(RG,PP) = K0(RG); C.LO(RG,PP) = C0(RG); I.LO(RG,PP) = I0(RG); ZC.LO(PP) = 1.0; * Carbon limits. ZC.UP(PP) = SCC; Z.FX(RG,TLAST) = 0; PARAMETERS NWTITR(ITER0,RG) NEGISHI WEIGHTS PVPI(TRD,TP) PRESENT VALUE EXPECTED PRICES OF TRADEABLE GOODS; NWTITR("IT0",RG) = NW(RG); LOOP(ITER$(ORD(ITER) NE CARD(ITER)), SOLVE JM MAXIMIZING NWELB USING NLP; DISPLAY TRDBAL.M; PVPI(TRD,PP) = TRDBAL.M(TRD,PP)/TRDBAL.M("NUM","2000"); NW(RG) = SUM(PP, PVPI("NUM",PP)*C.L(RG,PP)) + SUM((PP,TRD), PVPI(TRD,PP)*X.L(RG,TRD,PP)); NW(RG) = NW(RG) / SUM(R, NW(R)); NWTITR(ITER,RG) = NW(RG); ); OPTION SOLPRINT = ON; OPTION LIMROW = 0; PARAMETERS AC(RG,TP) ABATEMENT COSTS - TRILLION $ WCON(TP) WORLD CONSUMPTION LEVEL PVNTX(RG,TRD,TP) EXPECTED PRESENT VALUE OF NET EXPORTS PVCUMX(RG) EXPECTED PRESENT VALUE OF CUMULATIVE NET EXPORTS; AC(RG,TBASE) = 0; AC(RG,PP) = ACQ(RG,PP)*(AQ.L(RG,PP)**2) + ACB(RG,PP)*AB.L(RG,PP); WCON(TP) = SUM(RG, C.L(RG,TP)); PVNTX(RG,TRD,PP) = PVPI(TRD,PP)*X.L(RG,TRD,PP); PVCUMX(RG) = SUM((TRD,PP), PVNTX(RG,TRD,PP)); OPTION DECIMALS = 3; DISPLAY TRDBAL.M, EMIS.M; DISPLAY K.L, I.L, C.L; DISPLAY AC, AQ.L, AB.L; DISPLAY Z.L, ZG.L, ZC.L, WCON; DISPLAY X.L; OPTION DECIMALS = 6; DISPLAY PVPI, PVNTX, PVCUMX; DISPLAY NWTITR;