Advertisement
amosdiphosphate

GTAP-MRIO

Mar 25th, 2024
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 207.13 KB | Source Code | 0 0
  1. !<
  2. =============================
  3. Global Trade Analysis Project
  4. The GTAP Modeling Framework
  5. GTAP Model Version 7.1
  6. August 2020
  7.  
  8. GTAPv7-mrio model
  9. August 2020
  10. =============================
  11.  
  12. For documentation see:
  13. Erwin L. Corong, Thomas W. Hertel, Robert A. McDougall, Marinos E. Tsigas,
  14. and Dominique van der Mensbrugghe. The Standard GTAP Model, Version 7.
  15. Journal of Global Economic Analysis, [S.l.], v.2, n.1, p. 1-119, june 2017.
  16. Available at:
  17. <https://jgea.org/resources/jgea/ojs/index.php/jgea/article/view/47>
  18. or
  19. http://dx.doi.org/10.21642/JGEA.020101AF.
  20.  
  21. The GTAPv7 paper documents all the technical changes since the GTAP book and
  22. GTAP.TAB (version 6.2). For older documentation, see:
  23.  
  24. (a) Hertel, T.W. and M.E. Tsigas, "Structure of the Standard GTAP Model",
  25. Chapter 2 in T.W. Hertel (editor) "Global Trade Analysis: Modeling and
  26. Applications", Cambridge University Press, 1997.
  27.  
  28. (b) R.A. McDougall, "A New Regional Household Demand System for GTAP",
  29. GTAP Technical Paper #20, Center for Global Trade Analysis, Purdue
  30. University
  31.  
  32. (c) Hertel T.W., K. Itakura and R.A. McDougall, GTAP.TAB(version 6.2)
  33.  
  34.  
  35. ----------------------------
  36. HISTORY of GTAPv7 model file
  37. ----------------------------
  38. Jun 2017: Version 7.0 (JGEA publication) replaces GTAP.tab version 6.2
  39.  
  40.  
  41. Version 7.1
  42. -----------
  43. Nov 2017: Added variables and equations representing tax-inclusive and
  44. tax-exclusive real prices for mobile and sluggish endowments
  45. - pefactreal(e,r) --> tax-exclusive real factor prices
  46. - pebfactreal(e,r) --> tax-inclusive real factor prices
  47. Apr 2018: Refined set definition in Section C-A1 (Allocative efficiency
  48. effect: Activity, comodity and endowment Summary)
  49. Jul 2018: Defined a new set ENDT to distinguish endowment types (mobile,
  50. sluggish and fixed) and added an endowment binary flag parameter
  51. (ENDOWFLAG) to define endowment sets at run time.
  52. Nov 2019: Modified formula for ENDWMSHR
  53. - old --> ENDWMSHR(e,a,r) = EVFB(e,a,r) / VENDWM(e,r);
  54. - new --> ENDWMSHR(e,a,r) = EVOS(e,a,r) / VES(e,r);
  55. The modified formula uses supply price weights instead of basic
  56. price weights. This fixes a defect in ENDWMSHR in the classic
  57. GTAP v6.2 model (does not show up in the results since factor
  58. income taxes were activity-generic). In the GTAPv7 model factor
  59. income taxes, tinc(e,a,r), are activity-specific. So factor tax
  60. changes in a particular activity, say labor tax in agriculture,
  61. would cause reallocation as suppliers of labor would react to the
  62. tax change. The old formula causes an inconsistent adding up
  63. inconsistency and unintened welfare changes.
  64. Dec 2019: Modified Section C-A21 and added Section CA25 in the Welfare
  65. decomposition module to distinguish between output and income tax
  66. effects. This required changes to BOUTAX and BINCTAX formulae, and
  67. BMAKEBACT replaced by BMAKEB (See Section C: Welfare summary).
  68. Also fixed a typo error by renaming Section A3 to A24
  69. - Section 11.5 --> added element "inctax" in the Set CTAX
  70. - Section C-A21 --> now only reports output tax effect
  71. [NEW] - Section C-A25 --> reports factor income tax effect
  72. Feb 2020: Added zerodivide statements in share calculations for PMSHR, GMSHR
  73. and IMSHR to avoid arithmetic errors. This change is associated
  74. with reduced smearing (i.e., use of tiny number, typically 1.0e-6
  75. in lieu of zeroes) in the construction of GTAP10A Data Base.
  76. Aug 2020: Changes include:
  77. - Consistent use of zerodivide statements throughout the code.
  78. - Corrected formula for coefficient VWOU: now includes VIP(c,r)
  79. - Updated indices for a few coefficients and variables to ensure
  80. consistent use of "s" for source or exporting regions and
  81. "d" for destination or importing regions.
  82. - Re-arranged Section 11 (Welfare measurement and decomposition)
  83. for readability. Welfare contribution equations are now arranged
  84. into sub-sections and ordered in the same way as they appear in
  85. E_EV_ALT(r). Some welfare contribution equations were also
  86. streamlined to avoid repetitive calculations. For example,
  87. - old --> CNTqe(e,r) = [0.01 * EVSCALFACT(r)] * sum{a,ACTS,
  88. INCTAX(e,a,r) * [qes(e,a,r) - pop(r)]};
  89. - new --> CNTqe(e,r) = sum{a,ACTS, CNTqea(e,a,r)};
  90. - Added exact decomposition of expenditure and income-side gdp
  91. growth into their components. Also added income-side quantity
  92. gdp variable (qgdpi) for each region for reporting purposes
  93. (See E_contgdpexp, E_contgdpinc and E_qgdpi in Section E)
  94.  
  95.  
  96. ---------------------------------
  97. HISTORY of GTAPv7-mrio model file
  98. ---------------------------------
  99.  
  100. Aug 2020: GTAPv7 model with imports by source and by agent.
  101.  
  102. Sep 2020: Previously, value flows ending in "P" represent Producer's prices.
  103. For clarity and in anticipation of GTAP domestic margins data and
  104. model, value flows ending in "P" now represent purchaser's prices.
  105.  
  106. For documentation see:
  107. Erwin Corong (2020). The GTAPv7 Multi Region Input Output (MRIO) model.
  108. GTAP Research Memorandum No. 36. Center for Global Trade Analysis,
  109. Purdue University.
  110.  
  111. ----------------------------------
  112. Overview of the GTAP.TAB Structure
  113. ----------------------------------
  114. Preliminaries:
  115. A-0. FILES
  116. A-1. SET definitions
  117. A-2. READ Base Data
  118. A-3. Key derivatives of Base Data
  119. A-4. Common COEFFICIENTS
  120. A-5. Common VARIABLES
  121.  
  122. Equation Modules:
  123. 1. Firms
  124. 2. Commodity supply
  125. 3. Income distribution
  126. 4. Allocation of income across expenditure categories
  127. 5. Domestic final demand
  128. 6. Trade, goods market equilibrium and prices
  129. 7. Factor market equilibrium
  130. 8. Allocation of global saving
  131. 9. Tax revenue streams
  132. 10. Numeraire and Walras law
  133. ................................................
  134. Summary Indices (for use in welfare measurement)
  135. ................................................
  136. B-0. Variables and coefficients for summary indices
  137. B-1. Factor price indices
  138. B-2. Regional terms of trade (ToT)
  139. B-3. GDP indices (value, price and quantity)
  140. B-4. Aggregate trade indices (value, price and quantity)
  141. B-5. Trade balance indices
  142. B-6. Terms of trade (ToT) decomposition
  143. 11. Welfare measurement and decomposition
  144.  
  145. Welfare summary and post-sim calculations:
  146. C. Welfare decomposition summary
  147. D. Volume changes (GTAPVol)
  148. E. Data balance checks
  149. >!
  150.  
  151. !<
  152. ----------
  153. A-0. FILES
  154. ----------
  155. >!
  156.  
  157. File
  158. GTAPSETS # file with set specification #;
  159. File
  160. GTAPDATA # file containing all Base Data #;
  161. File
  162. GTAPPARM # file containing behavioral parameters #;
  163. File (new)
  164. GTAPSUM # file containing data summary and accounting checks #;
  165.  
  166. !<
  167. --------------------
  168. A-1. SET definitions
  169. --------------------
  170.  
  171. Sets define relevant groupings of entities over which we will be performing
  172. operations in the model. SUBSETS are defined in order to facilitate
  173. summation over only a portion of a given group, e.g., margin commodities.
  174.  
  175. The GTAP Model requires separate SET specification for activities and
  176. commodities because of multi-production possibilities--i.e., a single
  177. activity could produce multiple commodities (e.g., an agriculture activity
  178. producing multiple agricultural commodities), or for a commodity to be
  179. produced by multiple activities (e.g., electricity being produced by
  180. different generation activities).
  181.  
  182. Although the standard GTAP Data Base has a diagonal 'make' matrix, it is
  183. possible to aggregate it such that the resulting aggregated
  184. database would have a non-diagonal 'make' matrix structure.
  185.  
  186. Aide-Memoire for Sets and indices
  187. ---------------------------------
  188.  
  189. Activities
  190. |-----------|
  191. | ACTS(a) |
  192. |-----------|
  193.  
  194. Commodities
  195. |-----------------------|
  196. | COMM(c) |
  197. |-----------------------|
  198. | MARG(m) | NMRG(n) |
  199. |-----------------------|
  200.  
  201. Endowments
  202. |---------------------------------------------------|
  203. | ENDW(e) |
  204. |---------------------------------------------------|
  205. | ENDWF(e) | ENDWC(e) | ENDWM(e) | ENDWS(e) |
  206. |---------------------------------------------------|
  207. | ENDWMS(e) |
  208. |--------------------------------------|
  209.  
  210.  
  211. Commodities and endowments
  212. |-----------------------|
  213. | DEMD(d) |
  214. |-----------------------|
  215. | COMM(c) | ENDW(e) |
  216. |-----------------------|
  217.  
  218. >!
  219.  
  220. Coefficient
  221. VERNUM # version of GTAP Data Base #;
  222. Read
  223. VERNUM from file GTAPDATA header "DVER";
  224. Update (change)
  225. VERNUM = 0.0; ! force it to be copied to update file !
  226.  
  227. Set
  228. REG # regions #
  229. read elements from file GTAPSETS header "REG";
  230. Set
  231. COMM # commodities #
  232. read elements from file GTAPSETS header "COMM";
  233. Set
  234. MARG # margin commodities #
  235. read elements from file GTAPSETS header "MARG";
  236. Subset
  237. MARG is subset of COMM;
  238. Set
  239. NMRG # non-margin commodities # = COMM - MARG;
  240. Set
  241. ACTS # Activities #
  242. read elements from file GTAPSETS header "ACTS";
  243. Set
  244. ENDW # endowments #
  245. read elements from file GTAPSETS header "ENDW";
  246. Set !< The single element ENDWC set is defined for the sake of convenience >!
  247. ENDWC # capital endowment # (capital);
  248. Subset
  249. ENDWC is subset of ENDW;
  250. Set
  251. ENDWT # endowment types # (mobile, sluggish, fixed);
  252. Coefficient (parameter)(all,e,ENDW)(all,t,ENDWT)
  253. ENDOWFLAG(e,t) # binary (1,0) flag for endowment mobility #;
  254. Read
  255. ENDOWFLAG from file GTAPPARM header "EFLG";
  256. Assertion # checking just 1 non-zero in each factor row #
  257. (all,e,ENDW) sum{t,ENDWT: ENDOWFLAG(e,t) ne 0, 1} = 1;
  258. Set
  259. ENDWM # mobile endowments # = (all,e,ENDW:ENDOWFLAG(e,"mobile") ne 0);
  260. Subset
  261. ENDWM is subset of ENDW;
  262. Set
  263. ENDWS # sluggish endowment # = (all,e,ENDW:ENDOWFLAG(e,"sluggish") ne 0);
  264. Subset
  265. ENDWS is subset of ENDW;
  266. Set
  267. ENDWMS # mobile and sluggish endowments # = ENDWM + ENDWS;
  268. Subset
  269. ENDWMS is subset of ENDW;
  270. Subset
  271. ENDWC is subset of ENDWMS;
  272. Set
  273. ENDWF # Sector-specific endowment # = ENDW - ENDWMS;
  274. Set
  275. DEMD # demanded commodities and endowments # = ENDW + COMM;
  276.  
  277. !< @MRIO: Define sets for all economic agents >!
  278. Set
  279. FDEM # Final agents # (hhld, govt, invt);
  280. Set
  281. AGENTS # Economic agents # = ACTS + FDEM;
  282. !<
  283. |---------------------------------------------------|
  284. | AGENTS(aa) |
  285. |---------------------------------------------------|
  286. | ACTS(a) | HHLD | GOVT | INVT |
  287. |---------------------------------------------------|
  288. >!
  289. !< @MRIO: End of changes >!
  290.  
  291. !<
  292. -------------------
  293. A-2. READ Base Data
  294. -------------------
  295. We read in here almost all the base data, and define variables and
  296. coefficients associated with them. A few data arrays, namely: VKB,
  297. VTMFSD and DPARSUM are read in their respective modules.
  298.  
  299. Data flows and prices are valued at: supplier(S)
  300. basic(B)
  301. purchaser(P)
  302. FOB exports
  303. CIF imports
  304.  
  305. The READ statements are divided into six sections:
  306. Firms
  307. Commodity Supply
  308. Government Consumption
  309. Private Consumption
  310. Investment Consumption
  311. Saving
  312. Global Bank
  313. International Trade and Transport
  314.  
  315. Since these are invariant for each solution of the model, they are termed
  316. coefficients. Coefficients are assigned upper case to distinguish them
  317. from variables (this is purely cosmetic, as GEMPACK is not case-sensitive).
  318. Variables in GEMPACK are assigned lower case labels to denote the fact that
  319. they are percentage changes. In some cases, original levels values for
  320. selected variables are defined to permit the user to compare post-simulation
  321. levels values across several simulations.
  322.  
  323. The updating command indicates how the new level of the coefficient will
  324. be computed based on the previous solution of the linearized equations.
  325. Note that the notation used in the update commands is a shorthand for
  326. total differentials of these coefficient values. Thus, w * v indicates
  327. that we want to take the total differential of W * V, plug in the
  328. calculated values of w and v, and add this to the base level in order to
  329. obtain a revised value for this product.
  330. >!
  331.  
  332. Coefficient
  333. RNREG # Reciprocal of number of regions (default for zerodivide default) #;
  334. Formula
  335. RNREG = 1 / sum{r,REG, 1};
  336.  
  337. !<
  338. Firms
  339. -----
  340. >!
  341.  
  342. !< Domestic intermediate purchases by firms at basic prices >!
  343. Variable (orig_level=1.0)(all,c,COMM)(all,r,REG)
  344. pds(c,r) # price of domestically supplied commodity c in region r #;
  345. Variable (orig_level=VDFB)(all,c,COMM)(all,a,ACTS)(all,r,REG)
  346. qfd(c,a,r) # demand for domestic commodity c by activity a in region r #;
  347. Coefficient (ge 0)(all,c,COMM)(all,a,ACTS)(all,r,REG)
  348. VDFB(c,a,r) # expenditure on domestic c by act. a in r at basic prices #;
  349. Read
  350. VDFB from file GTAPDATA header "VDFB";
  351. Update (all,c,COMM)(all,a,ACTS)(all,r,REG)
  352. VDFB(c,a,r) = pds(c,r) * qfd(c,a,r);
  353.  
  354. !< @MRIO: Define pcif here and read import flows by source and agents >!
  355. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  356. pcif(c,s,d) # CIF world price of imported com. c from source s to dest. d #;
  357. !< @MRIO: Source-specific commodity imports by agent at cif prices >!
  358. Variable (orig_level=VMAC)(all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  359. qamds(c,aa,s,d) # quantity of import c from s for use by agent aa in d #;
  360. Coefficient (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  361. VMAC(c,aa,s,d) # import flows by source and agent, at cif prices #;
  362. Read
  363. VMAC from file GTAPDATA header "VMAC";
  364. Update (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  365. VMAC(c,aa,s,d) = pcif(c,s,d) * qamds(c,aa,s,d);
  366.  
  367. !< @MRIO: Source-specific commodity imports by agent at basic prices >!
  368. Variable (orig_level=1.0)(all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  369. pamds(c,aa,s,d) # basic price of import c from s for use by agent aa in d #;
  370. Coefficient (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  371. VMAB(c,aa,s,d) # import flows by source and agent, at basic prices #;
  372. Read
  373. VMAB from file GTAPDATA header "VMAB";
  374. Update (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  375. VMAB(c,aa,s,d) = pamds(c,aa,s,d) * qamds(c,aa,s,d);
  376.  
  377. !< Imported intermediate purchases by firms at basic prices >!
  378. Variable (orig_level=1.0)(all,c,COMM)(all,r,REG)
  379. pms(c,r) # price of aggregate commodity import bundle c in region r #;
  380. Variable (orig_level=VMFB)(all,c,COMM)(all,a,ACTS)(all,r,REG)
  381. qfm(c,a,r) # imported commodity c for use by activity a in region r #;
  382. Coefficient (ge 0)(all,c,COMM)(all,a,ACTS)(all,r,REG)
  383. VMFB(c,a,r) # expenditure on imported c by act. a in r at basic prices #;
  384. !< @MRIO: Calculate VMFB from VMAB>!
  385. ![[!
  386. Read
  387. VMFB from file GTAPDATA header "VMFB";
  388. Update (all,c,COMM)(all,a,ACTS)(all,r,REG)
  389. VMFB(c,a,r) = pms(c,r) * qfm(c,a,r);
  390. !]]!
  391. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  392. VMFB(c,a,r) = sum{s,REG, VMAB(c,a,s,r)};
  393.  
  394. !< Domestic intermediate purchases by firms at purchaser's prices >!
  395. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  396. pfd(c,a,r) # price of domestic com. c purchased by act. a in region r #;
  397. Coefficient (ge 0)(all,c,COMM)(all,a,ACTS)(all,r,REG)
  398. VDFP(c,a,r) # expenditure on dom. c by act. a in r at purchaser's prices #;
  399. Read
  400. VDFP from file GTAPDATA header "VDFP";
  401. Update (all,c,COMM)(all,a,ACTS)(all,r,REG)
  402. VDFP(c,a,r) = pfd(c,a,r) * qfd(c,a,r);
  403.  
  404. !< Imported intermediate purchases by firms at purchaser's prices >!
  405. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  406. pfm(c,a,r) # price of imported com. c purchased by act. a in region r #;
  407. Coefficient (ge 0)(all,c,COMM)(all,a,ACTS)(all,r,REG)
  408. VMFP(c,a,r) # expenditure on imp. c by act. a in r at purchaser's prices #;
  409. Read
  410. VMFP from file GTAPDATA header "VMFP";
  411. Update (all,c,COMM)(all,a,ACTS)(all,r,REG)
  412. VMFP(c,a,r) = pfm(c,a,r) * qfm(c,a,r);
  413.  
  414. !< Endowment at supplier's (after income tax) prices >!
  415. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  416. pes(e,a,r) # supply (after income tax) price of e for use by a in r #;
  417. Variable (orig_level=EVOS)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  418. qes(e,a,r) # supply of endowment e for use by activity a in region r #;
  419. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  420. EVOS(e,a,r) # value of e for use by a in r at supplier (after tax) prices #;
  421. Read
  422. EVOS from file GTAPDATA header "EVOS";
  423. Update (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  424. EVOS(e,a,r) = pes(e,a,r) * qes(e,a,r);
  425.  
  426. !< Endowments at basic (income tax inclusive) prices >!
  427. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  428. peb(e,a,r) # basic price of endowment e in act. a in region r #;
  429. Variable (orig_level=EVFB)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  430. qfe(e,a,r) # demand for endowment e by act. a in region r #;
  431. Coefficient (ge 0)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  432. EVFB(e,a,r) # expenditure on endowment e by act. a in r at basic prices #;
  433. Read
  434. EVFB from file GTAPDATA header "EVFB";
  435. Update (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  436. EVFB(e,a,r) = peb(e,a,r) * qfe(e,a,r);
  437.  
  438. !< Endowments at purchaser's prices >!
  439. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  440. pfe(e,a,r) # price of endowment e purchased by activity a region r #;
  441. Coefficient (ge 0)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  442. EVFP(e,a,r) # expenditure on endowment e by a in r at purchaser's prices #;
  443. Read
  444. EVFP from file GTAPDATA header "EVFP";
  445. Update (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  446. EVFP(e,a,r) = pfe(e,a,r) * qfe(e,a,r);
  447.  
  448. !<
  449. Commodity supply
  450. ----------------
  451. >!
  452.  
  453. !< 'make' matrix at supplier's (i.e., output tax exclusive) prices >!
  454. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  455. ps(c,a,r) # supply price of commodity c produced by activity a in r #;
  456. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  457. qca(c,a,r) # supply of commodity c by activity a in r #;
  458. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  459. MAKES(c,a,r) # 'make' matrix valued at supplier's prices #;
  460. Read
  461. MAKES from file GTAPDATA header "MAKS";
  462. Update (all,c,COMM)(all,a,ACTS)(all,r,REG)
  463. MAKES(c,a,r) = ps(c,a,r) * qca(c,a,r);
  464.  
  465. !< 'make' matrix at basic (i.e., output tax inclusive) prices >!
  466. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  467. pca(c,a,r) # basic price of commodity c produced by activity a in r #;
  468. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  469. MAKEB(c,a,r) # 'make' matrix valued at basic prices #;
  470. Read
  471. MAKEB from file GTAPDATA header "MAKB";
  472. Update (all,c,COMM)(all,a,ACTS)(all,r,REG)
  473. MAKEB(c,a,r) = pca(c,a,r)*qca(c,a,r);
  474.  
  475. !<
  476. Government consumption
  477. ----------------------
  478. >!
  479.  
  480. !< Domestic commodity purchases by government at basic prices >!
  481. Variable (orig_level=VDGB)(all,c,COMM)(all,r,REG)
  482. qgd(c,r) # government demand for domestic commodity c in region r #;
  483. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  484. VDGB(c,r) # government expenditure on domestic c in r at basic prices #;
  485. Read
  486. VDGB from file GTAPDATA header "VDGB";
  487. Update (all,c,COMM)(all,r,REG)
  488. VDGB(c,r) = pds(c,r) * qgd(c,r);
  489.  
  490. !< Imported commodity purchases by government at basic prices >!
  491. Variable (orig_level=VMGB)(all,c,COMM)(all,r,REG)
  492. qgm(c,r) # government demand for imported commodity c in region r #;
  493. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  494. VMGB(c,r) # government expenditure on imported c in r at basic prices #;
  495. !< @MRIO: Calculate VMGB from VMAB >!
  496. ![[!
  497. Read
  498. VMGB from file GTAPDATA header "VMGB";
  499. Update (all,c,COMM)(all,r,REG)
  500. VMGB(c,r) = pms(c,r) * qgm(c,r);
  501. !]]!
  502. Formula (all,c,COMM)(all,r,REG)
  503. VMGB(c,r) = sum{s,REG, VMAB(c,"govt",s,r)};
  504.  
  505. !< Domestic commodity purchases by government at purchaser's prices >!
  506. Variable (all,c,COMM)(all,r,REG)
  507. pgd(c,r) # price of domestic com. c purchased by government in region r #;
  508. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  509. VDGP(c,r) # government expenditure on dom. c in r at purchaser's prices #;
  510. Read
  511. VDGP from file GTAPDATA header "VDGP";
  512. Update (all,c,COMM)(all,r,REG)
  513. VDGP(c,r) = pgd(c,r) * qgd(c,r);
  514.  
  515. !< Imported commodity purchases by government at purchaser's prices >!
  516. Variable (all,c,COMM)(all,r,REG)
  517. pgm(c,r) # price of imported com. c purchased by government in region r #;
  518. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  519. VMGP(c,r) # government expenditure on imp. c in r at purchaser's prices #;
  520. !< @MRIO: Calculate VMGP from VMAP >!
  521. Read
  522. VMGP from file GTAPDATA header "VMGP";
  523. Update (all,c,COMM)(all,r,REG)
  524. VMGP(c,r) = pgm(c,r) * qgm(c,r);
  525.  
  526. !<
  527. Private consumption
  528. -------------------
  529. >!
  530.  
  531. !< Domestic commodity purchases by priv. household at basic prices >!
  532. Variable (orig_level=VDPB)(all,c,COMM)(all,r,REG)
  533. qpd(c,r) # private household demand for domestic commodity c in region r #;
  534. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  535. VDPB(c,r) # private household expenditure on dom. c in r at basic prices #;
  536. Read
  537. VDPB from file GTAPDATA header "VDPB";
  538. Update (all,c,COMM)(all,r,REG)
  539. VDPB(c,r) = pds(c,r) * qpd(c,r);
  540.  
  541. !< Imported commodity purchases by priv. household at basic prices >!
  542. Variable (orig_level=VMPB)(all,c,COMM)(all,r,REG)
  543. qpm(c,r) # private household demand for imported commodity c in region r #;
  544. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  545. VMPB(c,r) # private household expenditure on imp. c in r at basic prices #;
  546. !< @MRIO: Read and update statements for VMPB no longer needed >!
  547. ![[!
  548. Read
  549. VMPB from file GTAPDATA header "VMPB";
  550. Update (all,c,COMM)(all,r,REG)
  551. VMPB(c,r)= pms(c,r) * qpm(c,r);
  552. !]]!
  553. !< @MRIO: Calculate VMPB from VMAB >!
  554. Formula (all,c,COMM)(all,r,REG)
  555. VMPB(c,r) = sum{s,REG, VMAB(c,"hhld",s,r)};
  556.  
  557. !< Domestic commodity purchases by priv. household at purchaser's prices >!
  558. Variable (all,c,COMM)(all,r,REG)
  559. ppd(c,r) # price of domestic com. c purchased by private household in r #;
  560. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  561. VDPP(c,r) # private hhld expenditure on dom. c in r at purchaser's prices #;
  562. Read
  563. VDPP from file GTAPDATA header "VDPP";
  564. Update (all,c,COMM)(all,r,REG)
  565. VDPP(c,r) = ppd(c,r) * qpd(c,r);
  566.  
  567. !< Imported commodity purchases by priv. household at purchaser's prices >!
  568. Variable (all,c,COMM)(all,r,REG)
  569. ppm(c,r) # price of imported com. c purchased by private household in r #;
  570. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  571. VMPP(c,r) # private hhld expenditure on imp. c in r at purchaser's prices #;
  572. Read
  573. VMPP from file GTAPDATA header "VMPP";
  574. Update (all,c,COMM)(all,r,REG)
  575. VMPP(c,r) = ppm(c,r) * qpm(c,r);
  576.  
  577. !<
  578. Investment consumption
  579. ----------------------
  580. >!
  581.  
  582. !< Domestic commodity purchases by investment agent at basic prices >!
  583. Variable (orig_level=VDIB)(all,c,COMM)(all,r,REG)
  584. qid(c,r) # investment demand for domestic commodity c in region r #;
  585. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  586. VDIB(c,r) # investment expenditure on domestic c in r at basic prices #;
  587. Read
  588. VDIB from file GTAPDATA header "VDIB";
  589. Update (all,c,COMM)(all,r,REG)
  590. VDIB(c,r) = pds(c,r) * qid(c,r);
  591.  
  592. !< Imported commodity purchases by investment agent at basic prices >!
  593. Variable (orig_level=VMIB)(all,c,COMM)(all,r,REG)
  594. qim(c,r) # investment demand for imported commodity c in region r #;
  595. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  596. VMIB(c,r) # investment expenditure on imported c in r at basic prices #;
  597. !< @MRIO: Calculate VMIB from VMAB >!
  598. ![[!
  599. Read
  600. VMIB from file GTAPDATA header "VMIB";
  601. Update (all,c,COMM)(all,r,REG)
  602. VMIB(c,r) = pms(c,r) * qim(c,r);
  603. !]]!
  604. Formula (all,c,COMM)(all,r,REG)
  605. VMIB(c,r) = sum{s,REG, VMAB(c,"invt",s,r)};
  606.  
  607. !< Domestic commodity purchases by investment agent at purchaser's prices >!
  608. Variable (all,c,COMM)(all,r,REG)
  609. pid(c,r) # price of domestic com. c purchased by investment agent in r #;
  610. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  611. VDIP(c,r) # investment expenditure on dom. c in r at purchaser's prices #;
  612. Read
  613. VDIP from file GTAPDATA header "VDIP";
  614. Update (all,c,COMM)(all,r,REG)
  615. VDIP(c,r) = pid(c,r) * qid(c,r);
  616.  
  617. !< Imported commodity purchases by investment agent at purchaser's prices >!
  618. Variable (all,c,COMM)(all,r,REG)
  619. pim(c,r) # price of imported com. c purchased by investment agent in r #;
  620. Coefficient (ge 0)(all,c,COMM)(all,r,REG)
  621. VMIP(c,r) # investment expenditure on imp. c in r at purchaser's prices #;
  622. Read
  623. VMIP from file GTAPDATA header "VMIP";
  624. Update (all,c,COMM)(all,r,REG)
  625. VMIP(c,r) = pim(c,r) * qim(c,r);
  626.  
  627. !<
  628. Saving
  629. ------
  630. >!
  631.  
  632. Variable (all,r,REG)
  633. psave(r) # price of saving in region r #;
  634. Variable (all,r,REG)
  635. qsave(r) # regional demand for NET saving #;
  636. Coefficient (all,r,REG)
  637. SAVE(r) # NET saving in region r valued at purchaser's prices #;
  638. Read
  639. SAVE from file GTAPDATA header "SAVE";
  640. Update (all,r,REG)
  641. SAVE(r) = psave(r) * qsave(r);
  642.  
  643. !<
  644. Global bank
  645. -----------
  646. >!
  647.  
  648. Variable (all,r,REG)
  649. pinv(r) # price index of investment goods #;
  650. Variable (all,r,REG)
  651. kb(r) # beginning-of-period capital stock in r #;
  652. Coefficient (ge 0)(all,r,REG)
  653. VDEP(r) # value of capital depeciation in r (exogenous) #;
  654. Read
  655. VDEP from file GTAPDATA header "VDEP";
  656. Update (all,r,REG)
  657. VDEP(r) = pinv(r) * kb(r);
  658. !<
  659. Value of capital depreciation is used to compute the (exogenous)
  660. depreciation rate and therefore does not appear in update.
  661. >!
  662.  
  663. !<
  664. International trade
  665. -------------------
  666. >!
  667.  
  668. !< Exports at basic prices >!
  669. Variable (orig_level=VXSB)(all,c,COMM)(all,s,REG)(all,d,REG)
  670. qxs(c,s,d) # export sales of commodity c from source s to destination d #;
  671. Coefficient (ge 0)(all,c,COMM)(all,s,REG)(all,d,REG)
  672. VXSB(c,s,d)
  673. # value of exports of c from s to d at basic prices (tradeables only) #;
  674. Read
  675. VXSB from file GTAPDATA header "VXSB";
  676. Update (all,c,COMM)(all,s,REG)(all,d,REG)
  677. VXSB(c,s,d) = pds(c,s) * qxs(c,s,d);
  678.  
  679. !< Exports at FOB (i.e., exports tax inclusive) prices >!
  680. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  681. pfob(c,s,d) # FOB world price of com. c from source s to destination d #;
  682. Coefficient (ge 0)(all,c,COMM)(all,s,REG)(all,d,REG)
  683. VFOB(c,s,d)
  684. # value of exports of c from s to d at FOB prices (tradeables only) #;
  685. Read
  686. VFOB from file GTAPDATA header "VFOB";
  687. Update (all,c,COMM)(all,s,REG)(all,d,REG)
  688. VFOB(c,s,d) = pfob(c,s,d) * qxs(c,s,d);
  689.  
  690. !< @MRIO: pcif already defined at the top; calculate VCIF from VMAC >!
  691. !< Imports at CIF prices >!
  692. ![[!
  693. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  694. pcif(c,s,d) # CIF world price of imported com. c from source s to dest. d #;
  695. !]]!
  696. Coefficient (ge 0)(all,c,COMM)(all,s,REG)(all,d,REG)
  697. VCIF(c,s,d)
  698. # value of imports of c from s to d at CIF prices (tradeables only) #;
  699. !< @MRIO: Calculate VCIF from VMAC >!
  700. ![[!
  701. Read
  702. VCIF from file GTAPDATA header "VCIF";
  703. Update (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  704. VCIF(c,s,d) = pcif(c,s,d) * qxs(c,s,d);
  705. !]]!
  706. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  707. VCIF(c,s,d) = sum{aa,AGENTS, VMAC(c,aa,s,d)} ;
  708.  
  709. !< Imports at basic (import tariff inclusive) prices >!
  710. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  711. pmds(c,s,d) # price of imported c supplied by source region s to dest. d #;
  712.  
  713. Coefficient (ge 0)(all,c,COMM)(all,s,REG)(all,d,REG)
  714. VMSB(c,s,d)
  715. # value of imports of c from s to d at domestic (basic) prices #;
  716. !< @MRIO: calculate VMSB from VMAB >!
  717. ![[!
  718. Read
  719. VMSB from file GTAPDATA header "VMSB";
  720. Update (all,c,COMM)(all,s,REG)(all,d,REG)
  721. VMSB(c,s,d) = pmds(c,s,d) * qxs(c,s,d);
  722. !]]!
  723. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  724. VMSB(c,s,d) = sum{aa,AGENTS, VMAB(c,aa,s,d)};
  725.  
  726. !<
  727. International transport margins
  728. -------------------------------
  729. >!
  730.  
  731. Variable (orig_level=VST)(all,m,MARG)(all,r,REG)
  732. qst(m,r) # supply of margin m from region r for international transport #;
  733. Coefficient (ge 0)(all,m,MARG)(all,r,REG)
  734. VST(m,r)
  735. # value of exports of margin m from r for int'l transport at basic prices #;
  736. Read
  737. VST from file GTAPDATA header "VST";
  738. Update (all,m,MARG)(all,r,REG)
  739. VST(m,r) = pds(m,r) * qst(m,r);
  740.  
  741. !<
  742. -------------------------------------
  743. A-3. Key derivatives of the Base Data
  744. -------------------------------------
  745.  
  746. Key derivatives of the Base Data
  747. Regional expenditure and income
  748. Indirect tax receipts
  749. Miscellaneous coefficients and parameters
  750.  
  751. >!
  752.  
  753. !< Intermediate and endowment expenditure by firms at purchaser's prices >!
  754. Coefficient (all,d,DEMD)(all,a,ACTS)(all,r,REG)
  755. VFP(d,a,r) # expenditure on d by act. a in r valued at purchaser's prices #;
  756. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  757. VFP(e,a,r) = EVFP(e,a,r);
  758. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  759. VFP(c,a,r) = VDFP(c,a,r) + VMFP(c,a,r);
  760.  
  761. !< Value of output at supplier's prices >!
  762. Coefficient (all,a,ACTS)(all,r,REG)
  763. VOS(a,r) # output of act. a in r valued at supplier's prices #;
  764. Formula (all,a,ACTS)(all,r,REG)
  765. VOS(a,r) = sum{d,DEMD, VFP(d,a,r)};
  766.  
  767. !< Endowments >!
  768. Coefficient (all,e,ENDW)(all,r,REG)
  769. VES(e,r) # endowment supply in region r, at supplier's (after tax) prices #;
  770. Formula (all,e,ENDW)(all,r,REG)
  771. VES(e,r) = sum{a,ACTS, EVOS(e,a,r)};
  772.  
  773. !< Commodity supply >!
  774. Coefficient (all,a,ACTS)(all,r,REG)
  775. MAKEBACT(a,r) # total output of activity a valued at basic prices #;
  776. Formula (all,a,ACTS)(all,r,REG)
  777. MAKEBACT(a,r) = sum{c,COMM, MAKEB(c,a,r)};
  778.  
  779. Coefficient (all,c,COMM)(all,r,REG)
  780. MAKEBCOM(c,r) # supply of commodity c valued at basic prices #;
  781. Formula (all,c,COMM)(all,r,REG)
  782. MAKEBCOM(c,r) = sum{a,ACTS, MAKEB(c,a,r)};
  783.  
  784. Coefficient (all,c,COMM)(all,r,REG)
  785. VDB(c,r) # domestic sales of c in r at basic prices (tradeables only) #;
  786. Formula (all,c,COMM)(all,r,REG)
  787. VDB(c,r) = VDPB(c,r) + VDGB(c,r) + VDIB(c,r) + sum{a,ACTS, VDFB(c,a,r)};
  788.  
  789. !< Commodity supply = Commodity demand >!
  790. Coefficient (all,c,COMM)(all,r,REG)
  791. VCB(c,r) # supply of commodity c in region r valued at basic prices #;
  792. Formula (all,c,COMM)(all,r,REG)
  793. VCB(c,r) = VDB(c,r) + sum{d,REG, VXSB(c,r,d)} + IF[c in MARG, VST(c,r)];
  794.  
  795. !<
  796. Regional expenditure and income
  797. -------------------------------
  798.  
  799. Regional income is allocated between private consumption expenditure,
  800. government consumption expenditure, and saving.
  801.  
  802. Expenditure of Regional household
  803. .................................
  804.  
  805. Regional household(h.h.)
  806. Expenditure = Income
  807. _/|\_
  808. _/ | \_
  809. _/ | \_
  810. _/ | \_
  811. _/ | \_
  812. Private h.h. | Government h.h.
  813. ( PRIVEXP ) | ( GOVEXP )
  814. _/\_ | _/\_ <---(CES: ESUBG)
  815. _/ \_ | _/ \_
  816. / \ | / \
  817. Domestic Imported Saving Domestic Imported
  818. Goods Goods ( SAVE ) Goods Goods
  819. ( VDPP ) ( VMPP ) ( VDGP ) ( VMGP )
  820.  
  821. Note: The coefficients at the ends of branches are
  822. Base Data, e.g., VDPP, SAVE.
  823. >!
  824.  
  825. !< Government consumption expenditure, GOVEXP >!
  826. Coefficient (all,c,COMM)(all,r,REG)
  827. VGP(c,r) # government cons. expenditure on c in r at purchaser's prices #;
  828. Formula (all,c,COMM)(all,r,REG)
  829. VGP(c,r) = VDGP(c,r) + VMGP(c,r);
  830. Coefficient (all,r,REG)
  831. GOVEXP(r) # aggregate government expenditure in region r #;
  832. Formula (all,r,REG)
  833. GOVEXP(r) = sum{c,COMM, VGP(c,r)};
  834.  
  835. !< Private household consumption expenditure, PRIVEXP >!
  836. Coefficient (all,c,COMM)(all,r,REG)
  837. VPP(c,r) # private household expenditure on c in r at purchaser's prices #;
  838. Formula (all,c,COMM)(all,r,REG)
  839. VPP(c,r) = VDPP(c,r) + VMPP(c,r);
  840. Coefficient (all,r,REG)
  841. PRIVEXP(r) # aggregate private consumption expenditure in region r #;
  842. Formula (all,r,REG)
  843. PRIVEXP(r) = sum{c,COMM, VPP(c,r)};
  844.  
  845. !< Investment consumption expenditure >!
  846. Coefficient (all,c,COMM)(all,r,REG)
  847. VIP(c,r) # expenditure on investment c valued at purchaser's prices #;
  848. Formula (all,c,COMM)(all,r,REG)
  849. VIP(c,r) = VDIP(c,r) + VMIP(c,r);
  850.  
  851. !< Aggregate income = aggregate expenditure + saving >!
  852. Coefficient (all,r,REG)
  853. INCOME(r) # level of expenditure, which equals NET income in region r #;
  854. Formula (all,r,REG)
  855. INCOME(r) = PRIVEXP(r) + GOVEXP(r) + SAVE(r);
  856.  
  857. !<
  858. Indirect tax receipts
  859. ---------------------
  860. >!
  861.  
  862. !< Production tax revenue >!
  863. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  864. PTAX(c,a,r) # revenue from tax on commodity c produced by activity a in r #;
  865. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  866. PTAX(c,a,r) = MAKEB(c,a,r) - MAKES(c,a,r);
  867. Coefficient (all,r,REG)
  868. TAXROUT(r) # total revenue from production tax payments in region r #;
  869. Formula (all,r,REG)
  870. TAXROUT(r) = sum{c,COMM, sum{a,ACTS, PTAX(c,a,r)}};
  871.  
  872. !< Government consumption tax revenue >!
  873. Coefficient (all,c,COMM)(all,r,REG)
  874. DGTAX(c,r) # tax revenue from gov't cons. of domestic c in region r #;
  875. Formula (all,c,COMM)(all,r,REG)
  876. DGTAX(c,r) = VDGP(c,r) - VDGB(c,r);
  877.  
  878. Coefficient (all,c,COMM)(all,r,REG)
  879. MGTAX(c,r) # tax revenue from gov't consumption of imported c in region r #;
  880. Formula (all,c,COMM)(all,r,REG)
  881. MGTAX(c,r) = VMGP(c,r) - VMGB(c,r);
  882. Coefficient (all,r,REG)
  883. TAXRGC(r) # total revenue from government consumption tax payments in r #;
  884. Formula (all,r,REG)
  885. TAXRGC(r) = sum{c,COMM, DGTAX(c,r) + MGTAX(c,r)};
  886.  
  887. !< Private household consumption tax revenue >!
  888. Coefficient (all,c,COMM)(all,r,REG)
  889. DPTAX(c,r) # tax revenue from priv. hhld cons. of domestic c in region r #;
  890. Formula (all,c,COMM)(all,r,REG)
  891. DPTAX(c,r) = VDPP(c,r) - VDPB(c,r);
  892.  
  893. Coefficient (all,c,COMM)(all,r,REG)
  894. MPTAX(c,r) # tax revenue from priv. hhld cons. of imported c in region r #;
  895. Formula (all,c,COMM)(all,r,REG)
  896. MPTAX(c,r) = VMPP(c,r) - VMPB(c,r);
  897. Coefficient (all,r,REG)
  898. TAXRPC(r) # total revenue from priv. hhld consumption tax payments in r #;
  899. Formula (all,r,REG)
  900. TAXRPC(r) = sum{c,COMM, DPTAX(c,r) + MPTAX(c,r)};
  901.  
  902. !< Investment consumption tax revenue >!
  903. Coefficient (all,c,COMM)(all,r,REG)
  904. DITAX(c,r) # tax revenue from investment cons. of domestic c in region r #;
  905. Formula (all,c,COMM)(all,r,REG)
  906. DITAX(c,r) = VDIP(c,r) - VDIB(c,r);
  907. Coefficient (all,c,COMM)(all,r,REG)
  908. MITAX(c,r) # tax revenue from investment cons. of imported c in region r #;
  909. Formula (all,c,COMM)(all,r,REG)
  910. MITAX(c,r) = VMIP(c,r) - VMIB(c,r);
  911. Coefficient (all,r,REG)
  912. TAXRIC(r) # total revenue from investment consumption tax payments in r #;
  913. Formula (all,r,REG)
  914. TAXRIC(r) = sum{c,COMM, DITAX(c,r) + MITAX(c,r)};
  915.  
  916. !< Intermediate consumption tax revenue >!
  917. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  918. DFTAX(c,a,r) # tax revenue from use of dom. intermediate c by act. a in r #;
  919. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  920. DFTAX(c,a,r) = VDFP(c,a,r) - VDFB(c,a,r);
  921.  
  922. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  923. MFTAX(c,a,r) # tax revenue from use of imp. intermediate c by act. a in r #;
  924. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  925. MFTAX(c,a,r) = VMFP(C,a,r) - VMFB(c,a,r);
  926. Coefficient (all,r,REG)
  927. TAXRIU(r) # total revenue from tax on intermediate goods usage in r #;
  928. Formula (all,r,REG)
  929. TAXRIU(r) = sum{c,COMM, sum{a,ACTS, DFTAX(c,a,r) + MFTAX(c,a,r)}};
  930.  
  931. !< Endowment tax revenue >!
  932. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  933. ETAX(e,a,r) # tax revenue from use of endowment e by act. a in region r #;
  934. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  935. ETAX(e,a,r) = EVFP(e,a,r) - EVFB(e,a,r);
  936. Coefficient (all,r,REG)
  937. TAXRFU(r) # total revenue from use of factor/endowment e by act. a in r #;
  938. Formula (all,r,REG)
  939. TAXRFU(r) = sum{e,ENDW, sum{a,ACTS, ETAX(e,a,r)}};
  940.  
  941. !< Endowment income tax revenue <!
  942. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  943. INCTAX(e,a,r) # tax revenue from endowment income tax in region r #;
  944. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  945. INCTAX(e,a,r) = EVFB(e,a,r) - EVOS(e,a,r);
  946.  
  947. !< Exports tax revenue <!
  948. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  949. XTAXD(c,s,d) # tax rev. from exports of c from source s to destination d #;
  950. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  951. XTAXD(c,s,d) = VFOB(c,s,d) - VXSB(c,s,d);
  952. Coefficient (all,r,REG)
  953. TAXREXP(r) # total revenue from export tax payments in r #;
  954. Formula (all,s,REG)
  955. TAXREXP(s) = sum{c,COMM, sum{d,REG, XTAXD(c,s,d)}};
  956.  
  957. !< @MRIO: Define MATAX and sum over agents to derive MTAX >!
  958. !< Import tariff revenue by agent >!
  959. Coefficient (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  960. MATAX(c,aa,s,d) # agent-spec. import tariff revevenue on c from s to d #;
  961. Formula (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  962. MATAX(c,aa,s,d) = VMAB(c,aa,s,d) - VMAC(c,aa,s,d);
  963. !< @MRIO: Calcualte MTAX from MATAX >!
  964. ![[!
  965. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  966. MTAX(c,s,d) = VMSB(c,s,d) - VCIF(c,s,d);
  967. !]]!
  968. !< Import tariff revenue >!
  969. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  970. MTAX(c,s,d) # tax rev from imports of c from source s to destination d #;
  971. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  972. MTAX(c,s,d) = sum{aa,AGENTS, MATAX(c,aa,s,d)};
  973.  
  974. Coefficient (all,r,REG)
  975. TAXRIMP(r) # total revenue from import tax payments in r #;
  976. Formula (all,d,REG)
  977. TAXRIMP(d) = sum{c,COMM, sum{s,REG, MTAX(c,s,d)}};
  978.  
  979. !<
  980. -----------------------------------
  981. A-4. Commom COEFFICIENTS/PARAMETERS
  982. -----------------------------------
  983. Common coefficients are defined as coefficients which are used in more
  984. than one module. For example, ESUBD(c,r) is used in the goverment household,
  985. private household, and firms modules.
  986. >!
  987.  
  988. !< Regional investment expenditure >!
  989. Coefficient (all,r,REG)
  990. REGINV(r) # regional GROSS investment in r #;
  991. Formula (all,r,REG)
  992. REGINV(r) = sum{c,COMM, VIP(c,r)};
  993. Coefficient (all,r,REG)
  994. NETINV(r) # regional NET investment in region r #;
  995. Formula (all,r,REG)
  996. NETINV(r) = REGINV(r) - VDEP(r);
  997.  
  998. !< Net global investment expenditure >!
  999. Coefficient
  1000. GLOBINV # global expenditures on net investment #;
  1001. Formula
  1002. GLOBINV = sum{r,REG, NETINV(r)};
  1003.  
  1004. !< Elasticity of cost with respect to utility from private consumption >!
  1005. Coefficient (all,c,COMM)(all,r,REG)
  1006. CONSHR(c,r) # share of private hhld consumption devoted to good c in r #;
  1007. Formula (all,c,COMM)(all,r,REG)
  1008. CONSHR(c,r) = VPP(c,r) / PRIVEXP(r);
  1009.  
  1010. Coefficient (parameter)(all,c,COMM)(all,r,REG)
  1011. INCPAR(c,r) # expansion parameter in the CDE minimum expenditure function #;
  1012. Read
  1013. INCPAR from file GTAPPARM header "INCP";
  1014. Coefficient (all,r,REG)
  1015. UELASPRIV(r)
  1016. # elasticity of cost wrt utility from private consumption #;
  1017. Formula (all,r,REG)
  1018. UELASPRIV(r) = sum{c,COMM, CONSHR(c,r) * INCPAR(c,r)};
  1019.  
  1020. !< Domestic/imported Armington elasticity >!
  1021. Coefficient (parameter)(all,c,COMM)(all,r,REG)
  1022. ESUBD(c,r)
  1023. # region-specific elast. of subst. for dom. and imp. goods for all agents #;
  1024. Read
  1025. ESUBD from file GTAPPARM header "ESBD";
  1026. Assertion (all,c,COMM)(all,r,REG) ESUBD(c,r) ge 0;
  1027.  
  1028. !<
  1029. ---------------------
  1030. A-5. Common VARIABLES
  1031. ---------------------
  1032.  
  1033. Common variables are defined as variables which are used in more than one
  1034. module. For example, the variable y(r) is used in the Goverment
  1035. Consumption, Private Consumption, Firms, Regional Household and
  1036. Investment, Global Bank and Saving modules.
  1037. Appendices, e.g., Summary Indices, are not included in this definition.
  1038. >!
  1039.  
  1040. Variable (all,r,REG)
  1041. y(r) # regional household income in region r #;
  1042. Variable (all,r,REG)
  1043. pop(r) # regional population #;
  1044.  
  1045. Variable (all,r,REG)
  1046. pgov(r) # price index for gov't expenditure in region r #;
  1047. Variable (all,r,REG)
  1048. yg(r) # regional government consumption expenditure in region r #;
  1049. Variable (all,r,REG)
  1050. ug(r) # per capita utility from gov't expend. in region r #;
  1051.  
  1052. Variable (all,r,REG)
  1053. ppriv(r) # price index for priv. household cons. expenditure in region r #;
  1054. Variable (all,r,REG)
  1055. yp(r) # regional private consumption expenditure in region r #;
  1056. Variable (all,r,REG)
  1057. uepriv(r) # elasticity of cost wrt utility from private consumption #;
  1058. Variable (all,r,REG)
  1059. up(r) # per capita utility from private expend. in region r #;
  1060.  
  1061. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1062. to(c,a,r) # power of tax on com. c supplied by act. a in region r #;
  1063. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  1064. tinc(e,a,r) # power of income tax on endowment e supplied to act. a in r #;
  1065. Variable (all,e,ENDW)(all,r,REG)
  1066. endwslack(e,r) # slack variable in endowment market clearing condition #;
  1067. !<
  1068. endwslack is exogenous, unless the user wishes to employ a partial
  1069. equilibrium closure in which the price of one or more of the primary factors
  1070. is fixed.
  1071. >!
  1072.  
  1073. Variable (orig_level=VMB)(all,c,COMM)(all,r,REG)
  1074. qms(c,r) # aggregate imports of c in region r, basic price weights #;
  1075. Variable
  1076. globalcgds # global supply of capital goods for NET investment #;
  1077. Variable
  1078. pcgdswld # world average price of capital goods (net investment weights) #;
  1079.  
  1080. !<
  1081. ================
  1082. Equation modules
  1083. ================
  1084. 1. Firms
  1085. 2. Commodity supply
  1086. 3. Income distribution
  1087. 4. Allocation of income across expenditure categories
  1088. 5. Domestic final demand
  1089. 6. Trade, goods market equilibrium and prices
  1090. 7. Factor market equilibrium
  1091. 8. Allocation of global saving
  1092. 9. Tax revenue streams
  1093. 10. Numeraire and Walras law
  1094. 11. Welfare measurement and decomposition
  1095. >!
  1096.  
  1097. !<
  1098. --------
  1099. 1. Firms
  1100. --------
  1101.  
  1102. We now turn to the behavioral equations for firms. The following picture
  1103. describes the firms production structure.
  1104.  
  1105. qo(a,r) [ao(a,r)]
  1106. /\
  1107. / \ <----- CES[ESUBT]
  1108. / \
  1109. / \
  1110. / \
  1111. [ava(a,r)] qva(a,r) qint(a,r) [aint(a,r)]
  1112. /|\ |
  1113. CES[ESUBVA]-----> / | \ | <------ CES[ESUBC]
  1114. / | \ |
  1115. / | \ |
  1116. / | \ |
  1117. Land Labor Capital qfa(c,a,r) [afa(c,a,r)]
  1118. qfe(e,a,r) /\
  1119. [afe(e,a,r)] / \ <----- CES[ESUBD]
  1120. / \
  1121. / \
  1122. / \
  1123. Domestic Foreign
  1124. qfd(c,a,r) qfm(c,a,r)
  1125.  
  1126. 1-1. Top production nest
  1127. 1-2. Second level nests
  1128. 1-3. Sourcing of commodities by firms
  1129. 1-4. Technical change equations
  1130. >!
  1131.  
  1132. !<
  1133. 1-1. Top production nest
  1134. ------------------------
  1135. >!
  1136.  
  1137. Variable (all,a,ACTS)(all,r,REG)
  1138. po(a,r) # unit cost/revenue of activity a in region r #;
  1139. Variable (orig_level=VOS)(all,a,ACTS)(all,r,REG)
  1140. qo(a,r) # output of activity a in region r #;
  1141. Variable (all,a,ACTS)(all,r,REG)
  1142. ao(a,r) # output augmenting technical change by activity a in region r #;
  1143. Variable (all,a,ACTS)(all,r,REG)
  1144. pint(a,r) # Price of composite intermediate input c by activity a in r #;
  1145. Variable (all,a,ACTS)(all,r,REG)
  1146. qint(a,r) # Composite intermediate input c by activity a in r #;
  1147. Variable (all,a,ACTS)(all,r,REG)
  1148. aint(a,r) # Composite interm. input augmenting tech change by act. a in r #;
  1149. Coefficient (parameter)(all,a,ACTS)(all,r,REG)
  1150. ESUBT(a,r)
  1151. # elast. of sub. bet. composite intermediate and factor inputs in prod'n #;
  1152. Read
  1153. ESUBT from file GTAPPARM header "ESBT";
  1154. Assertion (all,a,ACTS)(all,r,REG) ESUBT(a,r) ge 0;
  1155.  
  1156. Equation E_qint
  1157. # sector demands for composite intermediate commodity inputs by act. a in r #
  1158. (all,a,ACTS)(all,r,REG)
  1159. qint(a,r)
  1160. = - aint(a,r) + qo(a,r) - ao(a,r)
  1161. - ESUBT(a,r) * [pint(a,r) - aint(a,r) - po(a,r) - ao(a,r)];
  1162.  
  1163. Variable (all,a,ACTS)(all,r,REG)
  1164. pva(a,r) # firms' price of value added in act. a of region r #;
  1165. Variable (all,a,ACTS)(all,r,REG)
  1166. qva(a,r) # value added in act. a of region r #;
  1167. Variable (all,a,ACTS)(all,r,REG)
  1168. ava(a,r) # value added augmenting tech change by act. a in region r #;
  1169.  
  1170. Equation E_qva
  1171. # sector demands for primary factor composite #
  1172. (all,a,ACTS)(all,r,REG)
  1173. qva(a,r)
  1174. = -ava(a,r) + qo(a,r) - ao(a,r)
  1175. - ESUBT(a,r) * [pva(a,r) - ava(a,r) - po(a,r) - ao(a,r)];
  1176.  
  1177. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1178. pfa(c,a,r) # firms' price for commodity c for use by act. a in r #;
  1179. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1180. qfa(c,a,r) # demand for commodity c for use by act. a in region r #;
  1181. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1182. afa(c,a,r) # composite intermed. inpt c augmenting tech ch. by act. a in r #;
  1183. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  1184. afe(e,a,r) # primary factor e augmenting tech change by act. a in r #;
  1185. Variable (all,a,ACTS)(all,r,REG)
  1186. profitslack(a,r) # slack variable in the zero profit equation #;
  1187. !<
  1188. profitslack is exogenous, unless the user wishes to specify output in a
  1189. given region exogenously.
  1190. >!
  1191.  
  1192. Coefficient (all,d,DEMD)(all,a,ACTS)(all,r,REG)
  1193. STC(d,a,r) # share of input d in total costs of act. a in r #;
  1194. Zerodivide default RNREG;
  1195. Formula (all,d,DEMD)(all,a,ACTS)(all,r,REG)
  1196. STC(d,a,r) = VFP(d,a,r) / VOS(a,r);
  1197. Zerodivide off;
  1198.  
  1199. Equation E_qo
  1200. # industry zero pure profits condition #
  1201. (all,a,ACTS)(all,r,REG)
  1202. po(a,r) + ao(a,r)
  1203. = sum{e,ENDW, STC(e,a,r) * [pfe(e,a,r) - afe(e,a,r) - ava(a,r)]}
  1204. + sum{c,COMM, STC(c,a,r) * [pfa(c,a,r) - afa(c,a,r) - aint(a,r)]}
  1205. + profitslack(a,r);
  1206. !<
  1207. E_qo defines industry zero pure profits condition. This condition
  1208. permits us to determine the endogenous output level for each sector,
  1209. except when profitslack is itself endogenous.
  1210. >!
  1211.  
  1212. !<
  1213. 1-2. Second level nest
  1214. ----------------------
  1215. >!
  1216.  
  1217. Coefficient (parameter)(all,a,ACTS)(all,r,REG)
  1218. ESUBC(a,r)
  1219. # elasticity of substitution among intermediate inputs in production #;
  1220. Read
  1221. ESUBC from file GTAPPARM header "ESBC";
  1222. Assertion (all,a,ACTS)(all,r,REG) ESUBC(a,r) ge 0;
  1223.  
  1224. Equation E_qfa
  1225. # industry demands for intermediate inputs c by act. a in region r #
  1226. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1227. qfa(c,a,r)
  1228. = - afa(c,a,r) + qint(a,r)
  1229. - ESUBC(a,r) * [pfa(c,a,r) - afa(c,a,r) - pint(a,r)];
  1230.  
  1231. Coefficient (all,a,ACTS)(all,r,REG)
  1232. TINTCOM(a,r) # total intermediate commodity inputs of act. a in r #;
  1233. Formula (all,a,ACTS)(all,r,REG)
  1234. TINTCOM(a,r) = sum{c,COMM,VFP(c,a,r)};
  1235. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1236. INTSHR(c,a,r) # share of intermed. c in total com. inputs of act. a in r #;
  1237. Zerodivide default RNREG;
  1238. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1239. INTSHR(c,a,r) = VFP(c,a,r)/TINTCOM(a,r);
  1240. Zerodivide off;
  1241.  
  1242. Equation E_pint
  1243. # price of composite intermediate commodity inputs by act. a in r #
  1244. (all,a,ACTS)(all,r,REG)
  1245. pint(a,r) = sum{c,COMM, INTSHR(c,a,r) * [pfa(c,a,r) - afa(c,a,r)]};
  1246. !<
  1247. E_pint defines the average price of intermediate input composite.
  1248. >!
  1249.  
  1250. Coefficient (parameter)(all,a,ACTS)(all,r,REG)
  1251. ESUBVA(a,r)
  1252. # elast. of sub. among capital/labor/land in value added of activity a #;
  1253. Read
  1254. ESUBVA from file GTAPPARM header "ESBV";
  1255. Assertion (all,a,ACTS)(all,r,REG) ESUBVA(a,r) ge 0;
  1256.  
  1257. Coefficient (all,a,ACTS)(all,r,REG)
  1258. VVA(a,r) # value added in act. a in region r #;
  1259. Formula (all,a,ACTS)(all,r,REG)
  1260. VVA(a,r) = sum{e,ENDW, VFP(e,a,r)};
  1261. Coefficient (all,e,ENDW)
  1262. DEFAULTVASHR(e) # zerodivide default for VASHR # ;
  1263. Formula (all,e,ENDW)
  1264. DEFAULTVASHR(e)
  1265. = sum{a,ACTS, sum{r,REG, VFP(e,a,r)}}
  1266. / sum{a,ACTS, sum{r,REG, VVA(a,r)}};
  1267. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  1268. VASHR(e,a,r) # share of e in total value added in act. a in r #;
  1269. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG: VVA(a,r) <> 0)
  1270. VASHR(e,a,r) = VFP(e,a,r) / VVA(a,r);
  1271. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG: VVA(a,r) = 0)
  1272. VASHR(e,a,r) = DEFAULTVASHR(e);
  1273.  
  1274. Equation E_qfe
  1275. # demands for endowment commodities #
  1276. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  1277. qfe(e,a,r)
  1278. = - afe(e,a,r) + qva(a,r)
  1279. - ESUBVA(a,r) * [pfe(e,a,r) - afe(e,a,r) - pva(a,r)];
  1280.  
  1281. Equation E_pva
  1282. # effective price of primary factor composite in each sector/region #
  1283. (all,a,ACTS)(all,r,REG)
  1284. pva(a,r) = sum{e,ENDW, VASHR(e,a,r) * [pfe(e,a,r) - afe(e,a,r)]};
  1285.  
  1286. !<
  1287. 1-3. Sourcing of commodities by firms
  1288. -------------------------------------
  1289. >!
  1290.  
  1291. Equation E_qfd
  1292. # act. a demands for domestic good c #
  1293. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1294. qfd(c,a,r) = qfa(c,a,r) - ESUBD(c,r) * [pfd(c,a,r) - pfa(c,a,r)];
  1295.  
  1296. Equation E_qfm
  1297. # act. a demands for composite import c #
  1298. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1299. qfm(c,a,r) = qfa(c,a,r) - ESUBD(c,r) * [pfm(c,a,r) - pfa(c,a,r)];
  1300.  
  1301. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1302. FMSHR(c,a,r) # share of firms' imports in dom. composite, purch. prices #;
  1303. Zerodivide default RNREG;
  1304. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1305. FMSHR(c,a,r) = VMFP(c,a,r) / VFP(c,a,r);
  1306. Zerodivide off;
  1307.  
  1308. Equation E_pfa
  1309. # industry price for composite commodities #
  1310. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1311. pfa(c,a,r) = [1 - FMSHR(c,a,r)] * pfd(c,a,r) + FMSHR(c,a,r) * pfm(c,a,r);
  1312.  
  1313. !<
  1314. 1-4. Technical change equations
  1315. -------------------------------
  1316. >!
  1317.  
  1318. !< Hicks-neutral technical change shifters >!
  1319. Variable (all,a,ACTS)
  1320. aosec(a) # output tech change for act. a, worldwide #;
  1321. Variable (all,r,REG)
  1322. aoreg(r) # specific output tech change in region r #;
  1323. Variable (all,a,ACTS)(all,r,REG)
  1324. aoall(a,r) # output augmenting technical change in act. a of r #;
  1325. Equation E_ao
  1326. # sector/region specific average rate of output augmenting tech change #
  1327. (all,a,ACTS)(all,r,REG)
  1328. ao(a,r) = aosec(a) + aoreg(r) + aoall(a,r);
  1329.  
  1330. !< Intermediate input technical change and shifters >!
  1331. Variable (all,c,COMM)
  1332. afcom(c) # intermediate tech change of input c, worldwide #;
  1333. Variable (all,a,ACTS)
  1334. afsec(a) # intermediate tech change of act. a, worldwide #;
  1335. Variable (all,r,REG)
  1336. afreg(r) # intermediate tech change in region r #;
  1337. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1338. afall(c,a,r) # intermediate input c augmenting tech change by act. a in r #;
  1339. Equation E_afa
  1340. # sector/region specific average rate of intermediates augmenting tech change #
  1341. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1342. afa(c,a,r) = afcom(c) + afsec(a) + afreg(r) + afall(c,a,r);
  1343.  
  1344. !< Composite value-added technical change and shifters >!
  1345. Variable (all,a,ACTS)
  1346. avasec(a) # value added tech change for act. a, worldwide #;
  1347. Variable (all,r,REG)
  1348. avareg(r) # value added tech change in region r #;
  1349. Variable (all,a,ACTS)(all,r,REG)
  1350. avaall(a,r) # value added augmenting technical change in act. a of r #;
  1351. Equation E_ava
  1352. # sector/region specific average rate of value added augmenting tech change #
  1353. (all,a,ACTS)(all,r,REG)
  1354. ava(a,r) = avasec(a) + avareg(r) + avaall(a,r);
  1355.  
  1356. !< Factor input technical change and shifters >!
  1357. Variable (all,e,ENDW)
  1358. afecom(e) # factor input tech change of endowwment e, worldwide #;
  1359. Variable (all,a,ACTS)
  1360. afesec(a) # factor input tech change of act. a, worldwide #;
  1361. Variable (all,r,REG)
  1362. afereg(r) # factor input tech change in region r #;
  1363. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  1364. afeall(e,a,r) # primary factor e augmenting tech change for act. a in r #;
  1365. Equation E_afe
  1366. # sector/region specific average rate of prim. factor e augmenting tech change #
  1367. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  1368. afe(e,a,r) = afecom(e) + afesec(a) + afereg(r) + afeall(e,a,r);
  1369.  
  1370. !< Composite intermediate input technical change and shifters >!
  1371. Variable (all,a,ACTS)
  1372. aintsec(a) # composite interm. input augmenting tech change, worldwide #;
  1373. Variable (all,r,REG)
  1374. aintreg(r) # composite interm. input augmenting tech change in region r #;
  1375. Variable (all,a,ACTS)(all,r,REG)
  1376. aintall(a,r) # comp. interm. input augmenting tech change of act. a in r #;
  1377. Equation E_aint
  1378. # sector/region specific Composite intermediate input augmenting tech change #
  1379. (all,a,ACTS)(all,r,REG)
  1380. aint(a,r) = aintsec(a) + aintreg(r) + aintall(a,r);
  1381.  
  1382. !<
  1383. ---------------------
  1384. 2-0. Commodity supply
  1385. ---------------------
  1386.  
  1387. The following picture describes commodity supply and sourcing. On the supply
  1388. side, activities with multiple outputs are given a CET specification wherein
  1389. they maximize their total revenue stream subject to being on the constant
  1390. elasticity of transformation frontier. On the demand side, buyers of a
  1391. commodity produced by multiple activities wish to minimize the total cost
  1392. of supply subject to a CES preference function.
  1393.  
  1394. qo(a,r) [ao(a,r)]
  1395. |
  1396. CET[ETRAQ] -----> | 'make'
  1397. |
  1398. qca(c,a,r)
  1399. |
  1400. CES[ESUBQ] -----> | 'sourcing'
  1401. |
  1402. qc(c,r)
  1403. >!
  1404.  
  1405. Coefficient (parameter)(all,a,ACTS)(all,r,REG)
  1406. ETRAQ(a,r)
  1407. # elasticity of transformation among commodities produced by act. a #;
  1408. Read
  1409. ETRAQ from file GTAPPARM header "ETRQ";
  1410. Assertion (all,a,ACTS)(all,r,REG) ETRAQ(a,r) lt 0;
  1411.  
  1412. Coefficient (all,a,ACTS)(all,r,REG)
  1413. MAKESCOM(a,r) # pre-tax output of activity a in r #;
  1414. Formula (all,a,ACTS)(all,r,REG)
  1415. MAKESCOM(a,r) = sum{c,COMM, MAKES(c,a,r)};
  1416. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1417. MAKESACTSHR(c,a,r) # share of c and a in output of a at supplier prices #;
  1418. Zerodivide default RNREG;
  1419. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1420. MAKESACTSHR(c,a,r) = MAKES(c,a,r) / MAKESCOM(a,r);
  1421. Zerodivide off;
  1422.  
  1423. Equation E_qca
  1424. # supply of commodities by act. a #
  1425. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1426. qca(c,a,r) = IF[MAKES(c,a,r) gt 0,
  1427. qo(a,r) - ETRAQ(a,r) * [ps(c,a,r) - po(a,r)]];
  1428.  
  1429. Equation E_po
  1430. # average unit (tax-exclusive) cost of output of act. a #
  1431. (all,a,ACTS)(all,r,REG)
  1432. po(a,r) = sum{c,COMM, MAKESACTSHR(c,a,r) * ps(c,a,r)};
  1433.  
  1434. Equation E_ps
  1435. # links basic and supply price of commodity c produced by activity a in r #
  1436. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1437. pca(c,a,r) = ps(c,a,r) + to(c,a,r);
  1438. !<
  1439. E_ps links supplier/producer (pre-) and basic (post-tax) prices for firms.
  1440. This captures the effect of output taxes or subsidies.
  1441. Note: The power of activity tax, to, is commodity- and activity-specific.
  1442. to(c,a,r) > 1 in the case of a tax
  1443. to(c,a,r) < 1 in the case of a subsidy.
  1444. >!
  1445.  
  1446. Variable (all,a,ACTS)(all,r,REG)
  1447. pb(a,r) # price index: basic (tax-inclusive) price of output of act. a #;
  1448. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1449. MAKEBACTSHR(c,a,r) # share of c and a in output of act. a at basic prices #;
  1450. Zerodivide default RNREG;
  1451. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1452. MAKEBACTSHR(c,a,r) = MAKEB(c,a,r) / MAKEBACT(a,r);
  1453. Zerodivide off;
  1454.  
  1455. Equation E_pb
  1456. # price index: basic (tax-inclusive) price of output of act. a #
  1457. (all,a,ACTS)(all,r,REG)
  1458. pb(a,r) = sum{c,COMM, MAKEBACTSHR(c,a,r) * pca(c,a,r)};
  1459.  
  1460. Coefficient (parameter)(all,c,COMM)(all,r,REG)
  1461. ESUBQ(c,r)
  1462. # 1/CES elast. for sourcing of commodity c produced by various activities #;
  1463. Formula (initial) (all,c,COMM)(all,r,REG)
  1464. ESUBQ(c,r) = 0.0; ! ie, Default 0.0 means perfect substitutes !
  1465. Read (ifheaderexists) ESUBQ from file GTAPPARM header "ESBQ";
  1466. Assertion (all,c,COMM)(all,r,REG) ESUBQ(c,r) ge 0;
  1467. !<
  1468. ESUBQ is 1/CES elasticity. ESUBQ=0.0 means that commodity c produced by 2
  1469. or more activities are perfect substitutes--i.e., each activity receives the
  1470. same price (i.e., the law of one price holds) for a given commodity.
  1471. In the equation E_pca below, pca(c,a,r) = pds(c,r) if ESUBQ = 0.0
  1472. But this will not work well if two or more activities each only produce the
  1473. same good (e.g., CoalElec and NuclearElec each only produce electricity),
  1474. resulting in structurally singular matrix problems, especially under the
  1475. standard GTAP closure, where most factors used by these activitiesare
  1476. perfectly mobile. In such cases, capital could be set as a sluggish
  1477. factor (note: if ETRAE=-0.000001, capital becomes a sector-specific factor);
  1478. or alternatively, capital could be perfectfly mobile across sectors but with
  1479. ESUBQ set to allow for a degree of commodity sourcing differentiation
  1480. (i.e., commodity c produced by diff activities are imperfect substitutes).
  1481. For example, ESUBQ could be set to 0.5 giving an elasticity of substitution
  1482. of 2.0 = 1/ESUBQ = 1/0.5. Alternative values for ESUBQ could be defined by
  1483. the user in the parameter input file.
  1484. >!
  1485.  
  1486. Variable (orig_level=VCB)(all,c,COMM)(all,r,REG)
  1487. qc(c,r) # total commodity supply in region r #;
  1488. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1489. MAKEBCOMSHR(c,a,r) # share of c by a in commodity supply at basic prices #;
  1490. Zerodivide default RNREG;
  1491. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1492. MAKEBCOMSHR(c,a,r) = MAKEB(c,a,r) / MAKEBCOM(c,r);
  1493. Zerodivide off;
  1494.  
  1495. Equation E_pca
  1496. # CES allocation of commodity output by activity (ESUBQ(c,r) is 1/CES elast.) #
  1497. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1498. pca(c,a,r) = IF[MAKEB(c,a,r) gt 0,
  1499. pds(c,r) - ESUBQ(c,r) * [qca(c,a,r) - qc(c,r)]];
  1500.  
  1501. Equation E_qc
  1502. # market clearing condition for total commodity supply #
  1503. (all,c,COMM)(all,r,REG)
  1504. qc(c,r) = sum{a,ACTS, MAKEBCOMSHR(c,a,r) * qca(c,a,r)};
  1505.  
  1506. !<
  1507. ------------------------
  1508. 3-0. Income distribution
  1509. ------------------------
  1510. >!
  1511.  
  1512. Variable (all,r,REG)
  1513. fincome(r) # factor income at basic prices net of depreciation #;
  1514. Coefficient (all,r,REG)
  1515. FY(r) # primary factor income in r net of depreciation #;
  1516. Formula (all,r,REG)
  1517. FY(r) = sum{e,ENDW, sum{a,ACTS, EVFB(e,a,r)}} - VDEP(r);
  1518.  
  1519. Equation E_fincome
  1520. # factor income at basic prices net of depreciation #
  1521. (all,r,REG)
  1522. FY(r) * fincome(r)
  1523. = sum{e,ENDW, sum{a,ACTS, EVFB(e,a,r)*[peb(e,a,r) + qes(e,a,r)]}}
  1524. - VDEP(r) * [pinv(r) + kb(r)];
  1525.  
  1526. !< Computation of Regional Income >!
  1527. Variable (all,r,REG)
  1528. incomeslack(r) # slack variable in the expression for regional income #;
  1529. !< This is exogenous, unless the user wishes to fix regional income. >!
  1530. Variable (change)(all,r,REG)
  1531. del_indtaxr(r) # change in ratio of indirect taxes to INCOME in r #;
  1532. Coefficient (all,r,REG)
  1533. INDTAX(r) # indirect tax receipts in r #;
  1534. Formula (all,r,REG)
  1535. INDTAX(r) = TAXRPC(r) + TAXRGC(r) + TAXRIC(r) + TAXRIU(r) + TAXRFU(r)
  1536. + TAXROUT(r) + TAXREXP(r) + TAXRIMP(r);
  1537.  
  1538. Equation E_y
  1539. # regional income = sum of primary factor income and indirect tax receipts #
  1540. (all,r,REG)
  1541. INCOME(r) * y(r)
  1542. = FY(r) * fincome(r)
  1543. + 100.0 * INCOME(r) * del_indtaxr(r)
  1544. + INDTAX(r) * y(r)
  1545. + INCOME(r) * incomeslack(r);
  1546.  
  1547. !<
  1548. -------------------------------------------------------
  1549. 4-0. Allocation of income across expenditure categories
  1550. -------------------------------------------------------
  1551. >!
  1552.  
  1553. Variable (all,r,REG)
  1554. uelas(r) # elasticity of cost of utility wrt utility #;
  1555. Variable (all,r,REG)
  1556. dpsave(r) # saving distribution parameter #;
  1557. Variable (all,r,REG)
  1558. dpgov(r) # government consumption distribution parameter #;
  1559. Variable (all,r,REG)
  1560. dppriv(r) # private consumption distribution parameter #;
  1561.  
  1562. Equation E_qsave
  1563. # saving #
  1564. (all,r,REG)
  1565. psave(r) + qsave(r) - y(r) = uelas(r) + dpsave(r);
  1566.  
  1567. Equation E_yg
  1568. # government consumption expenditure #
  1569. (all,r,REG)
  1570. yg(r) - y(r) = uelas(r) + dpgov(r);
  1571.  
  1572. Equation E_yp
  1573. # private consumption expenditure #
  1574. (all,r,REG)
  1575. yp(r) - y(r) = -[uepriv(r) - uelas(r)] + dppriv(r);
  1576.  
  1577. Variable (all,r,REG)
  1578. dpav(r) # average distribution parameter shift, for EV calc. #;
  1579. Coefficient (all,r,REG)
  1580. XSHRPRIV(r) # private expenditure share in regional income #;
  1581. Formula (all,r,REG)
  1582. XSHRPRIV(r) = PRIVEXP(r) / INCOME(r);
  1583. Coefficient (all,r,REG)
  1584. XSHRGOV(r) # government expenditure share in regional income #;
  1585. Formula (all,r,REG)
  1586. XSHRGOV(r) = GOVEXP(r) / INCOME(r);
  1587. Coefficient (all,r,REG)
  1588. XSHRSAVE(r) # saving share in regional income #;
  1589. Formula (all,r,REG)
  1590. XSHRSAVE(r) = SAVE(r) / INCOME(r);
  1591.  
  1592. Equation E_uelas
  1593. # elasticity of cost of utility wrt utility #
  1594. (all,r,REG)
  1595. uelas(r) = XSHRPRIV(r) * uepriv(r) - dpav(r);
  1596.  
  1597. Equation E_dpav
  1598. # average distribution parameter shift #
  1599. (all,r,REG)
  1600. dpav(r)
  1601. = XSHRPRIV(r) * dppriv(r)
  1602. + XSHRGOV(r) * dpgov(r)
  1603. + XSHRSAVE(r) * dpsave(r);
  1604.  
  1605. Variable (all,r,REG)
  1606. p(r) # price index for disposition of income by regional household #;
  1607.  
  1608. Equation E_p
  1609. # price index for disposition of income by regional household #
  1610. (all,r,REG)
  1611. p(r) = XSHRPRIV(r) * ppriv(r) + XSHRGOV(r) * pgov(r)
  1612. + XSHRSAVE(r) * psave(r);
  1613.  
  1614. Variable (all,r,REG)
  1615. au(r) # input-neutral shift in utility function #;
  1616. Variable (all,r,REG)
  1617. dpsum(r) # sum of the distribution parameters #;
  1618. Variable (all,r,REG)
  1619. u(r) # per capita utility from aggregate hhld expend. in region r #;
  1620. Coefficient (all,r,REG)
  1621. DPARSUM(r) # sum of distribution parameters #;
  1622. Read
  1623. DPARSUM from file GTAPDATA header "DPSM";
  1624. Update (all,r,REG)
  1625. DPARSUM(r) = dpsum(r);
  1626.  
  1627. Coefficient (all,r,REG)
  1628. UTILELAS(r) # elasticity of cost of utility wrt utility #;
  1629. Formula (all,r,REG)
  1630. UTILELAS(r)
  1631. = [UELASPRIV(r) * XSHRPRIV(r) + XSHRGOV(r) + XSHRSAVE(r)] / DPARSUM(r);
  1632. Coefficient (all,r,REG)
  1633. DPARPRIV(r) # private consumption distribution parameter #;
  1634. Formula (all,r,REG)
  1635. DPARPRIV(r) = UELASPRIV(r) * XSHRPRIV(r) / UTILELAS(r);
  1636. Coefficient (all,r,REG)
  1637. DPARGOV(r) # government consumption distribution parameter #;
  1638. Formula (all,r,REG)
  1639. DPARGOV(r) = XSHRGOV(r) / UTILELAS(r);
  1640.  
  1641. Coefficient (all,r,REG)
  1642. DPARSAVE(r) # saving distribution parameter #;
  1643. Formula (all,r,REG)
  1644. DPARSAVE(r) = XSHRSAVE(r) / UTILELAS(r);
  1645.  
  1646. Coefficient (all,r,REG)
  1647. UTILPRIV(r) # utility from private consumption #;
  1648. Formula (initial)(all,r,REG)
  1649. UTILPRIV(r) = 1.0;
  1650. Update (all,r,REG)
  1651. UTILPRIV(r) = up(r);
  1652.  
  1653. Coefficient (all,r,REG)
  1654. UTILGOV(r) # utility from government consumption #;
  1655. Formula (initial)(all,r,REG)
  1656. UTILGOV(r) = 1.0;
  1657. Update (all,r,REG)
  1658. UTILGOV(r) = ug(r);
  1659.  
  1660. Coefficient (all,r,REG)
  1661. UTILSAVE(r) # utility from saving #;
  1662. Formula (initial)(all,r,REG)
  1663. UTILSAVE(r) = 1.0;
  1664. Update (change) (all,r,REG)
  1665. UTILSAVE(r) = [[qsave(r) - pop(r)] / 100] * UTILSAVE(r);
  1666.  
  1667. Equation E_u
  1668. # regional household utility #
  1669. (all,r,REG)
  1670. u(r) = au(r) + DPARPRIV(r) * loge(UTILPRIV(r)) * dppriv(r)
  1671. + DPARGOV(r) * loge(UTILGOV(r)) * dpgov(r)
  1672. + DPARSAVE(r) * loge(UTILSAVE(r)) * dpsave(r)
  1673. + [1.0 / UTILELAS(r)] * [y(r) - pop(r) - p(r)];
  1674.  
  1675. Equation E_dpsum
  1676. # sum of the distribution parameters #
  1677. (all,r,REG)
  1678. DPARSUM(r) * dpsum(r)
  1679. = DPARPRIV(r) * dppriv(r)
  1680. + DPARGOV(r) * dpgov(r)
  1681. + DPARSAVE(r) * dpsave(r);
  1682.  
  1683. !<
  1684. --------------------------
  1685. 5-0. Domestic final demand
  1686. --------------------------
  1687. >!
  1688.  
  1689. !<
  1690. 5-1. Private expenditures
  1691. -------------------------
  1692. >!
  1693.  
  1694. !< We first compute for the Allen Partials, Price and Income Elasticities
  1695. then derive Private household's Composite Demand >!
  1696. Coefficient (parameter)(all,c,COMM)(all,r,REG)
  1697. SUBPAR(c,r)
  1698. # substitution parameter in CDE minimum expenditure function #;
  1699. Read
  1700. SUBPAR from file GTAPPARM header "SUBP";
  1701. Coefficient (all,c,COMM)(all,r,REG)
  1702. ALPHA(c,r) # 1 - sub. parameter in the CDE minimum expenditure function #;
  1703. Formula (all,c,COMM)(all,r,REG)
  1704. ALPHA(c,r) = 1 - SUBPAR(c,r);
  1705. Coefficient (all,c,COMM)(all,k,COMM)(all,r,REG)
  1706. APE(c,k,r) # Allen partial elast. of sub. between composite c and k in r #;
  1707. Formula (all,c,COMM)(all,k,COMM)(all,r,REG)
  1708. APE(c,k,r)
  1709. = ALPHA(c,r) + ALPHA(k,r) - sum{n,COMM, CONSHR(n,r) * ALPHA(n,r)};
  1710. Formula (all,c,COMM)(all,r,REG)
  1711. APE(c,c,r)
  1712. = 2.0 * ALPHA(c,r)
  1713. - sum{n,COMM, CONSHR(n,r) * ALPHA(n,r)}
  1714. - ALPHA(c,r) / CONSHR(c,r);
  1715.  
  1716. Coefficient (all,c,COMM)(all,r,REG)
  1717. EY(c,r) # income elast. of private hhld demand for c in r #;
  1718. Formula (all,c,COMM)(all,r,REG)
  1719. EY(c,r)
  1720. = [1.0 / sum{n,COMM, CONSHR(n,r) * INCPAR(n,r)}]
  1721. * [INCPAR(c,r) * [1.0 - ALPHA(c,r)]
  1722. + sum{n,COMM, CONSHR(n,r) * INCPAR(n,r) * ALPHA(n,r)}]
  1723. + [ALPHA(c,r) - sum{n,COMM, CONSHR(n,r) * ALPHA(n,r)}];
  1724.  
  1725. Coefficient (all,c,COMM)(all,k,COMM)(all,r,REG)
  1726. EP(c,k,r)
  1727. # uncomp. elast. of private hhld demand for c wrt price of k in r #;
  1728. Formula (all,c,COMM)(all,k,COMM)(all,r,REG)
  1729. EP(c,k,r) = 0;
  1730. Formula (all,c,COMM)(all,k,COMM)(all,r,REG)
  1731. EP(c,k,r) = [APE(c,k,r) - EY(c,r)] * CONSHR(k,r);
  1732.  
  1733. Variable (all,c,COMM)(all,r,REG)
  1734. ppa(c,r) # private consumption price for commodity c in region r #;
  1735. Variable (all,c,COMM)(all,r,REG)
  1736. qpa(c,r) # private hhld demand for commodity c in region r #;
  1737.  
  1738. Equation E_qpa
  1739. # private consumption demands for composite commodities #
  1740. (all,c,COMM)(all,r,REG)
  1741. qpa(c,r) - pop(r)
  1742. = sum{k,COMM, EP(c,k,r) * ppa(k,r)} + EY(c,r) * [yp(r) - pop(r)];
  1743. !<
  1744. E_qpa defines private consumption demands for composite commodities.
  1745. Demand system is on a per capita basis. Here, yp(r) - pop(r) is % change in
  1746. per capita income.
  1747. >!
  1748.  
  1749. !< Utility from Private Consumption >!
  1750. Coefficient (all,c,COMM)(all,r,REG)
  1751. XWCONSHR(c,r) # expansion-parameter-weighted consumption share #;
  1752. Formula (all,c,COMM)(all,r,REG)
  1753. XWCONSHR(c,r) = CONSHR(c,r) * INCPAR(c,r) / UELASPRIV(r);
  1754.  
  1755. Equation E_uepriv
  1756. # elasticity of expenditure wrt utility from private consumption #
  1757. (all,r,REG)
  1758. uepriv(r) = sum{c,COMM, XWCONSHR(c,r) * [ppa(c,r) + qpa(c,r) - yp(r)]};
  1759.  
  1760. Equation E_ppriv
  1761. # price index for private consumption expenditure #
  1762. (all,r,REG)
  1763. ppriv(r) = sum{c,COMM, CONSHR(c,r) * ppa(c,r)};
  1764.  
  1765. Equation E_up
  1766. # computation of utility from private consumption in r #
  1767. (all,r,REG)
  1768. UELASPRIV(r) * up(r) = yp(r) - ppriv(r) - pop(r) ;
  1769. !<
  1770. E_up determines private consumption utility for a representative
  1771. household in region r, based on the per capita private expenditure
  1772. function.
  1773. >!
  1774.  
  1775. Equation E_qpd
  1776. # private consumption demand for domestic goods #
  1777. (all,c,COMM)(all,r,REG)
  1778. qpd(c,r) = qpa(c,r) - ESUBD(c,r) * [ppd(c,r) - ppa(c,r)];
  1779.  
  1780. Zerodivide default RNREG;
  1781. !< Composite Tradeables >!
  1782. Coefficient (all,c,COMM)(all,r,REG)
  1783. PMSHR(c,r) # share of imports in private hhld cons. at purchaser's prices #;
  1784. Formula (all,c,COMM)(all,r,REG)
  1785. PMSHR(c,r) = VMPP(c,r) / VPP(c,r);
  1786. Zerodivide off;
  1787.  
  1788. Equation E_qpm
  1789. # private consumption demand for aggregate imports #
  1790. (all,c,COMM)(all,r,REG)
  1791. qpm(c,r) = qpa(c,r) - ESUBD(c,r) * [ppm(c,r) - ppa(c,r)];
  1792.  
  1793. Equation E_ppa
  1794. # private consumption price for composite commodities #
  1795. (all,c,COMM)(all,r,REG)
  1796. ppa(c,r) = [1 - PMSHR(c,r)] * ppd(c,r) + PMSHR(c,r) * ppm(c,r);
  1797.  
  1798. !<
  1799. 5-2. Public expenditures
  1800. -------------------------
  1801. >!
  1802.  
  1803. Variable (all,c,COMM)(all,r,REG)
  1804. pga(c,r) # government consumption price for commodity c in region r #;
  1805. Variable (all,c,COMM)(all,r,REG)
  1806. qga(c,r) # government hhld demand for commodity c in region r #;
  1807. Coefficient (parameter)(all,r,REG)
  1808. ESUBG(r)
  1809. # region-specific elast. of subst. for composite government consumption #;
  1810. Read
  1811. ESUBG from file GTAPPARM header "ESBG";
  1812. Assertion (all,r,REG) ESUBG(r) ge 0;
  1813.  
  1814. Equation E_qga
  1815. # government consumption demands for composite commodities #
  1816. (all,c,COMM)(all,r,REG)
  1817. qga(c,r) = yg(r) - pgov(r) - ESUBG(r) * [pga(c,r) - pgov(r)];
  1818.  
  1819. Equation E_pgov
  1820. # price index for aggregate gov't purchases #
  1821. (all,r,REG)
  1822. pgov(r) = sum{c,COMM, [VGP(c,r) / GOVEXP(r)] * pga(c,r)};
  1823.  
  1824. Equation E_ug
  1825. # utility from government consumption in r #
  1826. (all,r,REG)
  1827. ug(r) = yg(r) - pgov(r) - pop(r);
  1828.  
  1829. Zerodivide default RNREG;
  1830. !< Composite tradeables >!
  1831. Coefficient (all,c,COMM)(all,r,REG)
  1832. GMSHR(c,r) # share of imports for gov't hhld at purchaser's prices #;
  1833. Formula (all,c,COMM)(all,r,REG)
  1834. GMSHR(c,r) = VMGP(c,r) / VGP(c,r);
  1835. Zerodivide off;
  1836.  
  1837. Equation E_qgd
  1838. # government consumption demand for domestic goods #
  1839. (all,c,COMM)(all,r,REG)
  1840. qgd(c,r) = qga(c,r) - ESUBD(c,r) * [pgd(c,r) - pga(c,r)];
  1841.  
  1842. Equation E_qgm
  1843. # government consumption demand for aggregate imports #
  1844. (all,c,COMM)(all,r,REG)
  1845. qgm(c,r) = qga(c,r) - ESUBD(c,r) * [pgm(c,r) - pga(c,r)];
  1846.  
  1847. Equation E_pga
  1848. # government consumption price for composite commodities #
  1849. (all,c,COMM)(all,r,REG)
  1850. pga(c,r) = [1 - GMSHR(c,r)] * pgd(c,r) + GMSHR(c,r) * pgm(c,r);
  1851.  
  1852. !<
  1853. 5-3. Investment expenditures
  1854. ----------------------------
  1855. >!
  1856.  
  1857. Variable (all,c,COMM)(all,r,REG)
  1858. pia(c,r) # price of investment commodity in region r #;
  1859. Variable (all,c,COMM)(all,r,REG)
  1860. qia(c,r) # demand for investment commodity c in region r #;
  1861. Variable (all,r,REG)
  1862. qinv(r) # demand for investment/capital goods in region r #;
  1863.  
  1864. Equation E_qia
  1865. # Top level (Leontief) demand for investment goods #
  1866. (all,c,COMM)(all,r,REG)
  1867. qia(c,r) = qinv(r);
  1868.  
  1869. Equation E_pinv
  1870. # defines the price of investment #
  1871. (all,r,REG)
  1872. pinv(r) = sum{c,COMM, [VIP(c,r) / REGINV(r)] * pia(c,r)};
  1873.  
  1874. Equation E_qid
  1875. # demand for domestic investment commodity c #
  1876. (all,c,COMM)(all,r,REG)
  1877. qid(c,r) = qia(c,r) - ESUBD(c,r) * [pid(c,r) - pia(c,r)];
  1878.  
  1879. Equation E_qim
  1880. # demand for imported investment commodity c #
  1881. (all,c,COMM)(all,r,REG)
  1882. qim(c,r) = qia(c,r) - ESUBD(c,r) * [pim(c,r) - pia(c,r)];
  1883.  
  1884. Zerodivide default RNREG;
  1885. !< Composite tradeables >!
  1886. Coefficient (all,c,COMM)(all,r,REG)
  1887. IMSHR(c,r) # share of imports for investment at purchaser's prices #;
  1888. Formula (all,c,COMM)(all,r,REG)
  1889. IMSHR(c,r) = VMIP(c,r) / VIP(c,r);
  1890. Zerodivide off;
  1891.  
  1892. Equation E_pia
  1893. # invesment price for composite commodities #
  1894. (all,c,COMM)(all,r,REG)
  1895. pia(c,r) = [1 - IMSHR(c,r)] * pid(c,r) + IMSHR(c,r) * pim(c,r);
  1896.  
  1897. !<
  1898. -----------------------------------------------
  1899. 6-0. Trade, goods market equilibrium and prices
  1900. -----------------------------------------------
  1901. >!
  1902.  
  1903. !<
  1904. 6-1. Sourcing of imports
  1905. ------------------------
  1906. >!
  1907.  
  1908. Coefficient (all,c,COMM)(all,r,REG)
  1909. VMB(c,r) # value of aggregate imports of commodity c in r #;
  1910. Formula (all,c,COMM)(all,r,REG)
  1911. VMB(c,r) = sum{a,ACTS, VMFB(c,a,r)} + VMIB(c,r)
  1912. + VMPB(c,r) + VMGB(c,r);
  1913.  
  1914. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1915. FMCSHR(c,a,r) # share of import c used by act. a in r #;
  1916. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  1917. FMCSHR(c,a,r) = VMFB(c,a,r) / VMB(c,r);
  1918.  
  1919. Coefficient (all,c,COMM)(all,r,REG)
  1920. PMCSHR(c,r) # share of import c used by priv. hhlds in total imports in r #;
  1921. Formula (all,c,COMM)(all,r,REG)
  1922. PMCSHR(c,r) = VMPB(c,r) / VMB(c,r);
  1923.  
  1924. Coefficient (all,c,COMM)(all,r,REG)
  1925. GMCSHR(c,r) # the share of import c by gov't hhlds in total imports in r #;
  1926. Formula (all,c,COMM)(all,r,REG)
  1927. GMCSHR(c,r) = VMGB(c,r) / VMB(c,r);
  1928.  
  1929. Coefficient (all,c,COMM)(all,r,REG)
  1930. IMCSHR(c,r) # share of import c by investment agent in total imports in r #;
  1931. Formula (all,c,COMM)(all,r,REG)
  1932. IMCSHR(c,r) = VMIB(c,r) / VMB(c,r);
  1933.  
  1934. !< @MRIO: E_qms is no longer a market clearing equation; qms now a reporting varirable >!
  1935. Equation E_qms
  1936. ![[! # assures mkt clearing for imported goods entering each region # !]]!
  1937. # aggregate imports of commodity c in each region #
  1938. (all,c,COMM)(all,r,REG)
  1939. qms(c,r)
  1940. = sum{a,ACTS, FMCSHR(c,a,r) * qfm(c,a,r)}
  1941. + PMCSHR(c,r) * qpm(c,r)
  1942. + GMCSHR(c,r) * qgm(c,r)
  1943. + IMCSHR(c,r) * qim(c,r);
  1944.  
  1945. !< @MRIO: add agent-specific ams and make ESUBM agent-specific >!
  1946. Variable (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  1947. amsall(c,aa,s,d) # commodity c augmenting tech change from s to d, by agent #;
  1948. Variable (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  1949. amsa(c,aa,s,d) # commodity c augmenting tech change from s to d, by agent #;
  1950. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  1951. ams(c,s,d) # commodity c augmenting tech change from s to d #;
  1952. Coefficient (parameter)(all,c,COMM)(all,aa,AGENTS)(all,r,REG)
  1953. ESUBM(c,aa,r)
  1954. # region-specific elast. of sub. among imports c in Armington by agent #;
  1955. ![[!
  1956. Coefficient (parameter)(all,c,COMM)(all,r,REG)
  1957. ESUBM(c,r)
  1958. # region-specific elast. of sub. among imports c in Armington structure #;
  1959. !]]!
  1960. Read
  1961. ESUBM from file GTAPPARM header "ESBM";
  1962. Assertion (all,c,COMM)(all,aa,AGENTS)(all,r,REG) ESUBM(c,aa,r) ge 0;
  1963.  
  1964. Equation E_amsa
  1965. # commodity c augmenting tech change from s to d, by agent #
  1966. (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  1967. amsa(c,aa,s,d) = ams(c,s,d) + amsall(c,aa,s,d);
  1968.  
  1969. !< @MRIO: agent-specific commodity imports by region >!
  1970. Variable (all,c,COMM)(all,aa,AGENTS)(all,d,REG)
  1971. pamd(c,aa,d) # agent-specific basic (tariff-incl) import prices in d #;
  1972. Variable (all,c,COMM)(all,aa,AGENTS)(all,d,REG)
  1973. qamd(c,aa,d) # agent-specific import quantity: basic price weights #;
  1974. Zerodivide default RNREG;
  1975. Coefficient (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  1976. MABSHR(c,aa,s,d) # basic import shares by agent and source in d #;
  1977. Formula (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  1978. MABSHR(c,aa,s,d) = VMAB(c,aa,s,d) / sum{ss,REG, VMAB(c,aa,ss,d)};
  1979. Zerodivide off;
  1980.  
  1981. Equation E_pamd
  1982. # agent-specific aggregate basic (tariff-inclusive) import prices #
  1983. (all,c,COMM)(all,aa,AGENTS)(all,d,REG)
  1984. pamd(c,aa,d) = sum{s,REG, MABSHR(c,aa,s,d) * [pamds(c,aa,s,d) - amsa(c,aa,s,d)]};
  1985.  
  1986. Equation E_qamd
  1987. # agent-specific import quantity: for reporting purposes #
  1988. (all,c,COMM)(all,aa,AGENTS)(all,d,REG)
  1989. qamd(c,aa,d) = sum{s,REG, MABSHR(c,aa,s,d) * qamds(c,aa,s,d)};
  1990.  
  1991. Equation E_qamds
  1992. # regional demand for commodity imports by source and agent: 2nd level Armington #
  1993. (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  1994. qamds(c,aa,s,d) + amsa(c,aa,s,d)
  1995. = IF[aa in ACTS,
  1996. qfm(c,aa,d) - ESUBM(c,aa,d) * [pamds(c,aa,s,d) - amsa(c,aa,s,d) - pamd(c,aa,d)]]
  1997. + IF[aa="hhld",
  1998. qpm(c,d) - ESUBM(c,aa,d) * [pamds(c,aa,s,d) - amsa(c,aa,s,d) - pamd(c,aa,d)]]
  1999. + IF[aa="govt",
  2000. qgm(c,d) - ESUBM(c,aa,d) * [pamds(c,aa,s,d) - amsa(c,aa,s,d) - pamd(c,aa,d)]]
  2001. + IF[aa="invt",
  2002. qim(c,d) - ESUBM(c,aa,d) * [pamds(c,aa,s,d) - amsa(c,aa,s,d) - pamd(c,aa,d)]]
  2003. ;
  2004.  
  2005. !< @MRIO: Import shares by agent for use in E_qxs >!
  2006. Zerodivide default RNREG;
  2007. Coefficient (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  2008. QXSSHR(c,aa,s,d) # agent-specific share in total imports, CIF weights #;
  2009. Formula (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  2010. QXSSHR(c,aa,s,d) = VMAC(c,aa,s,d) / VCIF(c,s,d);
  2011. Zerodivide off;
  2012.  
  2013. !< @MRIO: E_qxs is now the import market clearing equation >!
  2014. Equation E_qxs
  2015. # regional demand for disaggregated imported commodities by source #
  2016. ![[!
  2017. (all,c,COMM)(all,s,REG)(all,d,REG)
  2018. qxs(c,s,d)
  2019. = -ams(c,s,d) + qms(c,d)
  2020. - ESUBM(c,d) * [pmds(c,s,d) - ams(c,s,d) - pms(c,d)];
  2021. !]]!
  2022. (all,c,COMM)(all,s,REG)(all,d,REG)
  2023. qxs(c,s,d) = sum{aa,AGENTS, QXSSHR(c,aa,s,d) * qamds(c,aa,s,d)};
  2024.  
  2025. Coefficient (all,c,COMM)(all,d,REG)
  2026. IMPBASIC(c,d) # total imports of good c by DEST region d, at basic prices #;
  2027. Formula (all,c,COMM)(all,d,REG)
  2028. IMPBASIC(c,d) = sum{s,REG, VMSB(c,s,d)};
  2029. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  2030. MSHRS(c,s,d) # share of imports from s in imp. bill of d at basic prices #;
  2031. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  2032. MSHRS(c,s,d) = VMSB(c,s,d) / IMPBASIC(c,d);
  2033.  
  2034. !< @MRIO: pms now a reporting variable >!
  2035. Equation E_pms
  2036. # price for aggregate imports c at tariff-inclusive (basic) prices #
  2037. (all,c,COMM)(all,d,REG)
  2038. ![[! pms(c,d) = sum{s,REG, MSHRS(c,s,d) * [pmds(c,s,d) - ams(c,s,d)]}; !]]!
  2039. pms(c,d) = sum{s,REG, MSHRS(c,s,d) * pmds(c,s,d)};
  2040.  
  2041. !<
  2042. 6-2. International trade and transport margins
  2043. ----------------------------------------------
  2044. >!
  2045.  
  2046. !<
  2047. 6-2-1. Demand for Global Transport Services
  2048. -------------------------------------------
  2049. >!
  2050.  
  2051. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  2052. ptrans(c,s,d) # cost index for international transport of c from s to d #;
  2053. Variable (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2054. qtmfsd(m,c,s,d) # international usage margin m on c from s to d #;
  2055. !<
  2056. International margin usage, by Margin, Freight, Source, and Destination,
  2057. i.e., the percent change in usage of m in transport of c from s to d.
  2058. >!
  2059.  
  2060. Variable (all,m,MARG)
  2061. pt(m) # price index of composite margins services, by margin mode m #;
  2062. Variable (all,m,MARG)
  2063. qtm(m) # global margin usage #;
  2064. Variable (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2065. atmfsd(m,c,s,d) # tech change in m's shipping of c from region s to d #;
  2066. !<
  2067. Technical progress in shipping by Margin, Freight, Source, and
  2068. Destination. This is endogenous and driven by the following mode-,
  2069. commodity-, source-, and destination-specific determinants.
  2070. >!
  2071.  
  2072. Equation E_qtmfsd
  2073. # bilateral demand for transport services #
  2074. (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2075. qtmfsd(m,c,s,d) = qxs(c,s,d) - atmfsd(m,c,s,d);
  2076. !<
  2077. E_qtmfsd equation computes the bilateral demand for international
  2078. transportation services. It reflects the fact that the demand for
  2079. services along any particular route is proportional to the quantity of
  2080. merchandise shipped [i.e., QXS(c,s,d)]. It is here that we introduce the
  2081. potential for input-augmenting tech change, atmfsd(m,c,s,d), which is
  2082. commodity- and route-specific. Thus, in the levels:
  2083. ATMFSD(m,c,s,d) * QTMFSD(m,c,s,d) = QXS(c,s,d)
  2084. where QTMFSD is the amount of composite margins services m used along this
  2085. route. Technological improvements are reflected by atmfsd(c,s,d) > 0, and
  2086. these reduce the margins services required for this c,s,d triplet. Tech.
  2087. change also dampens the cost of shipping, thereby lowering the CIF price
  2088. implied by a given FOB value (see 6-2-2).
  2089. >!
  2090.  
  2091. Coefficient (ge 0) (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2092. VTMFSD(m,c,s,d)
  2093. # int'l margin usage, by margin, freight, source, and destination #;
  2094. Read
  2095. VTMFSD from file GTAPDATA header "VTWR";
  2096. Update (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2097. VTMFSD(m,c,s,d) = pt(m) * qtmfsd(m,c,s,d);
  2098.  
  2099. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  2100. VTFSD(c,s,d) # aggregate value of svces in the shipment of c from s to d #;
  2101. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  2102. VTFSD(c,s,d) = sum{m,MARG, VTMFSD(m,c,s,d)};
  2103. !<
  2104. In a balanced data base, (all,c,COMM)(all,s,REG)(all,d,REG),
  2105. VCIF(c,s,d) = VFOB(c,s,d) + VTFSD(c,s,d).
  2106. >!
  2107.  
  2108. Coefficient
  2109. VTUSE # international margin services usage #;
  2110. Formula
  2111. VTUSE = sum{m,MARG, sum{c,COMM, sum{s,REG, sum{d,REG, VTMFSD(m,c,s,d)}}}};
  2112. Coefficient (all,m,MARG)
  2113. VTMUSE(m) # international margin services usage, by type #;
  2114. Formula (all,m,MARG)
  2115. VTMUSE(m) = sum{c,COMM, sum{s,REG, sum{d,REG, VTMFSD(m,c,s,d)}}};
  2116.  
  2117. Coefficient (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2118. VTFSD_MSH(m,c,s,d) # share of margin m in cost of getting c from s to d #;
  2119. Formula (all,m,MARG)(all,c,COMM)(all,r,REG)
  2120. (all,d,REG: VTFSD(c,r,d) > 0.0)
  2121. VTFSD_MSH(m,c,r,d) = VTMFSD(m,c,r,d) / VTFSD(c,r,d);
  2122. Formula (all,m,MARG)(all,c,COMM)(all,s,REG)
  2123. (all,d,REG: VTFSD(c,s,d) = 0.0)
  2124. VTFSD_MSH(m,c,s,d) = VTMUSE(m) / VTUSE;
  2125.  
  2126. Equation E_ptrans
  2127. # generates flow-specific modal average cost of transport index (cf. HT7) #
  2128. (all,c,COMM)(all,s,REG)(all,d,REG)
  2129. ptrans(c,s,d)
  2130. = sum{m,MARG, VTFSD_MSH(m,c,s,d) * [pt(m) - atmfsd(m,c,s,d)]};
  2131. !<
  2132. average cost index for margin services used in getting c from s to d
  2133. >!
  2134.  
  2135. Coefficient (all,m,MARG)
  2136. VTMPROV(m) # international margin services provision #;
  2137. Formula (all,m,MARG)
  2138. VTMPROV(m) = sum{r,REG, VST(m,r)};
  2139. !<
  2140. In a balanced data base, VTMPROV = VTMUSE.
  2141. >!
  2142. Coefficient (all,r,REG)
  2143. VTRPROV(r) # international margin supply, by region #;
  2144. Formula (all,r,REG)
  2145. VTRPROV(r) = sum{m,MARG, VST(m,r)};
  2146. Coefficient
  2147. VT # international margin supply #;
  2148. Formula
  2149. VT = sum{m,MARG, sum{r,REG, VST(m,r)}};
  2150.  
  2151. Coefficient (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2152. VTMUSESHR(m,c,s,d) # share of c,s,d usage in global demand for m #;
  2153. Formula (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2154. VTMUSESHR(m,c,s,d) = VTFSD(c,s,d) / VT;
  2155. Formula
  2156. (all,m,MARG: VTMUSE(m) <> 0.0)(all,c,COMM)(all,s,REG)(all,d,REG)
  2157. VTMUSESHR(m,c,s,d) = VTMFSD(m,c,s,d) / VTMUSE(m);
  2158.  
  2159. Equation E_qtm
  2160. # global demand for margin m #
  2161. (all,m,MARG)
  2162. qtm(m)
  2163. = sum{c,COMM, sum{s,REG, sum{d,REG,
  2164. VTMUSESHR(m,c,s,d) * qtmfsd(m,c,s,d)}}};
  2165.  
  2166. Coefficient (parameter)(all,m,MARG)
  2167. ESUBS(m)
  2168. # elasticity of sub. among transportation service inputs #;
  2169. Read
  2170. ESUBS from file GTAPPARM header "ESBS";
  2171. Assertion (all,m,MARG) ESUBS(m) ge 0;
  2172.  
  2173. Equation E_qst
  2174. # generate demand for regional supply of global transportation service #
  2175. (all,m,MARG)(all,r,REG)
  2176. qst(m,r) = qtm(m) - ESUBS(m)*[pds(m,r) - pt(m)];
  2177.  
  2178. !<
  2179. 6-2-2. Supply of Transport Services
  2180. -----------------------------------
  2181. >!
  2182.  
  2183. Coefficient (all,m,MARG)(all,r,REG)
  2184. VTSUPPSHR(m,r) # share of region r in global supply of margin m #;
  2185. Formula (all,m,MARG)(all,r,REG)
  2186. VTSUPPSHR(m,r) = VTRPROV(r) / VT;
  2187. Formula (all,m,MARG: VTMPROV(m) <> 0.0)(all,r,REG)
  2188. VTSUPPSHR(m,r) = VST(m,r) / VTMPROV(m);
  2189.  
  2190. Equation E_pt
  2191. # generate price index for composite transportation services #
  2192. (all,m,MARG)
  2193. pt(m) = sum{r,REG, VTSUPPSHR(m,r) * pds(m,r)};
  2194. !<
  2195. E_pt equation generates a price index for transportation services based on
  2196. zero profits. NOTE:
  2197. (1) Sales to international transportation are not subject to export tax.
  2198. This is why we base the costs to the transport sector at basic prices
  2199. of the goods sold to international transportation.
  2200. (2) We assume that the supply shares for margin services are uniform
  2201. across freight, source of freight, and destination.
  2202. >!
  2203.  
  2204. Variable (all,m,COMM)
  2205. atm(m) # tech change in mode m, worldwide #;
  2206. Variable (all,c,COMM)
  2207. atf(c) # tech change shipping of c, worldwide #;
  2208. Variable (all,r,REG)
  2209. ats(r) # tech change shipping from region r #;
  2210. Variable (all,d,REG)
  2211. atd(d) # tech change shipping to d #;
  2212. Variable (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2213. atall(m,c,s,d) # tech change in m's shipping of c from region s to d #;
  2214.  
  2215. Equation E_atmfsd
  2216. # generates flow-specific average rate of technical change #
  2217. (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  2218. atmfsd(m,c,s,d) = atm(m) + atf(c) + ats(s) + atd(d) + atall(m,c,s,d);
  2219.  
  2220. !<
  2221. 6-3. Trade prices
  2222. -----------------
  2223. >!
  2224.  
  2225. !<
  2226. 6-3-1. Export Prices
  2227. --------------------
  2228. >!
  2229.  
  2230. Variable (all,c,COMM)(all,r,REG)
  2231. tx(c,r) # dest.-gen. change in subsidy on exports of c from r #;
  2232. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  2233. txs(c,s,d) # dest.-spec. change in subsidy on exports of c from s to d #;
  2234. !<
  2235. The variable txs captures changes in the power of bilateral export taxes.
  2236. However, the presence of a destination-generic export subsidy shift (tx)
  2237. also permits the user to swap a single export tax shock with another
  2238. target variable. It is most naturally swapped with the variable qo to
  2239. insulate domestic producers from the world market.
  2240.  
  2241. The sign of tx(c,r) and txs(c,s,d) has been CHANGED in GTAP model version 7
  2242. tx(c,r) > 1 in the case of a tax
  2243. txs(c,r) > 1 in the case of a tax
  2244. tx(c,r) < 1 in the case of a subsidy.
  2245. txs(c,r) < 1 in the case of a subsidy.
  2246. >!
  2247.  
  2248. Equation E_pfob
  2249. # links basic and FOB exports prices #
  2250. (all,c,COMM)(all,s,REG)(all,d,REG)
  2251. pfob(c,s,d) = pds(c,s) + tx(c,s) + txs(c,s,d);
  2252.  
  2253. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  2254. VCIFCOST(c,s,d) # value of imports calculated as total cost of imports #;
  2255. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  2256. VCIFCOST(c,s,d) = VFOB(c,s,d) + VTFSD(c,s,d);
  2257.  
  2258. Zerodivide default RNREG;
  2259. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  2260. FOBSHR(c,s,d) # FOB share in (com. and margin) imports at CIF prices #;
  2261. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  2262. FOBSHR(c,s,d) = VFOB(c,s,d) / VCIFCOST(c,s,d);
  2263. Zerodivide (zero_by_zero) off;
  2264.  
  2265. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  2266. TRNSHR(c,s,d) # Intl. transp. share in (com. and marg) imp. at CIF prices #;
  2267. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  2268. TRNSHR(c,s,d) = 1 - FOBSHR(c,s,d);
  2269.  
  2270. Equation E_pcif
  2271. # links FOB and CIF prices for good c shipped from region s to d #
  2272. (all,c,COMM)(all,s,REG)(all,d,REG)
  2273. pcif(c,s,d) = FOBSHR(c,s,d) * pfob(c,s,d) + TRNSHR(c,s,d) * ptrans(c,s,d);
  2274. !<
  2275. This equation links export and import prices for each commodity/route
  2276. triplet. Note that technical change is embodied in ptrans(c,s,d) which is
  2277. a cost index.
  2278. >!
  2279.  
  2280. Variable (all,c,COMM)(all,r,REG)
  2281. tm(c,r) # source-gen. change in tax on imports of c into r #;
  2282. Variable (all,c,COMM)(all,s,REG)(all,d,REG)
  2283. tms(c,s,d) # source-spec. change in tax on imports of c from s to d #;
  2284. !<
  2285. The variable tms captures changes in the power of bilateral import taxes.
  2286. However, the presence of a source-generic import tariff shift (tm) also
  2287. permits the user to swap a single import tariff shock with another target
  2288. variable. In particular, to insulate domestic producers from import price
  2289. changes, it may be swapped with the relative price variable pr -- see
  2290. below.
  2291. >!
  2292.  
  2293. !< @MRIO: agent-specific tariff rates and tariff-inclusive price of imports >!
  2294. Variable (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  2295. tmsa(c,aa,s,d) # agent-spec. power of import tariff on c from s to d #;
  2296. Equation E_pamds
  2297. # tariff-inclusive price of import c from region s for use by agent aa in d #
  2298. (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  2299. pamds(c,aa,s,d) = pcif(c,s,d) + tm(c,d) + tms(c,s,d) + tmsa(c,aa,s,d);
  2300.  
  2301. Zerodivide default RNREG;
  2302. Coefficient (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  2303. PMDSASHR(c,aa,s,d) # share in total imports by agent, basic price weights #;
  2304. Formula (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  2305. PMDSASHR(c,aa,s,d) = VMAB(c,aa,s,d) / VMSB(c,s,d);
  2306. Zerodivide off;
  2307.  
  2308. !< @MRIO: pmds now a reporting variable >!
  2309. Equation E_pmds
  2310. # links basic domestic import prices and CIF import prices #
  2311. (all,c,COMM)(all,s,REG)(all,d,REG)
  2312. ![[! pmds(c,s,d) = pcif(c,s,d) + tm(c,d) + tms(c,s,d); !]]!
  2313. pmds(c,s,d) = sum{aa,AGENTS, PMDSASHR(c,aa,s,d) * pamds(c,aa,s,d)};
  2314.  
  2315. Variable (orig_level=1.0)(all,c,COMM)(all,r,REG)
  2316. pr(c,r) # ratio of domestic to imported prices in r #;
  2317. Equation E_pr
  2318. # defines target price ratio to be attained via the variable levy #
  2319. (all,c,COMM)(all,r,REG)
  2320. pr(c,r) = pds(c,r) - pms(c,r);
  2321. !<
  2322. E_pr equation defines the target price ratio to be attained via the
  2323. variable levy. This price ratio is the ratio of domestic to average
  2324. imported goods' price. Note that the way this price ratio is defined, it
  2325. includes intraregional imports as well. In most applications, regions
  2326. will represent groups of individual countries. However, in the case of
  2327. the EU, this is problematic, since recent versions of the database have
  2328. incorporated intra-EU trade flows. Therefore, when aggregated to the EU
  2329. level, the composite import price includes both intra-EU and outside
  2330. imports. So some modification is needed to handle the EU case.
  2331. >!
  2332.  
  2333. !<
  2334. 6-4. Goods market equilibrium
  2335. -----------------------------
  2336. >!
  2337. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  2338. FDCSHR(c,a,r) # share of dom. prod. c used by act. a in r #;
  2339. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  2340. FDCSHR(c,a,r) = VDFB(c,a,r) / VDB(c,r);
  2341. Coefficient (all,c,COMM)(all,r,REG)
  2342. PDCSHR(c,r) # share of domestic prod. of c used by private hhlds in r #;
  2343. Formula (all,c,COMM)(all,r,REG)
  2344. PDCSHR(c,r) = VDPB(c,r) / VDB(c,r);
  2345. Coefficient (all,c,COMM)(all,r,REG)
  2346. GDCSHR(c,r) # share of imports of c used by gov't hhlds in r #;
  2347. Formula (all,c,COMM)(all,r,REG)
  2348. GDCSHR(c,r) = VDGB(c,r) / VDB(c,r);
  2349. Coefficient (all,c,COMM)(all,r,REG)
  2350. IDCSHR(c,r) # share of domestic prod. of c used by investment in r #;
  2351. Formula (all,c,COMM)(all,r,REG)
  2352. IDCSHR(c,r) = VDIB(c,r) / VDB(c,r);
  2353.  
  2354. Variable (orig_level=VDB)(all,c,COMM)(all,r,REG)
  2355. qds(c,r) # domestic sales of commodity c in r #;
  2356. Equation E_qds
  2357. # assures market clearing for domestic sales #
  2358. (all,c,COMM)(all,r,REG)
  2359. qds(c,r) = sum{a,ACTS, FDCSHR(c,a,r) * qfd(c,a,r)}
  2360. + PDCSHR(c,r) * qpd(c,r)
  2361. + GDCSHR(c,r) * qgd(c,r)
  2362. + IDCSHR(c,r) * qid(c,r);
  2363.  
  2364. Variable (all,c,COMM)(all,r,REG)
  2365. tradslack(c,r) # slack variable in tradeables market clearing condition #;
  2366. !<
  2367. tradslack is exogenous unless the user wishes to specify the price of
  2368. tradeables exogenously, in which case the analysis becomes partial
  2369. equilibrium and walraslack must be exogenized.
  2370. >!
  2371. Coefficient (all,c,COMM)(all,r,REG)
  2372. DSSHR(c,r) # share of domestic sales of c in r #;
  2373. Formula (all,c,COMM)(all,r,REG)
  2374. DSSHR(c,r) = VDB(c,r) / VCB(c,r);
  2375. Coefficient (all,m,MARG)(all,r,REG)
  2376. STSHR(m,r) # share of sales of m to global transport services in r #;
  2377. Formula (all,m,MARG)(all,r,REG)
  2378. STSHR(m,r) = VST(m,r) / VCB(m,r);
  2379. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  2380. XSSHR(c,s,d) # share of export sales of c to s in r #;
  2381. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  2382. XSSHR(c,s,d) = VXSB(c,s,d) / VCB(c,s);
  2383.  
  2384. Equation E_pds
  2385. # assures market clearing for commodities #
  2386. (all,c,COMM)(all,r,REG)
  2387. qc(c,r) = DSSHR(c,r) * qds(c,r) + sum(d,REG, XSSHR(c,r,d) * qxs(c,r,d))
  2388. + IF[c in MARG, STSHR(c,r) * qst(c,r)]
  2389. + tradslack(c,r);
  2390.  
  2391. !<
  2392. 6-5. Agents' prices for goods
  2393. -----------------------------
  2394. >!
  2395. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  2396. tfd(c,a,r) # tax on domestic c purchased by act. a in r #;
  2397. Variable (all,c,COMM)(all,a,ACTS)(all,r,REG)
  2398. tfm(c,a,r) # tax on imported c purchased by act. a in r #;
  2399. Equation E_pfd
  2400. # links domestic basic and firm prices #
  2401. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  2402. pfd(c,a,r) = pds(c,r) + tfd(c,a,r);
  2403. !<
  2404. E_pfd links domestic basic and firm prices. It holds only for domestic
  2405. goods and it captures the effect of commodity taxation of firms.
  2406. >!
  2407.  
  2408. !< @MRIO: Revise pgm equation >!
  2409. Equation E_pfm
  2410. # links domestic basic and firm prices #
  2411. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  2412. ![[! pfm(c,a,r) = pms(c,r) + tfm(c,a,r); !]]!
  2413. pfm(c,a,r) = pamd(c,a,r) + tfm(c,a,r);
  2414.  
  2415. !<
  2416. E_pfm links domestic basic and firm prices. It holds only for imported
  2417. goods and it captures the effect of commodity taxation of firms.
  2418. >!
  2419.  
  2420. Variable (orig_level=LevTPD)(all,c,COMM)(all,r,REG)
  2421. tpd(c,r) # power of tax on domestic c purchased by private hhld in r #;
  2422. Variable (all,c,COMM)(all,r,REG)
  2423. tpm(c,r) # power of tax on imported c purchased by private hhld in r #;
  2424. Coefficient (all,c,COMM)(all,r,REG)
  2425. LevTPD(c,r) # levels TPD #;
  2426. Zerodivide default RNREG;
  2427. Formula (all,c,COMM)(all,r,REG) LevTPD(c,r) = VDPP(c,r) / VDPB(c,r);
  2428. Zerodivide off;
  2429.  
  2430. Equation E_ppd
  2431. # links basic and private household consumption prices for domestic com. c #
  2432. (all,c,COMM)(all,r,REG)
  2433. ppd(c,r) = pds(c,r) + tpd(c,r);
  2434.  
  2435. !< @MRIO: Revise ppm equation >!
  2436. Equation E_ppm
  2437. # links basic and private household consumption prices for imported com. c #
  2438. (all,c,COMM)(all,r,REG)
  2439. ![[! ppm(c,r) = pms(c,r) + tpm(c,r); !]]!
  2440. ppm(c,r) = pamd(c,"hhld",r) + tpm(c,r);
  2441.  
  2442. Variable (all,c,COMM)(all,r,REG)
  2443. tgd(c,r) # power of tax on domestic c purchased by government hhld in r #;
  2444. Variable (all,c,COMM)(all,r,REG)
  2445. tgm(c,r) # power of tax on imported c purchased by gov't hhld in r #;
  2446.  
  2447. Equation E_pgd
  2448. # links basic and government consumption prices for domestic com. c #
  2449. (all,c,COMM)(all,r,REG)
  2450. pgd(c,r) = pds(c,r) + tgd(c,r);
  2451.  
  2452. !< @MRIO: Revise pgm equation >!
  2453. Equation E_pgm
  2454. # links basic and government consumption prices for imported com. c #
  2455. (all,c,COMM)(all,r,REG)
  2456. ![[! pgm(c,r) = pms(c,r) + tgm(c,r); !]]!
  2457. pgm(c,r) = pamd(c,"govt",r) + tgm(c,r);
  2458.  
  2459. Variable (all,c,COMM)(all,r,REG)
  2460. tid(c,r) # power of tax on domestic invesment commodity c in region r #;
  2461. Variable (all,c,COMM)(all,r,REG)
  2462. tim(c,r) # power of tax on imported invesment commodity c in region r #;
  2463.  
  2464. Equation E_pid
  2465. # links basic and investment consumption prices for domestic com. c #
  2466. (all,c,COMM)(all,r,REG)
  2467. pid(c,r) = pds(c,r) + tid(c,r);
  2468.  
  2469. !< @MRIO: Revise pim equation >!
  2470. Equation E_pim
  2471. # links basic and investment consumption prices for imported com. c #
  2472. (all,c,COMM)(all,r,REG)
  2473. ![[! pim(c,r) = pms(c,,r) + tim(c,r); !]]!
  2474. pim(c,r) = pamd(c,"invt",r) + tim(c,r);
  2475.  
  2476. !<
  2477. 6-6. Private hhld tax shifter
  2478. -----------------------------
  2479. >!
  2480. Variable (all,c,COMM)(all,r,REG)
  2481. tpdall(c,r) # comm.-, source-spec. shifter in private cons. tax of dom. c #;
  2482. Variable (all,c,COMM)(all,r,REG)
  2483. tpmall(c,r) # comm.-, source-spec. shifter in private cons. tax of imp. c #;
  2484. Variable (all,r,REG)
  2485. tpreg(r) # source-generic tax shifter on private cons. #;
  2486. !<
  2487. The variable tpreg(r) can be swapped with del_ttaxr(r) in order to generate
  2488. a tax replacement scenario, whereby taxes remain a constant share of
  2489. national income.
  2490. >!
  2491.  
  2492. Equation E_tpd
  2493. # permits uniform consumption tax change #
  2494. (all,c,COMM)(all,r,REG)
  2495. tpd(c,r) = tpdall(c,r) + tpreg(r);
  2496.  
  2497. Equation E_tpm
  2498. # permits uniform consumption tax change #
  2499. (all,c,COMM)(all,r,REG)
  2500. tpm(c,r) = tpmall(c,r) + tpreg(r);
  2501.  
  2502. !<
  2503. ----------------------------
  2504. 7. Factor market equilibrium
  2505. ----------------------------
  2506. >!
  2507.  
  2508. Variable (all,e,ENDWMS)(all,r,REG)
  2509. pe(e,r) # price of mobile and sluggish endowment e in region r #;
  2510. Variable (all,e,ENDWMS)(all,r,REG)
  2511. qe(e,r) # supply of mobile and sluggish endowment e in region r #;
  2512.  
  2513. !<
  2514. 7-1. Mobile endowments
  2515. ----------------------
  2516. >!
  2517.  
  2518. Coefficient (all,e,ENDWM)(all,a,ACTS)(all,r,REG)
  2519. ENDWMSHR(e,a,r) # share of mobile endow. e used by act. a at supply prices #;
  2520. Formula (all,e,ENDWM)(all,a,ACTS)(all,r,REG)
  2521. ENDWMSHR(e,a,r) = EVOS(e,a,r) / VES(e,r);
  2522.  
  2523. Equation E_pe1
  2524. # mkt clearing for perfectly mobile endowments in each r #
  2525. (all,e,ENDWM)(all,r,REG)
  2526. qe(e,r) = sum{a,ACTS, ENDWMSHR(e,a,r) * qfe(e,a,r)} + endwslack(e,r);
  2527.  
  2528. Equation E_qes1
  2529. # basic price of mobile endowments in a in r #
  2530. (all,e,ENDWM)(all,a,ACTS)(all,r,REG)
  2531. pes(e,a,r) = pe(e,r);
  2532.  
  2533. !<
  2534. 7-2. Sluggish endowments
  2535. ------------------------
  2536. >!
  2537.  
  2538. Coefficient (parameter)(all,e,ENDW)(all,r,REG)
  2539. ETRAE(e,r)
  2540. # region-specific elast. of transformation for sluggish factor endowments #;
  2541. Read
  2542. ETRAE from file GTAPPARM header "ETRE";
  2543. Assertion (all,e,ENDWS)(all,r,REG) ETRAE(e,r) lt 0;
  2544.  
  2545. Equation E_qes2
  2546. # allocation of sluggish endowments across sectors #
  2547. (all,e,ENDWS)(all,a,ACTS)(all,r,REG)
  2548. qes(e,a,r) = qe(e,r) - ETRAE(e,r) * [pes(e,a,r) - pe(e,r)]
  2549. - endwslack(e,r);
  2550.  
  2551. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  2552. REVSHR(e,a,r) # Share of endowment e in total endowment revenue/supply #;
  2553. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  2554. REVSHR(e,a,r) = EVOS(e,a,r) / VES(e,r);
  2555.  
  2556. Equation E_pe2
  2557. # composite price for sluggish endowments #
  2558. (all,e,ENDWS)(all,r,REG)
  2559. pe(e,r) = sum{a,ACTS, REVSHR(e,a,r) * pes(e,a,r)};
  2560.  
  2561. !<
  2562. 7-3. Sector-specific endowments
  2563. -------------------------------
  2564. >!
  2565.  
  2566. Variable (all,e,ENDWF)(all,a,ACTS)(all,r,REG)
  2567. qesf(e,a,r) # fixed endowment e in act. a in region r #;
  2568.  
  2569. Equation E_qes3
  2570. # equation to assist use of TABmate's automatic closure tool #
  2571. (all,e,ENDWF)(all,a,ACTS)(all,r,REG)
  2572. qes(e,a,r) = qesf(e,a,r);
  2573. !<
  2574. For convenience, variable qesf and equation E_qesf are added to assist use
  2575. of TABmate's automatic closure tool
  2576. >!
  2577.  
  2578. !<
  2579. 7-4. Price of endowments
  2580. ------------------------
  2581. >!
  2582. Variable (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  2583. tfe(e,a,r) # tax on primary factor e used by act. a in region r #;
  2584.  
  2585. Equation E_pfe
  2586. # links basic and firm demand prices for mobile endowments #
  2587. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  2588. pfe(e,a,r) = peb(e,a,r) + tfe(e,a,r);
  2589.  
  2590. Equation E_pes
  2591. # links supply (pre-) and basic (post-tax) endowment prices #
  2592. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  2593. peb(e,a,r) = pes(e,a,r) + tinc(e,a,r);
  2594.  
  2595. Equation E_peb !< This equation assures market clearing for all endowments >!
  2596. # market clearing for endowments in each r #
  2597. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  2598. qfe(e,a,r) = qes(e,a,r);
  2599.  
  2600. !<
  2601. 8. Allocation of global saving
  2602. -------------------------------
  2603. >!
  2604.  
  2605. !<
  2606. 8-1. Investment preliminaries
  2607. -----------------------------
  2608. >!
  2609. Variable (all,r,REG)
  2610. ke(r) # end-of-period capital stock in r #;
  2611. Coefficient (ge 0)(all,r,REG)
  2612. VKB(r) # value of beginning-of-period capital stock in region r #;
  2613. Update (all,r,REG)
  2614. VKB(r) = pinv(r) * kb(r);
  2615. Read
  2616. VKB from file GTAPDATA header "VKB";
  2617. !<
  2618. VKB(r) is used only in this sub-module, so its data are read here. The
  2619. associated variables, pinv(r) and kb(r), are used across modules, so they
  2620. have been defined as common variables.
  2621. >!
  2622.  
  2623. Coefficient (all,r,REG)
  2624. INVKERATIO(r)
  2625. # ratio of gross investment to end-of-period capital stock in r #;
  2626. Formula (all,r,REG)
  2627. INVKERATIO(r) = REGINV(r) / [VKB(r) + NETINV(r)];
  2628.  
  2629. Equation E_ke
  2630. # ending capital stock equals beginning stock plus net investment. #
  2631. (all,r,REG)
  2632. ke(r) = INVKERATIO(r) * qinv(r) + [1.0 - INVKERATIO(r)] * kb(r);
  2633.  
  2634. Coefficient (all,r,REG)
  2635. GROSSCAP(r) # gross return to capital #;
  2636. Formula (all,r,REG)
  2637. GROSSCAP(r) = sum{e,ENDWC, VES(e,r)};
  2638.  
  2639. Coefficient (all,r,REG)
  2640. GRNETRATIO(r) # ratio of GROSS/NET rates of return on capital in r #;
  2641. Formula (all,r,REG)
  2642. GRNETRATIO(r) = GROSSCAP(r) / [GROSSCAP(r) - VDEP(r)];
  2643. !<
  2644. NOTE: [GROSSCAP(r) - VDEP(r)] is net returns to capital.
  2645. >!
  2646.  
  2647. Variable (all,r,REG)
  2648. rore(r) # expected net rate of return on capital stock in r #;
  2649. Variable (all,r,REG)
  2650. rorc(r) # current net rate of return on capital stock in r #;
  2651. Variable (all,r,REG)
  2652. rental(r) # rental rate on capital = ps("capital",r) #;
  2653.  
  2654. Equation E_rental
  2655. # defines a variable for capital rental rate #
  2656. (all,r,REG)
  2657. rental(r) = sum{e,ENDWC, [VES(e,r) / GROSSCAP(r)] * pe(e,r)};
  2658.  
  2659. Equation E_rorc
  2660. # current rate of return on capital in region r #
  2661. (all,r,REG)
  2662. rorc(r) = GRNETRATIO(r) * [rental(r) - pinv(r)];
  2663.  
  2664. Equation E_kb
  2665. # associates change in cap. services w/ change in cap. stock #
  2666. (all,r,REG)
  2667. kb(r) = sum{e,ENDWC, [VES(e,r) / GROSSCAP(r)] * qe(e,r)};
  2668. !<
  2669. E_kb equation associates any change in capital services during the period
  2670. with a change in capital stock. Full capacity utilization is assumed.
  2671. >!
  2672.  
  2673. !<
  2674. 8-2. Rate-of-return sensitive investment allocation
  2675. ---------------------------------------------------
  2676. >!
  2677.  
  2678. Coefficient (parameter)(all,r,REG)
  2679. RORFLEX(r)
  2680. # flexibility of expected net ROR on capital stock in r wrt investment #;
  2681. Read
  2682. RORFLEX from file GTAPPARM header "RFLX";
  2683. !<
  2684. RORFLEX is the flexibility of the expected net rate of return on the
  2685. capital stock, in region r, with respect to investment. If a region's
  2686. capital stock increases by 1%, then it is expected that the net rate of
  2687. return on capital will decline by RORFLEX %. A larger absolute value for
  2688. this parameter will reduce the tendency of international investment flows
  2689. to respond to changes in expected rates of return.
  2690. >!
  2691.  
  2692. Equation E_rore
  2693. # expected rate of return depends on the current return and investment #
  2694. (all,r,REG)
  2695. rore(r) = rorc(r) - RORFLEX(r) * [ke(r) - kb(r)];
  2696.  
  2697. Coefficient (integer,parameter)
  2698. RORDELTA
  2699. # binary coefficient to switch mechanism of allocating investment funds #;
  2700. Read
  2701. RORDELTA from file GTAPPARM header "RDLT";
  2702. !<
  2703. RORDELTA is a binary coefficient which determines the mechanism of
  2704. allocating investment funds across regions. When RORDELTA = 1, investment
  2705. funds are allocated across regions to equate the change in the expected
  2706. rates of return (i.e., rore(r)). When RORDELTA = 0, investment funds are
  2707. allocated across regions to maintain the existing composition of capital
  2708. stocks.
  2709. >!
  2710.  
  2711. Variable
  2712. rorg # global net rate of return on capital stock #;
  2713. Variable (all,r,REG)
  2714. cgdslack(r) # slack variable for qinv(r) #;
  2715. !<
  2716. cgdslack is exogenous, unless the user wishes to exogenously fix the level
  2717. of gross investment in a region, in which case it can be swapped with
  2718. cgdslack.
  2719. >!
  2720.  
  2721. Equation E_qinv
  2722. # either gross investment or expected rate of return in region r #
  2723. (all,r,REG)
  2724. RORDELTA * rore(r)
  2725. + [1 - RORDELTA]
  2726. * [[REGINV(r) / NETINV(r)] * qinv(r) - [VDEP(r) / NETINV(r)] * kb(r)]
  2727. = RORDELTA * rorg + [1 - RORDELTA] * globalcgds + cgdslack(r);
  2728. !<
  2729. This equation determines either gross investment or the expected rate of
  2730. return in each region, depending on the setting for the binary RORDELTA
  2731. parameter.
  2732. >!
  2733.  
  2734. Variable (all,e,ENDWC)(all,r,REG)
  2735. expand(e,r) # change in investment relative to endowment stock #;
  2736. Equation E_expand
  2737. # change in investment relative to endowment stock #
  2738. (all,e,ENDWC)(all,r,REG)
  2739. expand(e,r) = qinv(r) - qe(e,r);
  2740. !<
  2741. Capital Accumulation
  2742. (based on the theory laid out in GTAP Technical Paper #7)
  2743. >!
  2744.  
  2745. !<
  2746. 8-3. Investment allocation based on initial capital shares
  2747. ----------------------------------------------------------
  2748. >!
  2749.  
  2750. Equation E_globalcgds
  2751. # either expected global rate of return or global net investment #
  2752. RORDELTA * globalcgds + [1 - RORDELTA] * rorg
  2753. = RORDELTA
  2754. * sum{r,REG,
  2755. [REGINV(r) / GLOBINV] * qinv(r) - [VDEP(r) / GLOBINV] * kb(r)}
  2756. + [1 - RORDELTA] * sum{r,REG, [NETINV(r) / GLOBINV] * rore(r)};
  2757. !<
  2758. E_globalcgds equation computes either the change in global net investment
  2759. (when RORDELTA = 1), or the change in the expected global rate of return on
  2760. capital (when RORDELTA = 0).
  2761. >!
  2762.  
  2763. !<
  2764. 8-4. Price of saving
  2765. ---------------------
  2766. >!
  2767.  
  2768. Variable (all,r,REG)
  2769. psaveslack(r) # slack variable for the saving price equation #;
  2770. !<
  2771. psaveslack is exogenous under the normal closure. However, in order to
  2772. replicate simulations from the GTAP book, where there was a single saving
  2773. price, psaveslack may be swapped with psave in order to fix the latter.
  2774. In this case, pcgdswld must be the numeraire so that each region faces the
  2775. same price of saving.
  2776. >!
  2777.  
  2778. Equation E_psave
  2779. # price of saving #
  2780. (all,r,REG)
  2781. psave(r)
  2782. = pinv(r)
  2783. + sum{s,REG, [[NETINV(s) - SAVE(s)] / GLOBINV] * pinv(s)}
  2784. + psaveslack(r);
  2785. !<
  2786. In contrast to the GTAP book, the price of saving is now region-specific
  2787. and it changes at the same rate as the price of regional investment, plus
  2788. an adjustment factor which accounts for the fact that saving and
  2789. investment are not equal at the regional level.
  2790. >!
  2791.  
  2792. Equation E_pcgdswld
  2793. # price index for the aggregate global cgds composite #
  2794. pcgdswld = sum{r,REG, [NETINV(r) / GLOBINV] * pinv(r)};
  2795.  
  2796. !<
  2797. 9. Tax revenue streams
  2798. ----------------------
  2799. >!
  2800.  
  2801. !<
  2802. 9-1. Tax revenues generated in production
  2803. -----------------------------------------
  2804. >!
  2805.  
  2806. !<
  2807. The following variables could be dropped when converting to levels
  2808. equation for income. They are only needed for the linearized equation.
  2809. The idea here is to look at the ratio of taxes to income in order to
  2810. preserve homogeneity in prices. (We could also look at changes in tax
  2811. revenue, but then a uniform price increase would change this variable.)
  2812. Obviously a simple percentage change variable doesn't work, since many
  2813. taxes are initially zero. The basic logic of this approach is as follows:
  2814.  
  2815. Let R be the ratio of taxes to income: R = T/Y, then:
  2816. dR = d(T/Y) = R(t - y)/100
  2817. multiply through by Y to get:
  2818. YdR = dT - Ty/100
  2819. This ratio change is computed for each tax type and for total taxes. Then
  2820. the change in tax revenue itself may be computed as:
  2821. dT = YdR + Ty/100
  2822. in order to determine regional income.
  2823. >!
  2824.  
  2825. Variable (change) (all,r,REG)
  2826. del_taxrout(r) # change in ratio of output tax to INCOME #;
  2827. Variable (change) (all,r,REG)
  2828. del_taxrfu(r) # change in ratio of tax on primary factor usage to INCOME #;
  2829. Variable (change) (all,r,REG)
  2830. del_taxriu(r) # change in ratio of tax on intermediate usage to INCOME #;
  2831. Variable (change) (all,r,REG)
  2832. del_taxrpc(r) # change in ratio of private consumption tax to INCOME #;
  2833. Variable (change) (all,r,REG)
  2834. del_taxrgc(r) # change in ratio of government consumption tax to INCOME #;
  2835. Variable (change) (all,r,REG)
  2836. del_taxric(r) # change in ratio of investment consumption tax to INCOME #;
  2837. Variable (change) (all,r,REG)
  2838. del_taxrexp(r) # change in ratio of export tax to INCOME #;
  2839. Variable (change) (all,r,REG)
  2840. del_taxrimp(r) # change in ratio of import tax to INCOME #;
  2841. Variable (change) (all,r,REG)
  2842. del_taxrinc(r) # change in ratio of income tax to INCOME #;
  2843.  
  2844. Equation E_del_taxrout
  2845. # change in ratio of output tax payments to regional income #
  2846. (all,r,REG)
  2847. 100.0 * INCOME(r) * del_taxrout(r) + TAXROUT(r) * y(r)
  2848. = sum{c,COMM, sum{a,ACTS,
  2849. MAKEB(c,a,r) * to(c,a,r) + PTAX(c,a,r) * [ps(c,a,r) + qca(c,a,r)]}};
  2850.  
  2851. Equation E_del_taxrfu
  2852. # change in ratio of tax payments on factor usage to regional income #
  2853. (all,r,REG)
  2854. 100.0 * INCOME(r) * del_taxrfu(r) + TAXRFU(r) * y(r)
  2855. = sum{e,ENDW, sum{a,ACTS,
  2856. VFP(e,a,r) * tfe(e,a,r) + ETAX(e,a,r) * [peb(e,a,r) + qfe(e,a,r)]}};
  2857.  
  2858. !< @MRIO: Revise del_taxriu>!
  2859. Equation E_del_taxriu
  2860. # change in ratio of tax payments on intermediate goods to regional income #
  2861. (all,r,REG)
  2862. 100.0 * INCOME(r) * del_taxriu(r) + TAXRIU(r) * y(r)
  2863. = sum{c,COMM, sum{a,ACTS,
  2864. VDFP(c,a,r) * tfd(c,a,r) + DFTAX(c,a,r) * [pds(c,r) + qfd(c,a,r)]}}
  2865. + sum{c,COMM, sum{a,ACTS,
  2866. ![[!
  2867. VMFP(c,a,r) * tfm(c,a,r) + MFTAX(c,a,r) * [pms(c,a,r) + qfm(c,a,r)]}};
  2868. !]]!
  2869. VMFP(c,a,r) * tfm(c,a,r) + MFTAX(c,a,r) * [pamd(c,a,r) + qfm(c,a,r)]}};
  2870.  
  2871. !<
  2872. 9-2. Tax revenues generated in domestic final demand
  2873. ----------------------------------------------------
  2874. >!
  2875.  
  2876. !< @MRIO: Revise del_taxrpc>!
  2877. Equation E_del_taxrpc
  2878. # change in ratio of private consumption tax payments to regional income #
  2879. (all,r,REG)
  2880. 100.0 * INCOME(r) * del_taxrpc(r) + TAXRPC(r) * y(r)
  2881. = sum{c,COMM,
  2882. VDPP(c,r) * tpd(c,r) + DPTAX(c,r) * [pds(c,r) + qpd(c,r)]}
  2883. + sum{c,COMM,
  2884. ![[!
  2885. VMPP(c,r) * tpm(c,r) + MPTAX(c,r) * [pms(c,r) + qpm(c,r)]};
  2886. !]]!
  2887. VMPP(c,r) * tpm(c,r) + MPTAX(c,r) * [pamd(c,"hhld",r) + qpm(c,r)]};
  2888.  
  2889. !< @MRIO: Revise del_taxrgc>!
  2890. Equation E_del_taxrgc
  2891. # change in ratio of government consumption tax payments to regional income #
  2892. (all,r,REG)
  2893. 100.0 * INCOME(r) * del_taxrgc(r) + TAXRGC(r) * y(r)
  2894. = sum{c,COMM,
  2895. VDGP(c,r) * tgd(c,r) + DGTAX(c,r) * [pds(c,r) + qgd(c,r)]}
  2896. + sum{c,COMM,
  2897. ![[!
  2898. VMGP(c,r) * tgm(c,r) + MGTAX(c,r) * [pms(c,,r) + qgm(c,r)]};
  2899. !]]!
  2900. VMGP(c,r) * tgm(c,r) + MGTAX(c,r) * [pamd(c,"govt",r) + qgm(c,r)]};
  2901.  
  2902. !< @MRIO: Revise del_taxric>!
  2903. Equation E_del_taxric
  2904. # change in ratio of investment tax payments to regional income #
  2905. (all,r,REG)
  2906. 100.0 * INCOME(r) * del_taxric(r) + TAXRIC(r) * y(r)
  2907. = sum{c,COMM,
  2908. VDIP(c,r) * tid(c,r) + DITAX(c,r) * [pds(c,r) + qid(c,r)]}
  2909. + sum{c,COMM,
  2910. ![[!
  2911. VMIP(c,r) * tim(c,r) + MITAX(c,r) * [pms(c,r) + qim(c,r)]};
  2912. !]]!
  2913. VMIP(c,r) * tim(c,r) + MITAX(c,r) * [pamd(c,"invt",r) + qim(c,r)]};
  2914.  
  2915. !<
  2916. 9-3. Tax revenues generated in international trade
  2917. --------------------------------------------------
  2918. >!
  2919.  
  2920. Equation E_del_taxrexp
  2921. # change in ratio of export tax payments to regional income #
  2922. (all,s,REG)
  2923. 100.0 * INCOME(s) * del_taxrexp(s) + TAXREXP(s) * y(s)
  2924. = sum{c,COMM, sum{d,REG, VFOB(c,s,d) * [tx(c,s) + txs(c,s,d)]
  2925. + XTAXD(c,s,d) * [pds(c,s) + qxs(c,s,d)]}};
  2926.  
  2927. !< @MRIO: Revise del_taxrimp>!
  2928. Equation E_del_taxrimp
  2929. # change in ratio of import tax payments to regional income #
  2930. (all,d,REG)
  2931. 100.0 * INCOME(d) * del_taxrimp(d) + TAXRIMP(d) * y(d)
  2932. ![[!
  2933. = sum{c,COMM, sum{s,REG,
  2934. VMSB(c,s,d) * [tm(c,d) + tms(c,s,d)]
  2935. + MTAX(c,s,d) * [pcif(c,s,d) + qxs(c,s,d)]}};
  2936. !]]!
  2937. = sum{c,COMM, sum{s,REG, sum{aa,AGENTS,
  2938. VMAB(c,aa,s,d) * [tm(c,d) + tms(c,s,d) + tmsa(c,aa,s,d)]
  2939. + MATAX(c,aa,s,d) * [pcif(c,s,d) + qamds(c,aa,s,d)]}}};
  2940.  
  2941. !<
  2942. 9-4. Income taxes and other tax identities
  2943. ------------------------------------------
  2944. >!
  2945.  
  2946. Coefficient (all,r,REG)
  2947. TAXRINC(r) # income tax payments in r #;
  2948. Formula (all,r,REG)
  2949. TAXRINC(r) = sum{e,ENDW, sum{a,ACTS, INCTAX(e,a,r)}};
  2950.  
  2951. Equation E_del_taxrinc
  2952. # change in ratio of income tax payments to regional income #
  2953. (all,r,REG)
  2954. 100.0 * INCOME(r) * del_taxrinc(r) + TAXRINC(r) * y(r)
  2955. = sum{e,ENDW, sum{a,ACTS, EVFB(e,a,r) * [tinc(e,a,r)]
  2956. + INCTAX(e,a,r) * [pes(e,a,r) + qfe(e,a,r)]}};
  2957.  
  2958. Equation E_del_indtaxr
  2959. # change in ratio of indirect taxes to INCOME in r #
  2960. (all,r,REG)
  2961. del_indtaxr(r)
  2962. = del_taxrout(r) + del_taxrfu(r)
  2963. + del_taxriu(r) + del_taxrpc(r) + del_taxrgc(r) + del_taxric(r)
  2964. + del_taxrimp(r)+ del_taxrexp(r);
  2965.  
  2966. Variable (change)(all,r,REG)
  2967. del_ttaxr(r) # change in ratio of taxes to INCOME in r #;
  2968. Equation E_del_ttaxr
  2969. # change in ratio of taxes to INCOME in r #
  2970. (all,r,REG)
  2971. del_ttaxr(r)
  2972. = del_indtaxr(r) + del_taxrinc(r);
  2973. !<
  2974. The del_ttaxr variable can be swapped with the commodity- and source-generic
  2975. consumption tax shift, tp(r), in order to generate a tax replacement
  2976. scenario, whereby taxes remain a constant share of national income.
  2977. >!
  2978.  
  2979. !<
  2980. 10. Numeraire and closure
  2981. -------------------------
  2982. >!
  2983.  
  2984. Variable (orig_level=1.0)(all,r,REG)
  2985. pfactor(r) # price index (at basic prices) of primary factors, by region #;
  2986. Coefficient (all,r,REG)
  2987. VENDWREG(r) # value of primary factors, at basic prices, by region #;
  2988. Formula (all,r,REG)
  2989. VENDWREG(r) = sum{e,ENDW, sum{a,ACTS, EVFB(e,a,r)}};
  2990.  
  2991. Equation E_pfactor
  2992. # computes % change in price index of primary factors, by region #
  2993. (all,r,REG)
  2994. VENDWREG(r) * pfactor(r)
  2995. = sum{e,ENDW, sum{a,ACTS, EVFB(e,a,r) * peb(e,a,r)}};
  2996.  
  2997. Variable (orig_level=1.0)
  2998. pfactwld # world price index of primary factors #;
  2999. Coefficient
  3000. VENDWWLD # value of primary factors, at basic prices, worldwide #;
  3001. Formula
  3002. VENDWWLD = sum{r,REG, VENDWREG(r)};
  3003.  
  3004. Equation E_rorg
  3005. # computes % change in global price index of primary factors #
  3006. VENDWWLD * pfactwld = sum{r,REG, VENDWREG(r) * pfactor(r)};
  3007. !< This equation derives the price index of primary factors. Note that this is
  3008. the only instance where an equation name breaks the GTAP model's naming
  3009. convention (i.e., equation name does directly not relate to variable being
  3010. derived). This is because PFACTWLD is exogenous as the model.s price
  3011. anchor (numeraire) and thus this equation .explains., RORG which has no
  3012. separate equation (which has been dropped due to Walras' law). Note as well
  3013. that the equation is separated into two. The first E_pfactor defines a
  3014. regional index for factor prices, and the second defines the global index.
  3015. By naming this equation E_rorg and because pfactwld is exogenous, we can
  3016. for convenience, use TABmate's automatic closure tool to list down all
  3017. exogenous and endogenous variable split (i.e., closure) that is consistent
  3018. with the standard GTAP closure. Using TABmate's automatic closure tool is
  3019. beneficial especially during model development or extension.
  3020. >!
  3021.  
  3022. Variable
  3023. walras_sup # supply in omitted market--global supply of cgds composite #;
  3024. Variable
  3025. walras_dem # demand in the omitted market--global demand for saving #;
  3026. Variable
  3027. walraslack # slack variable in the omitted market #;
  3028.  
  3029. Equation E_walras_sup
  3030. # extra equation: computes change in supply in the omitted market #
  3031. walras_sup = pcgdswld + globalcgds;
  3032. !<
  3033. This is an extra equation which simply computes change in supply in the
  3034. omitted market. (modified from HT 12 to reflect the value as opposed to
  3035. quantity change, in light of the new treatment of psave(r))
  3036. >!
  3037.  
  3038. Equation E_walras_dem
  3039. # extra equation: computes change in demand in the omitted market #
  3040. GLOBINV * walras_dem = sum{r,REG, SAVE(r) * [psave(r) + qsave(r)]};
  3041. !<
  3042. E_walras_dem is an extra equation which simply computes change in demand in
  3043. the omitted market. (modified from HT 13 to reflect the value as opposed to
  3044. quantity change)
  3045. >!
  3046.  
  3047. Equation E_walraslack
  3048. # Check Walras' Law. Value of "walraslack" should be zero #
  3049. walras_sup = walras_dem + walraslack;
  3050. !<
  3051. E_walraslack allows us to verify that Walras' Law holds. The value of
  3052. walraslack should be zero in any GE simulation. The variable walraslack is
  3053. endogenous under normal, GE closure. If the GE links are broken, then
  3054. walraslack must be swapped with the numeraire, thereby forcing global
  3055. saving to explicitly equal global investment.
  3056. >!
  3057.  
  3058. !<
  3059. ---------------
  3060. Summary Indices
  3061. ---------------
  3062.  
  3063. We first calculate a number of useful summary statistics, including
  3064. terms of trade variables/coefficients which are used in the
  3065. Welfare Measurement and Decomposition section (Section 11)
  3066.  
  3067. The following equations do not generally affect the equilibrium structure
  3068. of the model, although they do include the equation for the usual numeraire
  3069. variable, "pfactwld".
  3070.  
  3071. B-0. Variables and coefficients for summary indices
  3072. B-1. Factor price indices
  3073. B-2. Regional terms of trade (ToT)
  3074. B-3. GDP indices (value, price and quantity)
  3075. B-4. Aggregate trade indices (value, price and quantity)
  3076. B-5. Trade balance indices
  3077. B-6. Terms of trade (ToT) decomposition
  3078. >!
  3079.  
  3080. !<
  3081. B-0. Appendix-specific variables and coefficients
  3082. -------------------------------------------------
  3083. only used in this summary indices appendix
  3084. >!
  3085.  
  3086. Variable (all,c,COMM)(all,r,REG)
  3087. vxwfob(c,r) # value of merchandise regional exports, by commodity, FOB #;
  3088. Variable (all,c,COMM)(all,r,REG)
  3089. vmwcif(c,r) # value of merchandise regional imports, by commodity, CIF #;
  3090. Variable (all,r,REG)
  3091. vxwreg(r) # value of merchandise exports, by region #;
  3092. Variable (all,r,REG)
  3093. vmwreg(r) # value of merchandise imports, by region, at world prices #;
  3094.  
  3095. Coefficient (all,c,COMM)(all,r,REG)
  3096. VXDFOB(c,r) # FOB value of com. c exports to all dest. (tradeables only) #;
  3097. Formula (all,c,COMM)(all,r,REG)
  3098. VXDFOB(c,r) = sum{d,REG, VFOB(c,r,d)};
  3099.  
  3100. Coefficient (all,c,COMM)(all,r,REG)
  3101. VXW(c,r) # value of exports by commodity c and region r at FOB prices #;
  3102. Formula (all,c,COMM)(all,r,REG)
  3103. VXW(c,r) = VXDFOB(c,r) + IF[c in MARG, VST(c,r)];
  3104.  
  3105. Coefficient (all,r,REG)
  3106. VXWREGION(r) # value of exports by region r at FOB prices #;
  3107. Formula (all,r,REG)
  3108. VXWREGION(r) = sum{c,COMM, VXW(c,r)};
  3109.  
  3110. Coefficient (all,c,COMM)(all,d,REG)
  3111. VMCIF(c,d) # value of commodity imports c by DEST. d at CIF prices #;
  3112. Formula (all,c,COMM)(all,d,REG)
  3113. VMCIF(c,d) = sum{s,REG, VCIF(c,s,d)};
  3114.  
  3115. Coefficient (all,r,REG)
  3116. VMWREGION(r) # value of commodity imports by region r at CIF prices #;
  3117. Formula (all,r,REG)
  3118. VMWREGION(r) = sum{c,COMM, VMCIF(c,r)};
  3119.  
  3120. !<
  3121. B-1. Factor price indices
  3122. -------------------------
  3123. >!
  3124.  
  3125. Variable (orig_level=1.0)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  3126. pfactreal(e,a,r) # ratio of return to primary factor e to CPI in r #;
  3127. Equation E_pfactreal
  3128. # defines the real rate of return to primary factor e in region r #
  3129. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  3130. pfactreal(e,a,r) = pes(e,a,r) - ppriv(r);
  3131. !<
  3132. This equation defines the real rate of return to primary factor e in
  3133. region r (new).
  3134. >!
  3135.  
  3136. Variable (orig_level=1.0)(all,e,ENDWMS)(all,r,REG)
  3137. pebfactreal(e,r)
  3138. # ratio of (tax-inclusive) return to mobile and sluggish factor e in r #;
  3139. Coefficient (all,e,ENDWMS)(all,r,REG)
  3140. VENDWMS(e,r) # value of mobile and sluggish e in r at basic prices #;
  3141. Coefficient (all,e,ENDWMS)(all,a,ACTS)(all,r,REG)
  3142. ENDWMSSHR(e,a,r) # share of mobile and sluggish e usage by act a in reg r #;
  3143. Zerodivide default RNREG;
  3144. Formula (all,e,ENDWMS)(all,r,REG)
  3145. VENDWMS(e,r) = sum{a,ACTS, EVFB(e,a,r)};
  3146. Formula (all,e,ENDWMS)(all,a,ACTS)(all,r,REG)
  3147. ENDWMSSHR(e,a,r) = EVFB(e,a,r) / VENDWMS(e,r);
  3148. Zerodivide off;
  3149. Equation E_pebfactreal
  3150. # defines the real (tax-inclusive) return to mobile and sluggish factor e in r #
  3151. (all,e,ENDWMS)(all,r,REG)
  3152. pebfactreal(e,r) = sum{a, ACTS, ENDWMSSHR(e,a,r) * peb(e,a,r)} - ppriv(r);
  3153.  
  3154. Variable (orig_level=1.0)(all,e,ENDWMS)(all,r,REG)
  3155. pefactreal(e,r)
  3156. # ratio of (tax-exclusive) return to mobile and sluggish factor e in r #;
  3157. Equation E_pefactreal
  3158. # defines the real (tax-exclusive) return to mobile and sluggish factor e in r #
  3159. (all,e,ENDWMS)(all,r,REG)
  3160. pefactreal(e,r) = pe(e,r) - ppriv(r);
  3161.  
  3162. !<
  3163. B-2. Regional terms of trade (ToT)
  3164. ----------------------------------
  3165.  
  3166. The next three equations correspond to Table 10 of Hertel and Tsigas on
  3167. Regional Terms of Trade.
  3168. >!
  3169.  
  3170. Variable (orig_level=1.0)(all,r,REG)
  3171. psw(r) # index of prices received for tradeables produced in region r #;
  3172. Equation E_psw
  3173. # estimate change in index of prices received for tradeables c produced in r #
  3174. (all,r,REG)
  3175. VXWREGION(r) * psw(r)
  3176. = sum{c,COMM, sum{d,REG, VFOB(c,r,d) * pfob(c,r,d)}}
  3177. + sum{m,MARG, VST(m,r) * pds(m,r)};
  3178. !<
  3179. This equation estimates the change in the index of prices received for
  3180. tradeable products produced in r. (modified from HT 64 to eliminate the
  3181. investment component)
  3182. >!
  3183.  
  3184. Variable (orig_level=1.0)(all,r,REG)
  3185. pdw(r) # index of prices paid for tradeables used in importing region r #;
  3186. Equation E_pdw
  3187. # estimate change in index of prices paid for tradeable products used in r #
  3188. (all,r,REG)
  3189. VMWREGION(r) * pdw(r)
  3190. = sum{c,COMM, sum{s,REG, VCIF(c,s,r) * pcif(c,s,r)}};
  3191. !<
  3192. This equation estimates the change in the index of prices paid for
  3193. tradeable products used in r. (modified from HT 65 to eliminate saving)
  3194. >!
  3195.  
  3196. Variable (orig_level=1.0)(all,r,REG)
  3197. tot(r) # terms of trade for region r: tot(r) = psw(r) - pdw(r) #;
  3198. Equation E_tot
  3199. # terms of trade equation computed as difference in psw and pdw #
  3200. (all,r,REG)
  3201. tot(r) = psw(r) - pdw(r);
  3202.  
  3203. !<
  3204. B-3. GDP indices (value, price and quantity)
  3205. --------------------------------------------
  3206. >!
  3207.  
  3208. ! GDP expenditure side summary !
  3209. Set
  3210. GDPEX (Household,Investment,Government,Exports,IntnlMargins,Imports);
  3211. Coefficient (all,r,REG)(all,g,GDPEX)
  3212. GDPEXP(r,g) # GDP expenditure side summary #;
  3213. Formula
  3214. (all,r,REG) GDPEXP(r,"Household") = sum{c,COMM, VPP(c,r)};
  3215. (all,r,REG) GDPEXP(r,"Investment") = sum{c,COMM, VIP(c,r)};
  3216. (all,r,REG) GDPEXP(r,"Government") = sum{c,COMM, VGP(c,r)};
  3217. (all,s,REG) GDPEXP(s,"Exports") = sum{c,COMM, sum{d,REG, VFOB(c,s,d)}};
  3218. (all,r,REG) GDPEXP(r,"IntnlMargins") = sum{m,MARG, VST(m,r)};
  3219. (all,d,REG) GDPEXP(d,"Imports") = - sum{c,COMM, sum{s,REG, VCIF(c,s,d)}};
  3220. Write
  3221. GDPEXP to file GTAPSUM header "GDPE";
  3222.  
  3223. Variable (all,r,REG)
  3224. vgdp(r) # change in value of GDP #;
  3225. Coefficient (all,r,REG)
  3226. GDP(r) # gross domestic product in region r #;
  3227. Formula (all,r,REG)
  3228. GDP(r) = sum{g,GDPEX, GDPEXP(r,g)};
  3229. !<
  3230. Gross Domestic Product in region r. Trade is valued at FOB and CIF prices.
  3231. >!
  3232.  
  3233. Equation E_vgdp
  3234. # change in value of GDP #
  3235. (all,r,REG)
  3236. GDP(r) * vgdp(r)
  3237. = sum{c,COMM, VGP(c,r) * [qga(c,r) + pga(c,r)]}
  3238. + sum{c,COMM, VPP(c,r) * [qpa(c,r) + ppa(c,r)]}
  3239. + sum{c,COMM, VIP(c,r) * [qinv(r) + pinv(r)]}
  3240. + sum{c,COMM, sum{d,REG, VFOB(c,r,d) * [qxs(c,r,d) + pfob(c,r,d)]}}
  3241. + sum{m,MARG, VST(m,r) * [qst(m,r) + pds(m,r)]}
  3242. - sum{c,COMM, sum{s,REG, VCIF(c,s,r) * [qxs(c,s,r) + pcif(c,s,r)]}};
  3243.  
  3244. Variable (orig_level=1.0)(all,r,REG)
  3245. pgdp(r) # GDP price index #;
  3246. Variable (orig_level=GDP)(all,r,REG)
  3247. qgdp(r) # GDP (expenditure-side) quantity index #;
  3248.  
  3249. Equation E_pgdp
  3250. # GDP price index #
  3251. (all,r,REG)
  3252. GDP(r) * pgdp(r)
  3253. = sum{c,COMM, VGP(c,r) * pga(c,r)}
  3254. + sum{c,COMM, VPP(c,r) * ppa(c,r)}
  3255. + sum{c,COMM, VIP(c,r) * pia(c,r)}
  3256. + sum{c,COMM, sum{d,REG, VFOB(c,r,d) * pfob(c,r,d)}}
  3257. + sum{m,MARG, VST(m,r) * pds(m,r)}
  3258. - sum{c,COMM, sum{s,REG, VCIF(c,s,r) * pcif(c,s,r)}};
  3259.  
  3260. Equation E_qgdp
  3261. # GDP quantity index #
  3262. (all,r,REG)
  3263. GDP(r) * qgdp(r)
  3264. = sum{c,COMM, VGP(c,r) * qga(c,r)}
  3265. + sum{c,COMM, VPP(c,r) * qpa(c,r)}
  3266. + sum{c,COMM, VIP(c,r) * qia(c,r)}
  3267. + sum{c,COMM, sum{d,REG, VFOB(c,r,d) * qxs(c,r,d)}}
  3268. + sum{m,MARG, VST(m,r) * qst(m,r)}
  3269. - sum{c,COMM, sum{s,REG, VCIF(c,s,r) * qxs(c,s,r)}};
  3270.  
  3271. !<
  3272. modified from HT 72 for use with AnalyseGE
  3273. >!
  3274. Variable (all,a,ACTS)(all,r,REG)
  3275. compvalad(a,r) # composition of value added for good c and region r #;
  3276.  
  3277. Equation E_compvalad
  3278. # track change in composition of value added #
  3279. (all,a,ACTS)(all,r,REG)
  3280. compvalad(a,r) = qo(a,r) - qgdp(r);
  3281.  
  3282. !<
  3283. B-4. Aggregate trade indices (value, price and quantity)
  3284. --------------------------------------------------------
  3285. >!
  3286.  
  3287. !<
  3288. Common variables and coefficients
  3289. Value indices for aggregate trade
  3290. Price indices for aggregate trade
  3291. Quantity indices for aggregate trade
  3292. >!
  3293.  
  3294. !<
  3295. Common variables and coefficients
  3296. .................................
  3297.  
  3298. only used in this aggregate trade indices section
  3299. >!
  3300.  
  3301. Variable (orig_level=1.0)(all,c,COMM)(all,r,REG)
  3302. pxw(c,r) # aggregate exports price index of c from region r #;
  3303. Coefficient (all,c,COMM)
  3304. VXWCOMMOD(c) # value of world exports by commodity c at FOB prices #;
  3305. Formula (all,c,COMM)
  3306. VXWCOMMOD(c) = sum{r,REG, VXW(c,r)};
  3307. Coefficient
  3308. VXWLD # value of commodity exports, FOB, globally #;
  3309. Formula
  3310. VXWLD = sum{r,REG, VXWREGION(r)};
  3311.  
  3312. Coefficient (all,c,COMM)
  3313. VMWCOMMOD(c) # global value of commodity imports, CIF, by commodity #;
  3314. Formula (all,c,COMM)
  3315. VMWCOMMOD(c) = sum{r,REG, VMCIF(c,r)};
  3316.  
  3317. Coefficient (all,c,COMM)(all,r,REG)
  3318. VXDXSB(c,r) # basic value of com. c exports to all dest. (tradeables only) #;
  3319. Formula (all,c,COMM)(all,r,REG)
  3320. VXDXSB(c,r) = sum{d,REG, VXSB(c,r,d)};
  3321.  
  3322. Coefficient (all,c,COMM)(all,r,REG)
  3323. PW_PM(c,r) # ratio of world to domestic prices #;
  3324. Formula (all,c,COMM)(all,r,REG)
  3325. PW_PM(c,r) = VXDFOB(c,r) / VXDXSB(c,r);
  3326.  
  3327. Coefficient (all,c,COMM)(all,r,REG)
  3328. VOW(c,r) # value of commodity output in r at FOB incl transp. services #;
  3329. Formula (all,c,COMM)(all,r,REG)
  3330. VOW(c,r) = VDB(c,r) * PW_PM(c,r) + VXDFOB(c,r) + IF[c in MARG, + VST(c,r)];
  3331.  
  3332. Coefficient (all,c,COMM)
  3333. VWOW(c) # value of world supply at world prices for c #;
  3334. Formula (all,c,COMM)
  3335. VWOW(c) = sum{r,REG, VOW(c,r)};
  3336.  
  3337. Coefficient (all,c,COMM)
  3338. VWOU(c) # value of world output of c at user prices #;
  3339. Formula (all,c,COMM)
  3340. VWOU(c) = sum{r,REG, VPP(c,r) + VGP(c,r) + VIP(c,r)
  3341. + sum{a,ACTS, VFP(c,a,r)}};
  3342.  
  3343. !<
  3344. Value indices for aggregate trade
  3345. .................................
  3346. >!
  3347.  
  3348. Equation E_vxwfob
  3349. # the change in FOB value of exports of m from r #
  3350. (all,c,COMM)(all,r,REG)
  3351. VXW(c,r) * vxwfob(c,r)
  3352. = sum{d,REG, VFOB(c,r,d) * [qxs(c,r,d) + pfob(c,r,d)]}
  3353. + IF[c in MARG, VST(c,r) * [qst(c,r) + pds(c,r)]];
  3354.  
  3355. Equation E_vxwreg
  3356. # computes % change in value of merchandise exports, by region #
  3357. (all,r,REG)
  3358. VXWREGION(r) * vxwreg(r) = sum{c,COMM, VXW(c,r) * vxwfob(c,r)};
  3359.  
  3360. Variable (all,c,COMM)
  3361. vxwcom(c) # value of global merchandise exports by commodity #;
  3362. Equation E_vxwcom
  3363. # computes % change in FOB value of global exports, by commodity #
  3364. (all,c,COMM)
  3365. VXWCOMMOD(c) * vxwcom(c) = sum{r,REG, VXW(c,r) * vxwfob(c,r)};
  3366.  
  3367. Variable
  3368. vxwwld # value of world trade #;
  3369. Equation E_vxwwld
  3370. # computes % change in value of global exports #
  3371. VXWLD * vxwwld = sum{r,REG, VXWREGION(r) * vxwreg(r)};
  3372.  
  3373. Equation E_vmwcif
  3374. # the change in CIF value of imports of commodity c into r #
  3375. (all,c,COMM)(all,d,REG)
  3376. VMCIF(c,d) * vmwcif(c,d)
  3377. = sum{s,REG, VCIF(c,s,d) * [pcif(c,s,d) + qxs(c,s,d)]};
  3378.  
  3379. Equation E_vmwreg
  3380. # computes % change in value of imports, CIF basis, by region #
  3381. (all,r,REG)
  3382. VMWREGION(r) * vmwreg(r) = sum{c,COMM, VMCIF(c,r) * vmwcif(c,r)};
  3383.  
  3384. Variable (all,c,COMM)
  3385. vmwcom(c) # value of global merchandise imports c, at world prices #;
  3386. Equation E_vmwcom
  3387. # computes % change in value of global imports, by commodity #
  3388. (all,c,COMM)
  3389. VMWCOMMOD(c) * vmwcom(c) = sum{r,REG, VMCIF(c,r) * vmwcif(c,r)};
  3390.  
  3391. Variable (all,c,COMM)
  3392. valuew(c) # value of world supply of good c #;
  3393. Equation E_valuew
  3394. # change in value of world output of comm. c at FOB prices #
  3395. (all,c,COMM)
  3396. VWOW(c) * valuew(c) = sum{r,REG, VOW(c,r) * [pxw(c,r) + qc(c,r)]};
  3397.  
  3398. Variable (all,c,COMM)
  3399. valuewu(c) # value of world supply of good c at user prices #;
  3400. Equation E_valuewu
  3401. # change in value of world output of commodity c at user prices #
  3402. (all,c,COMM)
  3403. VWOU(c) * valuewu(c)
  3404. = sum{r,REG, VPP(c,r) * [ppa(c,r) + qpa(c,r)]
  3405. + VGP(c,r) * [pga(c,r) + qga(c,r)]
  3406. + sum{a,ACTS, VFP(c,a,r) * [pfa(c,a,r) + qfa(c,a,r)]}};
  3407.  
  3408. !<
  3409. Price indices for aggregate trade
  3410. .................................
  3411. >!
  3412.  
  3413. Equation E_pxw
  3414. # change in FOB price index of exports of m from r #
  3415. (all,C,COMM)(all,r,REG)
  3416. VXW(c,r) * pxw(c,r)
  3417. = sum{d,REG, VFOB(c,r,d) * pfob(c,r,d)}
  3418. + IF[c in MARG, VST(c,r) * pds(c,r)];
  3419.  
  3420. Variable (orig_level=1.0)(all,r,REG)
  3421. pxwreg(r) # price index of merchandise exports, by region #;
  3422. Equation E_pxwreg
  3423. # computes % change in price index of exports, by region #
  3424. (all,r,REG)
  3425. VXWREGION(r) * pxwreg(r) = sum{c,COMM, VXW(c,r) * pxw(c,r)};
  3426.  
  3427. Variable (orig_level=1.0)(all,c,COMM)
  3428. pxwcom(c) # price index of global merchandise exports by commodity #;
  3429. Equation E_pxwcom
  3430. # computes % change in price index of exports, by commodity #
  3431. (all,c,COMM)
  3432. VXWCOMMOD(c) * pxwcom(c) = sum{r,REG, VXW(c,r) * pxw(c,r)};
  3433.  
  3434. Variable (orig_level=1.0)
  3435. pxwwld # price index of world trade #;
  3436. Equation E_pxwwld
  3437. # computes % change in price index of global exports #
  3438. VXWLD * pxwwld = sum{r,REG, VXWREGION(r) * pxwreg(r)};
  3439.  
  3440. Variable (all,c,COMM)(all,r,REG)
  3441. pmw(c,r) # world price of composite import c in region r #;
  3442. Equation E_pmw
  3443. # computes % change in CIF price index of imports of c into d #
  3444. (all,c,COMM)(all,d,REG)
  3445. VMCIF(c,d) * pmw(c,d) = sum{s,REG, VCIF(c,s,d) * pcif(c,s,d)};
  3446.  
  3447. Variable (orig_level=1.0)(all,r,REG)
  3448. pmwreg(r) # price index of merchandise imports, by region #;
  3449. Equation E_pmwreg
  3450. # computes % change in price index of imports, by region #
  3451. (all,r,REG)
  3452. VMWREGION(r) * pmwreg(r) = sum{c,COMM, VMCIF(c,r) * pmw(c,r)};
  3453.  
  3454. Variable (orig_level=1.0)(all,c,COMM)
  3455. pmwcom(c) # price index of global merchandise imports by commodity #;
  3456. Equation E_pmwcom
  3457. # computes % change in price index of imports, by commodity #
  3458. (all,c,COMM)
  3459. VMWCOMMOD(c) * pmwcom(c) = sum{r,REG, VMCIF(c,r) * pmw(c,r)};
  3460.  
  3461. Variable (all,c,COMM)
  3462. pw(c) # world price index for total good c supplies #;
  3463. Equation E_pw
  3464. # change in index of world prices, FOB, for total production of c #
  3465. (all,c,COMM)
  3466. VWOW(c) * pw(c) = sum{r,REG, VOW(c,r) * pxw(c,r)};
  3467.  
  3468. Variable (orig_level=1.0)(all,c,COMM)
  3469. pwu(c) # world price index for total good c supplies at user prices #;
  3470. Equation E_pwu
  3471. # change in index of user prices for deflating world production of c #
  3472. (all,c,COMM)
  3473. VWOU(c) * pwu(c)
  3474. = sum{r,REG, VPP(c,r) * ppa(c,r)
  3475. + VGP(c,r) * pga(c,r)
  3476. + VIP(c,r) * pinv(r)
  3477. + sum{a,ACTS, VFP(c,a,r) * pfa(c,a,r)}};
  3478.  
  3479. !<
  3480. Quantity indices for aggregate trade
  3481. ....................................
  3482. >!
  3483.  
  3484. Variable (orig_level=VXW)(all,c,COMM)(all,r,REG)
  3485. qxw(c,r) # aggregate exports of c from region r, FOB weights #;
  3486. Equation E_qxw
  3487. # change in volume of exports of (margin and non-margin) commodity c from r #
  3488. (all,c,COMM)(all,r,REG)
  3489. VXW(c,r) * qxw(c,r)
  3490. = sum{d,REG, VFOB(c,r,d) * qxs(c,r,d)}
  3491. + IF[c in MARG, VST(c,r) * qst(c,r)];
  3492. !<
  3493. modified from HT 89 for use with AnalyseGE
  3494. >!
  3495.  
  3496. Variable (orig_level=VXWREGION)(all,r,REG)
  3497. qxwreg(r) # volume of merchandise exports, by region #;
  3498. Equation E_qxwreg
  3499. # computes % change in quantity index of exports, by region #
  3500. (all,r,REG)
  3501. VXWREGION(r) * qxwreg(r) = sum{c,COMM, VXW(c,r) * qxw(c,r)};
  3502. !<
  3503. modified from HT 91 for use with AnalyseGE
  3504. >!
  3505.  
  3506. Variable (orig_level=VXWCOMMOD)(all,c,COMM)
  3507. qxwcom(c) # volume of global merchandise exports by commodity #;
  3508. Equation E_qxwcom
  3509. # computes % change in quantity index of exports, by commodity #
  3510. (all,c,COMM)
  3511. VXWCOMMOD(c) * qxwcom(c) = sum{r,REG, VXW(c,r) * qxw(c,r)};
  3512. !<
  3513. modified from HT 93 for use with AnalyseGE
  3514. >!
  3515.  
  3516. Variable (orig_level=VXWLD)
  3517. qxwwld # volume of world trade #;
  3518. Equation E_qxwwld
  3519. # computes % change in quantity index of global exports #
  3520. VXWLD * qxwwld = sum{r,REG, VXWREGION(r) * qxwreg(r)};
  3521. !<
  3522. modified from HT 95 for use with AnalyseGE
  3523. >!
  3524.  
  3525. Variable (all,c,COMM)(all,d,REG)
  3526. qmw(c,d) # aggregate imports of c into region s, CIF weights #;
  3527. Equation E_qmw
  3528. # change in volume of imports of commodity c into d #
  3529. (all,c,COMM)(all,d,REG)
  3530. VMCIF(c,d) * qmw(c,d) = sum{s,REG, VCIF(c,s,d) * qxs(c,s,d)};
  3531. !<
  3532. modified from HT 90 for use with AnalyseGE
  3533. >!
  3534.  
  3535. Variable (orig_level=VMWREGION)(all,r,REG)
  3536. qmwreg(r) # volume of merchandise imports, by region #;
  3537. Equation E_qmwreg
  3538. # computes % change in quantity index of imports, by region #
  3539. (all,r,REG)
  3540. VMWREGION(r) * qmwreg(r) = sum{c,COMM, VMCIF(c,r) * qmw(c,r)};
  3541. !<
  3542. modified from HT 92 for use with AnalyseGE
  3543. >!
  3544.  
  3545. Variable (orig_level=VMWCOMMOD)(all,c,COMM)
  3546. qmwcom(c) # volume of global merchandise imports by commodity #;
  3547. Equation E_qmwcom
  3548. # computes % change in quantity index of imports, by commodity #
  3549. (all,c,COMM)
  3550. VMWCOMMOD(c) * qmwcom(c) = sum{r,REG, VMCIF(c,r) * qmw(c,r)};
  3551. !<
  3552. modified from HT 94 for use with AnalyseGE
  3553. >!
  3554.  
  3555. Variable (all,c,COMM)
  3556. qow(c) # quantity index for world supply of good c #;
  3557. Equation E_qow
  3558. # change in index of world production of c #
  3559. (all,c,COMM)
  3560. VWOW(c) * qow(c) = sum{r,REG, VOW(c,r) * qc(c,r)};
  3561. !<
  3562. modified from HT 96 for use with AnalyseGE
  3563. >!
  3564.  
  3565. Variable (orig_level=VWOU)(all,c,COMM)
  3566. qowu(c) # quantity index for world supply of good c at user prices #;
  3567. Equation E_qowu
  3568. # change in index of world production of c evaluated at user prices #
  3569. (all,c,COMM)
  3570. VWOU(c) * qowu(c)
  3571. = sum{r,REG, VPP(c,r) * qpa(c,r)
  3572. + VGP(c,r) * qga(c,r)
  3573. + VIP(c,r) * qia(c,r)
  3574. + sum{a,ACTS, VFP(c,a,r) * qfa(c,a,r)}};
  3575.  
  3576. !<
  3577. B-5. Trade balance indices
  3578. --------------------------
  3579. >!
  3580.  
  3581. Variable (change)(all,c,COMM)(all,r,REG)
  3582. del_tbalc(c,r) # change in trade balance by c and by r, $ US million #;
  3583. !<
  3584. A positive value indicates that the change in exports exceeds the change
  3585. in imports.
  3586. >!
  3587. Equation E_del_tbalc
  3588. # computes change in trade balance by commodity and by region #
  3589. (all,c,COMM)(all,r,REG)
  3590. del_tbalc(c,r)
  3591. = [VXW(c,r) / 100] * vxwfob(c,r) - [VMCIF(c,r) / 100] * vmwcif(c,r);
  3592.  
  3593. Variable (change)(all,r,REG)
  3594. del_tbal(r) # change in trade balance X - M, $ US million #;
  3595. Equation E_del_tbal
  3596. # computes change in trade balance (X - M), by region #
  3597. (all,r,REG)
  3598. del_tbal(r)
  3599. = [VXWREGION(r) / 100] * vxwreg(r) - [VMWREGION(r) / 100] * vmwreg(r);
  3600.  
  3601. !<
  3602. In order to maintain homogeneity in the presence of a fixed trade balance,
  3603. it is useful to have a nominal variable which this is measured against.
  3604. The next equation provides this, and we recommend users fix del_tbalry
  3605. instead of fixing del_tbal in future simulations. The strategy is the same
  3606. one used above for taxes.
  3607. >!
  3608.  
  3609. Variable
  3610. ywld # world income #;
  3611. Coefficient
  3612. INCOMEWLD # World income #;
  3613. Formula
  3614. INCOMEWLD = sum{r,REG, INCOME(r)};
  3615.  
  3616. Equation E_ywld
  3617. # world income #
  3618. INCOMEWLD * ywld = sum{r,REG, INCOME(r) * y(r)};
  3619.  
  3620. Variable (change)(all,r,REG)
  3621. del_tbalry(r) # change in trade bal. of r as a percentage of world income #;
  3622. Coefficient (all,r,REG)
  3623. TBAL(r) # trade balance for region r #;
  3624. Formula (all,r,REG)
  3625. TBAL(r) = VXWREGION(r) - VMWREGION(r);
  3626.  
  3627. Equation E_del_tbalry
  3628. # change in trade balance of region r as a percentage of world income #
  3629. (all,r,REG)
  3630. INCOMEWLD * del_tbalry(r)
  3631. = VXWREGION(r) * vxwreg(r) - VMWREGION(r) * vmwreg(r)
  3632. - TBAL(r) * ywld;
  3633.  
  3634. !<
  3635. B-6. Terms of trade (ToT) decomposition
  3636. ---------------------------------------
  3637. Computations for decomposition the terms-of-trade effect
  3638. Reference: Robert McDougall, SALTER No. 12 Working Paper
  3639. >!
  3640.  
  3641. Coefficient (all,c,COMM)(all,r,REG)
  3642. SX_CR(c,r) # share of good c in total exports from r #;
  3643. Formula (all,m,MARG)(all,r,REG)
  3644. SX_CR(m,r)
  3645. = [sum{d,REG, VFOB(m,r,d)} + VST(m,r)]
  3646. / [sum{c,COMM, sum{d,REG, VFOB(c,r,d)}}
  3647. + sum{k,MARG, VST(k,r)}];
  3648. Formula (all,n,NMRG)(all,r,REG)
  3649. SX_CR(n,r)
  3650. = sum{d,REG, VFOB(n,r,d)}
  3651. / [sum{c,COMM, sum{d,REG, VFOB(c,r,d)}}
  3652. + sum{m,MARG, VST(m,r)}];
  3653.  
  3654. Coefficient (all,m,MARG)(all,d,REG)
  3655. VTMCOMM(m,d) # margin usage of m in getting imports to dest. region d #;
  3656. Formula (all,m,MARG)(all,d,REG)
  3657. VTMCOMM(m,d) = sum{c,COMM, sum{s,REG, VTMFSD(m,c,s,d)}};
  3658.  
  3659. Coefficient (all,c,COMM)(all,d,REG)
  3660. VMWDCRALL(c,d) # imports of c into d, with direct allocation of margins #;
  3661. Formula (all,c,COMM)(all,d,REG)
  3662. VMWDCRALL(c,d) = sum{s,REG, VFOB(c,s,d)} + IF[c in MARG, VTMCOMM(c,d)];
  3663.  
  3664. Coefficient (all,r,REG)
  3665. VMWDATOT(r) # total imports into r, calculated on direct allocation basis #;
  3666. Formula (all,r,REG)
  3667. VMWDATOT(r) = sum{c,COMM, VMWDCRALL(c,r)};
  3668.  
  3669. Coefficient (all,c,COMM)(all,r,REG)
  3670. SM_CR(c,r) # share of good c in total imports into r #;
  3671. Formula (all,c,COMM)(all,r,REG)
  3672. SM_CR(c,r) = VMWDCRALL(c,r) / VMWDATOT(r);
  3673.  
  3674. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  3675. SM_CRS(c,s,d) # share of imports of good c into d from s at FOB prices #;
  3676. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  3677. SM_CRS(c,s,d) = VFOB(c,s,d) / VMWDCRALL(c,d);
  3678.  
  3679. Coefficient (all,m,MARG)(all,r,REG)
  3680. SMT_CR(m,r) # share of transport cost in imports of margin commodity #;
  3681. Formula (all,m,MARG)(all,s,REG)
  3682. SMT_CR(m,s) = VTMCOMM(m,s) / VMWDCRALL(m,s);
  3683.  
  3684. Variable (all,c,COMM)(all,d,REG)
  3685. pm_cr(c,d) # imports price index for good c and importing region d #;
  3686. Equation E_pm_cr
  3687. # price index for total imports of m in s -- margins commodities #
  3688. (all,c,COMM)(all,d,REG)
  3689. pm_cr(c,d)
  3690. = sum{s,REG, SM_CRS(c,s,d) * pfob(c,s,d)}
  3691. + IF[c in MARG, SMT_CR(c,d) * pt(c)];
  3692.  
  3693. Variable (all,c,COMM)(all,r,REG)
  3694. c1_cr(c,r) # contribution of world price, px_c, to ToT #;
  3695. Equation E_c1_cr
  3696. # contribution of world export price index of good c to ToT for region r #
  3697. (all,c,COMM)(all,r,REG)
  3698. c1_cr(c,r) = [SX_CR(c,r) - SM_CR(c,r)] * [pxwcom(c) - pxwwld];
  3699.  
  3700. Variable (all,c,COMM)(all,r,REG)
  3701. c2_cr(c,r) # contribution of regional export price, px_cr, to ToT #;
  3702. Equation E_c2_cr
  3703. # contribution of regional export price of good c for region r #
  3704. (all,c,COMM)(all,r,REG)
  3705. c2_cr(c,r) = SX_CR(c,r) * [pxw(c,r) - pxwcom(c)];
  3706.  
  3707. Variable (all,c,COMM)(all,r,REG)
  3708. c3_cr(c,r) # contribution of regional import price, pm_cr, to ToT #;
  3709. Equation E_c3_cr
  3710. # contribution of imports price index of good c for region r #
  3711. (all,c,COMM)(all,r,REG)
  3712. c3_cr(c,r) = SM_CR(c,r) * [pm_cr(c,r) - pxwcom(c)];
  3713.  
  3714. Variable (all,r,REG)
  3715. c1_r(r) # contribution of world prices for all goods to ToT #;
  3716. Equation E_c1_r
  3717. # contribution of world price indexes of all goods to ToT for r #
  3718. (all,r,REG)
  3719. c1_r(r) = sum{c,COMM, c1_cr(c,r)};
  3720.  
  3721. Variable (all,r,REG)
  3722. c2_r(r) # contribution of regional export prices to ToT #;
  3723. Equation E_c2_r
  3724. # contribution of regional exports prices to ToT for r #
  3725. (all,r,REG)
  3726. c2_r(r) = sum{c,COMM, c2_cr(c,r)};
  3727.  
  3728. Variable (all,r,REG)
  3729. c3_r(r) # contribution of regional import prices to ToT #;
  3730. Equation E_c3_r
  3731. # contribution of regional import prices to ToT for r #
  3732. (all,r,REG)
  3733. c3_r(r) = sum{c,COMM, c3_cr(c,r)};
  3734.  
  3735. Variable (all,r,REG)
  3736. tot2(r) # trade terms for region r, computed from components #;
  3737. Equation E_tot2
  3738. # trade terms for region r, computed from components #
  3739. (all,r,REG)
  3740. tot2(r) = c1_r(r) + c2_r(r) - c3_r(r);
  3741.  
  3742. !<
  3743. --------------------------------------------
  3744. 11. Measurement and decomposition of welfare
  3745. --------------------------------------------
  3746.  
  3747. 11-0. Variables and coefficients
  3748. 11-1. Government consumption shadow demand system
  3749. 11-2. Private consumption shadow demand dystem
  3750. 11-3. Regional Household shadow demand system
  3751. 11-4. Equivalent Variation
  3752. 11-5. Decomposition of welfare [Section 3.11 in JGEA paper]
  3753.  
  3754. This section calculates equivalent variation "EV" and world equivalent
  3755. variation, "WEV", by determining the income "yev" that would be required
  3756. to achieve the current actual utility level "u" in a shadow demand system
  3757. in which prices are fixed.
  3758.  
  3759. Section 11-2 calculates the utility elasticity of private consumption
  3760. expenditure, "ueprivev", within a shadow demand system for private
  3761. consumption, for use in section 11-3. Section 11-3 calculates private
  3762. consumption expenditure "ypev" for use in 11-2, and regional income "yev"
  3763. for use in 11-4, within a shadow demand system for the regional household.
  3764. Section 11-4 calculates "EV" and "WEV".
  3765.  
  3766. Section 11-5 provides a decomposition welfare in the model as explained
  3767. in the GTAP model paper.
  3768. >!
  3769.  
  3770. !<
  3771. 11-0. Variables and coefficients
  3772. --------------------------------
  3773. only used in this Equivalent Variation section of the summary indices
  3774. appendix
  3775. >!
  3776.  
  3777. Variable (all,r,REG)
  3778. uelasev(r) # elasticity of cost of utility wrt utility, for EV calc. #;
  3779. Variable (all,r,REG)
  3780. ueprivev(r) # utility elast. of private consn expenditure, for EV calc. #;
  3781. Variable (all,r,REG)
  3782. ugev(r) # per capita utility from gov't expend., for EV calc. #;
  3783. Variable (all,r,REG)
  3784. upev(r) # per capita utility from private expend., for EV calc. #;
  3785. Variable (all,r,REG)
  3786. qsaveev(r) # total quantity of saving demanded, for EV calc. #;
  3787. Variable (all,r,REG)
  3788. yev(r) # regional household income in region r, for EV calc. #;
  3789. Variable (all,r,REG)
  3790. ypev(r) # private consumption expenditure in region r, for EV calc. #;
  3791. Variable (all,r,REG)
  3792. ygev(r) # government consumption expenditure in region r, for EV calc. #;
  3793.  
  3794. Coefficient (all,r,REG)
  3795. INCOMEEV(r) # regional income, for EV calc. #;
  3796. Formula (initial) (all,r,REG)
  3797. INCOMEEV(r) = INCOME(r);
  3798. Update (all,r,REG)
  3799. INCOMEEV(r) = yev(r);
  3800.  
  3801. Coefficient (all,r,REG)
  3802. UTILPRIVEV(r) # utility from private consumption, for EV calcs #;
  3803. Formula (initial) (all,r,REG)
  3804. UTILPRIVEV(r) = UTILPRIV(r);
  3805. Update (all,r,REG)
  3806. UTILPRIVEV(r) = upev(r);
  3807.  
  3808. Coefficient (all,r,REG)
  3809. UTILGOVEV(r) # utility from private consumption, for EV calcs #;
  3810. Formula (initial) (all,r,REG)
  3811. UTILGOVEV(r) = UTILGOV(r);
  3812. Update (all,r,REG)
  3813. UTILGOVEV(r) = ugev(r);
  3814.  
  3815. Coefficient (all,r,REG)
  3816. UTILSAVEEV(r) # utility from private consumption, for EV calcs #;
  3817. Formula (initial) (all,r,REG)
  3818. UTILSAVEEV(r) = UTILSAVE(r);
  3819. Update (change) (all,r,REG)
  3820. UTILSAVEEV(r) = [[qsaveev(r) - pop(r)] / 100] * UTILSAVEEV(r);
  3821.  
  3822. !<
  3823. 11-1. Government consumption shadow demand system
  3824. -------------------------------------------------
  3825. >!
  3826.  
  3827. Equation E_ugev
  3828. # utility from government consumption in r #
  3829. (all,r,REG)
  3830. ygev(r) - pop(r) = ugev(r);
  3831.  
  3832. !<
  3833. 11-2. Private consumption shadow demand system
  3834. ----------------------------------------------
  3835. >!
  3836.  
  3837. Variable (all,c,COMM)(all,r,REG)
  3838. qpev(c,r)
  3839. # private hhld demand for commodity c in region r, for EV calc. #;
  3840.  
  3841. Coefficient (all,c,COMM)(all,r,REG)
  3842. VPPEV(c,r)
  3843. # private hhld expend. on c in r valued at purch. prices, for EV calc. #;
  3844. Formula (initial) (all,c,COMM)(all,r,REG)
  3845. VPPEV(c,r) = VPP(c,r);
  3846. Update (all,c,COMM)(all,r,REG)
  3847. VPPEV(c,r) = qpev(c,r);
  3848.  
  3849. Coefficient (all,r,REG)
  3850. VPPREGEV(r) # private consumption expenditure in region r, for EV calc. #;
  3851. Formula (all,r,REG)
  3852. VPPREGEV(r) = sum{c,COMM, VPPEV(c,r)};
  3853. !<
  3854. VPPREGEV should agree with PRIVEXPEV.
  3855. >!
  3856.  
  3857. Coefficient (all,c,COMM)(all,r,REG)
  3858. CONSHREV(c,r)
  3859. # share of private hhld consn devoted to good c in r, for EV calc. #;
  3860. Formula (all,c,COMM)(all,r,REG)
  3861. CONSHREV(c,r) = VPPEV(c,r) / VPPREGEV(r);
  3862. Coefficient (all,c,COMM)(all,r,REG)
  3863. EYEV(c,r)
  3864. # expend. elast. of private hhld demand for c in r, for EV calc. #;
  3865. Formula (all,c,COMM)(all,r,REG)
  3866. EYEV(c,r)
  3867. = [1.0 / sum{n,COMM, CONSHREV(n,r) * INCPAR(n,r)}]
  3868. * [INCPAR(c,r) * [1.0 - ALPHA(c,r)]
  3869. + sum{n,COMM, CONSHREV(n,r) * INCPAR(n,r) * ALPHA(n,r)}]
  3870. + ALPHA(c,r)
  3871. - sum{n,COMM, CONSHREV(n,r) * ALPHA(n,r)};
  3872.  
  3873. Equation E_qpev
  3874. # private hhld demands for composite commodities, for EV calc. #
  3875. (all,c,COMM)(all,r,REG)
  3876. qpev(c,r) - pop(r) = EYEV(c,r) * [ypev(r) - pop(r)];
  3877. !<
  3878. Prices are held constant for the EV calculation and so do not appear here.
  3879. >!
  3880.  
  3881. Coefficient (all,r,REG)
  3882. UELASPRIVEV(r)
  3883. # elast. of cost wrt utility from private consn, for EV calc. #;
  3884. Formula (all,r,REG)
  3885. UELASPRIVEV(r) = sum{c,COMM, CONSHREV(c,r) * INCPAR(c,r)};
  3886.  
  3887. Equation E_upev
  3888. # computation of utility from private consumption in r #
  3889. (all,r,REG)
  3890. ypev(r) - pop(r) = UELASPRIVEV(r) * upev(r);
  3891.  
  3892. Coefficient (all,c,COMM)(all,r,REG)
  3893. XWCONSHREV(c,r)
  3894. # expansion-parameter-weighted consumption share, for EV calc. #;
  3895. Formula (all,c,COMM)(all,r,REG)
  3896. XWCONSHREV(c,r) = CONSHREV(c,r) * INCPAR(c,r) / UELASPRIVEV(r);
  3897.  
  3898. Equation E_ueprivev
  3899. # elasticity of cost wrt utility from private consn, for EV calc. #
  3900. (all,r,REG)
  3901. ueprivev(r)
  3902. = sum{c,COMM, XWCONSHREV(c,r) * [qpev(c,r) - ypev(r)]};
  3903. !<
  3904. Prices are held constant for the EV calculation and so do not appear here.
  3905. >!
  3906.  
  3907. !<
  3908.  
  3909. 11-3. Regional Household shadow demand system
  3910. ---------------------------------------------
  3911. >!
  3912.  
  3913. Variable (all,r,REG)
  3914. ysaveev(r) # NET saving expenditure, for EV calc. #;
  3915.  
  3916. Coefficient (all,r,REG)
  3917. PRIVEXPEV(r)
  3918. # private consumption expenditure in region r, for EV calc. #;
  3919. Formula (initial) (all,r,REG)
  3920. PRIVEXPEV(r) = PRIVEXP(r);
  3921. Update (all,r,REG)
  3922. PRIVEXPEV(r) = ypev(r);
  3923. !<
  3924. PRIVEXPEV should agree with VPPREGEV.
  3925. >!
  3926.  
  3927. Coefficient (all,r,REG)
  3928. GOVEXPEV(r)
  3929. # government consumption expenditure in region r, for EV calc. #;
  3930. Formula (initial) (all,r,REG)
  3931. GOVEXPEV(r) = GOVEXP(r);
  3932. Update (all,r,REG)
  3933. GOVEXPEV(r) = ygev(r);
  3934.  
  3935. Coefficient (all,r,REG)
  3936. SAVEEV(r)
  3937. # saving in region r, for EV calc. #;
  3938. Formula (initial) (all,r,REG)
  3939. SAVEEV(r) = SAVE(r);
  3940. Update (all,r,REG)
  3941. SAVEEV(r) = ysaveev(r);
  3942.  
  3943. Coefficient (all,r,REG)
  3944. XSHRPRIVEV(r)
  3945. # private expenditure share in regional income, for EV calc. #;
  3946. Formula (all,r,REG)
  3947. XSHRPRIVEV(r) = PRIVEXPEV(r) / INCOMEEV(r);
  3948.  
  3949. Coefficient (all,r,REG)
  3950. XSHRGOVEV(r)
  3951. # government expenditure share in regional income, for EV calc. #;
  3952. Formula (all,r,REG)
  3953. XSHRGOVEV(r) = GOVEXPEV(r) / INCOMEEV(r);
  3954.  
  3955. Coefficient (all,r,REG)
  3956. XSHRSAVEEV(r) # saving share in regional income, for EV calc. #;
  3957. Formula (all,r,REG)
  3958. XSHRSAVEEV(r) = SAVEEV(r) / INCOMEEV(r);
  3959.  
  3960. Variable (all,r,REG)
  3961. dpavev(r) # average distribution parameter shift, for EV calc. #;
  3962. Equation E_dpavev
  3963. # average distribution parameter shift, for EV calc. #
  3964. (all,r,REG)
  3965. dpavev(r)
  3966. = XSHRPRIVEV(r) * dppriv(r)
  3967. + XSHRGOVEV(r) * dpgov(r)
  3968. + XSHRSAVEEV(r) * dpsave(r);
  3969.  
  3970. Equation E_uelasev
  3971. # elasticity of cost of utility wrt utility, for EV calc. #
  3972. (all,r,REG)
  3973. uelasev(r) = XSHRPRIV(r) * ueprivev(r) - dpavev(r);
  3974.  
  3975. Equation E_ypev
  3976. # private consumption expenditure, for EV calc. #
  3977. (all,r,REG)
  3978. ypev(r) - yev(r) = -[ueprivev(r) - uelasev(r)] + dppriv(r);
  3979.  
  3980. Equation E_ygev
  3981. # government consumption expenditure #
  3982. (all,r,REG)
  3983. ygev(r) - yev(r) = uelasev(r) + dpgov(r);
  3984.  
  3985. Equation E_ysaveev
  3986. # saving #
  3987. (all,r,REG)
  3988. ysaveev(r) - yev(r) = uelasev(r) + dpsave(r);
  3989.  
  3990. Equation E_qsaveev
  3991. # saving #
  3992. (all,r,REG)
  3993. qsaveev(r) = ysaveev(r);
  3994. !<
  3995. Note that because psave doesn't change, qsaveev moves with ysaveev.
  3996. >!
  3997.  
  3998. Coefficient (all,r,REG)
  3999. UTILELASEV(r)
  4000. # elasticity of cost of utility wrt utility, for EV calc. #;
  4001. Formula (initial) (all,r,REG)
  4002. UTILELASEV(r) = UTILELAS(r);
  4003. Update (all,r,REG)
  4004. UTILELASEV(r) = uelasev(r);
  4005.  
  4006. Equation E_yev
  4007. # equivalent income #
  4008. (all,r,REG)
  4009. u(r)
  4010. = au(r)
  4011. + DPARPRIV(r) * loge(UTILPRIVEV(r)) * dppriv(r)
  4012. + DPARGOV(r) * loge(UTILGOVEV(r)) * dpgov(r)
  4013. + DPARSAVE(r) * loge(UTILSAVEEV(r)) * dpsave(r)
  4014. + [1.0 / UTILELASEV(r)] * [yev(r) - pop(r)];
  4015.  
  4016. !<
  4017. 11-4. Equivalent Variation
  4018. --------------------------
  4019. >!
  4020.  
  4021. Variable (change)(all,r,REG)
  4022. EV(r) # equivalent variation, $ US million #;
  4023. Equation E_EV
  4024. # regional EV #
  4025. (all,r,REG)
  4026. EV(r) = [INCOMEEV(r) / 100] * yev(r);
  4027.  
  4028. Variable (change)
  4029. WEV # equivalent variation for the world #;
  4030. Equation E_WEV
  4031. # EV for the world #
  4032. WEV = sum{r,REG, EV(r)};
  4033.  
  4034. !<
  4035. 11-5. Welfare decomposition
  4036. ---------------------------
  4037. See GTAP Technical Paper No. 5 for derivation and interpretation.
  4038. See also "The Standard GTAP Model (Version 7)" paper.
  4039. >!
  4040.  
  4041. !<
  4042. Declare new sets for Welfare decomposition and for use in DECOMP.TAB.
  4043. Supplementary sets for "toggles" in VIEWHAR.
  4044. >!
  4045. Set
  4046. DIR(domestic,imported);
  4047. Set
  4048. CTAX(prodtax,pfacttax,inctax,inputtax,contax,invtax,govtax,xtax,mtax);
  4049. Set
  4050. TECHTYPE(output,primfac,v_added,ininput,invest,transp,import);
  4051. Set
  4052. COLUMN(alloc_A1,ENDWB1,tech_C1,pop_D1,tot_E1,IS_F1,pref_G1);
  4053.  
  4054. Coefficient (all,r,REG)
  4055. EVSCALFACT(r) # equivalent variation scaling factor #;
  4056. Formula (all,r,REG)
  4057. EVSCALFACT(r) = [UTILELASEV(r) / UTILELAS(r)] * [INCOMEEV(r) / INCOME(r)];
  4058.  
  4059. Coefficient (all,m,MARG)(all,d,REG)
  4060. VTMD(m,d) # aggregate value of svce m in shipments to destination d #;
  4061. Formula (all,m,MARG)(all,d,REG)
  4062. VTMD(m,d) = sum{c,COMM, sum{s,REG, VTMFSD(m,c,s,d)}};
  4063.  
  4064. Variable (linear,change)(all,r,REG)
  4065. EV_ALT(r) # regional EV computed in alternative way #;
  4066. Equation E_EV_ALT
  4067. # decomposition of Equivalent Variation #
  4068. (all,r,REG)
  4069. EV_ALT(r)
  4070. !< Preference shifts >!
  4071. = -[0.01 * UTILELASEV(r) * INCOMEEV(r)]
  4072. * [DPARPRIV(r) * loge(UTILPRIVEV(r) / UTILPRIV(r)) * dppriv(r)
  4073. + DPARGOV(r) * loge(UTILGOVEV(r) / UTILGOV(r)) * dpgov(r)
  4074. + DPARSAVE(r) * loge(UTILSAVEEV(r) / UTILSAVE(r)) * dpsave(r)]
  4075. !< Scaling factor >!
  4076. + [0.01 * EVSCALFACT(r)]
  4077. !< Changes in allocative efficiency >!
  4078. * [sum{c,COMM, sum{a,ACTS, PTAX(c,a,r) * [qca(c,a,r) - pop(r)]}}
  4079. + sum{e,ENDW, sum{a,ACTS,
  4080. INCTAX(e,a,r) * [qes(e,a,r) - pop(r)]}}
  4081. + sum{e,ENDW, sum{a,ACTS,
  4082. ETAX(e,a,r) * [qfe(e,a,r) - pop(r)]}}
  4083. + sum{c,COMM, sum{a,ACTS, MFTAX(c,a,r) * [qfm(c,a,r) - pop(r)]}}
  4084. + sum{c,COMM, sum{a,ACTS, DFTAX(c,a,r) * [qfd(c,a,r) - pop(r)]}}
  4085. + sum{c,COMM, MPTAX(c,r) * [qpm(c,r) - pop(r)]}
  4086. + sum{c,COMM, DPTAX(c,r) * [qpd(c,r) - pop(r)]}
  4087. + sum{c,COMM, MGTAX(c,r) * [qgm(c,r) - pop(r)]}
  4088. + sum{c,COMM, DGTAX(c,r) * [qgd(c,r) - pop(r)]}
  4089. + sum{c,COMM, MITAX(c,r) * [qim(c,r) - pop(r)]}
  4090. + sum{c,COMM, DITAX(c,r) * [qid(c,r) - pop(r)]}
  4091. + sum{c,COMM, sum{d,REG, XTAXD(c,r,d) * [qxs(c,r,d) - pop(r)]}}
  4092. !< @MRIO: Revise tariff contributions !
  4093. ![[! + sum{c,COMM, sum{s,REG, MTAX(c,s,r) * [qxs(c,s,r) - pop(r)]}} !]]!
  4094. + sum{c,COMM, sum{aa,AGENTS, sum{s,REG, MATAX(c,aa,s,r) * [qamds(c,aa,s,r) - pop(r)]}}}
  4095. !< Changes in endowments >!
  4096. + sum{e,ENDW, sum{a,ACTS, EVOS(e,a,r) * [qes(e,a,r) - pop(r)]}}
  4097. !< Depreciation >!
  4098. - VDEP(r) * [kb(r) - pop(r)]
  4099. !< Changes in technology >!
  4100. + sum{a,ACTS, VOS(a,r) * ao(a,r)}
  4101. + sum{a,ACTS, VVA(a,r) * ava(a,r)}
  4102. + sum{c,COMM, sum{a,ACTS, VFP(c,a,r) * aint(a,r)}}
  4103. + sum{a,ACTS, sum{e,ENDW, VFP(e,a,r) * afe(e,a,r)}}
  4104. + sum{a,ACTS, sum{c,COMM, VFP(c,a,r) * afa(c,a,r)}}
  4105. + sum{m,MARG, sum{c,COMM, sum{s,REG,
  4106. VTMFSD(m,c,s,r) * atmfsd(m,c,s,r)}}}
  4107. !< @MRIO: Revise calculations !
  4108. ![[! + sum{c,COMM, sum{s,REG, VMSB(c,s,r) * ams(c,s,r)}} !]]!
  4109. + sum{c,COMM, sum{s,REG, sum{aa,AGENTS, VMAB(c,aa,s,r) * amsa(c,aa,s,r)}}}
  4110. !< Changes in terms of trade >!
  4111. + sum{c,COMM, sum{s,REG, VFOB(c,r,s) * pfob(c,r,s)}}
  4112. + sum{m,MARG, VST(m,r) * pds(m,r)}
  4113. + NETINV(r) * pinv(r)
  4114. - sum{c,COMM, sum{s,REG, VFOB(c,s,r) * pfob(c,s,r)}}
  4115. - sum{m,MARG, VTMD(m,r) * pt(m)}
  4116. - SAVE(r) * psave(r)]
  4117. !< Changes in population >!
  4118. + 0.01 * INCOMEEV(r) * pop(r);
  4119.  
  4120. Variable (linear,change)
  4121. WEV_ALT # expression for WEV computed in alternative way #;
  4122. Equation E_WEV_ALT
  4123. # Equivalent Variation for the world #
  4124. WEV_ALT = sum{r,REG, EV_ALT(r)};
  4125.  
  4126. !<
  4127. 11-5.1 Preference shifts (EV)
  4128. -----------------------------
  4129. >!
  4130. Variable (linear,change) (all,r,REG)
  4131. CNTdpar(r) # contribution to EV of change in distribution parameters #;
  4132. Equation E_CNTdpar
  4133. # contribution to EV of change in distribution parameters #
  4134. (all,r,REG)
  4135. CNTdpar(r)
  4136. = -0.01 * UTILELASEV(r) * INCOMEEV(r)
  4137. * [DPARPRIV(r) * loge(UTILPRIVEV(r) / UTILPRIV(r)) * dppriv(r)
  4138. + DPARGOV(r) * loge(UTILGOVEV(r) / UTILGOV(r)) * dpgov(r)
  4139. + DPARSAVE(r) * loge(UTILSAVEEV(r) / UTILSAVE(r)) * dpsave(r)];
  4140.  
  4141. !<
  4142. 11-5.2 Allocative efficiency (EV)
  4143. ---------------------------------
  4144. >!
  4145.  
  4146. !< Contribution to EV of changes in output >!
  4147. Variable (linear,change) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4148. CNTqca(c,a,r)
  4149. # contribution to EV of changes in output c of act. a in region r #;
  4150. Equation E_CNTqca
  4151. # contribution to EV of changes in industry output of act. a in region r #
  4152. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4153. CNTqca(c,a,r) = [0.01 * EVSCALFACT(r)]
  4154. * PTAX(c,a,r) * [qca(c,a,r) - pop(r)];
  4155.  
  4156. Variable (linear,change) (all,a,ACTS)(all,r,REG)
  4157. CNTqo(a,r)
  4158. # contribution to EV of changes in industry output of act. a in region r #;
  4159. Equation E_CNTqo
  4160. # contribution to EV of changes in industry output of act. a in region r #
  4161. (all,a,ACTS)(all,r,REG)
  4162. CNTqo(a,r) = [0.01 * EVSCALFACT(r)]
  4163. * sum{c,COMM, PTAX(c,a,r) * [qca(c,a,r) - pop(r)]};
  4164.  
  4165. Variable (linear,change) (all,r,REG)
  4166. CNTqor(r) # contribution to EV in region r of output changes #;
  4167. Equation E_CNTqor
  4168. # contribution to EV in region r of output changes #
  4169. (all,r,REG)
  4170. CNTqor(r) = sum{a,ACTS, CNTqo(a,r)};
  4171.  
  4172. !< Contribution to EV of changes in supply of endowment >!
  4173. Variable (linear,change) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4174. CNTqea(e,a,r)
  4175. # contribution to EV of changes in supply of ENDW e to act. a in reg. r #;
  4176. Equation E_CNTqea
  4177. # contribution to EV of changes in supply of ENDW e in reg. r #
  4178. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4179. CNTqea(e,a,r) = [0.01 * EVSCALFACT(r)]
  4180. * INCTAX(e,a,r) * [qes(e,a,r) - pop(r)];
  4181.  
  4182. Variable (linear,change) (all,e,ENDW)(all,r,REG)
  4183. CNTqe(e,r)
  4184. # contribution to EV of changes in supply of ENDW e in reg. r #;
  4185. Equation E_CNTqe
  4186. # contribution to EV of changes in supply of ENDW e in reg. r #
  4187. (all,e,ENDW)(all,r,REG)
  4188. CNTqe(e,r) = sum{a,ACTS, CNTqea(e,a,r)};
  4189.  
  4190. Variable (linear,change) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4191. CNTqfe(e,a,r)
  4192. # contribution to EV of changes in use of ENDW e in a in r #;
  4193. Equation E_CNTqfe
  4194. # contribution to EV of changes in use of ENDW e in a in r #
  4195. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4196. CNTqfe(e,a,r)
  4197. = [0.01 * EVSCALFACT(r)] * ETAX(e,a,r) * [qfe(e,a,r) - pop(r)];
  4198.  
  4199. Variable (linear,change) (all,e,ENDW)(all,r,REG)
  4200. CNTqfeer(e,r)
  4201. # contribution to EV of changes in use of ENDW e in all firms in r #;
  4202. Equation E_CNTqfeer
  4203. # contribution to EV of changes in use of ENDW e in all firms in r #
  4204. (all,e,ENDW)(all,r,REG)
  4205. CNTqfeer(e,r)
  4206. = sum{a,ACTS, CNTqfe(e,a,r)};
  4207.  
  4208. Variable (linear,change) (all,r,REG)
  4209. CNTqfer(r)
  4210. # contribution to EV of changes in use of all ENDW in r #;
  4211. Equation E_CNTqfer
  4212. # contribution to EV of changes in use of all ENDW in r #
  4213. (all,r,REG)
  4214. CNTqfer(r)
  4215. = sum{e,ENDW, sum{a,ACTS, CNTqfe(e,a,r)}};
  4216.  
  4217. !< Contribution to EV of changes in commodity use by firms >!
  4218. Variable (linear,change) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4219. CNTqfm(c,a,r)
  4220. # cont. to EV of changes in use of imported intermediates by a in r #;
  4221. Equation E_CNTqfm
  4222. # cont. to EV of changes in use of imported intermediates in r #
  4223. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4224. CNTqfm(c,a,r)
  4225. = [0.01 * EVSCALFACT(r)] * MFTAX(c,a,r) * [qfm(c,a,r) - pop(r)];
  4226.  
  4227. Variable (linear,change) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4228. CNTqfd(c,a,r)
  4229. # cont. to EV of changes in use of domestic intermediates by a in r #;
  4230. Equation E_CNTqfd
  4231. # cont. to EV of changes in use of domestic intermediates by a in r #
  4232. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4233. CNTqfd(c,a,r)
  4234. = [0.01 * EVSCALFACT(r)] * DFTAX(c,a,r) * [qfd(c,a,r) - pop(r)];
  4235.  
  4236. Variable (linear,change) (all,r,REG)(all,d,DIR)
  4237. CNTqfr(r,d)
  4238. # cont. to EV of changes in use of dom. and imp. intermediates in r #;
  4239. Equation E_CNTqfr
  4240. # cont. to EV of changes in use of dom. and imp. intermediates in r #
  4241. (all,r,REG)(all,d,DIR)
  4242. CNTqfr(r,d)
  4243. = IF[d="domestic", sum{c,COMM, sum{a,ACTS, CNTqfd(c,a,r)}}]
  4244. + IF[d="imported", sum{c,COMM, sum{a,ACTS, CNTqfm(c,a,r)}}];
  4245.  
  4246. !< Contribution to EV of changes in commodity use by private households >!
  4247. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4248. CNTqpm(c,r)
  4249. # contribution to EV of changes in consumption of imported good c in r #;
  4250. Equation E_CNTqpm
  4251. # contribution to EV of changes in consumption of imported good c in r #
  4252. (all,c,COMM)(all,r,REG)
  4253. CNTqpm(c,r) = [0.01 * EVSCALFACT(r)] * MPTAX(c,r) * [qpm(c,r) - pop(r)];
  4254.  
  4255. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4256. CNTqpd(c,r)
  4257. # contribution to EV of changes in consumption of domestic good c in r #;
  4258. Equation E_CNTqpd
  4259. # contribution to EV of changes in consumption of domestic good c in r #
  4260. (all,c,COMM)(all,r,REG)
  4261. CNTqpd(c,r) = [0.01 * EVSCALFACT(r)] * DPTAX(c,r) * [qpd(c,r) - pop(r)];
  4262.  
  4263. Variable (linear,change) (all,r,REG)(all,d,DIR)
  4264. CNTqpr(r,d)
  4265. # cont. to EV of changes in consumption of dom. and imp. goods in r #;
  4266. Equation E_CNTqpr
  4267. # cont. to EV of changes in consumption of dom. and imp. goods in r #
  4268. (all,r,REG)(all,d,DIR)
  4269. CNTqpr(r,d)
  4270. = IF[d="domestic", sum{c,COMM, CNTqpd(c,r)}]
  4271. + IF[d="imported", sum{c,COMM, CNTqpm(c,r)}];
  4272.  
  4273. !< Contribution to EV of changes in commodity use by government >!
  4274. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4275. CNTqgm(c,r)
  4276. # contribution to EV of changes in gov't consumption of import c in r #;
  4277. Equation E_CNTqgm
  4278. # contribution to EV of changes in gov't consumption of import c in r #
  4279. (all,c,COMM)(all,r,REG)
  4280. CNTqgm(c,r) = [0.01 * EVSCALFACT(r)] * MGTAX(c,r) * [qgm(c,r) - pop(r)];
  4281.  
  4282. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4283. CNTqgd(c,r)
  4284. # contribution to EV of changes in gov't consumption of domestic c in r #;
  4285. Equation E_CNTqgd
  4286. # contribution to EV of changes in gov't consumption of domestic c in r #
  4287. (all,c,COMM)(all,r,REG)
  4288. CNTqgd(c,r) = [0.01 * EVSCALFACT(r)] * DGTAX(c,r) * [qgd(c,r) - pop(r)];
  4289.  
  4290. Variable (linear,change) (all,r,REG)(all,d,DIR)
  4291. CNTqgr(r,d)
  4292. # cont. to EV of changes in gov't consumption of dom. and imp goods in r #;
  4293. Equation E_CNTqgr
  4294. # cont. to EV of changes in gov't consumption of dom. and imp goods in r #
  4295. (all,r,REG)(all,d,DIR)
  4296. CNTqgr(r,d)
  4297. = IF[d="domestic", sum{c,COMM, CNTqgd(c,r)}]
  4298. + IF[d="imported", sum{c,COMM, CNTqgm(c,r)}];
  4299.  
  4300. !< Contribution to EV of changes in commodity use for investment >!
  4301. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4302. CNTqim(c,r)
  4303. # contribution to EV of changes in imported investment good c in r #;
  4304. Equation E_CNTqim
  4305. # contribution to EV of changes in imported investment good c in r #
  4306. (all,c,COMM)(all,r,REG)
  4307. CNTqim(c,r) = MITAX(c,r) * [0.01 * EVSCALFACT(r)] * [qim(c,r) - pop(r)];
  4308.  
  4309. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4310. CNTqid(c,r)
  4311. # contribution. to EV of changes in domestic investment good c in r #;
  4312. Equation E_CNTqid
  4313. # contribution. to EV of changes in domestic investment good c in r #
  4314. (all,c,COMM)(all,r,REG)
  4315. CNTqid(c,r) = DITAX(c,r) * [0.01 * EVSCALFACT(r)] * [qid(c,r) - pop(r)];
  4316.  
  4317. Variable (linear,change) (all,r,REG)(all,d,DIR)
  4318. CNTqia(r,d)
  4319. # contribution to EV of changes in dom. and imp. investment goods in r #;
  4320. Equation E_CNTqia
  4321. # contribution to EV of changes in dom. and imp. investment goods in r #
  4322. (all,r,REG)(all,d,DIR)
  4323. CNTqia(r,d)
  4324. = IF[d="domestic", sum{c,COMM, CNTqid(c,r)}]
  4325. + IF[d="imported", sum{c,COMM, CNTqim(c,r)}];
  4326.  
  4327. !< Contribution to EV of changes in commodity exports >!
  4328. Variable (linear,change) (all,c,COMM)(all,s,REG)(all,d,REG)
  4329. CNTqxs(c,s,d)
  4330. # contribution to EV of changes in exports of c from SRCE s to DEST d #;
  4331. Equation E_CNTqxs
  4332. # contribution to EV of changes in exports of c from SRCE s to DEST d #
  4333. (all,c,COMM)(all,s,REG)(all,d,REG)
  4334. CNTqxs(c,s,d) = [0.01 * EVSCALFACT(s)]
  4335. * XTAXD(c,s,d) * [qxs(c,s,d) - pop(s)];
  4336.  
  4337. Variable (linear,change) (all,r,REG)
  4338. CNTqxsr(r)
  4339. # cont. to EV of changes in exports of all goods from r to all destination #;
  4340. Equation E_CNTqxsr
  4341. # cont. to EV of changes in exports of all goods from SRCE s to all destination #
  4342. (all,s,REG)
  4343. CNTqxsr(s) = sum{c,COMM, sum{d,REG, CNTqxs(c,s,d)}};
  4344.  
  4345. !< @MRIO: New CNTqamds >!
  4346. Variable (linear,change) (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  4347. CNTqamds(c,aa,s,d)
  4348. # contribution to EV of changes in imports of c from SRCE s to DEST d by agents #;
  4349. Equation E_CNTqamds
  4350. # contribution to EV of changes in imports of c from SRCE s to DEST d by agents #
  4351. (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  4352. CNTqamds(c,aa,s,d) = [0.01 * EVSCALFACT(d)]
  4353. * MATAX(c,aa,s,d) * [qamds(c,aa,s,d) - pop(d)];
  4354.  
  4355. !< @MRIO: Revise CNTqms >!
  4356. !< Contribution to EV of changes in commodity imports >!
  4357. Variable (linear,change) (all,c,COMM)(all,s,REG)(all,d,REG)
  4358. CNTqms(c,s,d)
  4359. # contribution to EV of changes in imports of c from SRCE s to DEST d #;
  4360. Equation E_CNTqms
  4361. # contribution to EV of changes in imports of c from SRCE s to DEST d #
  4362. (all,c,COMM)(all,s,REG)(all,d,REG)
  4363. ![[!
  4364. CNTqms(c,s,d) = [0.01 * EVSCALFACT(d)]
  4365. * MTAX(c,s,d) * [qxs(c,s,d) - pop(d)];
  4366. !]]!
  4367. CNTqms(c,s,d) = sum{aa,AGENTS, CNTqamds(c,aa,s,d)};
  4368.  
  4369. Variable (linear,change) (all,r,REG)
  4370. CNTqmsr(r)
  4371. # cont. to EV of changes in imports of all goods from all SRCE to DEST r #;
  4372. Equation E_CNTqmsr
  4373. # cont. to EV of changes in imports of all goods from all SRCE to DEST d #
  4374. (all,d,REG)
  4375. CNTqmsr(d) = sum{c,COMM, sum{s,REG, CNTqms(c,s,d)}};
  4376.  
  4377. !<
  4378. 11-5.3 Endowments (EV)
  4379. ----------------------
  4380. >!
  4381. Variable (linear,change) (all,r,REG)
  4382. CNTendwr(r) # contribution to regional EV of changes in all ENDW #;
  4383. Equation E_CNTendwr
  4384. # contribution to regional EV of changes in all ENDW (INcludes depreciation) #
  4385. (all,r,REG)
  4386. CNTendwr(r)
  4387. = [0.01 * EVSCALFACT(r)]
  4388. * [sum{e,ENDW, sum{a,ACTS, EVOS(e,a,r) * [qes(e,a,r) - pop(r)]}}
  4389. - VDEP(r) * [kb(r) - pop(r)]];
  4390.  
  4391. Variable (linear,change) (all,e,ENDW)(all,r,REG)
  4392. CNTendw(e,r) # contribution to regional EV of changes in ENDW e in r #;
  4393. Equation E_CNTendw
  4394. # contribution to regional EV of changes in all ENDW (EXcludes depreciation) #
  4395. (all,e,ENDW)(all,r,REG)
  4396. CNTendw(e,r) = [0.01 * EVSCALFACT(r)] *
  4397. sum{a,ACTS, [EVOS(e,a,r) * [qes(e,a,r) - pop(r)]]};
  4398.  
  4399. !<
  4400. 11-5.4 Technology (EV)
  4401. ----------------------
  4402. >!
  4403.  
  4404. Variable (linear,change) (all,a,ACTS)(all,r,REG)
  4405. CNTtech_ao(a,r)
  4406. # cont. to regional EV of output augmenting tech change in a #;
  4407. Equation E_CNTtech_ao
  4408. # cont. to regional EV of output augmenting tech change in a #
  4409. (all,a,ACTS)(all,r,REG)
  4410. CNTtech_ao(a,r) = [0.01 * EVSCALFACT(r)] * VOS(a,r) * ao(a,r);
  4411.  
  4412. Variable (linear,change) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4413. CNTtech_afe(e,a,r)
  4414. # cont. to EV of primary factor e augmenting tech change in a #;
  4415. Equation E_CNTtech_afe
  4416. # cont. to EV of primary factor e augmenting tech change in a #
  4417. (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4418. CNTtech_afe(e,a,r) = [0.01 * EVSCALFACT(r)] * VFP(e,a,r) * afe(e,a,r);
  4419.  
  4420. Variable (linear,change) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4421. CNTtech_af(c,a,r)
  4422. # cont. to EV of composite c input augmenting tech change in act. a #;
  4423. Equation E_CNTtech_af
  4424. # cont. to EV of composite c input augmenting tech change in act. a #
  4425. (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4426. CNTtech_af(c,a,r)
  4427. = [0.01 * EVSCALFACT(r)] * [VMFP(c,a,r) + VDFP(c,a,r)] * afa(c,a,r);
  4428.  
  4429. Variable (linear,change) (all,a,ACTS)(all,r,REG)
  4430. CNTtech_aint(a,r)
  4431. # cont. to EV of composite c input augmenting tech change in act. a #;
  4432. Equation E_CNTtech_aint
  4433. # cont. to EV of composite c input augmenting tech change in act. a #
  4434. (all,a,ACTS)(all,r,REG)
  4435. CNTtech_aint(a,r)
  4436. = [0.01 * EVSCALFACT(r)]
  4437. * sum{c,COMM, [VMFP(c,a,r) + VDFP(c,a,r)] * aint(a,r)};
  4438.  
  4439. Variable (linear,change) (all,a,ACTS)(all,r,REG)
  4440. CNTtech_ava(a,r)
  4441. # cont. to EV of value added augmenting tech change in act. a #;
  4442. Equation E_CNTtech_ava
  4443. # cont. to EV of value added augmenting tech change in act. a #
  4444. (all,a,ACTS)(all,r,REG)
  4445. CNTtech_ava(a,r) = [0.01 * EVSCALFACT(r)] * VVA(a,r) * ava(a,r);
  4446.  
  4447. Variable (linear,change)(all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  4448. CNTtech_atmfsd(m,c,s,d)
  4449. # cont. to EV of tech change in transportation efficiency #;
  4450. Equation E_CNTtech_atmfsd
  4451. # cont. to EV of tech change in transportation efficiency #
  4452. (all,m,MARG)(all,c,COMM)(all,s,REG)(all,d,REG)
  4453. CNTtech_atmfsd(m,c,s,d)
  4454. = [0.01 * EVSCALFACT(d)] * VTMFSD(m,c,s,d) * atmfsd(m,c,s,d);
  4455.  
  4456. !< @MRIO: New CNTtech_amsa>!
  4457. Variable (linear,change) (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  4458. CNTtech_amsa(c,aa,s,d)
  4459. # cont. to EV of bilateral import augmenting tech change for COMM c by agent #;
  4460. Equation E_CNTtech_amsa
  4461. # cont. to EV of bilateral import augmenting tech change for COMM c #
  4462. (all,c,COMM)(all,aa,AGENTS)(all,s,REG)(all,d,REG)
  4463. CNTtech_amsa(c,aa,s,d)
  4464. = [0.01 * EVSCALFACT(s)] * VMAB(c,aa,s,d) * amsa(c,aa,s,d);
  4465.  
  4466. !< @MRIO: Revise CNTtech_ams>!
  4467. Variable (linear,change) (all,c,COMM)(all,s,REG)(all,d,REG)
  4468. CNTtech_ams(c,s,d)
  4469. # cont. to EV of bilateral import augmenting tech change for COMM c #;
  4470. Equation E_CNTtech_ams
  4471. # cont. to EV of bilateral import augmenting tech change for COMM c #
  4472. (all,c,COMM)(all,s,REG)(all,d,REG)
  4473. ![[! CNTtech_ams(c,s,d) = [0.01 * EVSCALFACT(s)] * VMSB(c,s,d) * ams(c,s,d); !]]!
  4474. CNTtech_ams(c,s,d) = sum{aa,AGENTS, CNTtech_amsa(c,aa,s,d)};
  4475.  
  4476. !<
  4477. 11-5.5 Terms of Trade (EV)
  4478. --------------------------
  4479. >!
  4480. Variable (linear,change) (all,r,REG)
  4481. CNTtotr(r)
  4482. # contribution to regional EV of changes in its terms of trade #;
  4483. Equation E_CNTtotr
  4484. # contribution to regional EV of changes in its terms of trade #
  4485. (all,r,REG)
  4486. CNTtotr(r)
  4487. = [0.01 * EVSCALFACT(r)]
  4488. * [sum{c,COMM, sum{d,REG, VFOB(c,r,d) * [pfob(c,r,d) - pxwwld]}}
  4489. + sum{m,MARG, VST(m,r) * [pds(m,r) - pxwwld]}
  4490. - sum{c,COMM, sum{s,REG, VFOB(c,s,r) * [pfob(c,s,r) - pxwwld]}}
  4491. - sum{m,MARG, VTMD(m,r) * [pt(m) - pxwwld]}];
  4492.  
  4493. Variable (linear,change) (all,r,REG)
  4494. CNTpinv(r) # contribution to regional EV of changes in investment price #;
  4495. Equation E_CNTpinv
  4496. # contribution to regional EV of changes in investment price index #
  4497. (all,r,REG)
  4498. CNTpinv(r)
  4499. = [0.01 * EVSCALFACT(r)]
  4500. * [NETINV(r) * [pinv(r) - pxwwld] - SAVE(r) * [psave(r) - pxwwld]];
  4501.  
  4502. !<
  4503. 11-5.6 Population (EV)
  4504. ----------------------
  4505. >!
  4506. Variable (linear,change) (all,r,REG)
  4507. CNTpop(r) # contribution to EV in region r of change in population #;
  4508. Equation E_CNTpop
  4509. # contribution to EV in region r of change in population #
  4510. (all,r,REG)
  4511. CNTpop(r) = 0.01 * INCOMEEV(r) * pop(r);
  4512.  
  4513. !<
  4514. 11-5.7 Summary of contributions (EV)
  4515. ------------------------------------
  4516. >!
  4517.  
  4518. !< Allocative efficiency contributions >!
  4519. Variable (linear,change) (all,r,REG)(all,t,CTAX)
  4520. CNTalleffr(r,t) # total contribution to regional EV of allocative effects #;
  4521. Equation E_CNTalleffr
  4522. # total contribution to regional EV of allocative effects #
  4523. (all,r,REG)(all,t,CTAX)
  4524. CNTalleffr(r,t)
  4525. = IF[t="prodtax", sum{c,COMM, sum{a,ACTS, CNTqca(c,a,r)}} ]
  4526. + IF[t="inctax", sum{e,ENDW, sum{a,ACTS, CNTqea(e,a,r)}} ]
  4527. + IF[t="pfacttax", sum{e,ENDW, sum{a,ACTS, CNTqfe(e,a,r)}} ]
  4528. + IF[t="inputtax", sum{c,COMM, sum{a,ACTS, CNTqfd(c,a,r) + CNTqfm(c,a,r)}}]
  4529. + IF[t="contax", sum{c,COMM, CNTqpd(c,r) + CNTqpm(c,r)}]
  4530. + IF[t="govtax", sum{c,COMM, CNTqgd(c,r) + CNTqgm(c,r)}]
  4531. + IF[t="invtax", sum{c,COMM, CNTqid(c,r) + CNTqim(c,r)}]
  4532. + IF[t="xtax", sum{c,COMM, sum{d,REG, CNTqxs(c,r,d)}} ]
  4533. + IF[t="mtax", sum{c,COMM, sum{s,REG, CNTqms(c,s,r)}} ];
  4534.  
  4535. Variable (linear,change) (all,c,COMM)(all,r,REG)
  4536. CNTalleffcr(c,r)
  4537. # total contribution to regional EV of allocative effects #;
  4538. Equation E_CNTalleffcr
  4539. # total contribution to regional EV of allocative effects #
  4540. (all,c,COMM)(all,r,REG)
  4541. CNTalleffcr(c,r)
  4542. = sum{a,ACTS, CNTqfd(c,a,r) + CNTqfm(c,a,r)}
  4543. + CNTqpd(c,r) + CNTqpm(c,r)
  4544. + CNTqgd(c,r) + CNTqgm(c,r)
  4545. + CNTqid(c,r) + CNTqim(c,r)
  4546. + sum{d,REG, CNTqxs(c,r,d)}
  4547. + sum{s,REG, CNTqms(c,s,r)};
  4548.  
  4549. Variable (linear,change) (all,r,REG)(all,t,TECHTYPE)
  4550. CNTtechr(t,r) # contribution to regional EV of all technical change #;
  4551. Equation E_CNTtechr
  4552. # contribution to regional EV of all technical change #
  4553. (all,t,TECHTYPE)(all,r,REG)
  4554. CNTtechr(t,r)
  4555. = IF[t="output", sum{a,ACTS, CNTtech_ao(a,r)}]
  4556. + IF[t="ininput", sum{a,ACTS, CNTtech_aint(a,r)
  4557. + sum{c,COMM, CNTtech_af(c,a,r)}}]
  4558. + IF[t="primfac", sum{e,ENDW, sum{a,ACTS, CNTtech_afe(e,a,r)}}]
  4559. + IF[t="v_added", sum{a,ACTS,CNTtech_ava(a,r)}]
  4560. + IF[t="transp", sum{m,MARG, sum{c,COMM, sum{s,REG,
  4561. CNTtech_atmfsd(m,c,s,r)}}}]
  4562. + IF[t="import", sum{c,COMM, sum{s,REG, CNTtech_ams(c,s,r)}}];
  4563.  
  4564. !< Contributions to EV of changes in capital stock and depreciation >!
  4565. Variable (linear,change) (all,r,REG)
  4566. CNTkb(r)
  4567. # cont. to EV of changes to beg. period capital stock and depreciation #;
  4568. Equation E_CNTkb
  4569. # cont. to EV of changes to beg. period capital stock and depreciation #
  4570. (all,r,REG)
  4571. CNTkb(r) = - [0.01 * EVSCALFACT(r)] * VDEP(r) * [kb(r) - pop(r)];
  4572.  
  4573. !<
  4574. ===========================
  4575. END OF GTAP model equations
  4576. ===========================
  4577. >!
  4578.  
  4579. !<
  4580. ================================================
  4581. Welfare summary and post-simulation calculations
  4582. ================================================
  4583. >!
  4584.  
  4585. !<
  4586. --------------------------
  4587. C. Welfare summary modules
  4588. --------------------------
  4589. C-A: EV decomposition: Summary
  4590. C-A1: Allocative efficiency effect: Commodity summary
  4591. C-A2: Allocative efficiency effect: Tax type summary
  4592. C-AX: Decomposition of allocative effect, by tax type and commodity
  4593. C-B1: Endowment effect: Gross of depreciation
  4594. C-B2: Endowment effect: Depreciation
  4595. C-C1: Technical change effect
  4596. C-D1: Population effect
  4597. C-E1: Terms of trade (ToT) effect
  4598. C-F1: I-S Effect: Explanatory factors
  4599. >!
  4600.  
  4601. !<
  4602. Preliminaries: Assign initial values
  4603. ------------------------------------
  4604. >!
  4605.  
  4606. Zerodivide default RNREG;
  4607.  
  4608. Coefficient (parameter) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4609. BEVFP(e,a,r) # producer expenditure on c by act. a #;
  4610. Formula (initial) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4611. BEVFP(e,a,r) = EVFP(e,a,r);
  4612.  
  4613. Coefficient (parameter) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4614. BVMFP(c,a,r) # purchases of imported c r for use in a in region r #;
  4615. Formula (initial) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4616. BVMFP(c,a,r) = VMFP(c,a,r);
  4617.  
  4618. Coefficient (parameter) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4619. BVDFP(c,a,r) # purchases of domestic c r for use in a in region r #;
  4620. Formula (initial) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4621. BVDFP(c,a,r) = VDFP(c,a,r);
  4622.  
  4623. Coefficient (parameter) (all,a,ACTS)(all,r,REG)
  4624. BVOS(a,r) # value of commodity c output in region r #;
  4625. Formula (initial)(all,a,ACTS)(all,r,REG)
  4626. BVOS(a,r)
  4627. = sum{e,ENDW, BEVFP(e,a,r)}
  4628. + sum{c,COMM, BVMFP(c,a,r) + BVDFP(c,a,r)};
  4629.  
  4630. Coefficient (parameter) (all,c,COMM)(all,s,REG)(all,d,REG)
  4631. BVXSB(c,s,d)
  4632. # exports of c from r to s at basic prices (tradeables only) #;
  4633. Formula (initial) (all,c,COMM)(all,s,REG)(all,d,REG)
  4634. BVXSB(c,s,d) = VXSB(c,s,d);
  4635.  
  4636. Coefficient (parameter)(all,c,COMM)(all,r,REG)
  4637. BVDPB(c,r) # private household expenditure on domestic c in r #;
  4638. Formula (initial) (all,c,COMM)(all,r,REG)
  4639. BVDPB(c,r) = VDPB(c,r);
  4640.  
  4641. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4642. BVDGB(c,r) # government household expenditure on domestic c in r #;
  4643. Formula (initial) (all,c,COMM)(all,r,REG)
  4644. BVDGB(c,r) = VDGB(c,r);
  4645.  
  4646. Coefficient (parameter) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4647. BVDFB(c,a,r) # purchases of domestic c for use in a in region r #;
  4648. Formula (initial) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4649. BVDFB(c,a,r) = VDFB(c,a,r);
  4650.  
  4651. Coefficient (parameter) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4652. BEVFB(e,a,r) # producer expenditure on c by a in r at basic prices #;
  4653. Formula (initial) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4654. BEVFB(e,a,r) = EVFB(e,a,r);
  4655.  
  4656. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4657. BVDB(c,r) # domestic sales of c in r at basic prices (tradeables only) #;
  4658. Formula (initial) (all,c,COMM)(all,r,REG)
  4659. BVDB(c,r) = VDB(c,r);
  4660.  
  4661. Coefficient (parameter) (all,m,MARG)(all,r,REG)
  4662. BVST(m,r)
  4663. # exports of m from r for int'l transp. at basic prices (tradeables only) #;
  4664. Formula (initial) (all,m,MARG)(all,r,REG)
  4665. BVST(m,r) = VST(m,r);
  4666.  
  4667. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4668. BVCB(c,r) # value of commodity c output in region r at basic prices #;
  4669. Formula (initial) (all,c,COMM)(all,r,REG)
  4670. BVCB(c,r) = VCB(c,r);
  4671. Formula (initial) (all,c,COMM)(all,r,REG)
  4672. BVCB(c,r) = BVDB(c,r) + sum{d,REG, BVXSB(c,r,d)}
  4673. + IF[c in MARG, BVST(c,r)];
  4674.  
  4675. Coefficient (parameter) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4676. BVEB(e,a,r) # value of endowment e in region r at basic prices #;
  4677. Formula (initial) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4678. BVEB(e,a,r) = EVFB(e,a,r);
  4679.  
  4680. Coefficient (parameter) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4681. BMAKEB(c,a,r) # value of total output of firm a at initial basic prices #;
  4682. Formula (initial) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4683. BMAKEB(c,a,r) = MAKEB(c,a,r);
  4684.  
  4685. Coefficient (parameter) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4686. BOUTAX(c,a,r) # power of activity output tax, base #;
  4687. Formula (initial) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4688. BOUTAX(c,a,r) = [MAKEB(c,a,r) - MAKES(c,a,r)] / MAKES(c,a,r) * 100;
  4689.  
  4690. Coefficient (parameter) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4691. BEVOS(e,a,r) # initial endowment supply #;
  4692. Formula (initial) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4693. BEVOS(e,a,r) = EVOS(e,a,r);
  4694.  
  4695. Coefficient (parameter)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4696. BINCTAX(e,a,r) # initial income tax #;
  4697. Formula (initial) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4698. BINCTAX(e,a,r) = [[BVEB(e,a,r) - BEVOS(e,a,r)] / BEVOS(e,a,r)] * 100;
  4699.  
  4700. Coefficient (parameter) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4701. BVMFB(c,a,r) # purchases of imports c for use in act. a in region r #;
  4702. Formula (initial) (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4703. BVMFB(c,a,r) = VMFB(c,a,r);
  4704.  
  4705. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4706. BVMPB(c,r) # private household expenditure on c in r #;
  4707. Formula (initial) (all,c,COMM)(all,r,REG)
  4708. BVMPB(c,r) = VMPB(c,r);
  4709.  
  4710. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4711. BVMPP(c,r) # private household expenditure on imported c #;
  4712. Formula (initial) (all,c,COMM)(all,r,REG)
  4713. BVMPP(c,r) = VMPP(c,r);
  4714.  
  4715. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4716. BVDPP(c,r) # private household expenditure on domestic c in r #;
  4717. Formula (initial) (all,c,COMM)(all,r,REG)
  4718. BVDPP(c,r) = VDPP(c,r);
  4719.  
  4720. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4721. BVMGB(c,r) # gov't household expenditure on c in r #;
  4722. Formula (initial) (all,c,COMM)(all,r,REG)
  4723. BVMGB(c,r) = VMGB(c,r);
  4724.  
  4725. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4726. BVMGP(c,r) # government household expenditure on imported c #;
  4727. Formula (initial) (all,c,COMM)(all,r,REG)
  4728. BVMGP(c,r) = VMGP(c,r);
  4729.  
  4730. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4731. BVDGP(c,r) # government household expenditure on domestic c in r #;
  4732. Formula (initial) (all,c,COMM)(all,r,REG)
  4733. BVDGP(c,r) = VDGP(c,r);
  4734.  
  4735. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4736. BVMIB(c,r) # investment expenditure on c in r #;
  4737. Formula (initial) (all,c,COMM)(all,r,REG)
  4738. BVMIB(c,r) = VMIB(c,r);
  4739.  
  4740. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4741. BVMIP(c,r) # investment expenditure on imported c #;
  4742. Formula (initial) (all,c,COMM)(all,r,REG)
  4743. BVMIP(c,r) = VMIP(c,r);
  4744.  
  4745. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4746. BVDIP(c,r) # investment expenditure on domestic c in r #;
  4747. Formula (initial) (all,c,COMM)(all,r,REG)
  4748. BVDIP(c,r) = VDIP(c,r);
  4749.  
  4750. Coefficient (parameter) (all,c,COMM)(all,r,REG)
  4751. BVDIB(c,r) # investment expenditure on domestic c in r #;
  4752. Formula (initial) (all,c,COMM)(all,r,REG)
  4753. BVDIB(c,r) = VDIB(c,r);
  4754.  
  4755. Coefficient (parameter) (all,c,COMM)(all,s,REG)(all,d,REG)
  4756. BVMSB(c,s,d) # imports of c from r to s at domestic basic prices #;
  4757. Formula (initial) (all,c,COMM)(all,s,REG)(all,d,REG)
  4758. BVMSB(c,s,d) = VMSB(c,s,d);
  4759.  
  4760. Coefficient (parameter) (all,c,COMM)(all,s,REG)(all,d,REG)
  4761. BVCIF(c,s,d) # imports of c from r to s valued cif (tradeables only) #;
  4762. Formula (initial) (all,c,COMM)(all,s,REG)(all,d,REG)
  4763. BVCIF(c,s,d) = VCIF(c,s,d);
  4764.  
  4765. Coefficient (parameter) (all,c,COMM)(all,s,REG)(all,d,REG)
  4766. BMTAX(c,s,d) # power of import tax, base #;
  4767. Formula (initial) (all,c,COMM)(all,s,REG)(all,d,REG)
  4768. BMTAX(c,s,d) = [BVMSB(c,s,d) - BVCIF(c,s,d)] / BVCIF(c,s,d) * 100;
  4769.  
  4770. Coefficient (parameter) (all,c,COMM)(all,s,REG)(all,d,REG)
  4771. BVFOB(c,s,d) # exports of c from r to s valued fob (tradeables only) #;
  4772. Formula (initial) (all,c,COMM)(all,s,REG)(all,d,REG)
  4773. BVFOB(c,s,d) = VFOB(c,s,d);
  4774.  
  4775. Coefficient (parameter) (all,c,COMM)(all,s,REG)(all,d,REG)
  4776. BXTAX(c,s,d) # power of exports tax, base #;
  4777. Formula (initial) (all,c,COMM)(all,s,REG)(all,d,REG)
  4778. BXTAX(c,s,d) = [BVFOB(c,s,d) - BVXSB(c,s,d)] / BVXSB(c,s,d) * 100;
  4779.  
  4780. Coefficient (parameter) (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4781. BETAX(e,a,r) # power of exports tax, base #;
  4782. Formula (initial)(all,e,ENDW)(all,a,ACTS)(all,r,REG)
  4783. BETAX(e,a,r) = [BEVFP(e,a,r) - BEVFB(e,a,r)] / BEVFB(e,a,r) * 100;
  4784.  
  4785. Coefficient (parameter) (all,r,REG)
  4786. BSAVE(r) # expenditure on NET saving in region r at purchaser's prices #;
  4787. Formula (initial) (all,r,REG)
  4788. BSAVE(r) = SAVE(r);
  4789.  
  4790. Coefficient (parameter) (all,r,REG)
  4791. ISBAL(r) # I-S balance, NETINV(r) - SAVE(r) #;
  4792. Formula (initial) (all,r,REG)
  4793. ISBAL(r) = NETINV(r) - BSAVE(r);
  4794. Zerodivide off;
  4795.  
  4796. !<
  4797. Begin post-sim calculations
  4798. ...........................
  4799. >!
  4800.  
  4801. postsim (begin);
  4802.  
  4803. File (new) WELVIEW # output file containing welfare decomposition summary #;
  4804.  
  4805. !<
  4806. SET definitions for Welfare summary file. Supplementary sets for "toggles"
  4807. in VIEWHAR.
  4808. >!
  4809. Set
  4810. UNITA # dummy (unit) set for activities # (a);
  4811. Set
  4812. UNITC # dummy (unit) set for commodities # (c);
  4813. Set
  4814. UACT = UNITA x ACTS;
  4815. Set
  4816. UCOM = UNITC x COMM;
  4817. Set
  4818. ALLOCEFF = ENDW + UACT + UCOM;
  4819. Set
  4820. ENDWACTS = ENDW + ACTS;
  4821. Set
  4822. TAXSUM(pfacttax,prodtax,comtax);
  4823. Set
  4824. TYPE(xtax,mtax);
  4825. Subset
  4826. TYPE is subset of CTAX;
  4827. Set
  4828. PRICES(pworld,pexport,pimport);
  4829. Set
  4830. ACTIVITY(firm, private, investment, govt);
  4831. Set
  4832. COL(welcnt, dvol, taxrateb, taxrateu);
  4833. Set
  4834. DIREC(import,export);
  4835. Set
  4836. FORM(percent,value);
  4837. Set
  4838. COLM(ISbal,p_cgds,p_save);
  4839.  
  4840. Zerodivide default RNREG;
  4841. Zerodivide (nonzero_by_zero) default RNREG;
  4842. !<
  4843. C-A: EV decomposition summary
  4844. -----------------------------
  4845. >!
  4846.  
  4847. Coefficient (all,r,REG)(all,c,COLUMN)
  4848. WELFARE(r,c) # aggregate report of welfare change #;
  4849. Formula (all,r,REG)
  4850. WELFARE(r,"alloc_A1")= sum{t, CTAX, CNTalleffr(r,t)};
  4851. Formula (all,r,REG)
  4852. WELFARE(r,"ENDWB1") = CNTendwr(r);
  4853. Formula (all,r,REG)
  4854. WELFARE(r,"tech_C1") = sum{t,TECHTYPE, CNTtechr(t,r)};
  4855. Formula (all,r,REG)
  4856. WELFARE(r,"pop_D1") = CNTpop(r);
  4857. Formula (all,r,REG)
  4858. WELFARE(r,"tot_E1") = CNTtotr(r);
  4859. Formula (all,r,REG)
  4860. WELFARE(r,"IS_F1") = CNTpinv(r);
  4861. Formula (all,r,REG)
  4862. WELFARE(r,"PREF_G1") = CNTdpar(r);
  4863.  
  4864. Write
  4865. WELFARE to file WELVIEW header "A"
  4866. longname "EV Decomposition: Summary";
  4867.  
  4868. !<
  4869. C-A1: Allocative efficiency effect: Activity, comodity and endowment Summary
  4870. ----------------------------------------------------------------------------
  4871. >!
  4872.  
  4873. Mapping UCOM2COMM from UCOM to COMM;
  4874. Formula (all,c,UCOM)
  4875. UCOM2COMM(c) = $POS(c);
  4876. Mapping UACT2ACTS from UACT to ACTS;
  4877. Formula (all,a,UACT)
  4878. UACT2ACTS(a) = $POS(a);
  4879.  
  4880. Coefficient (all,a,ALLOCEFF)(all,r,REG)
  4881. CNTalleff(a,r) # allocative efficiency #;
  4882. Formula (all,r,REG)(all,e,ENDW)
  4883. CNTalleff(e,r) = CNTqfeer(e,r) + CNTqe(e,r);
  4884. Formula (all,r,REG)(all,c,UCOM)
  4885. CNTalleff(c,r) = CNTalleffcr(UCOM2COMM(c),r);
  4886. Formula (all,r,REG)(all,a,UACT)
  4887. CNTalleff(a,r) = sum{c,COMM, CNTqca(c,UACT2ACTS(a),r)};
  4888.  
  4889. Write
  4890. CNTalleff to file WELVIEW header "A1"
  4891. longname "Allocative Efficiency Effect: Summary";
  4892.  
  4893. !<
  4894. C-A2: Allocative efficiency effect: Tax type summary
  4895. ----------------------------------------------------
  4896. >!
  4897. Coefficient (all,r,REG)(all,t,CTAX)
  4898. CNTalleffkr(r,t) # allocative efficiency effect #;
  4899. Formula (all,r,REG)(all,t,CTAX)
  4900. CNTalleffkr(r,t) = CNTalleffr(r,t);
  4901. Write
  4902. CNTalleffkr to file WELVIEW header "A2"
  4903. longname "Allocative Efficiency Effect: Tax Type Summary";
  4904.  
  4905. !<
  4906. C-AX: Decomposition of allocative effect: Tax type
  4907. --------------------------------------------------
  4908.  
  4909. C-A21: Output tax effect
  4910. C-A22: Domestic tax effect
  4911. C-A23: Trade tax effect
  4912. C-A24: Endowment tax effect
  4913. C-A25: Factor income tax effect
  4914. >!
  4915.  
  4916. !<
  4917. C-A21: Output tax effect
  4918. .........................
  4919. >!
  4920.  
  4921. Coefficient (all,a,ACTS)(all,r,REG)
  4922. OTAX(a,r) # output tax effect #;
  4923. Formula (all,a,ACTS)(all,r,REG)
  4924. OTAX(a,r) = CNTqo(a,r);
  4925.  
  4926. Write
  4927. OTAX to file WELVIEW header "A21"
  4928. longname "Output Tax Effect";
  4929.  
  4930. !<
  4931. C-A211: Output tax effect: Explanatory factors
  4932. ..............................................
  4933. >!
  4934.  
  4935. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4936. UOUTAX(c,a,r) # power of activity output tax, updated #;
  4937. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  4938. UOUTAX(c,a,r) = [MAKEB(c,a,r) - MAKES(c,a,r)] / MAKES(c,a,r) * 100;
  4939.  
  4940. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,co,COL)
  4941. OUTPUT(c,a,r,co) # output tax, explanatory factors #;
  4942. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,co,COL)
  4943. OUTPUT(c,a,r,co)
  4944. = IF[co="welcnt", CNTqca(c,a,r)]
  4945. + IF[co="dvol", BMAKEB(c,a,r) * qo(a,r) / 100]
  4946. + IF[co="taxrateb", BOUTAX(c,a,r)]
  4947. + IF[co="taxrateu", UOUTAX(c,a,r)];
  4948. Write
  4949. OUTPUT to file WELVIEW header "A211"
  4950. longname "Output Tax Effect: Explanatory Factors";
  4951.  
  4952. !<
  4953. C-A22: Domestic tax effect
  4954. ---------------------------
  4955.  
  4956. C-A22: Domestic tax effect: Summary
  4957. C-A221: Intermed. input tax effect
  4958. C-A222: Investment interm. input tax effect
  4959. C-A22F: Intermed. input tax effect: Explanatory factors
  4960. C-A22P: Private cons. tax effect: Explanatory factors
  4961. C-A22G: Government cons. tax effect: Explanatory factors
  4962. C-A22I: Investment demand Tax Effect: Explanatory factors
  4963. >!
  4964.  
  4965. !<
  4966. C-A22: Domestic tax effect: Summary
  4967. ...................................
  4968. >!
  4969.  
  4970. Coefficient (all,c,COMM)(all,ac,ACTIVITY)(all,r,REG)(all,t,DIR)
  4971. ATAX(c,ac,r,t) # tax effect: summary #;
  4972. Formula (all,c,COMM)(all,ac,ACTIVITY)(all,r,REG)
  4973. ATAX(c,ac,r,"domestic")
  4974. = IF[ac="firm", sum{a,ACTS, CNTqfd(c,a,r)}]
  4975. + IF[ac="private", CNTqpd(c,r)]
  4976. + IF[ac="govt", CNTqgd(c,r)]
  4977. + IF[ac="investment", CNTqid(c,r)];
  4978. Formula (all,c,COMM)(all,ac,ACTIVITY)(all,r,REG)
  4979. ATAX(c,ac,r,"imported")
  4980. = IF[ac="firm", sum{a,ACTS, CNTqfm(c,a,r)}]
  4981. + IF[ac="private", CNTqpm(c,r)]
  4982. + IF[ac="govt", CNTqgm(c,r)]
  4983. + IF[ac="investment", CNTqim(c,r)];
  4984. Write
  4985. ATAX to file WELVIEW header "A22"
  4986. longname "Domestic Tax Effect: Summary";
  4987.  
  4988. !<
  4989. C-A221: Intermediate input tax effect
  4990. .....................................
  4991. >!
  4992.  
  4993. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,d,DIR)
  4994. STAX(c,a,r,d) # intermediate input tax effect #;
  4995. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,d,DIR)
  4996. STAX(c,a,r,d)
  4997. = IF[d="domestic", CNTqfd(c,a,r)]
  4998. + IF[d="imported", CNTqfm(c,a,r)];
  4999. Write
  5000. STAX to file WELVIEW header "A221"
  5001. longname "Intermed. Input Tax Effect";
  5002.  
  5003. !<
  5004. C-A222: Investment intermediate input tax effect
  5005. ................................................
  5006. >!
  5007.  
  5008. Coefficient (all,c,COMM)(all,r,REG)(all,d,DIR)
  5009. ITAX(c,r,d) # investment intermediate input tax effect #;
  5010. Formula (all,c,COMM)(all,r,REG)(all,d,DIR)
  5011. ITAX(c,r,d)
  5012. = IF[d="domestic", CNTqid(c,r)]
  5013. + IF[d="imported", CNTqim(c,r)];
  5014.  
  5015. Write
  5016. ITAX to file WELVIEW header "A222"
  5017. longname "Investment Intermed. Input Tax Effect";
  5018.  
  5019. !<
  5020. C-A22F: Intermediate input tax effect: Explanatory factors
  5021. ..........................................................
  5022. >!
  5023.  
  5024. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,d,DIR)(all,co,COL)
  5025. FIRM(c,a,r,d,co) # explanatory factors: firm interm. input tax effect #;
  5026. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,co,COL)
  5027. FIRM(c,a,r,"domestic",co)
  5028. = IF[co="dvol", [BVDFB(c,a,r) * qfd(c,a,r)] / 100]
  5029. + IF[co="taxrateb", 100 * [BVDFP(c,a,r) - BVDFB(c,a,r)] / BVDFB(c,a,r)]
  5030. + IF[co="taxrateu", 100 * [VDFP(c,a,r) - VDFB(c,a,r)] / VDFB(c,a,r)];
  5031. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,co,COL)
  5032. FIRM(c,a,r,"imported",co)
  5033. = IF[co="dvol", [BVMFB(c,a,r) * qfm(c,a,r)] / 100]
  5034. + IF[co="taxrateb", 100 * [BVMFP(c,a,r) - BVMFB(c,a,r)] / BVMFB(c,a,r)]
  5035. + IF[co="taxrateu", 100 * [VMFP(c,a,r) - VMFB(c,a,r)] / VMFB(c,a,r)];
  5036. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)(all,d,DIR)
  5037. FIRM(c,a,r,d,"welcnt") = STAX(c,a,r,d);
  5038.  
  5039. Write
  5040. FIRM to file WELVIEW header "A22F"
  5041. longname "Intermed. Input Tax Effect: Explanatory Factors";
  5042.  
  5043. !<
  5044. C-A22P: Private consumption tax Effect: Explanatory Factors
  5045. ...........................................................
  5046. >!
  5047.  
  5048. Coefficient (all,c,COMM)(all,r,REG)(all,d,DIR)(all,co,COL)
  5049. PRIVATE(c,r,d,co) # explanatory factors: priv hh consumption tax effect #;
  5050. Formula (all,c,COMM)(all,r,REG)(all,co,COL)
  5051. PRIVATE(c,r,"domestic",co)
  5052. = IF[co="dvol", [BVDPB(c,r) * qpd(c,r)] / 100]
  5053. + IF[co="taxrateb", 100 * [BVDPP(c,r) - BVDPB(c,r)] / BVDPB(c,r)]
  5054. + IF[co="taxrateu", 100 * [VDPP(c,r) - VDPB(c,r)] / VDPB(c,r)];
  5055. Formula (all,c,COMM)(all,r,REG)(all,co,COL)
  5056. PRIVATE(c,r,"imported",co)
  5057. = IF[co="dvol", [BVMPB(c,r) * qpm(c,r)] / 100]
  5058. + IF[co="taxrateb", 100 * [BVMPP(c,r) - BVMPB(c,r)] / BVMPB(c,r)]
  5059. + IF[co="taxrateu", 100 * [VMPP(c,r) - VMPB(c,r)] / VMPB(c,r)];
  5060. Formula (all,c,COMM)(all,r,REG)(all,d,DIR)
  5061. PRIVATE(c,r,d,"welcnt") = ATAX(c,"private",r,d);
  5062.  
  5063. Write
  5064. PRIVATE to file WELVIEW header "A22P"
  5065. longname "Private Cons. Tax Effect: Explanatory Factors";
  5066.  
  5067. !<
  5068. C-A22G: Government consumption tax effect: Explanatory factors
  5069. ..............................................................
  5070. >!
  5071.  
  5072. Coefficient (all,c,COMM)(all,r,REG)(all,d,DIR)(all,co,COL)
  5073. GOVT(c,r,d,co) # explanatory factors: gov't hh consumption tax effect #;
  5074. Formula (all,c,COMM)(all,r,REG)(all,co,COL)
  5075. GOVT(c,r,"domestic",co)
  5076. = IF[co="dvol", [BVDGB(c,r) * qgd(c,r)] / 100]
  5077. + IF[co="taxrateb", 100 * [BVDGP(c,r) - BVDGB(c,r)] / BVDGB(c,r)]
  5078. + IF[co="taxrateu", 100 * [VDGP(c,r) - VDGB(c,r)] / VDGB(c,r)];
  5079. Formula (all,c,COMM)(all,r,REG)(all,co,COL)
  5080. GOVT(c,r,"imported",co)
  5081. = IF[co="dvol", [BVMGB(c,r) * qgm(c,r)] / 100]
  5082. + IF[co="taxrateb", 100 * [BVMGP(c,r) - BVMGB(c,r)] / BVMGB(c,r)]
  5083. + IF[co="taxrateu", 100 * [VMGP(c,r) - VMGB(c,r)] / VMGB(c,r)];
  5084. Formula (all,c,COMM)(all,r,REG)(all,d,DIR)
  5085. GOVT(c,r,d,"welcnt") = ATAX(c,"govt",r,d);
  5086.  
  5087. Write
  5088. GOVT to file WELVIEW header "A22G"
  5089. longname "Government Cons. Tax Effect: Explanatory Factors";
  5090.  
  5091. !<
  5092. C-A22I: Investment tax effect: Explanatory factors
  5093. ..................................................
  5094. >!
  5095.  
  5096. Coefficient (all,c,COMM)(all,r,REG)(all,d,DIR)(all,co,COL)
  5097. INVESTMENT(c,r,d,co) # explanatory factors: investment tax effect #;
  5098. Formula (all,c,COMM)(all,r,REG)(all,co,COL)
  5099. INVESTMENT(c,r,"domestic",co)
  5100. = IF[co="dvol", [BVDIB(c,r) * qid(c,r)] / 100]
  5101. + IF[co="taxrateb", 100 * [BVDIP(c,r) - BVDIB(c,r)] / BVDIB(c,r)]
  5102. + IF[co="taxrateu", 100 * [VDIP(c,r) - VDIB(c,r)] / VDIB(c,r)];
  5103. Formula (all,c,COMM)(all,r,REG)(all,co,COL)
  5104. INVESTMENT(c,r,"imported",co)
  5105. = IF[co="dvol", [BVMIB(c,r) * qim(c,r)] / 100]
  5106. + IF[co="taxrateb", 100 * [BVMIP(c,r) - BVMIB(c,r)] / BVMIB(c,r)]
  5107. + IF[co="taxrateu", 100 * [VMIP(c,r) - VMIB(c,r)] / VMIB(c,r)];
  5108. Formula (all,c,COMM)(all,r,REG)(all,d,DIR)
  5109. INVESTMENT(c,r,d,"welcnt") = ATAX(c,"investment",r,d);
  5110.  
  5111. Write
  5112. INVESTMENT to file WELVIEW header "A22I"
  5113. longname "Investment Tax Effect: Explanatory Factors";
  5114.  
  5115. !<
  5116. C-A23: Trade tax effect
  5117. ------------------------
  5118.  
  5119. C-A23: Trade tax effect
  5120. C-A231: Trade tax effect: Explanatory factors
  5121. >!
  5122.  
  5123. !<
  5124. C-A23: Trade tax effect
  5125. ........................
  5126. >!
  5127.  
  5128. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)(all,k,TYPE)
  5129. TTAX(c,s,d,k) # trade tax effect #;
  5130. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5131. TTAX(c,s,d,"xtax") = CNTqxs(c,s,d);
  5132. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5133. TTAX(c,s,d,"mtax") = CNTqms(c,s,d);
  5134.  
  5135. Write
  5136. TTAX to file WELVIEW header "A23"
  5137. longname "Trade Tax Effect";
  5138.  
  5139. !<
  5140. C-A231: Trade tax effect: Explanatory factors
  5141. .............................................
  5142. >!
  5143.  
  5144. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  5145. UMTAX(c,s,d) # power of import tax, updated # ;
  5146. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5147. UMTAX(c,s,d) = [VMSB(c,s,d) - VCIF(c,s,d)] / VCIF(c,s,d) * 100;
  5148.  
  5149. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  5150. UXTAX(c,s,d) # power of export tax, updated #;
  5151. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5152. UXTAX(c,s,d) = [VFOB(c,s,d) - VXSB(c,s,d)] / VXSB(c,s,d) * 100;
  5153.  
  5154. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)(all,co,COL)(all,dc,DIREC)
  5155. TRADE(c,s,d,co,dc) # trade tax effect: explanatory factors # ;
  5156. Formula (all,c,COMM)(all,s,REG)(all,d,REG)(all,co,COL)
  5157. TRADE(c,s,d,co,"export")
  5158. = IF[co="welcnt", TTAX(c,s,d,"xtax")]
  5159. + IF[co="dvol", BVXSB(c,s,d) * qxs(c,s,d) / 100]
  5160. + IF[co="taxrateb", BXTAX(c,s,d)]
  5161. + IF[co="taxrateu", UXTAX(c,s,d)];
  5162. Formula (all,c,COMM)(all,s,REG)(all,d,REG)(all,co,COL)
  5163. TRADE(c,s,d,co,"import")
  5164. = IF[co="welcnt", TTAX(c,s,d,"mtax")]
  5165. + IF[co="dvol", BVXSB(c,s,d) * qxs(c,s,d) / 100]
  5166. + IF[co="taxrateb", BMTAX(c,s,d)]
  5167. + IF[co="taxrateu", UMTAX(c,s,d)];
  5168.  
  5169. Write
  5170. TRADE to file WELVIEW header "A231"
  5171. longname "Trade Tax Effect: Explanatory Factors";
  5172.  
  5173. !<
  5174. C-A24: Endowment tax effect
  5175. ---------------------------
  5176.  
  5177. C-A24: Endowment tax effect
  5178. C-A241: Endowment tax effect: Explanatory factors
  5179. >!
  5180.  
  5181. !<
  5182. C-A24: Endowment tax effect
  5183. .............................
  5184. >!
  5185.  
  5186. Coefficient (all,e,ENDW)(all,r,REG)
  5187. FACTAX(e,r) # Endowment tax effect #;
  5188. Formula (all,e,ENDW)(all,r,REG)
  5189. FACTAX(e,r) = sum{a,ACTS, CNTqfe(e,a,r)};
  5190. Write
  5191. FACTAX to file WELVIEW header "A24"
  5192. longname "Endowment Tax Effect";
  5193.  
  5194. !<
  5195. C-A241: Endowment tax effect: Explanatory factors
  5196. .................................................
  5197. >!
  5198. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  5199. UETAX(e,a,r) # power of factor tax, updated #;
  5200. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  5201. UETAX(e,a,r) = [EVFP(e,a,r) - EVFB(e,a,r)] / EVFB(e,a,r) * 100;
  5202.  
  5203. ! Note: PFACTOR in "classic" welfare decomp was changed to FACTORTAX because
  5204. the variable pfactor(r) has already been defined !
  5205. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)(all,co,COL)
  5206. FACTORTAX(e,a,r,co) # Endowment tax effect #;
  5207. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)(all,co,COL)
  5208. FACTORTAX(e,a,r,co)
  5209. = IF[co="welcnt", CNTqfe(e,a,r)]
  5210. + IF[co="dvol", BEVFB(e,a,r) * qfe(e,a,r) / 100]
  5211. + IF[co="taxrateb", BETAX(e,a,r)]
  5212. + IF[co="taxrateu", UETAX(e,a,r)];
  5213.  
  5214. Write FACTORTAX to file WELVIEW header "A241"
  5215. longname "Endowment Tax Effect: Explanatory Factors";
  5216.  
  5217. !<
  5218. C-A25: Income tax effect
  5219. ------------------------
  5220.  
  5221. C-A25: Income tax effect
  5222. C-A251: Income tax effect: Explanatory factors
  5223. >!
  5224.  
  5225. !<
  5226. C-A25: Income tax effect
  5227. ........................
  5228. >!
  5229.  
  5230. Coefficient (all,e,ENDW)(all,r,REG)
  5231. YTAX(e,r) # factor income tax effect #;
  5232. Formula (all,e,ENDW)(all,r,REG)
  5233. YTAX(e,r) = sum{a,ACTS, CNTqea(e,a,r)};
  5234. Write
  5235. YTAX to file WELVIEW header "A25"
  5236. longname "Income Tax Effect";
  5237.  
  5238. !<
  5239. C-A251: Income tax effect: Explanatory factors
  5240. ..............................................
  5241. >!
  5242. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  5243. UINCTAX(e,a,r) # power of income tax, updated #;
  5244. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  5245. UINCTAX(e,a,r) = [[EVFB(e,a,r) - EVOS(e,a,r)] / EVOS(e,a,r)] * 100;
  5246. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)(all,co,COL)
  5247. INCOMETAX(e,a,r,co) # income tax effect: Explanatory Factors #;
  5248. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)(all,co,COL)
  5249. INCOMETAX(e,a,r,co)
  5250. = IF[co="welcnt", CNTqea(e,a,r)]
  5251. + IF[co="dvol", BVEB(e,a,r) * qes(e,a,r) / 100]
  5252. + IF[co="taxrateb", BINCTAX(e,a,r)]
  5253. + IF[co="taxrateu", UINCTAX(e,a,r)];
  5254. Write
  5255. INCOMETAX to file WELVIEW header "A251"
  5256. longname "Income Tax Effect: Explanatory Factors";
  5257.  
  5258. !<
  5259. C-B1: Endowment effect: Gross of depreciation
  5260. ---------------------------------------------
  5261. >!
  5262.  
  5263. Coefficient (all,r,REG)(all,e,ENDW)
  5264. CNTendowment(r,e) # contribution to welfare by ENDW e in region r #;
  5265. Formula (all,r,REG)(all,e,ENDW)
  5266. CNTendowment(r,e) = CNTendw(e,r);
  5267. Write
  5268. CNTendowment to file WELVIEW header "B1"
  5269. longname "Endowment Effect, Gross of Depreciation";
  5270.  
  5271. !<
  5272. C-B2: Endowment effect: depreciation
  5273. ------------------------------------
  5274. >!
  5275.  
  5276. Write
  5277. CNTkb to file WELVIEW header "B2"
  5278. longname "Endowment Effect: Depreciation";
  5279.  
  5280. !<
  5281. C-C1: Technical change effect
  5282. -----------------------------
  5283.  
  5284. C-C1: Technical change effect: Summary
  5285. C-C1X: Technical change effect: Further decomposition
  5286. >!
  5287.  
  5288. Coefficient (all,r,REG)(all,t,TECHTYPE)
  5289. CNTtech(r,t) # contribution to welfare change by tech #;
  5290. Formula (all,r,REG)(all,t,TECHTYPE)
  5291. CNTtech(r,t) = CNTtechr(t,r);
  5292.  
  5293. Write
  5294. CNTtech to file WELVIEW header "C1"
  5295. longname "Technical Change Effect: Summary";
  5296.  
  5297. Write
  5298. CNTtech_ao to file WELVIEW header "C11"
  5299. longname "(ao) Output Augm. Tech. Change Effect";
  5300. Write
  5301. CNTtech_afe to file WELVIEW header "C12"
  5302. longname "(afe) Primary Factor Augm. Tech. Change Effect";
  5303. Write
  5304. CNTtech_ava to file WELVIEW header "C13"
  5305. longname "(ava) Value Added Augm. Tech. Change Effect";
  5306. Write
  5307. CNTtech_aint to file WELVIEW header "C14"
  5308. longname "(aint) Composite Intermed. Input Augm. Tech. Change Effect";
  5309. Write
  5310. CNTtech_af to file WELVIEW header "C15"
  5311. longname "(afa) Intermed. Input Augm. Tech. Change Effect";
  5312. Write
  5313. CNTtech_atmfsd to file WELVIEW header "C16"
  5314. longname "(atmfsd) Internat. Margin Augm. Tech. Change Effect";
  5315. Write
  5316. CNTtech_ams to file WELVIEW header "C17"
  5317. longname "(ams) Bilateral Import Augm. Tech. Change Effect";
  5318.  
  5319. !<
  5320. C-D1: Population effect
  5321. -----------------------
  5322.  
  5323. No decomposition required here.
  5324. >!
  5325.  
  5326. !<
  5327. C-E1: Terms of Trade (ToT) effect
  5328. ---------------------------------
  5329. >!
  5330.  
  5331. ! Note: TOT(c,r,t,f) in Welfare Decomp was renamed to WTOT(c,r,t,f) because a
  5332. prior tot(r) variable has been declared in the model!
  5333. Coefficient (all,c,COMM)(all,r,REG)(all,t,PRICES)(all,f,FORM)
  5334. WTOT(c,r,t,f)
  5335. # terms trade effects decomposed by effects of different prices #;
  5336. Formula (all,c,COMM)(all,r,REG)
  5337. WTOT(c,r,"pworld","percent") = c1_cr(c,r);
  5338. Formula (all,c,COMM)(all,r,REG)
  5339. WTOT(c,r,"pexport","percent") = c2_cr(c,r);
  5340. Formula (all,c,COMM)(all,r,REG)
  5341. WTOT(c,r,"pimport","percent") = -c3_cr(c,r);
  5342. Formula (all,c,COMM)(all,r,REG)
  5343. WTOT(c,r,"pworld","value")
  5344. = CNTtotr(r) * c1_cr(c,r)
  5345. / sum{k,COMM, sum{t,PRICES, WTOT(k,r,t,"percent")}};
  5346. Formula (all,c,COMM)(all,r,REG)
  5347. WTOT(c,r,"pexport","value")
  5348. = CNTtotr(r) * c2_cr(c,r)
  5349. / sum{t,PRICES, sum{k,COMM, WTOT(k,r,t,"percent")}};
  5350. Formula (all,c,COMM)(all,r,REG)
  5351. WTOT(c,r,"pimport","value")
  5352. = -c3_cr(c,r) * CNTtotr(r)
  5353. / sum{t,PRICES, sum{k,COMM, WTOT(k,r,t,"percent")}};
  5354.  
  5355. Write
  5356. WTOT to file WELVIEW header "E1"
  5357. longname "Terms of Trade Effect";
  5358.  
  5359. !<
  5360. C-F1: I-S Effect: Explanatory factors
  5361. -------------------------------------
  5362. >!
  5363.  
  5364. Coefficient (all,r,REG)(all,c,COLM)
  5365. CGDSCOMP(r,c) # components of cgds effect #;
  5366. Formula (all,r,REG)
  5367. CGDSCOMP(r,"ISbal") = ISBAL(r);
  5368. Formula (all,r,REG)
  5369. CGDSCOMP(r,"p_cgds") = pinv(r);
  5370. Formula (all,r,REG)
  5371. CGDSCOMP(r,"p_save") = psave(r);
  5372. Write
  5373. CGDSCOMP to file WELVIEW header "F1"
  5374. longname "I-S Effect: Explanatory Factors";
  5375.  
  5376. !<
  5377. -----------------------------
  5378. END OF Welfare summary module
  5379. -----------------------------
  5380. >!
  5381.  
  5382. !<
  5383. -------------------------------------------------
  5384. D. GTAPVol (post-simulation) summary calculations
  5385. -------------------------------------------------
  5386. >!
  5387.  
  5388. !<
  5389. Compute the relevant volume changes
  5390. -----------------------------------
  5391. >!
  5392.  
  5393. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  5394. DQXS(c,s,d)
  5395. # ch. in vol. of exports of c from region s to d at initial basic prices #;
  5396. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5397. DQXS(c,s,d) = [qxs(c,s,d) / 100] * BVXSB(c,s,d);
  5398.  
  5399. Coefficient (all,c,COMM)(all,r,REG)
  5400. DQDS(c,r)
  5401. # ch. in vol. of domestic sales of com. c in r at initial basic prices #;
  5402. Formula (all,c,COMM)(all,r,REG)
  5403. DQDS(c,r) = [qds(c,r) / 100] * BVDB(c,r) ;
  5404.  
  5405. Coefficient (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  5406. DQFE(e,a,r)
  5407. # ch. in vol. of endowment e by activity a in r at initial basic prices #;
  5408. Formula (all,e,ENDW)(all,a,ACTS)(all,r,REG)
  5409. DQFE(e,a,r) = [qfe(e,a,r) / 100] * BEVFB(e,a,r) ;
  5410.  
  5411. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5412. DQFM(c,a,r)
  5413. # ch. in vol. of imp. intermed. c by act. a in r at initial basic prices #;
  5414. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5415. DQFM(c,a,r) = [qfm(c,a,r) / 100] * BVMFB(c,a,r) ;
  5416.  
  5417. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5418. DQFD(c,a,r)
  5419. # ch. in vol. of dom. intermed. c by act. a in r at initial basic prices #;
  5420. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5421. DQFD(c,a,r) = [qfd(c,a,r) / 100] * BVDFB(c,a,r) ;
  5422.  
  5423. Coefficient (all,c,COMM)(all,r,REG)
  5424. DQPM(c,r)
  5425. # ch. in vol. of priv. hhld cons. for imp. c in r at initial basic prices #;
  5426. Formula (all,c,COMM)(all,r,REG)
  5427. DQPM(c,r) = [qpm(c,r) / 100] * BVMPB(c,r) ;
  5428.  
  5429. Coefficient (all,c,COMM)(all,r,REG)
  5430. DQPD(c,r)
  5431. # ch. in vol. of priv. hhld cons. for dom. c in r at initial basic prices #;
  5432. Formula (all,c,COMM)(all,r,REG)
  5433. DQPD(c,r) = [qpd(c,r) / 100] * BVDPB(c,r) ;
  5434.  
  5435. Coefficient (all,c,COMM)(all,r,REG)
  5436. DQGM(c,r)
  5437. # ch. in vol. of government cons. for imp. c in r at initial basic prices #;
  5438. Formula (all,c,COMM)(all,r,REG)
  5439. DQGM(c,r) = [qgm(c,r) / 100] * BVMGB(c,r) ;
  5440.  
  5441. Coefficient (all,c,COMM)(all,r,REG)
  5442. DQGD(c,r)
  5443. # ch. in vol. of government cons. for dom. c in r at initial basic prices #;
  5444. Formula (all,c,COMM)(all,r,REG)
  5445. DQGD(c,r) = [qgd(c,r) / 100] * BVDGB(c,r) ;
  5446.  
  5447. Coefficient (all,a,ACTS)(all,r,REG)
  5448. DQO(a,r)
  5449. # ch. in vol. of output by activity a in r at initial basic prices #;
  5450. Formula (all,a,ACTS)(all,r,REG)
  5451. DQO(a,r) = [qo(a,r) / 100] * BVOS(a,r) ;
  5452.  
  5453. Coefficient (all,c,COMM)(all,r,REG)
  5454. DQC(c,r)
  5455. # ch. in vol. of supply of com. c in r at initial basic prices #;
  5456. Formula (all,c,COMM)(all,r,REG)
  5457. DQC(c,r) = [qc(c,r) / 100] * BVCB(c,r) ;
  5458.  
  5459. Coefficient (all,s,REG)(all,d,REG)
  5460. DTOT(s,d)
  5461. # ch. in vol. of total exports from region s to d at initial basic prices #;
  5462. Formula (all,s,REG)(all,d,REG)
  5463. DTOT(s,d) = sum{c,COMM, DQXS(c,s,d)};
  5464.  
  5465. Zerodivide off;
  5466.  
  5467. FILE
  5468. (New) GTAPVOL # HAR file of volume changes # ;
  5469. !< Write the output of this module to ViewHAR for easy viewing and summation >!
  5470.  
  5471. Write
  5472. DQXS to file GTAPVOL header "DQXS";
  5473. DQDS to file GTAPVOL header "DQDS";
  5474. DQFE to file GTAPVOL header "DQFE";
  5475. DQFM to file GTAPVOL header "DQFM";
  5476. DQFD to file GTAPVOL header "DQFD";
  5477. DQPM to file GTAPVOL header "DQPM";
  5478. DQPD to file GTAPVOL header "DQPD";
  5479. DTOT to file GTAPVOL header "DTOT";
  5480. DQO to file GTAPVOL header "DQO ";
  5481. DQC to file GTAPVOL header "DQC ";
  5482. DQGD to file GTAPVOL header "DQGD";
  5483. DQGM to file GTAPVOL header "DQGM";
  5484.  
  5485. !<
  5486. --------------
  5487. END OF GTAPVol
  5488. --------------
  5489. >!
  5490. postsim (end);
  5491. !<
  5492. -----------------------------------
  5493. END OF post-simulation calculations
  5494. -----------------------------------
  5495. >!
  5496.  
  5497. !<
  5498. ----------------------------------------------
  5499. E. Data balance check and summary calculations
  5500. ----------------------------------------------
  5501. >!
  5502.  
  5503. Set
  5504. COSTS # industry cost summary # = "IntDom" + "IntImp" + ENDW + "PTAX" ;
  5505. Set
  5506. GDPIN # income-side GDP # = ENDW + "IndTaxes";
  5507. Set
  5508. SALES # Commodity Sales Summary #
  5509. (Intermediate,Household,Investment,Government,Exports,IntnlMargins);
  5510.  
  5511. Coefficient (all,a,ACTS)(all,r,REG)(all,c,COSTS)
  5512. COSTSUM(a,r,c) # industry cost summary #;
  5513. Formula
  5514. (all,a,ACTS)(all,r,REG) COSTSUM(a,r,"IntDom") = sum{c,COMM, VDFP(c,a,r)};
  5515. (all,a,ACTS)(all,r,REG) COSTSUM(a,r,"IntImp") = sum{c,COMM, VMFP(c,a,r)};
  5516. (all,a,ACTS)(all,r,REG)(all,e,ENDW) COSTSUM(a,r,e) = EVFP(e,a,r);
  5517. (all,a,ACTS)(all,r,REG) COSTSUM(a,r,"PTAX") = sum{c,COMM, PTAX(c,a,r)};
  5518. (all,a,ACTS)(all,r,REG)(all,e,ENDW) COSTSUM(a,r,e) = EVFP(e,a,r);
  5519. (all,a,ACTS)(all,r,REG) COSTSUM(a,r,"PTAX") = sum{c,COMM, PTAX(c,a,r)};
  5520. Write
  5521. COSTSUM to file GTAPSUM header "COST";
  5522.  
  5523. Coefficient (all,r,REG)(all,g,GDPIN)
  5524. GDPINC(r,g) # income-side GDP #;
  5525. Formula
  5526. (all,r,REG)(all,e,ENDW) GDPINC(r,e) = sum{a,ACTS, EVFP(e,a,r)};
  5527. (all,r,REG) GDPINC(r,"IndTaxes") = INDTAX(r) - TAXRFU(r);
  5528. Write
  5529. GDPINC to file GTAPSUM header "GDPI";
  5530.  
  5531. Coefficient (all,c,COMM)(all,r,REG)(all,sa,SALES)
  5532. SALESUM(c,r,sa) # commodity sales summary #;
  5533. Formula
  5534. (all,c,COMM)(all,r,REG) SALESUM(c,r,"Intermediate") = sum{a,ACTS, VDFB(c,a,r)};
  5535. (all,c,COMM)(all,r,REG) SALESUM(c,r,"Household") = VDPB(c,r);
  5536. (all,c,COMM)(all,r,REG) SALESUM(c,r,"Investment") = VDIB(c,r);
  5537. (all,c,COMM)(all,r,REG) SALESUM(c,r,"Government") = VDGB(c,r);
  5538. (all,c,COMM)(all,r,REG) SALESUM(c,r,"Exports") = VXDXSB(c,r);
  5539. (all,c,MARG)(all,r,REG) SALESUM(c,r,"IntnlMargins") = VST(c,r);
  5540. (all,c,NMRG)(all,r,REG) SALESUM(c,r,"IntnlMargins") = 0;
  5541. Write
  5542. SALESUM to file GTAPSUM header "SALE";
  5543.  
  5544. Zerodivide default RNREG;
  5545. Coefficient (all,c,COMM)(all,r,REG)
  5546. VDBCHK(c,r) # VCB(c,r) - MAKEBCOM(c,r) should be tiny #;
  5547. Formula (all,c,COMM)(all,r,REG)
  5548. VDBCHK(c,r) = VCB(c,r) - MAKEBCOM(c,r);
  5549. Write
  5550. VDBCHK to file GTAPSUM header "VMCK";
  5551. Formula (all,c,COMM)(all,r,REG)
  5552. VDBCHK(c,r) = 100 * VDBCHK(c,r) / VCB(c,r);
  5553. Write
  5554. VDBCHK to file GTAPSUM header "VMCP" longname "VDBCHK as %";
  5555.  
  5556. Coefficient (all,c,COMM)(all,s,REG)(all,d,REG)
  5557. TRDCHK(c,s,d) # VCIF(c,s,d) - [VFOB(c,s,d) + VTFSD(c,s,d)] should be tiny #;
  5558. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5559. TRDCHK(c,s,d) = VCIF(c,s,d) - [VFOB(c,s,d) + VTFSD(c,s,d)];
  5560. Write
  5561. TRDCHK to file GTAPSUM header "TRCK";
  5562. Formula (all,c,COMM)(all,s,REG)(all,d,REG)
  5563. TRDCHK(c,s,d) = 100 * TRDCHK(c,s,d) / ID01[VCIF(c,s,d)];
  5564. Write
  5565. TRDCHK to file GTAPSUM header "TRCP" longname "TRDCHK as %";
  5566.  
  5567. Coefficient (all,m,MARG)
  5568. VTMCHK(m) # VTMUSE(m) - VTMPROV(m) should be tiny #;
  5569. Formula (all,m,MARG)
  5570. VTMCHK(m) = VTMUSE(m) - VTMPROV(m);
  5571. Write
  5572. VTMCHK to file GTAPSUM header "VTCK";
  5573. Formula (all,m,MARG)
  5574. VTMCHK(m) = 100 * VTMCHK(m) / VTMUSE(m);
  5575. Write
  5576. VTMCHK to file GTAPSUM header "VTCP" longname "VTMCHK as %";
  5577.  
  5578. Coefficient (all,c,COMM)(all,r,REG)
  5579. CHKMKClIMP(c,r) # Checking the accounting on imports supply and demand #;
  5580. Formula (all,c,COMM)(all,r,REG)
  5581. CHKMKClIMP(c,r)
  5582. = sum{s,REG, VMSB(c,s,r)}
  5583. - sum{a,ACTS, VMFB(c,a,r)}
  5584. - VMPB(c,r) - VMGB(c,r) - VMIB(c,r);
  5585. Write
  5586. CHKMKClIMP to file GTAPSUM header "MPCK";
  5587. Formula (all,c,COMM)(all,r,REG)
  5588. CHKMKClIMP(c,r) = 100 * CHKMKClIMP(c,r) / [sum{s,REG, VMSB(c,s,r)}];
  5589.  
  5590. Write
  5591. CHKMKClIMP to file GTAPSUM header "MPCP" longname "CHKMKClIMP as %";
  5592.  
  5593. Coefficient (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5594. VOSCHK(c,a,r) # MAKEB - [MAKES + PTAX] should be tiny #;
  5595. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5596. VOSCHK(c,a,r) = MAKEB(c,a,r) - [MAKES(c,a,r) + PTAX(c,a,r)];
  5597. Write
  5598. VOSCHK to file GTAPSUM header "VOCK";
  5599. Formula (all,c,COMM)(all,a,ACTS)(all,r,REG)
  5600. VOSCHK(c,a,r) = 100 * VOSCHK(c,a,r) / MAKEB(c,a,r);
  5601. Write
  5602. VOSCHK to file GTAPSUM header "VOCS" longname "VOSCHK as %";
  5603.  
  5604. zerodivide off;
  5605.  
  5606. postsim (begin);
  5607. Write
  5608. VDBCHK to file GTAPSUM header "VMCQ" longname "PostSim VDBCHK as %";
  5609. TRDCHK to file GTAPSUM header "TRCQ" longname "PostSim TRDCHK as %";
  5610. VTMCHK to file GTAPSUM header "VTCQ" longname "PostSim VTMCHK as %";
  5611. CHKMKClIMP to file GTAPSUM header "MPCQ" longname "PostSim CHKMKClIMP as %";
  5612. VOSCHK to file GTAPSUM header "VOCQ" longname "PostSim VOPCHK as %";
  5613. postsim (end);
  5614.  
  5615. !<
  5616. Aug 2020: Exact decomposition of expenditure and income-side real gdp into
  5617. their associated components. New income-side gdp variable (qgdpi).
  5618. >!
  5619. Variable (change) (all,r,REG)(all,g,GDPEX)
  5620. contgdpexp(r,g) # contributions to % change in qgdp #;
  5621. Coefficient (all,r,REG)
  5622. BGDP(r) # Initial real GDP at current prices #;
  5623. Formula (initial)(all,r,REG)
  5624. BGDP(r) = GDP(r);
  5625. Update (all,r,REG)
  5626. BGDP(r) = pgdp(r);
  5627. Equation E_contgdpexp
  5628. # (expenditure-side) contributions to % change in real gdp #
  5629. (all,r,REG)(all,g,GDPEX)
  5630. BGDP(r) * contgdpexp(r,g)
  5631. = IF[g="Household", sum{c,COMM, VPP(c,r) * qpa(c,r)} ]
  5632. + IF[g="Investment", sum{c,COMM, VIP(c,r) * qia(c,r)} ]
  5633. + IF[g="Government", sum{c,COMM, VGP(c,r) * qga(c,r)} ]
  5634. + IF[g="Exports", sum{c,COMM, sum{d,REG, VFOB(c,r,d) * qxs(c,r,d)}}]
  5635. + IF[g="IntnlMargins", sum{m,MARG, VST(m,r) * qst(m,r)} ]
  5636. - IF[g="Imports", sum{c,COMM, sum{aa,AGENTS, sum{s,REG, VMAC(c,aa,s,r) * qamds(c,aa,s,r)}}}];
  5637.  
  5638. Set
  5639. CONTGDPIN # Components of income-side GDP changes # = GDPIN + "TechChange";
  5640. Variable (change)(all,r,REG)(all,g,CONTGDPIN)
  5641. contgdpinc(r,g) # contributions to income side real GDP #;
  5642. Equation E_contGDPINC
  5643. # (income-side) contributions to % change in real gdp #
  5644. (all,r,REG)(all,g,CONTGDPIN)
  5645. BGDP(r) * contgdpinc(r,g)
  5646. = IF[g in ENDW, sum{a,ACTS, EVFP(g,a,r) *qfe(g,a,r)}]
  5647. + IF[g="IndTaxes",
  5648. sum{c,COMM, sum{a,ACTS, PTAX(c,a,r) * qca(c,a,r)}}
  5649. + sum{c,COMM, sum{a,ACTS, DFTAX(c,a,r) * qfd(c,a,r)
  5650. + MFTAX(c,a,r) * qfm(c,a,r)}}
  5651. + sum{c,COMM, DPTAX(c,r) * qpd(c,r) + MPTAX(c,r) * qpm(c,r)}
  5652. + sum{c,COMM, DGTAX(c,r) * qgd(c,r) + MGTAX(c,r) * qgm(c,r)}
  5653. + sum{c,COMM, DITAX(c,r) * qid(c,r) + MITAX(c,r) * qim(c,r)}
  5654. + sum{c,COMM, sum{d,REG, XTAXD(c,r,d) * qxs(c,r,d)}}
  5655. + sum{c,COMM, sum{s,REG, sum{aa,AGENTS, MATAX(c,aa,s,r) * qamds(c,aa,s,r)}}}
  5656. ]
  5657. + IF[g="TechChange",
  5658. sum{a,ACTS, VOS(a,r) * ao(a,r)}
  5659. + sum{c,COMM, sum{a,ACTS,
  5660. [VMFP(c,a,r) + VDFP(c,a,r)] * [aint(a,r) + afa(c,a,r)]}}
  5661. + sum{e,ENDW, sum{a,ACTS, VFP(e,a,r) * afe(e,a,r)}}
  5662. + sum{a,ACTS, VVA(a,r) * ava(a,r)}
  5663. + sum{m,MARG, sum{c,COMM, sum{s,REG, VTMFSD(m,c,s,r) * atmfsd(m,c,s,r)}}}
  5664. + sum{c,COMM, sum{s,REG, sum{aa,AGENTS, VMAB(c,aa,s,r) * amsa(c,aa,s,r)}}}
  5665. ];
  5666.  
  5667. Variable (change)(all,r,REG)
  5668. qgdpi(r) # GDP (income side) quantity index #;
  5669. Equation E_qgdpinc
  5670. # GDP (income side) quantity index #
  5671. (all,r,REG)
  5672. qgdpi(r) = sum{g,CONTGDPIN, contgdpinc(r,g)};
  5673.  
  5674. !<
  5675. ===========================
  5676. END OF GTAPv7-mrio.TAB FILE
  5677. ===========================
  5678. >!
Tags: GTAP-MRIO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement