19if__name__ ==
"__main__":
22 fromgams.magic
가져오기GamsInteractive
23gams = GamsInteractive()
27# 이것은 DICE-2016R의 베타 버전입니다. 주요 변경 사항은 Nordhaus에 설명되어 있습니다.
28# 탄소의 사회적 비용 재검토: DICE-2016R 모델 추정,"
29# 2016년 9월 30일," 저자가 제공함.
31# 버전은 DICE-2016R-091916ap.gms입니다.
33# DICE-2016R 2016년 9월(DICE-2016R-091216a.gms에서 수정됨)
36t '기간(기간당 5년)' / 1*100 / ; 설정
40fosslim '최대 누적 추출 화석 연료(GtC)' / 6000 /
44ipopt '최적화가 1이고 밑이 0인 표시기' / 0 /
46elasmu '소비의 한계효용 탄력성' / 1.45 /
47prstp '연간 사회적 시간 선호의 초기 비율' / .015 /
49gama '생산함수의 자본 탄력성' / .300 /
50pop0 '2015년 초기 세계 인구(백만)' / 7403 /
51popadj '2050년 팝 전망에 맞춰 조정되는 성장률' / 0.134 /
52popasym '점근적 인구(수백만)' / 11500 /
53dk '자본 감가상각률(연간)' / .100 /
54q0 '2015년 초기 세계 총생산(트릴 2010 슬롯 사이트 추천)' / 105.5 /
55k0 '초기 자본 가치 2015(트릴 2010 슬롯 사이트 추천)' / 223 /
56a0 '총요소 생산성의 초기 수준' / 5.115 /
57ga0 '5년당 TFP의 초기 성장률' / 0.076 /
58dela '5년당 TFP 감소율' / 0.005 /
60gsigma1 '시그마의 초기 성장(연간)' / -0.0152 /
61dsig '탈탄소화 감소율(기간당)' / -0.001 /
62eland0 '2015년 육상 탄소 배출량(연간 GtCO2)' / 2.6 /
63deland '토지 배출 감소율(기간당)' / .115 /
64e0 '2015년 산업 배출량(연간 GtCO2)' / 35.85 /
65miu0 '기본 사례 2015의 초기 배출 제어율' / .03 /
68mat0 '초기 대기 농도 2015(GtC)' / 851 /
69mu0 '상층 초기 농도 2015(GtC)' / 460 /
70ml0 '하층 초기 농도 2015(GtC)' / 1740 /
71mateq '평형농도분위기(GtC)' / 588 /
72mueq '상층부 평형 농도(GtC)' / 360 /
73mleq '하층의 평형 농도(GtC)' / 1720 /
75b12 '탄소 순환 전이 행렬' / .12 /
76b23 '탄소 순환 전이 행렬' / 0.007 /
83sig0 '탄소 집약도 2010 (출력당 kgCO2 2005 슬롯 사이트 추천 2010)'
85t2xco2 '평형 온도 영향(CO2 두 배당 oC)' / 3.1 /
86fex0 '2015년 비CO2 온실가스 강제력(Wm-2)' / 0.5 /
87fex1 '2100 비CO2 GHG 강제력(Wm-2)' / 1.0 /
88tocean0 '초기 하부 지층 온도 변화(1900년부터 C)' / .0068 /
89tatm0 '초기 대기 온도 변화(1900년부터 C)' / 0.85 /
90c1 '상위층의 기후방정식 계수' / 0.1005 /
91c3 '상부 지층에서 하부 지층으로의 전달 계수' / 0.088 /
92c4 '하위 레벨의 전달 계수' / 0.025 /
93fco22x '평형 CO2 배가 강제력(Wm-2)' / 3.6813 /
98a2 '손상 2차 항' / 0.00236 /
101expcost2 '제어 비용 함수의 지수' / 2.6 /
102pback '백스톱 비용 2010$/tCO2 2015' / 550 /
103gback '초기 비용 감소 기간당 백스톱 비용' / .025 /
104limmiu '2150년 이후 제어율 상한' / 1.2 /
105tnopol '배출을 통제하지 않는 기간' / 45 /
106cprice0 '초기 기본 탄소 가격(2010년 tCO2당 $)' / 2 /
107gcprice '연간 기본 탄소 가격 증가율' / .02 /
110# 이는 계산에 필요하지 않음에 유의하십시오.
111# 첫 번째 기간 소비의 MU = 1이고 PV cons = PV 유틸리티임을 보장합니다.
112scale1 '곱셈적 스케일링 계수' / 0.0302455265681763 /
113scale2 '추가 스케일링 계수' / -10993.704 /
117tfirst(t), tlast(t), tealy(t), tlate(t) 설정 ;
121슬롯 사이트 추천(t) '총요소생산성 수준'
122sigma(t) 'CO2 환산 배출량 출력 비율'
123rr(t) '평균 유틸리티 사회적 할인율'
125forcoth(t) '기타 온실가스에 대한 외인성 강제력'
128gsig(t) '시그마 변화(에너지 효율 누적 개선)'
129etree(t) '삼림 벌채로 인한 배출'
133gfacpop(t) '성장 인자 모집단'
135optlrsav '횡단성에 사용되는 최적의 장기 저축률'
137cpricebase(t) '기본 사례의 탄소 가격'
138photel(t) '손해 없는 탄소 가격(호텔 임대 조건)'
140atfrac(t) '1850년 이후 대기 점유율'
141atfrac2010(t) '2010년 이후 대기 점유율'
145tfirst(t) = yes$(t.val eq 1);
146tlast(t) = yes$(t.val eq card(t));
147# 탄소 순환의 장기적 일관성을 위한 매개변수
155sig0 = e0/(q0*(1-miu0));
158loop(t, l(t+1)=l(t););
159loop(t, l(t+1)=l(t)*(popasym/L(t))**popadj ;);
161ga(t) = ga0*exp(-dela*5*((t.val-1)));
162슬롯 사이트 추천("1") = a0; 루프(t, 슬롯 사이트 추천(t+1)=슬롯 사이트 추천(t)/((1-ga(t))););
163gsig("1") = gsigma1; loop(t,gsig(t+1)=gsig(t)*((1+dsig)**tstep) ;);
164시그마("1") = sig0; loop(t,sigma(t+1)=(sigma(t)*exp(gsig(t)*tstep)););
166pbacktime(t) = pback*(1-gback)**(t.val-1);
167cost1(t) = pbacktime(t)*sigma(t)/expcost2/1000;
169etree(t) = eland0*(1-deland)**(t.val-1);
170cumetree("1") = 100; loop(t,cumetree(t+1)=cumetree(t)+etree(t)*(5/3.666););
172rr(t) = 1/((1+prstp)**(tstep*(t.val-1)));
173forcoth(t) = fex0+ (1/17)*(fex1-fex0)*(t.val-1)$(t.val lt 18) + (fex1-fex0)$(t.val ge 18);
174optlrsav = (dk + .004)/(dk + .004*elasmu + prstp)*gama;
177cpricebase(t) = cprise0*(1+gcprice)**(5*(t.val-1));
182FORC(t) '복사강제력의 증가(1900년부터 m2당 와트)'
183TATM(t) '대기 온도 증가(1900년부터 섭씨 온도)'
184TOCEAN(t) '하층 해양 온도 증가(1900년부터 섭씨 온도)'
185MAT(t) '대기 중 탄소 농도 증가(1750년의 GtC)'
186MU(t) '얕은 바다의 탄소 농도 증가(1750년부터 GtC)'
187ML(t) '하층 해양의 탄소 농도 증가(1750년부터 GtC)'
188E(t) '총 CO2 배출량(연간 GtCO2)'
189EIND(t) '산업 배출량(연간 GtCO2)'
190C(t) '소비(연간 2005년 미국 달러 수조)'
191K(t) '자본스톡(조 달러, 2005년 미국 달러)'
192CPC(t) '자본당 소비(연간 수천 2005 슬롯 사이트 추천)'
193I(t) '투자(연간 2005년 수조 달러)'
194S(t) '세계 총생산 대비 총 저축률'
196Y(t) '감소 및 피해를 제외한 세계 총생산(연간 2005 슬롯 사이트 추천 조)'
197YGROSS(t) '경감 및 피해의 세계 총생산(GROSS)(연간 수조 2005 슬롯 사이트 추천)'
198YNET(t) '순손해 방정식의 산출량(연간 2005년 슬롯 사이트 추천 수조)'
199DAMAGES(t) '손해(연간 2005 슬롯 사이트 추천 조)'
200DAMFRAC(t) '총 생산량에 대한 피해 비율'
201ABATECOST(t) '배출 감소 비용(연간 2005 슬롯 사이트 추천 조)'
202MCABATE(t) '한계 저감 비용(CO2 톤당 2005$)'
203CCA(t) '누적 산업 탄소 배출량(GTC)'
204CCATOT(t) '총 탄소 배출량(GtC)'
206CPRICE(t) '탄소 가격(CO2 톤당 2005$)'
211음수가 아닌 변수 MIU, TATM, MAT, MU, ML, Y, YGROSS, C, K, I ;
218CCACCA(t) '누적 산업 탄소 배출량'
219CCATOTEQ(t) '누적 총 탄소 배출량'
221DAMFRACEQ(t) '손상률 방정식'
223ABATEEQ(t) '배출 감소 비용 방정식'
224MCABATEEQ(t) 'MC 감소 방정식'
225CARBPRICEEQ(t) '감소로 인한 탄소 가격 방정식'
231TATMEQ(t) '대기에 대한 온도-기후 방정식'
232TOCEANEQ(t) '저해양에 대한 온도-기후 방정식'
235YGROSSEQ(t) '총계 방정식 출력'
236YNETEQ(t) '순손해 방정식 출력'
245CEMUTOTPEREQ(t) '기간 효용'
246PERIODUEQ(t) '순시 효용 함수 방정식'
252eeq(t).. E(t) =E= EIND(t) + etree(t);
253eindeq(t).. EIND(t) =E= 시그마(t) * YGROSS(t) * (1-(MIU(t)));
254ccacca(t+1).. CCA(t+1) =E= CCA(t) + EIND(t)*5/3.666;
255ccatoteq(t).. CCATOT(t) =E= CCA(t) + cumetree(t);
256force(t).. FORC(t) =E= fco22x * ((log((MAT(t)/588.000))/log(2))) + forcoth(t);
257damfraceq(t) .. DAMFRAC(t) =E= (a1*TATM(t)) + (a2*TATM(t)**a3) ;
258dameq(t).. 피해(t) =E= YGROSS(t) * DAMFRAC(t);
259abateeq(t).. ABATECOST(t) =E= YGROSS(t) * 비용1(t) * (MIU(t)**expcost2);
260mcabateeq(t).. MCABATE(t) =E= pbacktime(t) * MIU(t)**(expcost2-1);
261carbpriceeq(t).. CPRICE(t) =E= pbacktime(t) * (MIU(t))**(expcost2-1);
264mmat(t+1).. MAT(t+1) =E= MAT(t)*b11 + MU(t)*b21 + (E(t)*(5/3.666));
265mml(t+1).. ML(t+1) =E= ML(t) *b33 + MU(t)*b23;
266mmu(t+1).. MU(t+1) =E= MAT(t)*b12 + MU(t)*b22 + ML(t)*b32;
267tatmeq(t+1).. TATM(t+1) =E= TATM(t) + c1*((FORC(t+1)-(fco22x/t2xco2)*TATM(t))-(c3*(TATM(t)-TOCEAN(t))));
268toceaneq(t+1).. TOCEAN(t+1) =E= TOCEAN(t) + c4*(TATM(t)-TOCEAN(t));
271ygrosseq(t).. YGROSS(t) =E= (슬롯 사이트 추천(t)*(L(t)/1000)**(1-GAMA))*(K(t)**GAMA);
272yneteq(t).. YNET(t) =E= YGROSS(t)*(1-damfrac(t));
273yy(t).. Y(t) =E= YNET(t) - ABATECOST(t);
274cc(t).. C(t) =E= Y(t) - I(t);
275cpce(t).. CPC(t) =E= 1000 * C(t) / L(t);
276seq(t).. I(t) =E= S(t) * Y(t);
277kk(t+1).. K(t+1) =L= (1-dk)**tstep * K(t) + tstep * I(t);
278rieq(t+1).. RI(t) =E= (1+prstp) * (CPC(t+1)/CPC(t))**(elasmu/tstep) - 1;
281cemutotpereq(t).. CEMUTOTPER(t) =E= PERIODU(t) * L(t) * rr(t);
282기간q(t).. PERIODU(t) =E= ((C(T)*1000/L(T))**(1-elasmu)-1)/(1-elasmu)-1;
283util.. UTILITY =E= tstep * scale1 * sum(t, CEMUTOTPER(t)) + scale2;
291MIU.up(t)$(t.val<30) = 1;
307lag10(t) = yes$(t.val gt 카드(t)-10);
308S.FX(lag10(t)) = optlrsav;
313MAT.FX(tfirst) = mat0;
316TATM.FX(tfirst) = tatm0;
317TOCEAN.FX(tfirst) = tocean0;
326nlp를 사용하여 UTILITY를 극대화하는 CO2 해결;''')
330m = gams.exchange_container
332 ford
에[
'TATM',
'RI',
'EIND',
'CPRICE']:
333결과[d] = pd.DataFrame(열=[
'선택',
'바스'])
334결과[d][
'선택'] = m[d].records[
'레벨'].copy()
338# 기본 실행의 경우 이 서브루틴은 호텔 임대료를 계산합니다.
339# 탄소 가격은 호텔 임대료 또는 기준 가격의 최대값입니다
340# 가격 방정식이 2013R과 다릅니다. 무엇이 잘못되었는지 잘 모르겠습니다.
341옵션 bRatio = 1; MIU.LO('1') = 0; MIU.UP('1') = inf; # 선택 실행 및 폐기 기준에서 수정 재설정
343nlp를 사용하여 UTILITY를 극대화하는 CO2 해결;
346CPRICE.UP(t)$(t.val<tnopol+1) = max(photel(t),cpricebase(t));
348nlp를 사용하여 UTILITY를 극대화하여 CO2를 해결합니다.''')
355tstep = int(m[
't단계'].toValue())
356l = [ 2010 + t단계*n
용n
에범위(len(m[
''].records))]
357 용d
에[
'TATM',
'RI',
'EIND',
'CPRICE']:
358결과[d][
'바스'] = m[d].records[
'레벨'].copy()
360결과[d].set_index(pd.Index(l[:len(m[d].records[
'레벨'])]), 내부=
사실입니다)
375# 탄소 및 기타 변수의 사회적 비용 계산
376scc(t) = -1000*eeq.m(t)/(.00001+cc.m(t));
377atfrac(t) = ((MAT.L(t)-588)/(CCATOT.L(t)+.000001 ));
378atfrac2010(t) = ((MAT.L(t)-mat0)/(.00001+CCATOT.L(t)-CCATOT.L('1') ));
379ppm(t) = MAT.L(t)/2.13;
382슬롯 사이트 추천("연간 산업 배출량 GTCO2", t) = EIND.L(t);
383슬롯 사이트 추천("대기 농도 C(ppm)", t) = MAT.L(t)/2.13;
384슬롯 사이트 추천("대기 온도", t) = TATM.L(t);
385슬롯 사이트 추천("순 출력 순)", t) = Y.L(t);
386슬롯 사이트 추천("기후 피해 비율 출력", t) = DAMFRAC.L(t);
387슬롯 사이트 추천("1인당 소비량", t) = CPC.L(t);
388슬롯 사이트 추천("탄소 가격(CO2 t당)", t) = CPRICE.L(t);
389슬롯 사이트 추천("배출 제어율", t) = MIU.L(t);
390슬롯 사이트 추천("탄소의 사회적 비용", t) = scc(t);
391슬롯 사이트 추천("이자율", t) = RI.L(t);
392슬롯 사이트 추천("인구", t) = l(t);
393슬롯 사이트 추천("TFP", t) = al(t);
394슬롯 사이트 추천("총생산량,총생산량", t) = YGROSS.L(t);
395슬롯 사이트 추천("tfp 변경", t) = ga(t);
396슬롯 사이트 추천("수도", t) = K.L(t);
397슬롯 사이트 추천("s", t) = S.L(t);
398슬롯 사이트 추천("나", t) = I.L(t);
399슬롯 사이트 추천("Y 총 순액", t) = YNET.L(t);
400슬롯 사이트 추천("손상", t) = DAMAGES.L(t);
401슬롯 사이트 추천("damfrac", t) = DAMFRAC.L(t);
402슬롯 사이트 추천("감소", t) = ABATECOST.L(t);
403슬롯 사이트 추천("시그마", t) = 시그마(t);
404슬롯 사이트 추천("강제", t) = FORC.L(t);
405슬롯 사이트 추천("기타 강제력", t) = forcoth(t);
406슬롯 사이트 추천("기간 유틸리티", t) = PERIODU.L(t);
407슬롯 사이트 추천("소비", t) = C.L(t);
408슬롯 사이트 추천("토지 배출", t) = etree(t);
409슬롯 사이트 추천("누적 ind 배출량", t) = CCA.L(t);
410슬롯 사이트 추천("누적 총 배출량", t) = CCATOT.L(t);
411슬롯 사이트 추천("대기 농도 Gt", t) = MAT.L(t);
412슬롯 사이트 추천("대기 농도ppm",t) =ppm(t);
413슬롯 사이트 추천("연간 총 배출량 GTCO2", t) = E.L(t);
414슬롯 사이트 추천("대기 농도 상한", t) = MU.L(t);
415슬롯 사이트 추천("대기 농도가 낮아짐", t) = ML.L(t);
416슬롯 사이트 추천("1850년 이후 대기 비율", t) = atfrac(t);
417슬롯 사이트 추천("2010년 이후 대기 비율", t) = atfrac2010(t);''')
422슬롯 사이트 추천 = copy.deepcopy(m[
'대표'])
423슬롯 사이트 추천records[
''] = 담당자.기록[
''].map(s:2010+tstep*int(s)
fors
inm[
''].기록[
'유니']})
424인쇄(슬롯 사이트 추천pivot(index=
'', 열=
'유니'))
427gams.gams_cleanup(closedown=
참)