* Simulation of Stern runs as double discounting * Run with low discounting and capital stock at base ELASMU = 1.0001; PRSTP = 0.001; R(T)=PRSTP*EXP(-DR*10*(ORD(T)-1));RR("1")=1;LOOP(T,RR(T+1)=RR(T)/((1+R(T))**10);); K0=280; model co2stern2 / all / solve CO2stern2 maximizing UTILITY using nlp ; solve CO2stern2 maximizing UTILITY using nlp ; solve CO2stern2 maximizing UTILITY using nlp ; display damages.l; * Then sset miu for the double discount run Parameters miudoublediscstern(t) Result for run without damages; miudoublediscstern(t) = miu.l(t); * Then do the run with Stern mius, base capital stock, and our damages ELASMU = b_elasmu; PRSTP = b_prstp; R(T)=PRSTP*EXP(-DR*10*(ORD(T)-1));RR("1")=1;LOOP(T,RR(T+1)=RR(T)/((1+R(T))**10);); K0= 137; miu.up(t)= miudoublediscstern(t); miu.lo(t)= miudoublediscstern(t); *k.lo(t) = base25_k(t); *k.up(t) = base25_k(t); model co2ddstern1 /all/ solve CO2ddstern1 maximizing UTILITY using nlp ; solve CO2ddstern1 maximizing UTILITY using nlp ; solve CO2ddstern1 maximizing UTILITY using nlp ; * Output Parameters Year(t) Date doublediscstern_y(t) doublediscstern_cpc(t) doublediscstern_s(t) doublediscstern_indem(t) doublediscstern_sigma(t) doublediscstern_tatm(t) doublediscstern_mat(t) doublediscstern_tax(t) doublediscstern_ri(t) doublediscstern_rr(t) doublediscstern_al(t) doublediscstern_forcoth(t) doublediscstern_l(t) doublediscstern_etree(t) doublediscstern_yy(t) doublediscstern_cc(t) doublediscstern_miu(t) doublediscstern_wem(t) doublediscstern_ri(t) doublediscstern_dam(t) doublediscstern_abate(t) doublediscstern_mcemis(t) doublediscstern_utility ; Year(t) = 2005 +10*(ord(t)-1); doublediscstern_y(t)=y.l(t); doublediscstern_cpc(t)=cpc.l(t); doublediscstern_s(t)=s.l(t) ; doublediscstern_indem(t)= e.l(t)-etree(t);; doublediscstern_sigma(t)=sigma(t) ; doublediscstern_tatm(t)=tatm.l(t) ; doublediscstern_mat(t)=mat.l(t) ; doublediscstern_tax(t)=-1*ee.m(t)*1000/(kk.m(t)+.0000001) ; doublediscstern_ri(t)=ri.l(t); doublediscstern_rr(t)=rr(t) ; doublediscstern_al(t)=al(t) ; doublediscstern_forcoth(t)=forcoth(t); doublediscstern_l(t)=l(t); doublediscstern_etree(t)=etree(t); doublediscstern_yy(t)=yy.m(t) ; doublediscstern_cc(t)=cc.m(t) ; doublediscstern_miu(t)=miu.l(t) ; doublediscstern_wem(t)= e.l(t); doublediscstern_ri(t)=ri.l(t) ; doublediscstern_dam(t)= damages.l(t); doublediscstern_abate(t) = abatecost.l(t); doublediscstern_utility=utility.l ; doublediscstern_mcemis(t)= expcost2*cost1(t)*miu.l(t)**(expcost2-1)/sigma(t)*1000; miu.up(t)= 1; miu.lo(t)= 0; k.lo(t) = 1; k.up(t) = 1000000; K0 = 137;