! DECOMP ! !------------------------------------------------------! File (new) WELVIEW # file containing welfare decompositions #; !< The followings are new sets for DECOMP.TAB. Supplementary sets for "toggles" in VIEWHAR. >! Set CTAX(pfacttax,prodtax,inputtax,contax,govtax,xtax,mtax); Set TYPE(xtax,mtax); Subset TYPE is subset of CTAX; Set COLUMN(alloc_A1,endw_B1,tech_C1,pop_D1,tot_E1,IS_F1,pref_G1); Set TECHTYPE(output,primfac,v_added,ininput,transp,import); Set PRICES(pworld,pexport,pimport); Set DIR(domestic,imported); Set ACTIVITY(firm, private, govt); Set COL(welcnt, dvol, taxrateb, taxrateu); Set DIREC(import,export); Set FORM(percent,value); Set COLM(ISbal,p_cgds,p_save); !< ----------------------------- READS for Common Coefficients ----------------------------- Note: A common coefficient is the one used across several modules. >! ! These formulas setting base values do not go in a post-sim part ! Coefficient (all,i,ENDW_COMM)(all,r,REG) BEVOA(i,r) # value of output at agent's prices #; Formula(initial) (all,i,ENDW_COMM)(all,r,REG) BEVOA(i,r)= EVOA(i,r) ; !Read BEVOA from file GTAPBASE header "EVOA";! Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) BEVFA(i,j,r) # producer expenditure on i by industry j #; Formula(initial)(all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) BEVFA(i,j,r)= EVFA(i,j,r) ; !Read BEVFA from file GTAPBASE header "EVFA";! Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVIFA(i,j,r) # purchases of imported i r for use in j in region r #; Formula(initial) (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVIFA(i,j,r) = VIFA(i,j,r) ; !Read BVIFA from file GTAPBASE header "VIFA";! Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVDFA(i,j,r) # purchases of domestic i r for use in j in region r #; Formula(initial) (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVDFA(i,j,r)= VDFA(i,j,r) ; !Read BVDFA from file GTAPBASE header "VDFA";! Coefficient (all,i,NSAV_COMM)(all,r,REG) BVOA(i,r) # value of commodity i output in region r #; Formula(initial)(all,i,ENDW_COMM)(all,r,REG) BVOA(i,r) = BEVOA(i,r); Formula(initial) (all,i,PROD_COMM)(all,r,REG) BVOA(i,r) = sum(j,ENDW_COMM, BEVFA(j,i,r)) + sum(j,TRAD_COMM, BVIFA(j,i,r) + BVDFA(j,i,r)); !< ======= Modules ======= A: EV Decomposition: Summary A1: Allocative Efficiency Effect: Commodity Summary A2: Allocative Efficiency Effect: Tax Type Summary AX: Decomposition of Allocative Effect, by Tax Type and Commodity B1: Endowment Effect, Gross of Depreciation B2: Endowment Effect: Depreciation C1: Technical Change Effect D1: Population Effect E1: Terms of Trade Effect F1: I-S Effect: Explanatory Factors >! !< ----------------------------- A: EV Decomposition: Summary ----------------------------- >! PostSim(Begin) ; Coefficient (all,r,REG)(all,j,COLUMN) WELFARE(r,j) # aggregate report of welfare change #; Formula (all,r,REG) WELFARE(r,"alloc_A1") = CNTalleffr(r); Formula (all,r,REG) WELFARE(r,"endw_B1") = CNTendwr(r); Formula (all,r,REG) WELFARE(r,"tech_C1") = CNTtechr(r); Formula (all,r,REG) WELFARE(r,"pop_D1") = CNTpopr(r); Formula (all,r,REG) WELFARE(r,"tot_E1") = CNTtotr(r); Formula (all,r,REG) WELFARE(r,"IS_F1") = CNTcgdsr(r); Formula (all,r,REG) WELFARE(r,"PREF_G1") = CNTdpar(r); Write WELFARE to file WELVIEW header "A" longname "EV Decomposition: Summary"; !< --------------------------------------------------- A1: Allocative Efficiency Effect: Commodity Summary --------------------------------------------------- >! Coefficient (all,r,REG)(all,i,TRAD_COMM) !?DMND_COM?! CNTalldemd(r,i) # transpose of CNTalleffir(i,r) #; Formula (all,r,REG)(all,i,TRAD_COMM) CNTalldemd(r,i) = CNTalleffir(i,r); Write CNTalldemd to file WELVIEW header "A1" longname "Allocative Efficiency Effect: Commodity Summary"; !< -------------------------------------------------- A2: Allocative Efficiency Effect: Tax Type Summary -------------------------------------------------- >! Coefficient (all,r,REG) CNTallir(r); Formula (all,r,REG) CNTallir(r) = CNTqfmr(r) + CNTqfdr(r); Coefficient (all,r,REG) CNTallpr(r); Formula (all,r,REG) CNTallpr(r) = CNTqpmr(r) + CNTqpdr(r); Coefficient (all,r,REG) CNTallgr(r); Formula (all,r,REG) CNTallgr(r) = CNTqgmr(r) + CNTqgdr(r); Coefficient (all,r,REG)(all,k,CTAX) CNTalleffkr(r,k); Formula (all,r,REG) CNTalleffkr(r,"pfacttax") = CNTqfer(r); Formula (all,r,REG) CNTalleffkr(r,"prodtax") = CNTqor(r); Formula (all,r,REG) CNTalleffkr(r,"inputtax") = CNTallir(r); Formula (all,r,REG) CNTalleffkr(r,"contax") = CNTallpr(r); Formula (all,r,REG) CNTalleffkr(r,"govtax") = CNTallgr(r); Formula (all,r,REG) CNTalleffkr(r,"xtax") = CNTqxsr(r); Formula (all,r,REG) CNTalleffkr(r,"mtax") = CNTqimr(r); Write CNTalleffkr to file WELVIEW header "A2" longname "Allocative Efficiency Effect: Tax Type Summary"; PostSim(End) ; !< ----------------------------------------------------------------- AX: Decomposition of Allocative Effect, by Tax Type and Commodity ----------------------------------------------------------------- AX0: Preliminaries A21: Output Tax Effect A22: Domestic Tax Effect A23: Trade Tax Effect A3: Endowment Tax Effect >! !< AX0: Preliminaries ------------------- >! ! These formulas setting base values do not go in a post-sim part ! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVDPM(i,r) # private household expenditure on domestic i in r #; Formula(initial)(all,i,TRAD_COMM)(all,r,REG) BVDPM(i,r) = VDPM(i,r) ; !In DECOMP.TAB this was Read BVDPM from file GTAPBASE header "VDPM";! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVDGM(i,r) # government household expenditure on domestic i in r #; Formula(initial)(all,i,TRAD_COMM)(all,r,REG) BVDGM(i,r)=VDGM(i,r) ; !In DECOMP.TAB this was Read BVDGM from file GTAPBASE header "VDGM";! Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVDFM(i,j,r) # purchases of domestic i r for use in j in region r #; Formula(initial)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVDFM(i,j,r)=VDFM(i,j,r) ; !In DECOMP.TAB this was Read BVDFM from file GTAPBASE header "VDFM";! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVXMD(i,r,s) # exports of i from r to s at market prices (tradeables only) #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVXMD(i,r,s)= VXMD(i,r,s) ; !In DECOMP.TAB this was Read BVXMD from file GTAPBASE header "VXMD";! !< A21: Output Tax Effect ----------------------- A21: Output Tax Effect A211: Output Tax Effect: Explanatory Factors >! !< A21: Output Tax Effect ....................... >! PostSim(begin) ; Coefficient (all,i,NSAV_COMM)(all,r,REG) OTAX(i,r); Formula (all,i,NSAV_COMM)(all,r,REG) OTAX(i,r) = CNTqoir(i,r); Write OTAX to file WELVIEW header "A21" longname "Output Tax Effect"; Postsim(End) ; !< A211: Output Tax Effect: Explanatory Factors ............................................ >! ! These formulas setting base values do not go in a post-sim part ! Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) BVFM(i,j,r) # producer expenditure on i by j in r at market prices #; Formula(initial) (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) BVFM(i,j,r)= VFM(i,j,r) ; !Read BVFM from file GTAPBASE header "VFM";! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVDM(i,r) # domestic sales of i in r at market prices (tradeables only) #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVDM(i,r) = VDM(i,r) ; Coefficient (all,m,MARG_COMM)(all,r,REG) BVST(m,r) # exports of m from r for int'l transport at mkt prices (tradeables only) #; Formula(initial) (all,m,MARG_COMM)(all,r,REG) BVST(m,r)=VST(m,r) ; !Read BVST from file GTAPBASE header "VST"; ! Coefficient (all,i,NSAV_COMM)(all,r,REG) BVOM(i,r) # value of commodity i output in region r at mkt prices #; Formula(initial) (all,i,NSAV_COMM)(all,r,REG) BVOM(i,r) = VOM(i,r); ! VOM calculated above using formula ! ! These formulas setting base values do not go in a post-sim part ! Zerodivide (nonzero_by_zero) default 0; Coefficient (Parameter) (all,i,NSAV_COMM)(all,r,REG) BOUTAX(i,r) # Base value of output tax rates # ; Formula (Initial) (all,i,NSAV_COMM)(all,r,REG) ! VOM,VOA here are base values since is Formula(Initial) ! BOUTAX(i,r) = [VOM(i,r) - VOA(i,r)] / VOM(i,r) * 100; Zerodivide (nonzero_by_zero) off; ! Next must be in a post-sim part ! PostSim (Begin) ; Zerodivide (nonzero_by_zero) default 0; Coefficient (all,i,NSAV_COMM)(all,r,REG) UOUTAX(i,r) # Updated value of output tax rates # ; Formula (all,i,NSAV_COMM)(all,r,REG) ! VOM,VOA here are the updated values since in post-sim part ! UOUTAX(i,r) = [VOM(i,r) - VOA(i,r)] / VOM(i,r) * 100; Zerodivide (nonzero_by_zero) off; Coefficient (all,i,NSAV_COMM)(all,r,reg)(all,c,col) OUTPUT(i,r,c) ; Formula (all,i,NSAV_COMM)(all,r,REG) OUTPUT(i,r,"welcnt") = OTAX(i,r); Formula (all,i,NSAV_COMM)(all,r,REG) OUTPUT(i,r,"dvol") = BVOM(i,r) * qo(i,r) / 100; Formula (all,i,NSAV_COMM)(all,r,reg) OUTPUT(i,r,"taxrateb") = BOUTAX(i,r); Formula (all,i,NSAV_COMM)(all,r,reg) OUTPUT(i,r,"taxrateu") = UOUTAX(i,r); Write OUTPUT to file WELVIEW header "A211" longname "combination of output welcnt,vol change and tax rate"; PostSim (End) ; !< A22: Domestic Tax Effect ------------------------- A22: Domestic Tax Effect: Summary A221: Intermed. Input Tax Effect A22F: Intermed. Input Tax Effect: Explanatory Factors A22P: Private Cons. Tax Effect: Explanatory Factors A22G: Government Cons. Tax Effect: Explanatory Factors >! !< A22: Domestic Tax Effect: Summary ................................. >! Postsim(begin) ; Coefficient (all,i,TRAD_COMM)(all,j,ACTIVITY)(all,r,REG)(all,t,DIR) ATAX(i,j,r,t); Formula (all,i,TRAD_COMM)(all,r,REG) ATAX(i,"firm",r,"imported") = CNTqfmir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) ATAX(i,"private",r,"imported") = CNTqpmir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) ATAX(i,"govt",r,"imported") = CNTqgmir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) ATAX(i,"firm",r,"domestic") = CNTqfdir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) ATAX(i,"private",r,"domestic") = CNTqpdir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) ATAX(i,"govt",r,"domestic") = CNTqgdir(i,r); Write ATAX to file WELVIEW header "A22" longname "Domestic Tax Effect: Summary"; !< A221: Intermed. Input Tax Effect ................................ >! Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)(all,t,DIR) STAX(i,j,r,t); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) STAX(i,j,r,"imported") = CNTqfmijr(i,j,r); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) STAX(i,j,r,"domestic") = CNTqfdijr(i,j,r); Write STAX to file WELVIEW header "A221" longname "Intermed. Input Tax Effect"; Postsim(end) ; !< A22F: Intermed. Input Tax Effect: Explanatory Factors ..................................................... >! Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVIFM(i,j,r) # purchases of imports i for use in j in region r #; Formula(initial) (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) BVIFM(i,j,r)= VIFM(i,j,r) ; !Read BVIFM from file GTAPBASE header "VIFM";! PostSim(Begin) ; Zerodivide (nonzero_by_zero) default 0; Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) (all,t,DIR)(all,c,COL) FIRM(i,j,r,t,c); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)(all,t,DIR) FIRM(i,j,r,t,"welcnt") = STAX(i,j,r,t); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) FIRM(i,j,r,"imported","dvol") = [BVIFM(i,j,r) * qfm(i,j,r)] / 100; Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) FIRM(i,j,r,"domestic","dvol") = [BVDFM(i,j,r) * qfd(i,j,r)] / 100; Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) FIRM(i,j,r,"imported","taxrateb") = 100 * [BVIFA(i,j,r) - BVIFM(i,j,r)] / BVIFM(i,j,r); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) FIRM(i,j,r,"imported","taxrateu") = 100 * [VIFA(i,j,r) - VIFM(i,j,r)] / VIFM(i,j,r); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) FIRM(i,j,r,"domestic","taxrateb") = 100 * [BVDFA(i,j,r) - BVDFM(i,j,r)] / BVDFM(i,j,r); Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) FIRM(i,j,r,"domestic","taxrateu") = 100 * [VDFA(i,j,r) - VDFM(i,j,r)] / VDFM(i,j,r); Zerodivide (nonzero_by_zero) off; Write FIRM to file WELVIEW header "A22F" longname "Intermed. Input Tax Effect: Explanatory Factors"; Postsim(End) ; !< A22P: Private Cons. Tax Effect: Explanatory Factors ................................................... >! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVIPM(i,r) # private household expenditure on i in r #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVIPM(i,r)= VIPM(i,r) ; !Read BVIPM from file GTAPBASE header "VIPM";! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVIPA(i,r) # private household expenditure on imported i #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVIPA(i,r)= VIPA(i,r) ; !Read BVIPA from file GTAPBASE header "VIPA";! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVDPA(i,r) # private household expenditure on domestic i in r #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVDPA(i,r)= VDPA(i,r) ; !Read BVDPA from file GTAPBASE header "VDPA";! Postsim(begin) ; Zerodivide (nonzero_by_zero) default 0; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,t,DIR)(all,c,COL) PRIVATE(i,r,t,c); Formula (all,i,TRAD_COMM)(all,r,REG)(all,t,DIR) PRIVATE(i,r,t,"welcnt") = ATAX(i,"private",r,t); Formula (all,i,TRAD_COMM)(all,r,REG) PRIVATE(i,r,"imported","dvol") = [BVIPM(i,r) * qpm(i,r)] / 100; Formula (all,i,TRAD_COMM)(all,r,REG) PRIVATE(i,r,"domestic","dvol") = [BVDPM(i,r) * qpd(i,r)] / 100; Formula (all,i,TRAD_COMM)(all,r,REG) PRIVATE(i,r,"imported","taxrateb") = 100 * [BVIPA(i,r) - BVIPM(i,r)] / BVIPM(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) PRIVATE(i,r,"imported","taxrateu") = 100 * [VIPA(i,r) - VIPM(i,r)] / VIPM(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) PRIVATE(i,r,"domestic","taxrateb") = 100 * [BVDPA(i,r) - BVDPM(i,r)] / BVDPM(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) PRIVATE(i,r,"domestic","taxrateu") = 100 * [VDPA(i,r) - VDPM(i,r)] / VDPM(i,r); Zerodivide (nonzero_by_zero) off; Write PRIVATE to file WELVIEW header "A22P" longname "Private Cons. Tax Effect: Explanatory Factors"; Postsim(End) ; !< A22G: Government Cons. Tax Effect: Explanatory Factors ...................................................... >! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVIGM(i,r) # gov't household expenditure on i in r #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVIGM(i,r)=VIGM(i,r) ; !Read BVIGM from file GTAPBASE header "VIGM";! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVIGA(i,r) # government household expenditure on imported i #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVIGA(i,r) = VIGA(i,r) ; !Read BVIGA from file GTAPBASE header "VIGA";! Coefficient (all,i,TRAD_COMM)(all,r,REG) BVDGA(i,r) # government household expenditure on domestic i in r #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG) BVDGA(i,r)= VDGA(i,r) ; !Read BVDGA from file GTAPBASE header "VDGA";! Postsim(Begin) ; Zerodivide (nonzero_by_zero) default 0; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,t,DIR)(all,c,COL) GOVT(i,r,t,c); Formula (all,i,TRAD_COMM)(all,r,REG)(all,t,DIR) GOVT(i,r,t,"welcnt") = ATAX(i,"govt",r,t); Formula (all,i,TRAD_COMM)(all,r,REG) GOVT(i,r,"imported","dvol") = [BVIGM(i,r) * qgm(i,r)] / 100; Formula (all,i,TRAD_COMM)(all,r,REG) GOVT(i,r,"domestic","dvol") = [BVDGM(i,r) * qgd(i,r)] / 100; Formula (all,i,TRAD_COMM)(all,r,REG) GOVT(i,r,"imported","taxrateb") = 100 * [BVIGA(i,r) - BVIGM(i,r)] / BVIGM(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) GOVT(i,r,"imported","taxrateu") = 100 * [VIGA(i,r) - VIGM(i,r)] / VIGM(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) GOVT(i,r,"domestic","taxrateb") = 100 * [BVDGA(i,r) - BVDGM(i,r)] / BVDGM(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) GOVT(i,r,"domestic","taxrateu") = 100 * [VDGA(i,r) - VDGM(i,r)] / VDGM(i,r); Zerodivide (nonzero_by_zero) off; Write GOVT to file WELVIEW header "A22G" longname "Government Cons. Tax Effect: Explanatory Factors"; !< A23: Trade Tax Effect ---------------------- A23: Trade Tax Effect A231: Trade Tax Effect: Explanatory Factors >! !< A23: Trade Tax Effect ...................... >! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)(all,k,TYPE) TTAX(i,r,s,k); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TTAX(i,r,s,"xtax") = CNTqxsirs(i,r,s); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TTAX(i,r,s,"mtax") = CNTqimisr(i,r,s); Write TTAX to file WELVIEW header "A23" longname "Trade Tax Effect"; Postsim(End) ; !< A231: Trade Tax Effect: Explanatory Factors ........................................... >! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVIMS(i,r,s) # imports of i from r to s at domestic market prices #; Formula(initial)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVIMS(i,r,s)= VIMS(i,r,s) ; !Read BVIMS from file GTAPBASE header "VIMS";! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVIWS(i,r,s) # imports of i from r to s valued cif (tradeables only) #; Formula(initial) (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVIWS(i,r,s)= VIWS(i,r,s) ; !Read BVIWS from file GTAPBASE header "VIWS";! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) IMTAX(i,r,s); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) IMTAX(i,r,s) = [VIMS(i,r,s) - VIWS(i,r,s)] / VIWS(i,r,s) * 100; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BIMTAX(i,r,s); Formula(initial) (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BIMTAX(i,r,s)= IMTAX(i,r,s) ; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVXWD(i,r,s) # exports of i from r to s valued fob (tradeables only) #; Formula(initial)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BVXWD(i,r,s)= VXWD(i,r,s) ; !Read BVXWD from file GTAPBASE header "VXWD";! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) EXTAX(i,r,s); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) EXTAX(i,r,s) = [VXWD(i,r,s) - VXMD(i,r,s)] / VXWD(i,r,s) * 100; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BEXTAX(i,r,s); Formula(initial) (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) BEXTAX(i,r,s) = EXTAX(i,r,s); Postsim(Begin) ; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)(all,c,COL)(all,d,DIREC) TRADE(i,r,s,c,d); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"welcnt","import") = TTAX(i,r,s,"mtax"); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"welcnt","export") = TTAX(i,r,s,"xtax"); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"dvol","import") = BVXMD(i,r,s) * qxs(i,r,s) / 100; Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"dvol","export") = BVXMD(i,r,s) * qxs(i,r,s) / 100; Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"taxrateb","import") = BIMTAX(i,r,s); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"taxrateu","import") = IMTAX(i,r,s); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"taxrateb","export") = BEXTAX(i,r,s); Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TRADE(i,r,s,"taxrateu","export") = EXTAX(i,r,s); Write TRADE to file WELVIEW header "A231" longname "Trade Tax Effect: Explanatory Factors"; Postsim(End) ; !< A3: Endowment Tax Effect -------------------------- >! Zerodivide (zero_by_zero) default 0; Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) ENDTAX(i,j,r); Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) ENDTAX(i,j,r) = [EVFA(i,j,r) - VFM(i,j,r)] / VFM(i,j,r) * 100; Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) BENDTAX(i,j,r); Formula(initial) (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) BENDTAX(i,j,r) = ENDTAX(i,j,r); Zerodivide (zero_by_zero) off; Postsim(Begin) ; Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)(all,c,COL) PFACTORS(i,j,r,c); Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) PFACTORS(i,j,r,"welcnt") = CNTqfeijr(i,j,r); Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) PFACTORS(i,j,r,"dvol") = BVFM(i,j,r) * qfe(i,j,r) / 100; Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) PFACTORS(i,j,r,"taxrateb") = BENDTAX(i,j,r); Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) PFACTORS(i,j,r,"taxrateu") = ENDTAX(i,j,r); Write PFACTORS to file WELVIEW header "A31" longname "Endowment Tax Effect: Explanatory Factors"; !< ------------------------------------------- B1: Endowment Effect, Gross of Depreciation ------------------------------------------- >! Coefficient (all,r,REG)(all,i,ENDW_COMM) CNTendw(r,i) # contribution to welfare by ENDW_COMM i in region r #; Formula (all,r,REG)(all,i,ENDW_COMM) CNTendw(r,i) = CNTendwir(i,r); Write CNTendw to file WELVIEW header "B1" longname "Endowment Effect, Gross of Depreciation"; !< ---------------------------------- B2: Endowment Effect: Depreciation ---------------------------------- >! Write CNTkbr to file WELVIEW header "B2" longname "Endowment Effect: Depreciation"; !< --------------------------- C1: Technical Change Effect --------------------------- C1: Technical Change Effect: Summary C1X: Technical Change Effect: Further Decomposition >! !< C1: Technical Change Effect: Summary ------------------------------------- >! Coefficient (all,r,REG)(all,i,TECHTYPE) CNTtech(r,i) # contribution to welfare change by tech #; Formula (all,r,REG) CNTtech(r,"output") = CNTtech_aor(r); Formula (all,r,REG) CNTtech(r,"primfac") = CNTtech_afer(r); Formula (all,r,REG) CNTtech(r,"v_added") = CNTtech_avar(r); Formula (all,r,REG) CNTtech(r,"ininput") = CNTtech_afr(r); Formula (all,r,REG) CNTtech(r,"transp") = CNTtech_atrr(r); Formula (all,r,REG) CNTtech(r,"import") = CNTtech_amsr(r); Write CNTtech to file WELVIEW header "C1" longname "Technical Change Effect: Summary"; !< C1X: Technical Change Effect: Further Decomposition --------------------------------------------------- >! Write CNTtech_aoir to file WELVIEW header "C11" longname "(ao) Output Augm. Tech. Change Effect"; Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) Ctech_afeijr(i,j,r) ; Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG) Ctech_afeijr(i,j,r)= CNTtech_afeijr(i,j,r) ; Write Ctech_afeijr to file WELVIEW header "C12" longname "(afe) Primary Factor Augm. Tech. Change Effect"; Coefficient (all,j,PROD_COMM)(all,r,REG) Ctech_avajr(j,r) ; Formula (all,j,PROD_COMM)(all,r,REG) Ctech_avajr(j,r)= CNTtech_avajr(j,r) ; Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) Ctech_afijr(i,j,r) ; Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG) Ctech_afijr(i,j,r) = CNTtech_afijr(i,j,r) ; Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) Ctech_amsirs(i,r,s) ; Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG) Ctech_amsirs(i,r,s)= CNTtech_amsirs(i,r,s) ; Write Ctech_avajr to file WELVIEW header "C13" longname "(ava) Value Added Augm. Tech. Change Effect"; Write Ctech_afijr to file WELVIEW header "C14" longname "(af) Intermed. Input Augm. Tech. Change Effect"; Write !?Ctech_mirs?! atmfsd to file WELVIEW header "C15" longname "(atmfsd) Internat. Margin Augm. Tech. Change Effect"; Write Ctech_amsirs to file WELVIEW header "C16" longname "(ams) Bilateral Import Augm. Tech. Change Effect"; !< --------------------- D1: Population Effect --------------------- No decomposition required here. >! !< ------------------------- E1: Terms of Trade Effect ------------------------- >! Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,t,PRICES)(all,s,FORM) TOFT(i,r,t,s) # terms trade effects decomposed by effects of different prices #; Formula (all,i,TRAD_COMM)(all,r,REG) TOFT(i,r,"pworld","percent") = c1_ir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) TOFT(i,r,"pexport","percent") = c2_ir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) TOFT(i,r,"pimport","percent") = -c3_ir(i,r); Formula (all,i,TRAD_COMM)(all,r,REG) TOFT(i,r,"pworld","value") = CNTtotr(r) * c1_ir(i,r) / sum(j,TRAD_COMM, sum(t,PRICES, TOFT(j,r,t,"percent"))); Formula (all,i,TRAD_COMM)(all,r,REG) TOFT(i,r,"pexport","value") = CNTtotr(r) * c2_ir(i,r) / sum(t,PRICES, sum(j,TRAD_COMM, TOFT(j,r,t,"percent"))); Formula (all,i,TRAD_COMM)(all,r,REG) TOFT(i,r,"pimport","value") = -c3_ir(i,r) * CNTtotr(r) / sum(t,PRICES, sum(j,TRAD_COMM, TOFT(j,r,t,"percent"))); Write TOFT to file WELVIEW header "E" longname "TOT Terms of Trade Effect"; Postsim(End) ; !< ----------------------------------- F1: I-S Effect: Explanatory Factors ----------------------------------- >! Coefficient (all,r,REG) BSAVE(r) # expenditure on NET savings in region r at agent's prices #; Formula(initial) (all,r,REG) BSAVE(r)=SAVE(r) ; !Read BSAVE from file GTAPBASE header "SAVE";! Coefficient (ge 0)(all,r,REG) BVDEP(r) # value of capital depeciation in r (exogenous) #; Formula(initial) (all,r,REG) BVDEP(r)=VDEP(r) ; !Read BVDEP from file GTAPBASE header "VDEP";! Coefficient (all,r,REG) BNETINV(r) # regional net investment in region r #; Formula(initial) (all,r,REG) BNETINV(r) = sum(k,CGDS_COMM, BVOA(k,r)) - BVDEP(r); Coefficient (all,r,REG) ISBAL(r) # I-S balance, NETINV(r) - SAVE(r) #; Formula(initial) (all,r,REG) ISBAL(r) = BNETINV(r) - BSAVE(r); Postsim(begin); Coefficient (all,r,REG)(all,j,COLM) CGDSCOMP(r,j) # components of cgds effect #; Formula (all,r,REG) CGDSCOMP(r,"ISbal") = ISBAL(r); Formula (all,r,REG) CGDSCOMP(r,"p_cgds") = pcgds(r); Formula (all,r,REG) CGDSCOMP(r,"p_save") = psave(r); Write CGDSCOMP to file WELVIEW header "F1" longname "I-S Effect: Explanatory Factors"; write CNTqfeir to file welview header "A3" longname "ALLO decom. alloc by endw_comm"; Postsim(end) ; !< ----------------- END OF DECOMP.TAB ----------------- >!