$TITLE Assessment of REDD Integration into International Climate Markets $ontext _____________________________________________________________________________ GAMS source code to accompany paper: REDD and the effort to limit global warming to 2?C: Implications for including REDD credits in the international carbon market, 30 March 2009 KK KK EEEEEEEE A 333333333333 KK KK EE A A KK KKK EE A A KKKKK EEEEEEEE AAAAAAA 333333333333 KK KKK EE AA AA KK KK EE AA AA KK KK EEEEEEEE AA AA 333333333333 KEA 3 Limited Wellington, New Zealand 2009 correspondence: email: erich@kea3.co.nz file notes: The economic model selected for this study follows from Böhringer et al. (2004): Assessing Emission Allocation in Europe: An Interactive Simulation Approach Christoph Böhringer, Tim Hoffmann, Andreas Lange, Andreas Löschel and Ulf Moslener, Discussion Paper No. 04-40 Baselines, marginal abatement costs, and target values derived from Anger & Sathaye (2008) and Anger et al. (2009) _______________________________________________________________________________ $offtext *$offlisting *$offsymxref *$offsymlist *$offuelxref *$offuellist * Data Input * Annex I regions and marginal abatement cost functions adapted from Anger & * Sathaye (2008) SET r Regions with committments and CDM regions / AUT Austria, BEL Belgium, DNK Denmark, FIN Finland, FRA France, GBR United Kingdom, GER Germany, GRC Greece, IRL Ireland, ITA Italy, NLD Netherlands, PRT Portugal, SPA Spain, SWE Sweden CEU Central Europe CAN Canada JAP Japan FSU Former Soviet Union PAC Pacific OECD USA United States BRA Brazil, CHI China, IND India, MEX Mexico, KOR South Korea /; SET rr Rainforest Regions / AFR Africa, SEA South East Asia, CEN Central America, SAM South America /; SET cr(r) CDM Regions / BRA Brazil, CHI China, IND India, MEX Mexico, KOR South Korea /; SET rp Report Regions / ANNEX_I Annex I regions, BRA Brazil, CHI China, IND India, MEX Mexico, KOR South Korea, AFR Africa, SEA South East Asia, CEN Central America, SAM South America / SET aI(r) Annex I Regions; aI(r) = yes; aI(cr) = no; * CDM and Annex I regions are divided into energy intensive and non-energy * intensive sectors SET i Segments of economy / EIS Energy intensive sectors, NEIS Non-Energy Intensive sectors /; SET eis(i) /EIS/, neis(i) /NEIS/; Table emissiondata Benchmark carbon emission summary (in Mt of CO2) * Source: EUROSTAT (2002) Energy Database, ISBN/ISSN 92-894-3300-0 * referenced in Anger et al. (2009) and Anger (2008) personal * communications. CO2_1990 CO2_2020 2020_v_bl AUT 59.0 74.1 39.1 BEL 110.1 143.9 38.5 DNK 50.4 59.1 41.4 FIN 54.2 65.2 27.7 FRA 377.3 421.0 22.1 GBR 577.4 646.5 32.0 GER 988.3 963.0 29.5 GRC 75.8 106.1 22.3 IRL 33.0 49.8 34.9 ITA 417.5 511.7 33.7 NLD 158.5 201.8 35.8 PRT 43.6 74.7 35.6 SPA 225.8 351.1 35.7 SWE 49.8 49.8 9.6 CEU 1042.1 1110.4 14.4 CAN 482.5 697.7 25.7 JAP 1106.0 1186.7 4.7 FSU 3752.0 2877.9 0.0 PAC 311.8 475.5 26.0 USA 5092.5 6892.4 26.1 BRA 214.0 838.2 CHI 2495.7 6491.2 IND 616.1 2934.5 MEX 309.0 733.7 KOR 253.7 858.0 ; * Columns: * CO2_1990: Total CO2 emissions in 1990 by region * CO2_2020: Total baseline CO2 emissions in 2020 by region * 2020_v_bl: Committed CO2 reductions in 2020 vs. baseline by region option emissiondata:1:1:1; Display emissiondata; Parameter carbon_total_2020; carbon_total_2020 = sum(r, emissiondata(r,"CO2_2020")); Parameter carbon_total_1990; carbon_total_1990 = sum(r, emissiondata(r,"CO2_1990")); display carbon_total_1990; display carbon_total_2020; TABLE mac_coef(r,i,*) Exogenous coefficients for MAC function (here: polynomial of third degree) * Source: Boehringer (2002) Applied Economics, 34, 523-533: EIS.a1 EIS.a2 EIS.a3 NEIS.a1 NEIS.a2 NEIS.a3 AUT 21.14801984 -3.339193177 0.809413019 11.40951185 2.862046569 -0.101219228 BEL 2.84303596 -0.098449237 0.002592394 5.817608736 0.188130306 0.017631004 GER 0.366845419 -0.001690111 9.44031E-06 0.941657475 0.011148694 7.3614E-06 DNK 11.18403151 -0.581698157 0.023492858 59.66557079 -12.75154004 5.770972826 SPA 0.808984337 -0.009688721 0.000247482 10.39243793 -0.419247544 0.01370606 FIN 3.070967638 -0.056607791 0.003183691 75.29558505 -14.06239153 1.554072997 FRA 0.943923244 -0.007797629 0.000172277 1.519120183 0.078392834 -0.000674227 GBR 0.406639571 -0.002161843 2.96558E-05 1.473106046 0.024367592 -0.000109853 GRC 1.884263411 -0.011827654 0.000506778 30.89642863 -1.608261069 0.337454228 IRL 3.06833684 -0.158472656 0.010979617 23.46616016 -0.397170922 0.278835685 ITA 0.941266482 0.003638477 8.18501E-05 2.599191966 0.151141551 -0.000466222 NLD 0.866548781 0.039258898 -0.000367616 10.98632842 -0.406334803 0.10877375 PRT 11.03855185 -0.573992166 0.017471961 56.19208046 -9.200744527 2.494128118 SWE 7.743256996 -0.281372793 0.010235525 12.56844952 1.706981057 0.380736524 CEU 0.146619801 0.000138166 2.91673E-06 0.755416108 0.000834121 1.86648E-05 CAN 0.276591121 0.000671879 1.29222E-05 0.831642795 0.004446565 5.55229E-05 JAP 0.266623874 0.002270143 2.16127E-07 1.313012286 0.03126133 -8.19637E-05 FSU 0.021761926 0.000152766 5.09618E-08 0.107535086 0.000425704 -1.22349E-07 PAC 0.724430736 -0.009372151 6.12314E-05 1.863562204 -0.031511254 0.000507175 USA 0.024475962 -6.05649E-06 7.67948E-09 0.145298675 -2.66377E-05 6.97515E-08 BRA 11.55246305 -0.063084988 0.000130983 4.116319769 0.000605649 0.00036682 CHI 0.012872198 -3.34065E-06 1.51715E-09 0.305197702 -0.000388632 8.27589E-07 IND 0.09603747 -9.8595E-05 7.16828E-08 2.268507984 -0.034551996 0.000755452 MEX 0.011570163 0.019104609 -8.13957E-05 0.385212127 0.020404214 -9.72432E-05 KOR 0.340499262 -0.001055096 1.28938E-05 4.159758854 -0.002747082 0.000955959; TABLE redd_mac_coef(rr,*) Exogenous coefficients for REDD MAC function (polynomial of third degree) * Source: Own calculations based upon data from GCOMAP model supplied by * Jayant Sathaye, Peter Chan, February 2009 b1 b2 b3 AFR 0.0039243 0.0000000 0.0000000 SEA 0.0879604 0.0000000 0.0000000 CEN 0.0550825 0.0000000 0.0000000 SAM 0.0203024 0.0000000 0.0000000 ; PARAMETER redd_max(rr) Total annual deforestation in study year MtC02; * explicit limits on total deforestation by region * source: data from GCOMAP model, February 2009 redd_max("AFR") = 2134; redd_max("SEA") = 607.7; redd_max("CEN") = 318; redd_max("SAM") = 1414.8; Scalar CO2inC Conversion factor from carbon dioxide to carbon ; CO2inC = 12/44; * Compute percentage reduction targets w.r.t 1990 and 2020 PARAMETER commit Percentage reduction targets; commit(aI,"vs_1990") = 100*((emissiondata(aI,"CO2_1990")-(1-emissiondata(aI,"2020_v_bl")/100)*emissiondata(aI,"CO2_2020"))/emissiondata(aI,"CO2_1990")); commit("Annex_I","vs_1990") = 100*sum(aI,(commit(aI,"vs_1990") /100)*emissiondata(aI,"CO2_1990")) /sum(aI, emissiondata(aI,"CO2_1990")); commit(aI,"vs_baseline") = emissiondata(aI,"2020_v_bl"); commit("Annex_I","vs_baseline") = 100*sum(aI,(commit(aI,"vs_baseline") /100)*emissiondata(aI,"CO2_2020")) /sum(aI, emissiondata(aI,"CO2_2020")); OPTION commit:1:1:1; DISPLAY commit; * An arbitrary ratio is applied to segment carbon baseline in 2020 * between EIS and NEIS sectors and to assign sectoral targets. * Under the condition of unlimited trading amoung Annex I and CDM * regions we aggregate total compliance cost for each region so this * inital allocation is immaterial. Scalar ratio0 arbitray factor to partition 2020 emisions ; Scalar ratio1 bitrary allocation factor to initialize emission partitioning; ratio0 = 0.6; ratio1 = 0.5; PARAMETER carbon_est(i,r) Attributed carbon emission by sector for 2020; carbon_est("EIS",r) = emissiondata(r,"CO2_2020")/ratio1; carbon_est("NEIS",r) = emissiondata(r,"CO2_2020")/(1-ratio1); display carbon_est; PARAMETER target(*,*) Effective carbon emission reduction requirement in Mtons of carbon; target("EIS",aI) = emissiondata(aI,"CO2_2020")*(emissiondata(aI,"2020_v_bl")/100)*ratio0; target("NEIS",aI) = emissiondata(aI,"CO2_2020")*(emissiondata(aI,"2020_v_bl")/100)*(1-ratio0); target("NEIS","TOTAL") = sum(r, target("NEIS",r)); target("EIS","TOTAL") = sum(r, target("EIS",r)); display target; * Assignment of MAC curve coefficients * Approximations of MACs: MAC = a1*d + a2*d**2 + a3*d**3 PARAMETER a1, a2, a3; a1(i,r) = mac_coef(r,i,"a1"); a2(i,r) = mac_coef(r,i,"a2"); a3(i,r) = mac_coef(r,i,"a3"); DISPLAY a1,a2,a3; PARAMETER b1, b2, b3; b1(rr) = redd_mac_coef(rr,"b1"); b2(rr) = redd_mac_coef(rr,"b2"); b3(rr) = redd_mac_coef(rr,"b3"); DISPLAY b1,b2,b3; * setting the origional supplementarity limit to 100% of each region/sector's * reduction target parameter suplimit; suplimit = 100; * asigning absolute limit on import of REDD units by sector and region PARAMETER mlimit(i,r); mlimit("EIS",aI) = target("EIS",aI)*suplimit/100; mlimit("NEIS",aI) = target("NEIS",aI)*suplimit/100; display mlimit; * Establish an explit set of regions to include in model run (toggle off * by inserting an asterix ahead of region. SET re(r) / AUT, BEL, GER, DNK, SPA, FIN, FRA, GBR, GRC, IRL, ITA, NLD, PRT, SWE, CEU, CAN, JAP, FSU, PAC, USA, BRA, CHI, IND MEX, KOR /; * Model Definition POSITIVE VARIABLES p(i,r) Marginal abatement cost by sector i in region r, pfx Internationally tradable permit price, pd(r) Domestically tradable permit price in region r, d(i,r) Abatement by sector i in region r, x(i,r) Exports of permits by sector i in region r to international market, m(i,r) Imports of permits by sector i in region r from international market, xd(i,r) Exports of permits by sector i in region r to domestic market, md(i,r) Imports of permits by sector i in region r from domestic market, pfx_f Price from international REDD market, plim_f(i,r) Shadow price of REDD credits due to supplementarity limitations, plim_f_x(rr) Shadow price of REDD credits due to supply limitations, p_f(rr) REDD marginal abatement cost by in region rr, pd_f(rr) REDD tradable permit price in region rr, d_f(rr) REDD Abatement in region rr, x_f(rr) Exports of REDD permits by region rr to international market, m_f(i,r) Imports of REDD permits by sector i in region r from international market, sup Supplementarity limit, target_inc(i,r) Additional target for expanded committments - applied to a single region; EQUATIONS mkt_p(i,r) Market clearance for abatement by sector i in region r, mkt_pd(r) Market clearance for domestically tradable permits in region r, mkt_pfx Market clearance for internationally tradable permits, zprf_d(i,r) Zero profit condition for abatement of sector i in region r, zprf_m(i,r) Zero profit condition for permit imports of sector i in region r from international market, zprf_x(i,r) Zero profit condition for permit exports of sector i in region r to international market, zprf_md(i,r) Zero profit condition for permit imports of sector i in region r from domestic market, zprf_xd(i,r) Zero profit condition for permit exports of sector i in region r to domestic market, mkt_p_f(rr) Market clearance for REDD abatement in region rr, mkt_pfx_f Market clearance for internationl trade of REDD credits, mkt_plim_f(i,r) Market clearance for limitation on REDD imports, mkt_plim_f_x(rr) Market clearance for limitation on REDD exports, zprf_d_f(rr) Zero profit condition for REDD abatement in region rr, zprf_x_f(rr) Zero profit condition for REDD exports in region rr to international market, zprf_m_f(i,r) Zero profit condition for REDD permit imports of sector i in region r; mkt_p(i,re).. d(i,re) + m(i,re) + md(i,re) + m_f(i,re) =e= target(i,re) + target_inc(i,re) + x(i,re) + xd(i,re); mkt_pd(re).. sum(i, xd(i,re)) =e= sum(i, md(i,re)) ; mkt_pfx.. sum((i,re), x(i,re)) =e= sum((i,re), m(i,re)); zprf_m(i,re).. pfx =e= p(i,re); zprf_x(i,re).. p(i,re) =e= pfx; zprf_md(i,re).. pd(re) =e= p(i,re); zprf_xd(i,re).. p(i,re) =e= pd(re); zprf_d(i,re).. a1(i,re)*d(i,re) + a2(i,re)*d(i,re)**2 + a3(i,re)*d(i,re)**3 =e= p(i,re); mkt_pfx_f.. sum((rr), x_f(rr)) =e= sum((i,re), m_f(i,re)); mkt_plim_f(i,re).. mlimit(i,re)*sup + target_inc(i,re)*sup =g= m_f(i,re); mkt_plim_f_x(rr).. redd_max(rr) =g= x_f(rr); mkt_p_f(rr).. d_f(rr) =e= x_f(rr); zprf_m_f(i,re).. pfx_f + plim_f(i,re) =e= p(i,re); zprf_d_f(rr).. b1(rr)*d_f(rr) + b2(rr)*d_f(rr)**2 + b3(rr)*d_f(rr)**3 =e= p_f(rr); zprf_x_f(rr).. p_f(rr) + plim_f_x(rr) =e= pfx_f; MODEL redd /mkt_p.p, mkt_pd.pd, mkt_pfx.pfx, mkt_pfx_f.pfx_f, mkt_plim_f.plim_f, mkt_p_f.p_f, zprf_m_f.m_f, zprf_d_f.d_f, zprf_x_f.x_f, zprf_m.m, zprf_x.x, zprf_md.md, zprf_xd.xd, zprf_d.d, mkt_plim_f_x.plim_f_x /; redd.iterlim = 1000; * Scenario Definition SET sc Scenarios / BASE_CASE International trading with CDM (no-REDD -stated committments), REDD_CUR IET (full-REDD - stated committments), REDD_SUP10_CUR IET (REDD w-10% supplementarity - stated committments), REDD_SUP20_CUR IET (REDD w-20% supplementarity - stated committments), REDD_SUP30_CUR IET (REDD w-30% supplementarity - stated committments), REDD_SUP50_CUR IET (REDD w-50% supplementarity - stated committments), BASE25PCT IET (no-REDD - Annex I 25% < 1990 levels), BASE30PCT IET (no-REDD - Annex I 30% < 1990 levels), BASE40PCT IET (no-REDD - Annex I 40% < 1990 levels), REDD25PCT IET (full-REDD - Annex I 25% < 1990 levels), REDD30PCT IET (full-REDD - Annex I 30% < 1990 levels), REDD40PCT IET (full-REDD - Annex I 40% < 1990 levels), REDD_SUP10_25 IET (REDD w-10% supplementarity - Annex I 25% < 1990 levels), REDD_SUP10_40 IET (REDD w-10% supplementarity - Annex I 40% < 1990 levels), REDD_SUP20_25 IET (REDD w-20% supplementarity - Annex I 25% < 1990 levels), REDD_SUP20_40 IET (REDD w-20% supplementarity - Annex I 40% < 1990 levels), REDD_SUP30_25 IET (REDD w-30% supplementarity - Annex I 25% < 1990 levels), REDD_SUP30_40 IET (REDD w-30% supplementarity - Annex I 40% < 1990 levels), REDD_SUP50_25 IET (REDD w-50% supplementarity - Annex I 25% < 1990 levels), REDD_SUP50_40 IET (REDD w-50% supplementarity - Annex I 40% < 1990 levels) /, * Mapping scenarios to their characteristics reddsc(sc) /REDD_CUR, REDD25PCT, REDD30PCT, REDD40PCT, REDD_SUP30_25, REDD_SUP50_25, REDD_SUP30_40, REDD_SUP50_40, REDD_SUP30_CUR, REDD_SUP50_CUR, REDD_SUP10_25, REDD_SUP20_25, REDD_SUP10_40, REDD_SUP20_40, REDD_SUP10_CUR, REDD_SUP20_CUR /, pct25(sc) /BASE25PCT, REDD25PCT, REDD_SUP30_25, REDD_SUP50_25, REDD_SUP10_25, REDD_SUP20_25/, pct30(sc) /BASE30PCT, REDD30PCT/, pct40(sc) /BASE40PCT, REDD40PCT, REDD_SUP30_40, REDD_SUP50_40, REDD_SUP10_40, REDD_SUP20_40/, sup10(sc) /REDD_SUP10_CUR, REDD_SUP10_25, REDD_SUP10_40/, sup20(sc) /REDD_SUP20_CUR, REDD_SUP20_25, REDD_SUP20_40/, sup30(sc) /REDD_SUP30_CUR, REDD_SUP30_25, REDD_SUP30_40/, sup50(sc) /REDD_SUP50_CUR, REDD_SUP50_25, REDD_SUP50_40/, runsc(sc); runsc(sc) = YES; * runsc(sc) /REDD_CUR, REDD25PCT, REDD30PCT, REDD40PCT, REDD_SUP20_25/; * Establishing reporting paramaters to collect output PARAMETER cost Summary - total compliance costs (million Euro), cost_redd Summary - (-1)* net economic benefit (milliion Euro), cost1 Output version, mac Summary - marginal abatement costs (Euro per ton of CO2), domabate Summary - domestic abatement (Mt CO2), domabate1 Output version, reduction Summary - emission reduction in percent vis-a-vis base-year emissions, loopnumber Counter to keep track of loops, redd_mac Summary - marginal abatement costs - REDD (Euro per ton of CO2), redd_abate Summary - REDD abatement by region and scenario (Mt CO2), redd_import Summary - REDD imports by region (Mt CO2), redd_import_b Summary - REDD imports by region, cdm_txf Summary - CDM transfers, redd_txf Summary - REDD transfers, mac1 Single listing of MAC's, shadow REDD shadow price summary, shadow1 Alternate shadow price; * setting up a counter for troubleshooting loopnumber = 0; x.UP(i,re) = +INF; m.UP(i,re) = +INF; pfx.UP = +INF; pd_f.UP(rr) = +INF; x_f.FX(rr) = 0; m_f.FX(i,re) = 0; sup.FX = 1; target_inc.FX(i,re) = 0; * we do a first run to see if everything is working and as a benchmark during testing. SOLVE redd using mcp; display "---ENTERING LOOP---"; LOOP(SC$RUNSC(SC), loopnumber = loopnumber + 1; display "---LOOP # -----"; display loopnumber; * Setting limits of analysis x.LO(i,re) = 0; m.LO(i,re) = 0; xd.LO("EIS",re) = 0; md.LO("EIS",re) = 0; pfx.LO = 0; pd_f.LO(rr) = 0; x_f.LO(rr) = 0; m_f.LO(i,re) = 0; sup.FX = 1; x.UP(i,re) = +inf; m.UP(i,re) = +inf; xd.UP("EIS",re) = +inf; md.UP("EIS",re) = +inf; pfx.UP = +inf; pd_f.UP(rr) = +INF; * Default is no REDD x_f.FX(rr) = 0; m_f.FX(i,re) = 0; target_inc.FX(i,re) = 0; * Setting limits of analysis if a REDD scenario IF(reddsc(sc), display "---REDD---"; * x_f.UP(rr) = +INF; x_f.UP(rr) = redd_max(rr); * d_f.UP(rr) = redd_max(rr); x_f.UP(rr) = +INF; m_f.UP(i,re) = +INF; x_f.LO(rr) = 0; m_f.LO(i,re) = 0; pd_f.UP(rr) = +INF; * Forcing shadow price to zero to allow REDD MAC differentiation (limits degrees of freedom) * Supplementarity conditions only provides valid results if REDD credits are not otherwise limited (such as by supply) plim_f.FX(i,r) = 0; ); * Setting limits of analysis if Annex I emissions 25% below 1990 scenario IF(pct25(sc), display "---25% target---"; target_inc.FX("EIS","USA") = 2229.14; ); * Setting limits of analysis if Annex I emissions 30% below 1990 scenario IF(pct30(sc), display "---30% target---"; target_inc.FX("EIS","USA") = 2979.55; ); * Setting limits of analysis if Annex I emissions 40% below 1990 scenario IF(pct40(sc), display "---40% target---"; target_inc.FX("EIS","USA") = 4480.37; ); * Setting limits of analysis if 10% supplementarity case IF(sup10(sc), display "---10% supplemmentarity---"; sup.FX = .1; plim_f.UP(i,r) = +INF; ); * Setting limits of analysis if 20% supplementarity case IF(sup20(sc), display "---20% supplemmentarity---"; sup.FX = .2; plim_f.UP(i,r) = +INF; ); * Setting limits of analysis if 30% supplementarity case IF(sup30(sc), display "---30% supplemmentarity---"; sup.FX = .3; plim_f.UP(i,r) = +INF; ); * Setting limits of analysis if a 50% supplementarity case IF(sup50(sc), display "---50% supplementarity---"; sup.FX = .5; plim_f.UP(i,r) = +INF; ); * Resetting variable levels md.l(i,re) = 0; xd.l(i,re) = 0; m.l(i,re) = 0; x.l(i,re) = 0; d.l(i,re) = 0; pfx.l = 0; p.l(i,re) = 0; m_f.l(i,re) = 0; d_f.l(rr) = 0; x_f.l(rr) = 0; p_f.l(rr) = 0; pfx_f.l = 0; * pd.l = 0; plim_f.l = 0; SOLVE redd using mcp; * loading costs into cost paramater cost(re,"EIS",sc) = eps + ROUND( ( sum(i$EIS(I), (1/2)*a1(i,re)*d.l(i,re)**2 + (1/3)*a2(i,re)*d.l(i,re)**3 + (1/4)*a3(i,re)*d.l(i,re)**4 ) + ((m.l("EIS",re) - x.l("EIS",re))*pfx.l) + (m_f.l("EIS",re)*pfx_f.l)), 1); cost(re,"NEIS",sc) = eps + ROUND( ( sum(i$NEIS(i), (1/2)*a1(i,re)*d.l(i,re)**2 + (1/3)*a2(i,re)*d.l(i,re)**3 + (1/4)*a3(i,re)*d.l(i,re)**4 ) + ((m.l("NEIS",re) - x.l("NEIS",re))*pfx.l) + (m_f.l("NEIS",re)*pfx_f.l)), 1); cost(re,"TOTAL",sc) = cost(re,"EIS",sc) + cost(re,"NEIS",sc); cost("ANNEX_I","TOTAL",sc) = sum(aI, cost(aI,"TOTAL",sc)); cost_redd(rr,sc) = eps + ROUND( ( (1/2)*b1(rr)*d_f.l(rr)**2 + (1/3)*b2(rr)*d_f.l(rr)**3 + (1/4)*b3(rr)*d_f.l(rr)**4 - x_f.l(rr)*pfx_f.l), 1); * loading MACs into summary paramaters mac(re,i,sc) = eps + ROUND(p.l(i,re),1); redd_mac(rr,sc) = eps + ROUND(p_f.l(rr),1); * loading abatement into summary paramaters domabate(re,i,sc) = eps + ROUND(d.l(i,re),2); domabate(re,"TOTAL",sc) = domabate(re,"EIS",sc) + domabate(re,"NEIS",sc); domabate("ANNEX_I","TOTAL",sc) = sum(aI, domabate(aI,"TOTAL",sc)); redd_abate(rr,sc) = eps + ROUND(d_f.l(rr),2); cdm_txf(cr,sc) = eps + ROUND( ( sum(i, (x.l(i,cr)*pfx.l)) - sum(i, (m.l(i,cr)*pfx.l)) ), 1); redd_txf(rr,sc) = eps + ROUND((x_f.l(rr)*pfx_f.l), 1); reduction(re,"TOTAL",sc) = ROUND(100* sum(i,d.l(i,re))/emissiondata(re,"CO2_2020"), 1); domabate1(rp,sc) = domabate(rp,"TOTAL",sc); cost1(rp,sc) = cost(rp,"TOTAL",sc); cost1(rr,sc) = cost_redd(rr,sc); mac1("CO2",sc) = eps + ROUND(pfx.l,1); mac1("REDD",sc) = eps + ROUND(pfx_f.l,1); shadow(rr,sc) = plim_f_x.l(rr); shadow1(i,re,sc) = plim_f.l(i,re); ); Display "==================================================================="; Display "======================= Standard Targets =========================="; Display "==================================================================="; Display "======================= Standard MAC==============================="; Display "==================================================================="; *DISPLAY mac1, mac, redd_mac, shadow, shadow1, cost1, domabate1, redd_abate, cdm_txf, redd_txf; DISPLAY mac1, cost1, domabate1, redd_abate, cdm_txf, redd_txf;