Advertisement
amosdiphosphate

GTAP-VC Code

Mar 25th, 2024
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 156.30 KB | Source Code | 0 0
  1. !<
  2.     ==================================
  3.     Global Trade Analysis Project
  4.     The GTAP Modeling Framework
  5.     GTAP Version 6.2
  6.     September 2003
  7.     ==================================
  8.  
  9.     For documentation see:
  10.     (a) Hertel, T.W. and M.E. Tsigas, "Structure of the Standard GTAP Model",
  11.     Chapter 2 in T.W. Hertel (editor) "Global Trade Analysis: Modeling and
  12.     Applications", Cambridge University Press, 1997.
  13.  
  14.     (b) R.A. McDougall, "A New Regional Household Demand System for GTAP",
  15.     GTAP Technical Paper #20, Center for Global Trade Analysis, Purdue
  16.     University
  17.  
  18.     (c) Hertel T.W., K. Itakura and R.A. McDougall, "GTAP.TAB: The Standard
  19.     GTAP Model" (yet to be drafted), GTAP Technical Paper, Center for Global
  20.     Trade Analysis, Purdue University,
  21.     http://www.agecon.purdue.edu/gtap/techpapr/.  This technical paper
  22.     documents all of the changes since the GTAP book TAB file.
  23.  
  24.     --------------------
  25.     HISTORY of this file
  26.     --------------------
  27.  
  28.     Version 6.2 fixes bugs and provides minor enhancements:
  29.         - EV_ALT, CNTdpar fix
  30.         - SX_IR fix
  31.         - new treatment of export and import tariffs
  32.         - original levels defined for power-of-tax variables
  33.         - CNTalleffir range extended from TRAD_COMM to DEMD_COMM
  34.         - INCOME formula, quantity index equations more AnalyzeGE-friendly
  35.  
  36.     Version 6.1 fixes bugs in 6.0:
  37.         - Computation of tax receipts ratio is now separately done for total
  38.           tax and indirect tax (equation DTAXRATIO and DINDTAXRATIO).
  39.         - Computation of DTBALR, the ratio of the trade balance to regional
  40.           income, has been corrected (equation DTBALRATIO).
  41.         - Computation of EV_ALT, the summary variable for EV, has been
  42.           corrected (equation EV_DECOMPOSITION).
  43.     Also the notation has been changed for the tax-income ratio variables:
  44.         TGCR -> del_taxrgc,    TPCR -> del_taxrpc,    TIUR -> del_taxriu,
  45.         TFUR -> del_taxrfu,    TOUTR -> del_taxrout,  TEXPR -> del_taxrexp,
  46.         TIMPR -> del_taxrimp,  TINCR -> del_taxrinc,  DTAXR -> del_ttaxr.
  47.  
  48.     Version 6.0 replaces version 5.0 used in the August 2000 short course, but
  49.     never formally released.  The subsequent changes have been quite
  50.     significant (primarily focused on final demand and welfare decomposition),
  51.     so we decided to give it a new version number.  This also prevents
  52.     confusion with the soon to be released version 5.0 GTAP data set.
  53.  
  54.     The differences with the previous publicly released version of GTAP.TAB,
  55.     Version 4.1, dated November 1998, are numerous.  One goal of this version
  56.     is to reorganize the TAB file which had not be redesigned since its
  57.     inception.  In addition, there is a long list of substantive changes that
  58.     have been made between Version 4.1 and 6.0.  These include:
  59.  
  60.         - provision for multiple margins sectors (to accommodate post version
  61.           5 GTAP data)
  62.         - introduction of the new theory of final demand following McDougall's
  63.          GTAP Technical Paper #20
  64.        - modification of the welfare decomposition following McDougall's
  65.           Technical Paper #20
  66.         - correction to the treatment of technical change, ao, in the presence
  67.           of ESUBT > 0 (affects equations VADEMAND and INTDEMAND)
  68.         - addition of import-augmenting "technical change" in the Armington
  69.           nest: ams which can be used to lower the effective price of imported
  70.           products
  71.         - specification of Baldwin-type capital accmulation effects following
  72.           Francois' Technical Paper #7
  73.        - introduction of uniform consumption tax instrument, tp(r)
  74.  
  75.    ----------------------------------
  76.    Overview of the GTAP.TAB Structure
  77.    ----------------------------------
  78.    Preliminaries:
  79.        FILES
  80.        SETS
  81.        READ statements of Base Data
  82.        Common VARIABLES
  83.        Common COEFFICIENTS
  84.  
  85.    Modules:
  86.        1.  Government Consumption
  87.        2.  Private Consumption
  88.        3.  Firms
  89.        4.  Investment, Global Bank, and Savings
  90.        5.  International Trade
  91.        6.  International Transport Services
  92.        7.  Regional Household
  93.        8.  Equilibrium Conditions
  94.  
  95.    Appendices:
  96.        A.  Summary Indices
  97.        B.  Equivalent Variation
  98.        C.  Welfare Decomposition
  99.        D.  Terms of Trade Decomposition
  100. >!
  101.  
  102. !<
  103.    -----
  104.    FILES
  105.    -----
  106. >!
  107.  
  108. File
  109.    GTAPSETS # file with set specification #;
  110. File
  111.    GTAPDATA # file containing all base data #;
  112. File
  113.    GTAPPARM # file containing behavioral parameters #;
  114.  
  115. !<
  116.    ----
  117.    SETS
  118.    ----
  119.  
  120.    Sets define relevant groupings of entities over which we will be
  121.    performing operations in the model.  SUBSETS are defined in order to
  122.    facilitate summation over only a portion of a given group, e.g., tradeable
  123.    commodities.  Users with access to GEMPACK can increase the maximum set
  124.    sizes to permit larger aggregations, provided you have sufficient RAM for
  125.    implementing them The standard model (10x10 aggregation with decomposition
  126.    code) is designed to run with 16 Mb of RAM.
  127.  
  128.    Aide-Memoire for Sets
  129.    ---------------------
  130.  
  131.    |--------------------------------------|
  132.    |         DEMD_COMM                    |
  133.    |----------------------------------------------------|
  134.    | ENDW_COMM |       TRAD_COMM          |  CGDS_COMM  |
  135.    |----------------------------------------------------|
  136.    |        NSAV_COMM                                   |
  137.    |----------------------------------------------------|
  138.                |                     PROD_COMM          |
  139.                |----------------------------------------|
  140.  
  141.    For Endowments,
  142.    |-------------------------|
  143.    | ENDW_COMM               |
  144.    |-------------------------|
  145.    | ENDWM_COMM | ENDWS_COMM |
  146.    |-------------------------|
  147. >!
  148.  
  149. Coefficient
  150.    VERNUM # version of GTAP data #;
  151. Read
  152.    VERNUM from file GTAPDATA header "DVER";
  153. Update (change)
  154.    VERNUM = 0.0; ! force it to be copied to update file !
  155.  
  156. Set
  157.    REG # regions in the model #
  158.    maximum size 10 read elements from file GTAPSETS header "H1";
  159. Set
  160.    TRAD_COMM # traded commodities #
  161.    maximum size 10 read elements from file GTAPSETS header "H2";
  162. Set
  163.    MARG_COMM # margin commodities #
  164.    maximum size 10 read elements from file GTAPSETS header "MARG";
  165. Subset
  166.    MARG_COMM is subset of TRAD_COMM;
  167. Set
  168.    NMRG_COMM # non-margin commodities # = TRAD_COMM - MARG_COMM;
  169. Set
  170.    CGDS_COMM # capital goods commodities #
  171.    maximum size 1 read elements from file GTAPSETS header "H9";
  172. Set
  173.    ENDW_COMM # endowment commodities #
  174.    maximum size 5 read elements from file GTAPSETS header "H6";
  175. Set
  176.    PROD_COMM # produced commodities # = TRAD_COMM union CGDS_COMM;
  177. Set
  178.    DEMD_COMM # demanded commodities # = ENDW_COMM union TRAD_COMM;
  179. Set
  180.    NSAV_COMM # non-savings commodities # = DEMD_COMM union CGDS_COMM;
  181. Subset
  182.    PROD_COMM is subset of NSAV_COMM;
  183.  
  184. !<
  185.    Check for non-overlapping sets (users can't use the same name for elements
  186.     of ENDW_COMM, TRAD_COMM or CGDS_COMM).
  187. >!
  188.  
  189. Coefficient
  190.     SIZE_TRAD # size of TRAD_COMM set #;
  191. Formula
  192.     SIZE_TRAD = sum(i,TRAD_COMM, 1);
  193. Coefficient
  194.     SIZE_ENDW # size of ENDW_COMM set #;
  195. Formula
  196.     SIZE_ENDW = sum(i,ENDW_COMM, 1);
  197. Coefficient
  198.     SIZE_DEMD # size of DEMD_COMM set #;
  199. Formula
  200.     SIZE_DEMD = sum(i,DEMD_COMM, 1);
  201. Assertion (initial)
  202.     SIZE_DEMD = SIZE_TRAD + SIZE_ENDW;
  203.  
  204. Coefficient
  205.     SIZE_CGDS # size of CGDS_COMM set #;
  206. Formula
  207.     SIZE_CGDS = sum(i,CGDS_COMM, 1);
  208. Coefficient
  209.     SIZE_PROD # size of PROD_COMM set #;
  210. Formula
  211.     SIZE_PROD = sum(i,PROD_COMM, 1);
  212. Assertion (initial)
  213.     SIZE_PROD = SIZE_TRAD + SIZE_CGDS;
  214.  
  215. !<
  216.     The sluggish endowments are now defined dynamically, based on the variable
  217.     SLUG.  SLUG is a binary variable that is zero for mobile endowments and
  218.     one for sluggish endowments.  We must define and read in this variable
  219.     before proceeding further.
  220. >!
  221. Coefficient (integer,parameter) (all,i,ENDW_COMM)
  222.     SLUG(i) # sluggish primary factor endowments #;
  223. Read
  224.     SLUG from file GTAPPARM header "SLUG";
  225.  
  226. Set
  227.     ENDWS_COMM
  228.     # sluggish endowment commodities # = (all,i,ENDW_COMM: SLUG(i)>0);
  229. Set
  230.     ENDWM_COMM
  231.     # mobile endowment commodities # = ENDW_COMM - ENDWS_COMM;
  232. Set
  233.     ENDWC_COMM # capital endowment commodity # (capital);
  234. !<
  235.     This single element set is defined for the sake of convenience.
  236. >!
  237. Subset
  238.     ENDWC_COMM is subset of ENDW_COMM;
  239.  
  240. !<
  241.     ----------------------------
  242.     READ Statements of Base Data
  243.     ----------------------------
  244.  
  245.     We read in here almost all the base data, and define variables and
  246.     coefficients associated with them.  A few data arrays used each in a
  247.     single module are read in those modules: VKB, VTMFSD, and DPARSUM.
  248.  
  249.     The READ statements are divided into six sections:
  250.  
  251.     Saving
  252.     Government Consumption
  253.     Private Consumption
  254.     Firms
  255.     Global Bank
  256.     International Trade and Transport
  257.  
  258.     Since these are invariant for each solution of the model, they are termed
  259.     coefficients.  Coefficients are assigned upper case to distinguish them
  260.     from variables.  (This is purely cosmetic, as GEMPACK is not
  261.     case-sensitive.) Variables in GEMPACK are assigned lower case labels to
  262.     denote the fact that they are percentage changes.  In some cases, original
  263.     levels values for selected variables are defined to permit the user to
  264.     compare post-simulation levels values across several simulations.
  265.  
  266.     The updating command indicates how the new level of the coefficient will
  267.     be computed based on the previous solution of the linearized equations.
  268.     Note that the notation used in the update commands is a shorthand for
  269.     total differentials of these coefficient values.  Thus, w * v indicates
  270.     that we want to take the total differential of W * V, plug in the
  271.     calculated values of w and v, and add this to the base level in order to
  272.     obtain a revised value for this product.
  273. >!
  274.  
  275. !<
  276.     Saving
  277.     ------
  278. >!
  279.  
  280. Variable (all,r,REG)
  281.     psave(r) # price of savings in region r #;
  282. Variable (all,r,REG)
  283.     qsave(r) # regional demand for NET savings #;
  284. Coefficient (all,r,REG)
  285.     SAVE(r) # expenditure on NET savings in region r valued at agent's prices #;
  286. Update (all,r,REG)
  287.    SAVE(r) = psave(r) * qsave(r);
  288. Read
  289.    SAVE from file GTAPDATA header "SAVE";
  290.  
  291. !<
  292.    Government Consumption
  293.    ----------------------
  294. >!
  295.  
  296. Variable (all,i,TRAD_COMM)(all,s,REG)
  297.    pgd(i,s) # price of domestic i in government consumption in s #;
  298. Variable (orig_level=VDGM)(all,i,TRAD_COMM)(all,s,REG)
  299.    qgd(i,s) # government hhld demand for domestic i in region s #;
  300. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  301.    VDGA(i,r) # government consumption expenditure on domestic i in r #;
  302. Update (all,i,TRAD_COMM)(all,r,REG)
  303.    VDGA(i,r) = pgd(i,r) * qgd(i,r);
  304. Read
  305.    VDGA from file GTAPDATA header "VDGA";
  306.  
  307. Variable (orig_level=1.0)(all,i,NSAV_COMM)(all,r,REG)
  308.    pm(i,r) # market price of commodity i in region r #;
  309. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  310.    VDGM(i,r) # government consumption expenditure on domestic i in r #;
  311. Update (all,i,TRAD_COMM)(all,r,REG)
  312.    VDGM(i,r) = pm(i,r) * qgd(i,r);
  313. Read
  314.    VDGM from file GTAPDATA header "VDGM";
  315.  
  316. Variable (all,i,TRAD_COMM)(all,s,REG)
  317.    pgm(i,s) # price of imports of i in government consumption in s #;
  318. Variable (orig_level=VIGM)(all,i,TRAD_COMM)(all,s,REG)
  319.    qgm(i,s) # government hhld demand for imports of i in region s #;
  320. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  321.    VIGA(i,r) # government consumption expenditure on imported i #;
  322. Update (all,i,TRAD_COMM)(all,r,REG)
  323.    VIGA(i,r) = pgm(i,r) * qgm(i,r);
  324. Read
  325.    VIGA from file GTAPDATA header "VIGA";
  326.  
  327. Variable (orig_level=1.0)(all,i,TRAD_COMM)(all,r,REG)
  328.    pim(i,r) # market price of composite import i in region r #;
  329. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  330.    VIGM(i,r) # gov't consumption expenditure on i in r #;
  331. Update (all,i,TRAD_COMM)(all,r,REG)
  332.     VIGM(i,r) = pim(i,r) * qgm(i,r);
  333. Read
  334.     VIGM from file GTAPDATA header "VIGM";
  335.  
  336. !<
  337.     Private Consumption
  338.     -------------------
  339. >!
  340.  
  341. Variable (all,i,TRAD_COMM)(all,s,REG)
  342.     ppd(i,s) # price of domestic i to private households in s #;
  343. Variable (orig_level=VDPM)(all,i,TRAD_COMM)(all,s,REG)
  344.     qpd(i,s) # private hhld demand for domestic i in region s #;
  345. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  346.     VDPA(i,r) # private consumption expenditure on domestic i in r #;
  347. Update (all,i,TRAD_COMM)(all,r,REG)
  348.     VDPA(i,r) = ppd(i,r) * qpd(i,r);
  349. Read
  350.     VDPA from file GTAPDATA header "VDPA";
  351.  
  352. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  353.     VDPM(i,r) # private consumption expenditure on domestic i in r #;
  354. Update (all,i,TRAD_COMM)(all,r,REG)
  355.     VDPM(i,r) = pm(i,r) * qpd(i,r);
  356. Read
  357.     VDPM from file GTAPDATA header "VDPM";
  358.  
  359. Variable (all,i,TRAD_COMM)(all,s,REG)
  360.     ppm(i,s) # price of imports of i by private households in s #;
  361. Variable (orig_level=VIPM)(all,i,TRAD_COMM)(all,s,REG)
  362.     qpm(i,s) # private hhld demand for imports of i in region s #;
  363. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  364.     VIPA(i,r) # private consumption expenditure on imported i in r #;
  365. Update (all,i,TRAD_COMM)(all,r,REG)
  366.     VIPA(i,r) = ppm(i,r) * qpm(i,r);
  367. Read
  368.     VIPA from file GTAPDATA header "VIPA";
  369.  
  370. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)
  371.     VIPM(i,r) # private consumption expenditure on i in r #;
  372. Update (all,i,TRAD_COMM)(all,r,REG)
  373.     VIPM(i,r)= pim(i,r) * qpm(i,r);
  374. Read
  375.     VIPM from file GTAPDATA header "VIPM";
  376.  
  377. !<
  378.     Firms
  379.     -----
  380. >!
  381.  
  382. Variable (all,i,NSAV_COMM)(all,r,REG)
  383.     ps(i,r) # supply price of commodity i in region r #;
  384. Variable (orig_level=VOM)(all,i,NSAV_COMM)(all,r,REG)
  385.     qo(i,r) # industry output of commodity i in region r #;
  386. Coefficient (ge 0)(all,i,ENDW_COMM)(all,r,REG)
  387.     EVOA(i,r) # value of commodity i output in region r #;
  388. Update (all,i,ENDW_COMM)(all,r,REG)
  389.     EVOA(i,r) = ps(i,r) * qo(i,r);
  390. Read
  391.     EVOA from file GTAPDATA header "EVOA";
  392.  
  393. Variable (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  394.     pfe(i,j,r) # firms' price for endowment commodity i in ind. j, region r #;
  395. Variable (orig_level=VFM)(all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  396.    qfe(i,j,r)  # demand for endowment i for use in ind. j in region r #;
  397. Coefficient (ge 0)(all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  398.    EVFA(i,j,r) # producer expenditure on i by j in r at agent's prices #;
  399. Update (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  400.     EVFA(i,j,r) = pfe(i,j,r) * qfe(i,j,r);
  401. Read
  402.     EVFA from file GTAPDATA header "EVFA";
  403.  
  404. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  405.     pfd(i,j,s) # price index for domestic purchases of i by j in region s #;
  406. Variable (orig_level=VDFM)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  407.     qfd(i,j,s)  # domestic good i demanded by industry j in region s #;
  408. Coefficient (ge 0)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  409.     VDFA(i,j,r) # purchases of domestic i for use by j in region r #;
  410. Update (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  411.     VDFA(i,j,r) = pfd(i,j,r) * qfd(i,j,r);
  412. Read
  413.     VDFA from file GTAPDATA header "VDFA";
  414.  
  415. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  416.     pfm(i,j,s) # price index for imports of i by j in region s #;
  417. Variable (orig_level=VIFM)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  418.     qfm(i,j,s) # demand for i by industry j in region s #;
  419. Coefficient (ge 0)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  420.     VIFA(i,j,r) # purchases of imported i for use by j in region r #;
  421. Update (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  422.     VIFA(i,j,r) = pfm(i,j,r) * qfm(i,j,r);
  423. Read
  424.     VIFA from file GTAPDATA header "VIFA";
  425.  
  426. Variable (all,i,ENDWS_COMM)(all,j,PROD_COMM)(all,r,REG)
  427.     pmes(i,j,r) # market price of sluggish endowment i used by j in r #;
  428. Coefficient (ge 0)(all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  429.     VFM(i,j,r) # producer expenditure on i by j in r valued at mkt prices #;
  430. Update (all,i,ENDWM_COMM)(all,j,PROD_COMM)(all,r,REG)
  431.     VFM(i,j,r) = pm(i,r) * qfe(i,j,r);
  432. Update (all,i,ENDWS_COMM)(all,j,PROD_COMM)(all,r,REG)
  433.     VFM(i,j,r) = pmes(i,j,r) * qfe(i,j,r);
  434. Read
  435.     VFM from file GTAPDATA header "VFM";
  436.  
  437. Coefficient (ge 0)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  438.     VIFM(i,j,r) # purchases of imports i for use by j in region r #;
  439. Update (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  440.     VIFM(i,j,r) = pim(i,r) * qfm(i,j,r);
  441. Read
  442.     VIFM from file GTAPDATA header "VIFM";
  443.  
  444. Coefficient (ge 0)(all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  445.     VDFM(i,j,r) # purchases of domestic i for use by j in region r #;
  446. Update (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  447.     VDFM(i,j,r) = pm(i,r) * qfd(i,j,r);
  448. Read
  449.     VDFM from file GTAPDATA header "VDFM";
  450.  
  451. !<
  452.     Global Bank
  453.     -----------
  454. >!
  455.  
  456. Variable (all,r,REG)
  457.     kb(r) # beginning-of-period capital stock in r #;
  458. Variable (all,r,REG)
  459.     pcgds(r) # price of investment goods = ps("cgds",r) #;
  460. Coefficient (ge 0)(all,r,REG)
  461.     VDEP(r) # value of capital depeciation in r (exogenous) #;
  462. Update (all,r,REG)
  463.     VDEP(r) = kb(r) * pcgds(r);
  464. Read
  465.     VDEP from file GTAPDATA header "VDEP";
  466. !<
  467.     Value of capital depreciation is used to compute the (exogenous)
  468.     depreciation rate and therefore does not appear in update.
  469. >!
  470.  
  471. !<
  472.     International Trade and Transport
  473.     ---------------------------------
  474. >!
  475.  
  476. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  477.     pms(i,r,s) # domestic price for good i supplied from r to region s #;
  478. Variable (orig_level=VXMD)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  479.     qxs(i,r,s) # export sales of commodity i from r to region s #;
  480. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  481.     VIMS(i,r,s) # imports of i from r to s valued at domestic mkt prices #;
  482. Update (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  483.     VIMS(i,r,s) = pms(i,r,s) * qxs(i,r,s);
  484. Read
  485.     VIMS from file GTAPDATA header "VIMS";
  486.  
  487. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  488.     pcif(i,r,s) # CIF world price of commodity i supplied from r to s #;
  489. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  490.     VIWS(i,r,s) # imports of i from r to s valued CIF (tradeables only) #;
  491. Update (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  492.     VIWS(i,r,s) = pcif(i,r,s) * qxs(i,r,s);
  493. Read
  494.     VIWS from file GTAPDATA header "VIWS";
  495.  
  496. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  497.     pfob(i,r,s) # FOB world price of commodity i supplied from r to s #;
  498. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  499.     VXWD(i,r,s) # exports of i from r to s valued FOB (tradeables only) #;
  500. Update (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  501.     VXWD(i,r,s) = pfob(i,r,s) * qxs(i,r,s);
  502. Read
  503.     VXWD from file GTAPDATA header "VXWD";
  504.  
  505. Coefficient (ge 0)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  506.     VXMD(i,r,s)
  507.     # exports of i from r to s valued at mkt prices (tradeables only) #;
  508. Update (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  509.     VXMD(i,r,s) = pm(i,r) * qxs(i,r,s);
  510. Read
  511.     VXMD from file GTAPDATA header "VXMD";
  512.  
  513. Variable (orig_level=VST)(all,m,MARG_COMM)(all,r,REG)
  514.     qst(m,r) # sales of m from r to international transport #;
  515. Coefficient (ge 0)(all,m,MARG_COMM)(all,r,REG)
  516.     VST(m,r)
  517.     # exprts of m from r for int'l trnsport valued at mkt p (tradeables only) #;
  518. Update (all,m,MARG_COMM)(all,r,REG)
  519.    VST(m,r) = pm(m,r) * qst(m,r);
  520. Read
  521.    VST from file GTAPDATA header "VST";
  522.  
  523. !<
  524.    ----------------
  525.    Common VARIABLES
  526.    ----------------
  527.  
  528.    Common variables are defined as variables which are used in more than one
  529.    module.  For example, the variable y(r) is used in the Goverment
  530.    Consumption, Private Consumption, Firms, Regional Household and
  531.    Investment, Global Bank and Savings modules.  Appendices, e.g., Summary
  532.    Indices, are not included in this definition.
  533. >!
  534.  
  535. Variable (all,r,REG)
  536.    y(r) # regional household income in region r #;
  537. Variable (all,r,REG)
  538.    pop(r) # regional population #;
  539. Variable (all,i,ENDWS_COMM)(all,j,PROD_COMM)(all,r,REG)
  540.    qoes(i,j,r) # supply of sluggish endowment i used by j in r #;
  541. Variable (all,i,ENDW_COMM)(all,r,REG)
  542.    endwslack(i,r) # slack variable in endowment market clearing condition #;
  543. !<
  544.    This is exogenous, unless the user wishes to employ a partial equilibrium
  545.    closure in which the price of one or more of the primary factors is fixed.
  546. >!
  547.  
  548. Variable (all,r,REG)
  549.    pgov(r) # price index for gov't hhld expenditure in region r #;
  550. Variable (all,r,REG)
  551.     yg(r)
  552.     # regional government consumption expenditure in region r #;
  553. Variable (all,r,REG)
  554.     ug(r) # per capita utility from gov't expend. in region r #;
  555. Variable (all,r,REG)
  556.    ppriv(r)
  557.    # price index for private consumption expenditure in region r #;
  558. Variable (all,r,REG)
  559.    uepriv(r)
  560.    # elasticity of cost wrt utility from private consumption #;
  561. Variable (all,r,REG)
  562.    yp(r) # regional private consumption expenditure in region r #;
  563. Variable (all,r,REG)
  564.    up(r) # per capita utility from private expend. in region r #;
  565. Variable (all,i,NSAV_COMM)(all,r,REG)
  566.    to(i,r) # output (or income) tax in region r #;
  567. !<
  568.    Note:  It is important that the user NOT shock the tax on capital goods
  569.    output, as this will cause an inconsistency in the update relationship for
  570.    VOM(cgds).
  571. >!
  572. Variable (orig_level=VIM)(all,i,TRAD_COMM)(all,s,REG)
  573.    qim(i,s) # aggregate imports of i in region s, market price weights #;
  574. Variable
  575.    globalcgds # global supply of capital goods for NET investment #;
  576. Variable
  577.    pcgdswld # world average price of capital goods (net investment weights) #;
  578.  
  579. !<
  580.    The following variables could be dropped when converting to levels
  581.    equation for income.  They are only needed for the linearized equation.
  582.    The idea here is to look at the ratio of taxes to income in order to
  583.    preserve homogeneity in prices.  (We could also look at changes in tax
  584.    revenue, but then a uniform price increase would change this variable.)
  585.    Obviously a simple percentage change variable doesn't work, since many
  586.     taxes are initially zero.  The basic logic of this approach is as follows:
  587.  
  588.     Let R be the ratio of taxes to income: R = T/Y, then:
  589.         dR = d(T/Y) = R(t - y)/100
  590.     multiply through by Y to get:
  591.         YdR = dT - Ty/100
  592.     This ratio change is computed for each tax type and for total taxes.  Then
  593.     the change in tax revenue itself may be computed as:
  594.         dT = YdR + Ty/100
  595.     in order to determine regional income.
  596. >!
  597.  
  598. Variable (change) (all,r,REG)
  599.     del_taxrgc(r) # change in ratio of government consumption tax to INCOME #;
  600. Variable (change) (all,r,REG)
  601.     del_taxrpc(r) # change in ratio of private consumption tax to INCOME #;
  602. Variable (change) (all,r,REG)
  603.     del_taxriu(r) # change in ratio of tax on intermediate usage to INCOME #;
  604. Variable (change) (all,r,REG)
  605.     del_taxrfu(r) # change in ratio of tax on primary factor usage to INCOME #;
  606. Variable (change) (all,r,REG)
  607.     del_taxrout(r) # change in ratio of output tax to INCOME #;
  608. Variable (change) (all,r,REG)
  609.     del_taxrexp(r) # change in ratio of export tax to INCOME #;
  610. Variable (change) (all,r,REG)
  611.     del_taxrimp(r) # change in ratio of import tax to INCOME #;
  612. Variable (change) (all,r,REG)
  613.     del_taxrinc(r) # change in ratio of income tax to INCOME #;
  614.  
  615. !<
  616.     -------------------
  617.     Common COEFFICIENTS
  618.     -------------------
  619.  
  620.     Key Derivatives of the Base Data
  621.     Regional Expenditure and Income
  622.     Indirect Tax Receipts
  623.     Miscellaneous Coefficients
  624.  
  625.     Common Coefficients are defined as coefficients which are used in more
  626.     than one module.  For example, ESUBD(i) is used in the Goverment
  627.     Household, Private Household, and Firms modules.
  628. >!
  629.  
  630. !<
  631.     Key Derivatives of the Base Data
  632.     --------------------------------
  633. >!
  634.  
  635. Coefficient (all,i,DEMD_COMM)(all,j,PROD_COMM)(all,r,REG)
  636.     VFA(i,j,r) # producer expenditure on i by j in r valued at agent's prices #;
  637. Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  638.    VFA(i,j,r) = EVFA(i,j,r);
  639. Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  640.    VFA(i,j,s) = VDFA(i,j,s) + VIFA(i,j,s);
  641.  
  642. Coefficient (all,i,NSAV_COMM)(all,r,REG)
  643.    VOA(i,r) # value of commodity i output in region r at agent's prices #;
  644. Formula (all,i,ENDW_COMM)(all,r,REG)
  645.     VOA(i,r) = EVOA(i,r);
  646. Formula (all,i,PROD_COMM)(all,r,REG)
  647.     VOA(i,r) = sum(j,DEMD_COMM, VFA(j,i,r));
  648.  
  649. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  650.     VDM(i,r) # domestic sales of i in r at mkt prices (tradeables only) #;
  651. Formula (all,i,TRAD_COMM)(all,r,REG)
  652.     VDM(i,r) = VDPM(i,r) + VDGM(i,r) + sum(j,PROD_COMM, VDFM(i,j,r));
  653.  
  654. Coefficient (all,i,NSAV_COMM)(all,r,REG)
  655.     VOM(i,r) # value of commodity i output in region r at market prices #;
  656. Formula (all,i,ENDW_COMM)(all,r,REG)
  657.     VOM(i,r) = sum(j,PROD_COMM, VFM(i,j,r));
  658. Formula (all,m,MARG_COMM)(all,r,REG)
  659.     VOM(m,r) = VDM(m,r) + sum(s,REG, VXMD(m,r,s)) + VST(m,r);
  660. Formula (all,i,NMRG_COMM)(all,r,REG)
  661.     VOM(i,r) = VDM(i,r) + sum(s,REG, VXMD(i,r,s));
  662. Formula (all,h,CGDS_COMM)(all,r,REG)
  663.     VOM(h,r) = VOA(h,r);
  664.  
  665. !<
  666.     Regional Expenditure and Income
  667.     -------------------------------
  668.  
  669.     Regional income is allocated between private consumption expenditure,
  670.     government consumption expenditure, and saving.
  671.  
  672.     Expenditure of Regional Household
  673.     .................................
  674.  
  675.                Regional household(h.h.)
  676.                 Expenditure = Income
  677.                          _/|\_
  678.                        _/  |  \_
  679.                      _/    |    \_
  680.                    _/      |      \_
  681.                  _/        |        \_
  682.        Private h.h.        |        Government h.h.
  683.        ( PRIVEXP )         |          ( GOVEXP )
  684.           _/\_             |              _/\_
  685.         _/    \_           |            _/    \_
  686.        /        \          |           /        \
  687.     Domestic  Imported   Savings    Domestic    Imported
  688.      Goods     Goods     ( SAVE )    Goods       Goods
  689.     ( VDPA )  ( VIPA )              ( VDGA )    ( VIGA )
  690.  
  691.     Note: The coefficients at the ends of branches are
  692.           Base Data, e.g., VDPA, SAVE.
  693. >!
  694.  
  695. ! government consumption expenditure, GOVEXP !
  696. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  697.     VGA(i,r) # government consn expenditure on i in r at agent's prices #;
  698. Formula (all,i,TRAD_COMM)(all,s,REG)
  699.    VGA(i,s) = VDGA(i,s) + VIGA(i,s);
  700. Coefficient (all,r,REG)
  701.    GOVEXP(r) # government expenditure in region r #;
  702. Formula (all,r,REG)
  703.    GOVEXP(r) = sum(i,TRAD_COMM, VGA(i,r));
  704.  
  705. ! private consumption expenditure, PRIVEXP !
  706. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  707.    VPA(i,r) # private hhld expenditure on i in r valued at agent's prices #;
  708. Formula (all,i,TRAD_COMM)(all,s,REG)
  709.     VPA(i,s) = VDPA(i,s) + VIPA(i,s);
  710. Coefficient (all,r,REG)
  711.     PRIVEXP(r) # private consumption expenditure in region r #;
  712. Formula (all,r,REG)
  713.     PRIVEXP(r) = sum(i,TRAD_COMM, VPA(i,r));
  714.  
  715. ! aggregate expenditure + saving = aggregate income !
  716. Coefficient (all,r,REG)
  717.     INCOME(r) # level of expenditure, which equals NET income in region r #;
  718. Formula (all,r,REG)
  719.     INCOME(r) = PRIVEXP(r) + GOVEXP(r) + SAVE(r);
  720.  
  721. !<
  722.     Indirect Tax Receipts
  723.     ---------------------
  724. >!
  725.  
  726. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  727.     DGTAX(i,r) # tax on government consumption of domestic good i in region r #;
  728. Formula (all,i,TRAD_COMM)(all,r,REG)
  729.     DGTAX(i,r) = VDGA(i,r) - VDGM(i,r);
  730. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  731.     IGTAX(i,r) # tax on government consumption of imported good i in region r #;
  732. Formula (all,i,TRAD_COMM)(all,r,REG)
  733.     IGTAX(i,r) = VIGA(i,r) - VIGM(i,r);
  734. Coefficient (all,r,REG)
  735.     TGC(r) # government consumption tax payments in r #;
  736. Formula (all,r,REG)
  737.     TGC(r) = sum(i,TRAD_COMM, DGTAX(i,r) + IGTAX(i,r));
  738.  
  739. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  740.     DPTAX(i,r) # tax on private consumption of domestic good i in region r #;
  741. Formula (all,i,TRAD_COMM)(all,r,REG)
  742.     DPTAX(i,r) = VDPA(i,r) - VDPM(i,r);
  743. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  744.     IPTAX(i,r) # tax on private consumption of imported good i in region r #;
  745. Formula (all,i,TRAD_COMM)(all,r,REG)
  746.     IPTAX(i,r) = VIPA(i,r) - VIPM(i,r);
  747. Coefficient (all,r,REG)
  748.     TPC(r) # private consumption tax payments in r #;
  749. Formula (all,r,REG)
  750.     TPC(r) = sum(i,TRAD_COMM, DPTAX(i,r) + IPTAX(i,r));
  751.  
  752. Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  753.     DFTAX(i,j,r) # tax on use of domestic intermediate good i by j in r #;
  754. Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  755.     DFTAX(i,j,r) = VDFA(i,j,r) - VDFM(i,j,r);
  756. Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  757.     IFTAX(i,j,r) # tax on use of imported intermediate good i by j in r #;
  758. Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  759.     IFTAX(i,j,r) = VIFA(i,j,r) - VIFM(i,j,r);
  760. Coefficient (all,r,REG)
  761.     TIU(r) # firms' tax payments on intermediate goods usage in r #;
  762. Formula (all,r,REG)
  763.    TIU(r) = sum(i,TRAD_COMM, sum(j,PROD_COMM, DFTAX(i,j,r) + IFTAX(i,j,r)));
  764.  
  765. Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  766.    ETAX(i,j,r) # tax on use of endowment good i by industry j in region r #;
  767. Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  768.    ETAX(i,j,r) = VFA(i,j,r) - VFM(i,j,r);
  769. Coefficient (all,r,REG)
  770.    TFU(r) # firms' tax payments on primary factor usage in r #;
  771. Formula (all,r,REG)
  772.     TFU(r) = sum(i,ENDW_COMM, sum(j,PROD_COMM, ETAX(i,j,r)));
  773.  
  774. Coefficient (all,i,NSAV_COMM)(all,r,REG)
  775.     PTAX(i,r) # output tax on good i in region r #;
  776. Formula (all,i,NSAV_COMM)(all,r,REG)
  777.     PTAX(i,r) = VOM(i,r) - VOA(i,r);
  778. Coefficient (all,r,REG)
  779.     TOUT(r) # production tax payments in r #;
  780. Formula (all,r,REG)
  781.     TOUT(r) = sum(i,PROD_COMM, PTAX(i,r));
  782.  
  783. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  784.     XTAXD(i,r,s) # tax on exports of good i from source r to destination s #;
  785. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  786.     XTAXD(i,r,s) = VXWD(i,r,s) - VXMD(i,r,s);
  787. Coefficient (all,r,REG)
  788.     TEX(r) # export tax payments in r #;
  789. Formula (all,r,REG)
  790.     TEX(r) = sum(i,TRAD_COMM, sum(s,REG, XTAXD(i,r,s)));
  791.  
  792. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  793.     MTAX(i,r,s) # tax on imports of good i from source r in destination s #;
  794. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  795.     MTAX(i,r,s) = VIMS(i,r,s) - VIWS(i,r,s);
  796. Coefficient (all,r,REG)
  797.     TIM(r) # import tax payments in r #;
  798. Formula (all,r,REG)
  799.     TIM(r) = sum(i,TRAD_COMM, sum(s,REG, MTAX(i,s,r)));
  800.  
  801. !<
  802.     Miscellaneous Coefficients
  803.     --------------------------
  804. >!
  805.  
  806. ! domestic/imported substitution elasticity !
  807. Coefficient (parameter)(all,i,TRAD_COMM)
  808.     ESUBD(i)
  809.     # region-generic el. of sub. domestic/imported for all agents #;
  810. Read
  811.     ESUBD from file GTAPPARM header "ESBD";
  812.  
  813. ! net global investment expenditure !
  814. Coefficient (all,r,REG)
  815.     REGINV(r) # regional GROSS investment in r (value of "cgds" output) #;
  816. Formula (all,r,REG)
  817.     REGINV(r) = sum(k,CGDS_COMM, VOA(k,r));
  818. Coefficient (all,r,REG)
  819.     NETINV(r) # regional NET investment in region r #;
  820. Formula (all,r,REG)
  821.     NETINV(r) = sum(k,CGDS_COMM, VOA(k,r)) - VDEP(r);
  822. Coefficient
  823.     GLOBINV # global expenditures on net investment #;
  824. Formula
  825.     GLOBINV = sum(r,REG, NETINV(r));
  826.  
  827. ! elasticity of cost wrt utility from private consumption !
  828. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  829.     CONSHR(i,r) # share of private hhld consumption devoted to good i in r #;
  830. Formula (all,i,TRAD_COMM)(all,r,REG)
  831.     CONSHR(i,r) = VPA(i,r) / sum(k,TRAD_COMM, VPA(k,r));
  832. Coefficient (parameter)(all,i,TRAD_COMM)(all,r,REG)
  833.     INCPAR(i,r)
  834.     # expansion parameter in the CDE minimum expenditure function #;
  835. Read
  836.     INCPAR from file GTAPPARM header "INCP";
  837. Coefficient (all,r,REG)
  838.     UELASPRIV(r)
  839.     # elasticity of cost wrt utility from private consumption #;
  840. Formula (all,r,REG)
  841.     UELASPRIV(r) = sum(i,TRAD_COMM, CONSHR(i,r) * INCPAR(i,r));
  842.  
  843. !<
  844.     =======
  845.     Modules
  846.     =======
  847.  
  848.     1. Government Consumption
  849.     2. Private Consumption
  850.     3. Firms
  851.     4. Investment, Global Bank, and Savings
  852.     5. International Trade
  853.     6. International Transport Services
  854.     7. Regional Household
  855.     8. Equilibrium Conditions
  856. >!
  857.  
  858. !<
  859.     -------------------------
  860.     1. Government Consumption
  861.     -------------------------
  862.  
  863.     1-0. Module-Specific Variables
  864.     1-1. Demands for Composite Goods
  865.     1-2. Composite Tradeables
  866. >!
  867.  
  868. !<
  869.     1-0. Module-Specific Variables
  870.     ------------------------------
  871.  
  872.     only used in this Government Consumption module
  873. >!
  874.  
  875. Variable (all,i,TRAD_COMM)(all,r,REG)
  876.     pg(i,r) # government consumption price for commodity i in region r #;
  877. Variable (all,i,TRAD_COMM)(all,r,REG)
  878.     qg(i,r) # government hhld demand for commodity i in region r #;
  879.  
  880. !<
  881.     1-1. Demands for Composite Goods
  882.     --------------------------------
  883. >!
  884.  
  885. Equation GPRICEINDEX
  886. # definition of price index for aggregate gov't purchases (HT 40) #
  887. (all,r,REG)
  888.    pgov(r) = sum(i,TRAD_COMM, [VGA(i,r) / GOVEXP(r)] * pg(i,r));
  889.  
  890. Equation GOVDMNDS
  891. # government consumption demands for composite commodities (HT 41) #
  892. (all,i,TRAD_COMM)(all,r,REG)
  893.    qg(i,r) - pop(r) = ug(r) - [pg(i,r) - pgov(r)];
  894.  
  895. Equation GOVU
  896. # utility from government consumption in r #
  897. (all,r,REG)
  898.    yg(r) - pop(r) = pgov(r) + ug(r);
  899.  
  900. !<
  901.    1-2. Composite Tradeables
  902.    -------------------------
  903. >!
  904.  
  905. Variable (all,i,TRAD_COMM)(all,r,REG)
  906.    tgd(i,r) # tax on domestic i purchased by government hhld in r #;
  907.  
  908. Variable (all,i,TRAD_COMM)(all,r,REG)
  909.    tgm(i,r) # tax on imported i purchased by gov't hhld in r #;
  910.  
  911. Equation GHHDPRICE
  912. # eq'n links domestic market and government consumption prices (HT 19) #
  913. (all,i,TRAD_COMM)(all,r,REG)
  914.    pgd(i,r) = tgd(i,r) + pm(i,r);
  915.  
  916. Equation GHHIPRICES
  917. # eq'n links domestic market and government consumption prices (HT 22) #
  918. (all,i,TRAD_COMM)(all,r,REG)
  919.     pgm(i,r) = tgm(i,r) + pim(i,r);
  920.  
  921. Coefficient (all,i,TRAD_COMM)(all,s,REG)
  922.     GMSHR(i,s) # share of imports for gov't hhld at agent's prices #;
  923. Formula (all,i,TRAD_COMM)(all,s,REG)
  924.     GMSHR(i,s) = VIGA(i,s) / VGA(i,s);
  925.  
  926. Equation GCOMPRICE
  927. # government consumption price for composite commodities (HT 42) #
  928. (all,i,TRAD_COMM)(all,s,REG)
  929.     pg(i,s) =  GMSHR(i,s) * pgm(i,s) + [1 - GMSHR(i,s)] * pgd(i,s);
  930.  
  931. Equation GHHLDAGRIMP
  932. # government consumption demand for aggregate imports (HT 43) #
  933. (all,i,TRAD_COMM)(all,s,REG)
  934.     qgm(i,s) = qg(i,s) + ESUBD(i) * [pg(i,s) - pgm(i,s)];
  935.  
  936. Equation GHHLDDOM
  937. # government consumption demand for domestic goods (HT 44) #
  938. (all,i,TRAD_COMM)(all,s,REG)
  939.     qgd(i,s) = qg(i,s) + ESUBD(i) * [pg(i,s) - pgd(i,s)];
  940.  
  941. Equation TGCRATIO
  942. # change in ratio of government consumption tax payments to regional income #
  943. (all,r,REG)
  944.     100.0 * INCOME(r) * del_taxrgc(r) + TGC(r) * y(r)
  945.         = sum(i,TRAD_COMM,
  946.             VDGA(i,r) * tgd(i,r) + DGTAX(i,r) * [pm(i,r) + qgd(i,r)])
  947.         + sum(i,TRAD_COMM,
  948.             VIGA(i,r) * tgm(i,r) + IGTAX(i,r) * [pim(i,r) + qgm(i,r)]);
  949.  
  950. !<
  951.     -----------------------------
  952.     2. Private Consumption Module
  953.     -----------------------------
  954.  
  955.     2-0. Module-Specific Variables
  956.     2-1. Utility from Private Consumption
  957.     2-2. Allen Partials, Price and Income Elasticities, Composite Demand
  958.     2-3. Composite Tradeables
  959. >!
  960.  
  961. !<
  962.     2-0. Module-Specific Variables
  963.     ------------------------------
  964.  
  965.     only used in this Private Consumption module
  966. >!
  967.  
  968. Variable (all,i,TRAD_COMM)(all,r,REG)
  969.     pp(i,r) # private consumption price for commodity i in region r #;
  970. Variable (all,i,TRAD_COMM)(all,r,REG)
  971.     qp(i,r) # private hhld demand for commodity i in region r #;
  972.  
  973. !<
  974.     2-1. Utility from Private Consumption
  975.     -------------------------------------
  976. >!
  977.  
  978. Equation PHHLDINDEX
  979. # price index for private consumption expenditure #
  980. (all,r,REG)
  981.     ppriv(r) = sum(i,TRAD_COMM, CONSHR(i,r) * pp(i,r));
  982.  
  983. Equation PRIVATEU
  984. # computation of utility from private consumption in r (HT 45) #
  985. (all,r,REG)
  986.     yp(r) - pop(r) = ppriv(r) + UELASPRIV(r) * up(r);
  987. !<
  988.     This equation determines private consumption utility for a representative
  989.     household in region r, based on the per capita private expenditure
  990.     function.  (HT 45)
  991. >!
  992.  
  993. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  994.     XWCONSHR(i,r)
  995.     # expansion-parameter-weighted consumption share #;
  996. Formula (all,i,TRAD_COMM)(all,r,REG)
  997.     XWCONSHR(i,r) = CONSHR(i,r) * INCPAR(i,r) / UELASPRIV(r);
  998.  
  999. Equation UTILELASPRIV
  1000. # elasticity of expenditure wrt utility from private consumption #
  1001. (all,r,REG)
  1002.     uepriv(r)
  1003.         = sum(i,TRAD_COMM, XWCONSHR(i,r) * [pp(i,r) + qp(i,r) - yp(r)]);
  1004.  
  1005. !<
  1006.     2-2. Allen Partials, Price and Income Elasticities, Composite Demand
  1007.     --------------------------------------------------------------------
  1008. >!
  1009.  
  1010. Coefficient (parameter)(all,i,TRAD_COMM)(all,r,REG)
  1011.     SUBPAR(i,r)
  1012.     # substitution parameter in CDE minimum expenditure function #;
  1013. Read
  1014.     SUBPAR from file GTAPPARM header "SUBP";
  1015.  
  1016. !<
  1017.     (HT F1 - F3)
  1018. >!
  1019. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  1020.     ALPHA(i,r) # 1 - sub. parameter in the CDE minimum expenditure function #;
  1021. Formula (all,i,TRAD_COMM)(all,r,REG)
  1022.     ALPHA(i,r) = 1 - SUBPAR(i,r);
  1023.  
  1024. Coefficient (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)
  1025.     APE(i,k,r) # Allen partial elst. of sub. between composite i and k in r #;
  1026. Formula (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)
  1027.     APE(i,k,r)
  1028.         = ALPHA(i,r) + ALPHA(k,r) - sum(n,TRAD_COMM, CONSHR(n,r) * ALPHA(n,r));
  1029. Formula (all,i,TRAD_COMM)(all,r,REG)
  1030.     APE(i,i,r)
  1031.         = 2.0 * ALPHA(i,r)
  1032.         - sum(n,TRAD_COMM, CONSHR(n,r) * ALPHA(n,r))
  1033.         - ALPHA(i,r) / CONSHR(i,r);
  1034.  
  1035. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  1036.     EY(i,r) # income elast. of private hhld demand for i in r (HT F4) #;
  1037. Formula (all,i,TRAD_COMM)(all,r,REG)
  1038.     EY(i,r)
  1039.         =   [1.0 / sum(n,TRAD_COMM, CONSHR(n,r) * INCPAR(n,r))]
  1040.             * [INCPAR(i,r) * [1.0 - ALPHA(i,r)]
  1041.                 + sum(n,TRAD_COMM, CONSHR(n,r) * INCPAR(n,r) * ALPHA(n,r))]
  1042.         + [ALPHA(i,r) - sum(n,TRAD_COMM, CONSHR(n,r) * ALPHA(n,r))];
  1043.  
  1044. Coefficient (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)
  1045.     EP(i,k,r)
  1046.     # uncomp. elast. of private hhld demand for i wrt price of k in r (HT F5) #;
  1047. Formula (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)
  1048.     EP(i,k,r) = 0;
  1049. Formula (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)
  1050.     EP(i,k,r) = [APE(i,k,r) - EY(i,r)] * CONSHR(k,r);
  1051.  
  1052. Equation PRIVDMNDS
  1053. # private consumption demands for composite commodities (HT 46) #
  1054. (all,i,TRAD_COMM)(all,r,REG)
  1055.     qp(i,r) - pop(r)
  1056.         = sum(k,TRAD_COMM, EP(i,k,r) * pp(k,r)) + EY(i,r) * [yp(r) - pop(r)];
  1057. !<
  1058.     Private consumption demands for composite commodities.  Demand system is
  1059.     on a per capita basis.  Here, yp(r) - pop(r) is % change in per capita
  1060.     income.  (HT 46)
  1061. >!
  1062.  
  1063. !<
  1064.     2-3. Composite Tradeables
  1065.     -------------------------
  1066. >!
  1067.  
  1068. Variable (all,r,REG)
  1069.     tp(r) # comm.-, source-gen. shift in tax on private cons. #;
  1070. !<
  1071.     The variable tp(r) can be swapped with del_ttaxr(r) in order to generate a
  1072.     tax replacement scenario, whereby taxes remain a constant share of
  1073.     national income.
  1074. >!
  1075.  
  1076. Coefficient (all,i,TRAD_COMM)(all,r,REG) LevTPD(i,r) # levels TPD #;
  1077. Zerodivide default 1;
  1078. Formula (all,i,TRAD_COMM)(all,r,REG) LevTPD(i,r)  =  VDPA(i,r)/VDPM(i,r);
  1079. Zerodivide off;
  1080. Variable  (orig_level=LevTPD)(all,i,TRAD_COMM)(all,r,REG)
  1081.     tpd(i,r) # comm.-, source-spec. shift in tax on private cons. of dom. #;
  1082. Variable (all,i,TRAD_COMM)(all,r,REG)
  1083.     atpd(i,r) # power of tax on domestic i purchased by private hhld in r #;
  1084. Equation TPDSHIFT
  1085. # permits uniform consumption tax change #
  1086. (all,i,TRAD_COMM)(all,r,REG)
  1087.     atpd(i,r) = tpd(i,r) + tp(r);
  1088.  
  1089. Equation PHHDPRICE
  1090. # eq'n links domestic market and private consumption prices (HT 18) #
  1091. (all,i,TRAD_COMM)(all,r,REG)
  1092.    ppd(i,r) = atpd(i,r) + pm(i,r);
  1093.  
  1094. Variable (all,i,TRAD_COMM)(all,r,REG)
  1095.    tpm(i,r) # comm.-, source-spec. shift in tax on private cons. of imp. #;
  1096. Variable (all,i,TRAD_COMM)(all,r,REG)
  1097.    atpm(i,r) # power of tax on imported i purchased by private hhld in r #;
  1098. Equation TPMSHIFT
  1099. # permits uniform consumption tax change #
  1100. (all,i,TRAD_COMM)(all,r,REG)
  1101.    atpm(i,r) = tpm(i,r) + tp(r);
  1102.  
  1103. Equation PHHIPRICES
  1104. # eq'n links domestic market and private consumption prices (HT 21) #
  1105. (all,i,TRAD_COMM)(all,r,REG)
  1106.     ppm(i,r) = atpm(i,r) + pim(i,r);
  1107.  
  1108. Equation TPCRATIO
  1109. # change in ratio of private consumption tax payments to regional income #
  1110. (all,r,REG)
  1111.     100.0 * INCOME(r) * del_taxrpc(r) + TPC(r) * y(r)
  1112.         = sum(i,TRAD_COMM,
  1113.             VDPA(i,r) * atpd(i,r) + DPTAX(i,r) * [pm(i,r) + qpd(i,r)])
  1114.         + sum(i,TRAD_COMM,
  1115.             VIPA(i,r) * atpm(i,r) + IPTAX(i,r) * [pim(i,r) + qpm(i,r)]);
  1116.  
  1117. Coefficient (all,i,TRAD_COMM)(all,s,REG)
  1118.     PMSHR(i,s) # share of imports for priv hhld at agent's prices #;
  1119. Formula (all,i,TRAD_COMM)(all,s,REG)
  1120.    PMSHR(i,s) = VIPA(i,s) / VPA(i,s);
  1121.  
  1122. Equation PCOMPRICE
  1123. # private consumption price for composite commodities (HT 47) #
  1124. (all,i,TRAD_COMM)(all,s,REG)
  1125.    pp(i,s) = PMSHR(i,s) * ppm(i,s) + [1 - PMSHR(i,s)] * ppd(i,s);
  1126.  
  1127. Equation PHHLDDOM
  1128. # private consumption demand for domestic goods (HT 48) #
  1129. (all,i,TRAD_COMM)(all,s,REG)
  1130.    qpd(i,s) = qp(i,s) + ESUBD(i) * [pp(i,s) - ppd(i,s)];
  1131.  
  1132. Equation PHHLDAGRIMP
  1133. # private consumption demand for aggregate imports (HT 49) #
  1134. (all,i,TRAD_COMM)(all,s,REG)
  1135.    qpm(i,s) = qp(i,s) + ESUBD(i) * [pp(i,s) - ppm(i,s)];
  1136.  
  1137. !<
  1138.    ---------
  1139.    3. Firms
  1140.    ---------
  1141.  
  1142.    We now turn to the behavioral equations for firms.  The following picture
  1143.    describes factor demands.  The first set of equations describe demands for
  1144.    primary factors.  (See table 4 of Hertel and Tsigas.)
  1145.  
  1146.    Production structure
  1147.    --------------------
  1148.  
  1149.                             qo(j,r)  [ao(j,r)]
  1150.                             /\
  1151.                            /  \  <----- CES
  1152.                           /    \
  1153.                          /      \
  1154.                         /        \
  1155.      [ava(j,r)]  qva(j,r)        qf(i,j,r)  [af(i,j,r)]
  1156.                  /|\                    /\
  1157. CES ----->      / | \                  /  \  <------ CES
  1158.                /  |  \                /    \
  1159.               /   |   \              /      \
  1160.              /    |    \            /        \
  1161.          Land   Labor  Capital  Domestic     Foreign
  1162.               qfe(i,j,r)         qfd(i,j,r)  qfm(i,j,r)
  1163.             [afe(i,j,r)]
  1164.  
  1165.    3-0. Module-Specific Variables
  1166.    3-1. Total Output Nest
  1167.    3-2. Composite Intermediates Nest
  1168.    3-3. Value-Added Nest
  1169.    3-4. Zero Profits Equations
  1170. >!
  1171.  
  1172. !<
  1173.    3-0. Module-Specific Variables
  1174.    ------------------------------
  1175.  
  1176.    only used in this Firms module or the Summary Indices or Welfare
  1177.    appendices
  1178. >!
  1179.  
  1180. Variable (all,j,PROD_COMM)(all,r,REG)
  1181.    pva(j,r) # firms' price of value added in industry j of region r #;
  1182. Variable (all,j,PROD_COMM)(all,r,REG)
  1183.     qva(j,r) # value added in industry j of region r #;
  1184. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1185.     pf(i,j,r) # firms' price for commodity i for use by j in r #;
  1186. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1187.    qf(i,j,r) # demand for commodity i for use by j in region r #;
  1188. Variable (all,j,PROD_COMM)(all,r,REG)
  1189.    ao(j,r) # output augmenting technical change in sector j of r #;
  1190. Variable (all,i,PROD_COMM)(all,r,REG)
  1191.    ava(i,r) # value added augmenting tech change in sector i of r #;
  1192. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1193.    af(i,j,r) # composite intermed. input i augmenting tech change by j of r #;
  1194. Variable (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  1195.    afe(i,j,r) # primary factor i augmenting tech change by j of r #;
  1196. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1197.    ams(i,r,s) # import i from region r augmenting tech change in region s #;
  1198.  
  1199. !<
  1200.    3-1. Total Output Nest
  1201.    ----------------------
  1202. >!
  1203.  
  1204. Variable (all,j,PROD_COMM)
  1205.    aosec(j) # output tech change of sector j, worldwide #;
  1206. Variable (all,r,REG)
  1207.    aoreg(r) # output tech change in region r #;
  1208. Variable (all,j,PROD_COMM)(all,r,REG)
  1209.    aoall(j,r) # output augmenting technical change in sector j of r #;
  1210. Equation AOWORLD
  1211. # sector/region specific average rate of output augmenting tech change #
  1212. (all,j,PROD_COMM)(all,r,REG)
  1213.    ao(j,r) = aosec(j) + aoreg(r) + aoall(j,r);
  1214.  
  1215. Variable (all,j,PROD_COMM)
  1216.    avasec(j) # value added tech change of sector j, worldwide #;
  1217. Variable (all,r,REG)
  1218.    avareg(r) # value added tech change in region r #;
  1219. Variable (all,j,PROD_COMM)(all,r,REG)
  1220.    avaall(j,r) # value added augmenting technical change in sector j of r #;
  1221. Equation AVAWORLD
  1222. # sector/region specific average rate of value added augmenting tech change #
  1223. (all,j,PROD_COMM)(all,r,REG)
  1224.    ava(j,r) = avasec(j) + avareg(r) + avaall(j,r);
  1225.  
  1226. Coefficient (parameter)(all,j,PROD_COMM)
  1227.    ESUBT(j)
  1228.    # elst. of sub. among composite intermediate inputs in production #;
  1229. Read
  1230.    ESUBT from file GTAPPARM header "ESBT";
  1231.  
  1232. Equation VADEMAND
  1233. # sector demands for primary factor composite #
  1234. (all,j,PROD_COMM)(all,r,REG)
  1235.    qva(j,r)
  1236.        = -ava(j,r) + qo(j,r) - ao(j,r)
  1237.        - ESUBT(j) * [pva(j,r) - ava(j,r) - ps(j,r) - ao(j,r)];
  1238. !<
  1239.    Sector demands for primary factor composite.  This equation differs from
  1240.    HT 35 due to the presence of intermediate input substitution.
  1241. >!
  1242.  
  1243. Variable (all,i,TRAD_COMM)
  1244.    afcom(i) # intermediate tech change of input i, worldwide #;
  1245. Variable (all,j,PROD_COMM)
  1246.    afsec(j) # intermediate tech change of sector j, worldwide #;
  1247. Variable (all,r,REG)
  1248.    afreg(r) # intermediate tech change in region r #;
  1249. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1250.    afall(i,j,r) # intermediate input i augmenting tech change by j in r #;
  1251. Equation AFWORLD
  1252. # sector/region specific average rate of intermediates augmenting tech change #
  1253. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1254.    af(i,j,r) = afcom(i) + afsec(j) + afreg(r) + afall(i,j,r);
  1255.  
  1256. Equation INTDEMAND
  1257. # industry demands for intermediate inputs, including cgds #
  1258. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1259.    qf(i,j,r)
  1260.        = - af(i,j,r) + qo(j,r) - ao(j,r)
  1261.        - ESUBT(j) * [pf(i,j,r) - af(i,j,r) - ps(j,r) - ao(j,r)];
  1262. !<
  1263.    Industry demands for intermediate inputs, including cgds.  This equation
  1264.    differs from HT 36 due to the presence of intermediate input substitution.
  1265. >!
  1266.  
  1267. !<
  1268.    3-2. Composite Intermediates Nest
  1269.    ---------------------------------
  1270. >!
  1271.  
  1272. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1273.    tfd(i,j,r) # tax on domestic i purchased by j in r #;
  1274. Equation DMNDDPRICE
  1275. # eq'n links domestic market and firm prices (HT 20) #
  1276. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1277.     pfd(i,j,r) = tfd(i,j,r) + pm(i,r);
  1278. !<
  1279.     This equation links domestic market and firm prices.  It holds only for
  1280.     domestic goods and it captures the effect of commodity taxation of firms.
  1281.     (HT 20)
  1282. >!
  1283.  
  1284. Variable (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1285.     tfm(i,j,r) # tax on imported i purchased by j in r #;
  1286. Equation DMNDIPRICES
  1287. # eq'n links domestic market and firm prices (HT 23) #
  1288. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1289.    pfm(i,j,r) = tfm(i,j,r) + pim(i,r);
  1290. !<
  1291.    This equation links domestic market and firm prices.  It holds only for
  1292.    imported goods and it captures the effect of commodity taxation of firms.
  1293.    (HT 23)
  1294. >!
  1295.  
  1296. Equation TIURATIO
  1297. # change in ratio of tax payments on intermediate goods to regional income #
  1298. (all,r,REG)
  1299.    100.0 * INCOME(r) * del_taxriu(r) + TIU(r) * y(r)
  1300.        = sum(i,TRAD_COMM, sum(j,PROD_COMM,
  1301.            VDFA(i,j,r) * tfd(i,j,r) + DFTAX(i,j,r) * [pm(i,r) + qfd(i,j,r)]))
  1302.        + sum(i,TRAD_COMM, sum(j,PROD_COMM,
  1303.            VIFA(i,j,r) * tfm(i,j,r) + IFTAX(i,j,r) * [pim(i,r) + qfm(i,j,r)]));
  1304.  
  1305. Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  1306.    FMSHR(i,j,s) # share of firms' imports in dom. composite, agent's prices #;
  1307. Zerodivide default 0.5;
  1308. Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  1309.    FMSHR(i,j,s) = VIFA(i,j,s) / VFA(i,j,s);
  1310. Zerodivide off;
  1311. Equation ICOMPRICE
  1312. # industry price for composite commodities (HT 30) #
  1313. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1314.    pf(i,j,r) = FMSHR(i,j,r) * pfm(i,j,r) + [1 - FMSHR(i,j,r)] * pfd(i,j,r);
  1315.  
  1316. Equation INDIMP
  1317. # industry j demands for composite import i (HT 31) #
  1318. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  1319.    qfm(i,j,s) = qf(i,j,s) - ESUBD(i) * [pfm(i,j,s) - pf(i,j,s)];
  1320.  
  1321. Equation INDDOM
  1322. # industry j demands for domestic good i (HT 32) #
  1323. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,s,REG)
  1324.    qfd(i,j,s) = qf(i,j,s) - ESUBD(i) * [pfd(i,j,s) - pf(i,j,s)];
  1325.  
  1326. !<
  1327.    3-3. Value-Added Nest
  1328.    ---------------------
  1329. >!
  1330.  
  1331. Variable (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  1332.    tf(i,j,r) # tax on primary factor i used by j in region r #;
  1333.  
  1334. Equation MPFACTPRICE
  1335. # eq'n links domestic and firm demand prices (HT 16) #
  1336. (all,i,ENDWM_COMM)(all,j,PROD_COMM)(all,r,REG)
  1337.     pfe(i,j,r) = tf(i,j,r) + pm(i,r);
  1338.  
  1339. Equation SPFACTPRICE
  1340. # eq'n links domestic and firm demand prices (HT 17) #
  1341. (all,i,ENDWS_COMM)(all,j,PROD_COMM)(all,r,REG)
  1342.    pfe(i,j,r) = tf(i,j,r) + pmes(i,j,r);
  1343.  
  1344. Variable (all,i,ENDW_COMM)
  1345.    afecom(i) # factor input tech change of input i, worldwide #;
  1346. Variable (all,j,PROD_COMM)
  1347.    afesec(j) # factor input tech change of sector j, worldwide #;
  1348. Variable (all,r,REG)
  1349.    afereg(r) # factor input tech change in region r #;
  1350. Variable (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  1351.    afeall(i,j,r) # primary factor i augmenting tech change sector j in r #;
  1352. Equation AFEWORLD
  1353. # sector/region specific average rate of prim. factor i augmenting tech change #
  1354. (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  1355.    afe(i,j,r) = afecom(i) + afesec(j) + afereg(r) + afeall(i,j,r);
  1356.  
  1357. Coefficient (all,j,PROD_COMM)(all,r,REG)
  1358.    VVA(j,r) # value added in activity j in region r #;
  1359. Formula (all,j,PROD_COMM)(all,r,REG)
  1360.    VVA(j,r) = sum(i,ENDW_COMM, VFA(i,j,r));
  1361. Coefficient (all,i,ENDW_COMM)
  1362.    SVADEFAULT(i) #zerodivide default for SVA#;
  1363. Formula (all,i,ENDW_COMM)
  1364.    SVADEFAULT(i)
  1365.        = sum(j,PROD_COMM, sum(r,REG, VFA(i,j,r)))
  1366.        / sum(j,PROD_COMM, sum(r,REG, VVA(j,r)));
  1367. Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  1368.    SVA(i,j,r) # share of i in total value added in j in r #;
  1369. Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG: VVA(j,r) <> 0)
  1370.    SVA(i,j,r) = VFA(i,j,r) / VVA(j,r);
  1371. Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG: VVA(j,r) = 0)
  1372.    SVA(i,j,r) = SVADEFAULT(i);
  1373. Equation VAPRICE
  1374. # effective price of primary factor composite in each sector/region (HT 33) #
  1375. (all,j,PROD_COMM)(all,r,REG)
  1376.    pva(j,r) = sum(k,ENDW_COMM, SVA(k,j,r) * [pfe(k,j,r) - afe(k,j,r)]);
  1377.  
  1378. Equation TFURATIO
  1379. # change in ratio of tax payments on factor usage to regional income #
  1380. (all,r,REG)
  1381.    100.0 * INCOME(r) * del_taxrfu(r) + TFU(r) * y(r)
  1382.        = sum(i,ENDWM_COMM, sum(j,PROD_COMM,
  1383.            VFA(i,j,r) * tf(i,j,r) + ETAX(i,j,r) * [pm(i,r) + qfe(i,j,r)]))
  1384.        + sum(i,ENDWS_COMM, sum(j,PROD_COMM,
  1385.            VFA(i,j,r) * tf(i,j,r) + ETAX(i,j,r) * [pmes(i,j,r) + qfe(i,j,r)]));
  1386.  
  1387. Coefficient (parameter)(all,j,PROD_COMM)
  1388.    ESUBVA(j)
  1389.    # elst. of sub. capital/labor/land, in production of value added in j #;
  1390. Read
  1391.    ESUBVA from file GTAPPARM header "ESBV";
  1392.  
  1393. Equation ENDWDEMAND
  1394. # demands for endowment commodities (HT 34) #
  1395. (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  1396.    qfe(i,j,r)
  1397.        = - afe(i,j,r) + qva(j,r)
  1398.        - ESUBVA(j) * [pfe(i,j,r) - afe(i,j,r) - pva(j,r)];
  1399.  
  1400. !<
  1401.    3-4. Zero Profits Equations
  1402.    ---------------------------
  1403. >!
  1404.  
  1405. Equation OUTPUTPRICES
  1406. # eq'n links pre- and post-tax supply prices for all industries  (HT 15) #
  1407. (all,i,PROD_COMM)(all,r,REG)
  1408.     ps(i,r) = to(i,r) + pm(i,r);
  1409. !<
  1410.     This equation links pre- and post-tax supply prices for all industries.
  1411.     This captures the effect of output taxes.  TO(i,r) < 1 in the case of a
  1412.     tax.  (HT 15)
  1413. >!
  1414.  
  1415. Equation TOUTRATIO
  1416. # change in ratio of output tax payments to regional income #
  1417. (all,r,REG)
  1418.     100.0 * INCOME(r) * del_taxrout(r) + TOUT(r) * y(r)
  1419.         = sum(i,PROD_COMM,
  1420.             VOA(i,r) * [-to(i,r)] + PTAX(i,r) * [pm(i,r) + qo(i,r)]);
  1421.  
  1422. Variable (all,j,PROD_COMM)(all,r,REG)
  1423.     profitslack(j,r) # slack variable in the zero profit equation #;
  1424. !<
  1425.     This is exogenous, unless the user wishes to specify output in a given
  1426.     region exogenously.
  1427. >!
  1428. Coefficient (all,i,DEMD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1429.     STC(i,j,r) # share of i in total costs of j in r #;
  1430. Formula (all,i,DEMD_COMM)(all,j,PROD_COMM)(all,r,REG)
  1431.     STC(i,j,r) = VFA(i,j,r) / sum(k,DEMD_COMM, VFA(k,j,r));
  1432.  
  1433. Equation ZEROPROFITS
  1434. # industry zero pure profits condition (HT 6) #
  1435. (all,j,PROD_COMM)(all,r,REG)
  1436.     ps(j,r) + ao(j,r)
  1437.         = sum(i,ENDW_COMM, STC(i,j,r) * [pfe(i,j,r) - afe(i,j,r) - ava(j,r)])
  1438.         + sum(i,TRAD_COMM, STC(i,j,r) * [pf(i,j,r)  - af(i,j,r)])
  1439.         + profitslack(j,r);
  1440. !<
  1441.     Industry zero pure profits condition (HT 6).  This condition permits us to
  1442.     determine the endogenous output level for each of the non-endowment
  1443.     sectors, excepting when profitslack is itself endogenous.  The level of
  1444.     activity in the endowment sectors is exogenously determined.
  1445. >!
  1446.  
  1447. !<
  1448.     ---------------------------------------
  1449.     4. Investment, Global Bank, and Savings
  1450.     ---------------------------------------
  1451.  
  1452.     Capital stock and rate of return equations follow.  They correspond to the
  1453.     Investment Equations of Table 8 in Hertel and Tsigas.
  1454.  
  1455.     4-0. Module-Specific Variables
  1456.     4-1. Equations of Notational Convenience
  1457.     4-2. Rate of Return Equations
  1458.     4-3. Capital Accumulation
  1459.     4-4. Global Bank
  1460.     4-5. Price Index of Aggregate Global Composite Capital Goods
  1461.     4-6. Price of Saving
  1462. >!
  1463.  
  1464. !<
  1465.     4-0. Module-Specific Variables
  1466.     ------------------------------
  1467.  
  1468.     only used in this Investment, Global Bank and Savings module
  1469. >!
  1470.  
  1471. Variable (all,r,REG)
  1472.     rental(r) # rental rate on capital = ps("capital",r) #;
  1473. Variable (all,r,REG)
  1474.     ke(r) # end-of-period capital stock in r #;
  1475. Variable (all,r,REG)
  1476.     rore(r) # expected net rate of return on capital stock in r #;
  1477. Variable (all,r,REG)
  1478.     rorc(r) # current net rate of return on capital stock in r #;
  1479. Variable (all,r,REG)
  1480.     qcgds(r) # output of capital goods sector = qo("cgds",r) #;
  1481.  
  1482. !<
  1483.     4-1. Equations of Notational Convenience
  1484.     ----------------------------------------
  1485. >!
  1486.  
  1487. Variable (all,r,REG)
  1488.     ksvces(r) # capital services = qo("capital",r) #;
  1489. Equation KAPSVCES
  1490. # eq'n defines a variable for capital services (HT 52) #
  1491. (all,r,REG)
  1492.    ksvces(r)
  1493.        = sum(h,ENDWC_COMM, [VOA(h,r) / sum(k,ENDWC_COMM, VOA(k,r))] * qo(h,r));
  1494. !<
  1495.    This equation defines a variable for capital services, for convenience.
  1496.    (There is really only one capital services item.) (HT 52)
  1497. >!
  1498.  
  1499. Equation KAPRENTAL
  1500. # eq'n defines a variable for capital rental rate (HT 53) #
  1501. (all,r,REG)
  1502.     rental(r)
  1503.         = sum(h,ENDWC_COMM, [VOA(h,r) / sum(k,ENDWC_COMM, VOA(k,r))] * ps(h,r));
  1504.  
  1505. Equation CAPGOODS
  1506. # eq'n defines a variable for gross investment (HT 54) #
  1507. (all,r,REG)
  1508.    qcgds(r)
  1509.        = sum(h,CGDS_COMM, [VOA(h,r) / REGINV(r)] * qo(h,r));
  1510. !<
  1511.    This equation defines a variable for gross investment, for convenience.
  1512.    There is really only one capital goods item.
  1513. >!
  1514.  
  1515. Equation PRCGOODS
  1516. # eq'n defines the price of cgds (HT 55) #
  1517. (all,r,REG)
  1518.     pcgds(r) = sum(h,CGDS_COMM, [VOA(h,r) / REGINV(r)] * ps(h,r));
  1519.  
  1520. Equation KBEGINNING
  1521. # associates change in cap. services w/ change in cap. stock (HT 56) #
  1522. (all,r,REG)
  1523.     kb(r) = ksvces(r);
  1524. !<
  1525.     This equation associates any change in capital services during the period
  1526.     with a change in capital stock.  Full capacity utilization is assumed.
  1527. >!
  1528.  
  1529. Coefficient (ge 0)(all,r,REG)
  1530.     VKB(r) # value of beginning-of-period capital stock in region r #;
  1531. Update (all,r,REG)
  1532.     VKB(r) = pcgds(r) * kb(r);
  1533. Read
  1534.     VKB from file GTAPDATA header "VKB";
  1535. !<
  1536.     VKB(r) is used only in this sub-module, so its data are read here.  The
  1537.     associated variables, pcgds(r) and kb(r), are used across modules, so they
  1538.     have been defined as common variables.
  1539. >!
  1540.  
  1541. Coefficient (all,r,REG)
  1542.     INVKERATIO(r)
  1543.     # ratio of gross investment to end-of-period capital stock in r #;
  1544. Formula (all,r,REG)
  1545.     INVKERATIO(r) = REGINV(r) / [VKB(r) + NETINV(r)];
  1546.  
  1547. Equation KEND
  1548. # Ending capital stock equals beginning stock plus net investment.  (HT 10) #
  1549. (all,r,REG)
  1550.     ke(r) = INVKERATIO(r) * qcgds(r) + [1.0 - INVKERATIO(r)] * kb(r);
  1551.  
  1552. !<
  1553.     4-2. Rate of Return Equations
  1554.     -----------------------------
  1555. >!
  1556.  
  1557. Coefficient (all,r,REG)
  1558.     GRNETRATIO(r) # ratio of GROSS/NET rates of return on capital in r #;
  1559. Formula (all,r,REG)
  1560.     GRNETRATIO(r)
  1561.         = sum(h,ENDWC_COMM, VOA(h,r))
  1562.         / [sum(h,ENDWC_COMM, VOA(h,r)) - VDEP(r)];
  1563. !<
  1564.     NOTE: VOA("capital",r) is GROSS returns to capital.
  1565. >!
  1566. Equation RORCURRENT
  1567. # current rate of return on capital in region r (HT 57) #
  1568. (all,r,REG)
  1569.     rorc(r) = GRNETRATIO(r) * [rental(r) - pcgds(r)];
  1570.  
  1571. Coefficient (parameter)(all,r,REG)
  1572.     RORFLEX(r)
  1573.     # flexibility of expected net ROR on capital stock in r wrt investment #;
  1574. Read
  1575.     RORFLEX from file GTAPPARM header "RFLX";
  1576. !<
  1577.     RORFLEX is the flexibility of the expected net rate of return on the
  1578.     capital stock, in region r, with respect to investment.  If a region's
  1579.    capital stock increases by 1%, then it is expected that the net rate of
  1580.    return on capital will decline by RORFLEX %.  A larger absolute value for
  1581.    this parameter will reduce the tendency of international investment flows
  1582.    to respond to changes in expected rates of return.
  1583. >!
  1584.  
  1585. Equation ROREXPECTED
  1586. # expected rate of return depends on the current return and investment (HT 58) #
  1587. (all,r,REG)
  1588.    rore(r) = rorc(r) - RORFLEX(r) * [ke(r) - kb(r)];
  1589.  
  1590. !<
  1591.    4-3. Capital Accumulation
  1592.    -------------------------
  1593.  
  1594.    based on the theory laid out in GTAP Technical Paper #7
  1595. >!
  1596.  
  1597. Variable (all,i,ENDWC_COMM)(all,r,REG)
  1598.    EXPAND(i,r) # change in investment levels relative to endowment stock #;
  1599. Equation BALDWIN
  1600. # change in investment levels relative to endowment stock #
  1601. (all,i,ENDWC_COMM)(all,r,REG)
  1602.    EXPAND(i,r) = qcgds(r) - qo(i,r);
  1603.  
  1604. !<
  1605.    4-4. Global Bank
  1606.    ----------------
  1607. >!
  1608.  
  1609. Coefficient (integer,parameter)
  1610.    RORDELTA
  1611.    # binary coefficient to switch mechanism of allocating investment funds #;
  1612. Read
  1613.    RORDELTA from file GTAPPARM header "RDLT";
  1614. !<
  1615.    RORDELTA is a binary coefficient which determines the mechanism of
  1616.    allocating investment funds across regions.  When RORDELTA = 1, investment
  1617.    funds are allocated across regions to equate the change in the expected
  1618.    rates of return (i.e., rore(r)).  When RORDELTA = 0, investment funds are
  1619.    allocated across regions to maintain the existing composition of capital
  1620.    stocks.
  1621. >!
  1622.  
  1623. Variable
  1624.    rorg # global net rate of return on capital stock #;
  1625. Variable (all,r,REG)
  1626.    cgdslack(r) # slack variable for qcgds(r) #;
  1627. !<
  1628.    This is exogenous, unless the user wishes to exogenously fix the level of
  1629.    gross investment in a region, in which case it can be swapped with
  1630.    cgdslack.
  1631. >!
  1632. Equation RORGLOBAL
  1633. # either gross investment or expected rate of return in region r (HT 59) #
  1634. (all,r,REG)
  1635.    RORDELTA * rore(r)
  1636.    + [1 - RORDELTA]
  1637.    * [[REGINV(r) / NETINV(r)] * qcgds(r) - [VDEP(r) / NETINV(r)] * kb(r)]
  1638.        = RORDELTA * rorg + [1 - RORDELTA] * globalcgds + cgdslack(r);
  1639. !<
  1640.    This equation determines either gross investment or the expected rate of
  1641.    return in each region, depending on the setting for the binary RORDELTA
  1642.    parameter.
  1643. >!
  1644.  
  1645. Equation GLOBALINV
  1646. # either expected global rate of return or global net investment (HT 11) #
  1647.    RORDELTA * globalcgds + [1 - RORDELTA] * rorg
  1648.        = RORDELTA
  1649.        * sum(r,REG,
  1650.            [REGINV(r) / GLOBINV] * qcgds(r) - [VDEP(r) / GLOBINV] * kb(r))
  1651.        + [1 - RORDELTA] * sum(r,REG, [NETINV(r) / GLOBINV] * rore(r));
  1652. !<
  1653.    This equation computes either the change in global net investment (when
  1654.    RORDELTA = 1), or the change in the expected global rate of return on
  1655.    capital (when RORDELTA = 0).
  1656. >!
  1657.  
  1658. !<
  1659.    4-5. Price Index of Aggregate Global Composite Capital Goods
  1660.    ------------------------------------------------------------
  1661. >!
  1662.  
  1663. Equation PRICGDS
  1664. # eq'n generates a price index for the aggregate global cgds composite (HT 60) #
  1665.     pcgdswld = sum(r,REG, [NETINV(r) / GLOBINV] * pcgds(r));
  1666.  
  1667. !<
  1668.     4-6. Price of Saving
  1669.     --------------------
  1670. >!
  1671.  
  1672. Variable (all,r,REG)
  1673.     psaveslack(r) # slack variable for the savings price equation #;
  1674. !<
  1675.     This is exogenous under the normal closure.  However, in order to
  1676.     replicate simulations from the GTAP book, where there was a single savings
  1677.     price, psaveslack may be swapped with psave in order to fix the latter.
  1678.     In this case, pcgdswld must be the numeraire so that each region faces the
  1679.     same price of savings.
  1680. >!
  1681.  
  1682. Equation SAVEPRICE
  1683. # savings price #
  1684. (all,r,REG)
  1685.     psave(r)
  1686.         = pcgds(r)
  1687.         + sum(s,REG, [[NETINV(s) - SAVE(s)] / GLOBINV] * pcgds(s))
  1688.         + psaveslack(r);
  1689. !<
  1690.     In contrast to the GTAP book, the price of savings is now region-specific
  1691.     and it changes at the same rate as the price of regional investment, plus
  1692.     an adjustment factor which accounts for the fact that savings and
  1693.     investment are not equal at the regional level.
  1694. >!
  1695.  
  1696. !<
  1697.     ----------------------
  1698.     5. International Trade
  1699.     ----------------------
  1700.  
  1701.     5-1. Export Prices
  1702.     5-2. Demand for Imports
  1703. >!
  1704.  
  1705. !<
  1706.     5-1. Export Prices
  1707.     ------------------
  1708. >!
  1709.  
  1710. Variable (all,i,TRAD_COMM)(all,r,REG)
  1711.     tx(i,r) # dest.-gen. change in subsidy on exports of i from r #;
  1712. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1713.     txs(i,r,s) # dest.-spec. change in subsidy on exports of i from r to s #;
  1714. !<
  1715.     The variable txs captures changes in the power of bilateral export taxes.
  1716.     However, the presence of a destination-generic export subsidy shift (tx)
  1717.     also permits the user to swap a single export tax shock with another
  1718.     target variable.  It is most naturally swapped with the variable qo to
  1719.     insulate domestic producers from the world market.
  1720. >!
  1721.  
  1722. Equation EXPRICES
  1723. # eq'n links agent's and world prices (HT 27) #
  1724. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1725.     pfob(i,r,s) = pm(i,r) - tx(i,r) - txs(i,r,s);
  1726.  
  1727. Equation TEXPRATIO
  1728. # change in ratio of export tax payments to regional income #
  1729. (all,r,REG)
  1730.     100.0 * INCOME(r) * del_taxrexp(r) + TEX(r) * y(r)
  1731.         = sum(i,TRAD_COMM, sum(s,REG,
  1732.             VXMD(i,r,s) * [-tx(i,r) - txs(i,r,s)]
  1733.             + XTAXD(i,r,s) * [pfob(i,r,s) + qxs(i,r,s)]));
  1734.  
  1735. !<
  1736.     5-2. Demand for Imports
  1737.     -----------------------
  1738.  
  1739.     Composite Imports Nest: Table 3 of Hertel and Tsigas
  1740. >!
  1741.  
  1742. Variable (all,i,TRAD_COMM)(all,s,REG)
  1743.     tm(i,s) # source-gen. change in tax on imports of i into s #;
  1744. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1745.     tms(i,r,s) # source-spec. change in tax on imports of i from r into s #;
  1746. !<
  1747.     The variable tms captures changes in the power of bilateral import taxes.
  1748.     However, the presence of a source-generic import tariff shift (tm) also
  1749.     permits the user to swap a single import tariff shock with another target
  1750.     variable.  In particular, to insulate domestic producers from import price
  1751.     changes, it may be swapped with the relative price variable pr -- see
  1752.     below.
  1753. >!
  1754.  
  1755. Equation MKTPRICES
  1756. # eq'n links domestic and world prices (HT 24) #
  1757. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1758.    pms(i,r,s) = tm(i,s) + tms(i,r,s) + pcif(i,r,s);
  1759.  
  1760. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1761.    MSHRS(i,r,s) # share of imports from r in import bill of s at mkt prices #;
  1762. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1763.    MSHRS(i,r,s) = VIMS(i,r,s) / sum(k,REG, VIMS(i,k,s));
  1764. Equation DPRICEIMP
  1765. # price for aggregate imports (HT 28) #
  1766. (all,i,TRAD_COMM)(all,s,REG)
  1767.    pim(i,s) = sum(k,REG, MSHRS(i,k,s) * [pms(i,k,s) - ams(i,k,s)]);
  1768.  
  1769. Variable (orig_level=1.0)(all,i,TRAD_COMM)(all,r,REG)
  1770.    pr(i,r) # ratio of domestic to imported prices in r #;
  1771. Equation PRICETGT
  1772. # eq'n defines target price ratio to be attained via the variable levy (HT 25) #
  1773. (all,i,TRAD_COMM)(all,s,REG)
  1774.     pr(i,s) = pm(i,s) - pim(i,s);
  1775. !<
  1776.     This equation defines the target price ratio to be attained via the
  1777.     variable levy.  This price ratio is the ratio of domestic to average
  1778.     imported goods' price.  Note that the way this price ratio is defined, it
  1779.    includes intraregional imports as well.  In most applications, regions
  1780.    will represent groups of individual countries.  However, in the case of
  1781.    the EU, this is problematic, since recent versions of the database have
  1782.    incorporated intra-EU trade flows.  Therefore, when aggregated to the EU
  1783.    level, the composite import price includes both intra-EU and outside
  1784.    imports.  So some modification is needed to handle the EU case.
  1785. >!
  1786.  
  1787. Coefficient (parameter)(all,i,TRAD_COMM)
  1788.    ESUBM(i)
  1789.    # region-generic el. of sub. among imports of i in Armington structure #;
  1790. Read
  1791.    ESUBM from file GTAPPARM header "ESBM";
  1792.  
  1793. Equation IMPORTDEMAND
  1794. # regional demand for disaggregated imported commodities by source (HT 29)  #
  1795. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1796.    qxs(i,r,s)
  1797.        = -ams(i,r,s) + qim(i,s)
  1798.        - ESUBM(i) * [pms(i,r,s) - ams(i,r,s) - pim(i,s)];
  1799.  
  1800. Equation TIMPRATIO
  1801. # change in ratio of import tax payments to regional income #
  1802. (all,r,REG)
  1803.    100.0 * INCOME(r) * del_taxrimp(r) + TIM(r) * y(r)
  1804.        = sum(i,TRAD_COMM, sum(s,REG,
  1805.            VIMS(i,s,r) * [tm(i,r) + tms(i,s,r)]
  1806.            + MTAX(i,s,r) * [pcif(i,s,r) + qxs(i,s,r)]));
  1807.  
  1808. !<
  1809.    -----------------------------------
  1810.    6. International Transport Services
  1811.    -----------------------------------
  1812.  
  1813.    6-0. Module-Specific Variables and Coefficients
  1814.    6-1. Demand for Global Transport Services
  1815.    6-2. Supply of Transport Services
  1816. >!
  1817.  
  1818. !<
  1819.    6-0. Module-Specific Variables and Coefficients
  1820.    -----------------------------------------------
  1821.  
  1822.    only used in this International Transport Services module
  1823. >!
  1824.  
  1825. Variable (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1826.    qtmfsd(m,i,r,s) # international usage margin m on i from r to s #;
  1827. !<
  1828.    International margin usage, by Margin, Freight, Source, and Destination,
  1829.    i.e., the percent change in usage of m in transport of i from r to s.
  1830. >!
  1831. Variable (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1832.    atmfsd(m,i,r,s) # tech change in m's shipping of i from region r to s #;
  1833. !<
  1834.     Technical progress in shipping by Margin, Freight, Source, and
  1835.     Destination.  This is endogenous and driven by the following mode-,
  1836.     product-, source-, and destination-specific determinants.
  1837. >!
  1838. Variable (all,m,TRAD_COMM)
  1839.     atm(m) # tech change in mode m, worldwide #;
  1840. Variable (all,i,TRAD_COMM)
  1841.     atf(i) # tech change shipping of i, worldwide #;
  1842. Variable (all,r,REG)
  1843.     ats(r) # tech change shipping from region r #;
  1844. Variable (all,s,REG)
  1845.     atd(s) # tech change shipping to s #;
  1846. Variable (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1847.     atall(m,i,r,s) # tech change in m's shipping of i from region r to s #;
  1848. Variable (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1849.    ptrans(i,r,s) # cost index for international transport of i from r to s #;
  1850. !<
  1851.    average cost index for margin services used in getting i from r to s
  1852. >!
  1853. Variable (all,m,MARG_COMM)
  1854.    qtm(m) # global margin usage #;
  1855. Variable (all,m,MARG_COMM)
  1856.    pt(m) # price of composite margins services, type #;
  1857. !<
  1858.    price index for commodity m in margin services usage
  1859. >!
  1860.  
  1861. Coefficient (ge 0) (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1862.    VTMFSD(m,i,r,s)
  1863.    # int'l margin usage, by margin, freight, source, and destination #;
  1864. Update (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1865.     VTMFSD(m,i,r,s) = pt(m) * qtmfsd(m,i,r,s);
  1866. Read
  1867.     VTMFSD from file GTAPDATA header "VTWR";
  1868.  
  1869. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1870.     VTFSD(i,r,s) # aggregate value of svces in the shipment of i from r to s #;
  1871. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1872.     VTFSD(i,r,s) = sum(m,MARG_COMM, VTMFSD(m,i,r,s));
  1873. !<
  1874.     In a balanced data base, (all,i,TRAD_COMM)(all,r,REG)(all,s,REG),
  1875.     VIWS(i,r,s) = VXWD(i,r,s) + VTFSD(i,r,s).
  1876. >!
  1877.  
  1878. Coefficient (all,m,MARG_COMM)
  1879.     VTMUSE(m) # international margin services usage, by type #;
  1880. Formula (all,m,MARG_COMM)
  1881.     VTMUSE(m) = sum(i,TRAD_COMM, sum(r,REG, sum(s,REG, VTMFSD(m,i,r,s))));
  1882.  
  1883. Coefficient (all,m,MARG_COMM)
  1884.     VTMPROV(m) # international margin services provision #;
  1885. Formula (all,m,MARG_COMM)
  1886.     VTMPROV(m) = sum(r,REG, VST(m,r));
  1887. !<
  1888.     In a balanced data base, VTMPROV = VTMUSE.
  1889. >!
  1890.  
  1891. Coefficient (all,r,REG)
  1892.     VTRPROV(r) # international margin supply, by region #;
  1893. Formula (all,r,REG)
  1894.     VTRPROV(r) = sum(m,MARG_COMM, VST(m,r));
  1895.  
  1896. Coefficient
  1897.     VT # international margin supply #;
  1898. Formula
  1899.     VT = sum(m,MARG_COMM, sum(r,REG, VST(m,r)));
  1900.  
  1901. !<
  1902.     6-1. Demand for Global Transport Services
  1903.     -----------------------------------------
  1904. >!
  1905.  
  1906. Equation QTRANS_MFSD
  1907. # bilateral demand for transport services  #
  1908. (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1909.     qtmfsd(m,i,r,s) = qxs(i,r,s) - atmfsd(m,i,r,s);
  1910. !<
  1911.     This equation computes the bilateral demand for international
  1912.     transportation services.  It reflects the fact that the demand for
  1913.     services along any particular route is proportional to the quantity of
  1914.     merchandise shipped [i.e., QXS(i,r,s)].  It is here that we introduce the
  1915.     potential for input-augmenting tech change, atmfsd(m,i,r,s), which is
  1916.     commodity- and route-specific.  Thus, in the levels:
  1917.             ATMFSD(m,i,r,s) * QTMFSD(m,i,r,s) = QXS(i,r,s)
  1918.     where QTMFSD is the amount of composite margins services m used along this
  1919.     route.  Technological improvements are reflected by atmfsd(i,r,s) > 0, and
  1920.     these reduce the margins services required for this i,r,s triplet.  Tech.
  1921.     change also dampens the cost of shipping, thereby lowering the CIF price
  1922.     implied by a given FOB value (see 6-2).
  1923. >!
  1924.  
  1925. Coefficient (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1926.     VTMUSESHR(m,i,r,s) # share of i,r,s usage in global demand for m #;
  1927. Formula (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1928.     VTMUSESHR(m,i,r,s) = VTFSD(i,r,s) / VT;
  1929. Formula
  1930.     (all,m,MARG_COMM: VTMUSE(m) <> 0.0)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1931.     VTMUSESHR(m,i,r,s) = VTMFSD(m,i,r,s) / VTMUSE(m);
  1932.  
  1933. Equation TRANS_DEMAND
  1934. # global demand for margin m #
  1935. (all,m,MARG_COMM)
  1936.     qtm(m)
  1937.         = sum(i,TRAD_COMM, sum(r,REG, sum(s,REG,
  1938.           VTMUSESHR(m,i,r,s) * qtmfsd(m,i,r,s))));
  1939.  
  1940. !<
  1941.     6-2. Supply of Transport Services
  1942.     ---------------------------------
  1943. >!
  1944.  
  1945. Coefficient (all,m,MARG_COMM)(all,r,REG)
  1946.     VTSUPPSHR(m,r) # share of region r in global supply of margin m #;
  1947. Formula (all,m,MARG_COMM)(all,r,REG)
  1948.     VTSUPPSHR(m,r) = VTRPROV(r) / VT;
  1949. Formula (all,m,MARG_COMM: VTMPROV(m) <> 0.0)(all,r,REG)
  1950.     VTSUPPSHR(m,r) = VST(m,r) / VTMPROV(m);
  1951.  
  1952. Equation PTRANSPORT
  1953. # generate price index for composite transportation services #
  1954. (all,m,MARG_COMM)
  1955.     pt(m) = sum(r,REG, VTSUPPSHR(m,r) * pm(m,r));
  1956. !<
  1957.     This equation generates a price index for transportation services based on
  1958.     zero profits.  NOTE:
  1959.     (1) Sales to international transportation are not subject to export tax.
  1960.         This is why we base the costs to the transport sector on market prices
  1961.         of the goods sold to international transportation.
  1962.     (2) We assume that the supply shares for margin services are uniform
  1963.         across freight, source of freight, and destination.
  1964.     (cf. HT#7)
  1965. >!
  1966.  
  1967. Coefficient
  1968.     VTUSE # international margin services usage #;
  1969. Formula
  1970.     VTUSE
  1971.         = sum(m,MARG_COMM, sum(i,TRAD_COMM, sum(r,REG, sum(s,REG,
  1972.             VTMFSD(m,i,r,s)))));
  1973.  
  1974. Coefficient (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1975.     VTFSD_MSH(m,i,r,s) # share of margin m in cost of getting i from r to s #;
  1976. Formula (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)
  1977.         (all,s,REG: VTFSD(i,r,s) > 0.0)
  1978.     VTFSD_MSH(m,i,r,s) = VTMFSD(m,i,r,s) / VTFSD(i,r,s);
  1979. Formula (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)
  1980.         (all,s,REG: VTFSD(i,r,s) = 0.0)
  1981.     VTFSD_MSH(m,i,r,s) = VTMUSE(m) / VTUSE;
  1982.  
  1983. Equation TRANSCOSTINDEX
  1984. #  generates flow-specific modal average cost of transport index (cf. HT7) #
  1985. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1986.     ptrans(i,r,s)
  1987.         = sum(m,MARG_COMM, VTFSD_MSH(m,i,r,s) * [pt(m) - atmfsd(m,i,r,s)]);
  1988.  
  1989. Equation TRANSTECHANGE
  1990. #  generates flow-specific average rate of technical change #
  1991. (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  1992.     atmfsd(m,i,r,s) = atm(m) + atf(i) + ats(r) + atd(s) + atall(m,i,r,s);
  1993.  
  1994. Equation TRANSVCES
  1995. # generate demand for regional supply of global transportation service (HT 61) #
  1996. (all,m,MARG_COMM)(all,r,REG)
  1997.     qst(m,r) = qtm(m) + [pt(m) - pm(m,r)];
  1998. !<
  1999.     This equation generates the international transport sector's derived
  2000.    demand for regional supplies of transportation services.  It reflects a
  2001.    unitary elasticity of substitution between transportation services inputs
  2002.    from different regions.
  2003. >!
  2004.  
  2005. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2006.    VIWSCOST(i,r,s) # value of imports calculated as total cost of imports #;
  2007. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2008.    VIWSCOST(i,r,s) = VXWD(i,r,s) + VTFSD(i,r,s);
  2009.  
  2010. Zerodivide (zero_by_zero) default 1;
  2011. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2012.    FOBSHR(i,r,s) # FOB share in VIW #;
  2013. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2014.    FOBSHR(i,r,s) = VXWD(i,r,s) / VIWSCOST(i,r,s);
  2015. Zerodivide (zero_by_zero) OFF;
  2016.  
  2017. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2018.    TRNSHR(i,r,s) # transport share in VIW #;
  2019. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2020.    TRNSHR(i,r,s) = 1 - FOBSHR(i,r,s);
  2021.  
  2022. Equation FOBCIF
  2023. # eq'n links FOB and CIF prices for good i shipped from region r to s (HT 26') #
  2024. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2025.    pcif(i,r,s)
  2026.       = FOBSHR(i,r,s) * pfob(i,r,s)
  2027.       + TRNSHR(i,r,s) * ptrans(i,r,s);
  2028. !<
  2029.    This equation links export and import prices for each commodity/route
  2030.    triplet.  Note that technical change is embodied in ptrans(i,r,s) which is
  2031.    now a cost index, as opposed to (HT 26') where it represented the price of
  2032.     margins services.
  2033. >!
  2034.  
  2035. !<
  2036.     ---------------------
  2037.     7. Regional Household
  2038.     ---------------------
  2039.  
  2040.     7-0. Module-Specific Coefficients
  2041.     7-1. Supply of Endowments by the Regional Household
  2042.     7-2. Computation of Regional Income
  2043.     7-3. Regional Household Demand System
  2044.     7-4. Aggregate Utility
  2045. >!
  2046.  
  2047. !<
  2048.     7-0. Module-Specific Coefficients
  2049.     ---------------------------------
  2050.  
  2051.     only used in this Regional Household module
  2052. >!
  2053.  
  2054. Coefficient (all,r,REG)
  2055.     XSHRPRIV(r) # private expenditure share in regional income #;
  2056. Formula (all,r,REG)
  2057.     XSHRPRIV(r) = PRIVEXP(r) / INCOME(r);
  2058.  
  2059. Coefficient (all,r,REG)
  2060.     XSHRGOV(r) # government expenditure share in regional income #;
  2061. Formula (all,r,REG)
  2062.     XSHRGOV(r) = GOVEXP(r) / INCOME(r);
  2063.  
  2064. Coefficient (all,r,REG)
  2065.     XSHRSAVE(r) # saving share in regional income #;
  2066. Formula (all,r,REG)
  2067.     XSHRSAVE(r) = SAVE(r) / INCOME(r);
  2068.  
  2069. Variable (all,r,REG)
  2070.     uelas(r) # elasticity of cost of utility wrt utility #;
  2071.  
  2072. Variable (all,r,REG)
  2073.     dppriv(r) # private consumption distribution parameter #;
  2074. Variable (all,r,REG)
  2075.     dpgov(r) # government consumption distribution parameter #;
  2076. Variable (all,r,REG)
  2077.     dpsave(r) # saving distribution parameter #;
  2078.  
  2079. !<
  2080.     7-1. Supply of Endowments by the Regional Household
  2081.     ---------------------------------------------------
  2082. >!
  2083.  
  2084. Equation FACTORINCPRICES
  2085. # eq'n links pre- and post-tax endowment supply prices (HT 15) #
  2086. (all,i,ENDW_COMM)(all,r,REG)
  2087.    ps(i,r) = to(i,r) + pm(i,r);
  2088.  
  2089. Coefficient (all,r,REG)
  2090.    TINC(r) # income tax payments in r #;
  2091. Formula (all,r,REG)
  2092.    TINC(r) = sum(i,ENDW_COMM, PTAX(i,r));
  2093.  
  2094. Equation TINCRATIO
  2095. # change in ratio of income tax payments to regional income #
  2096. (all,r,REG)
  2097.    100.0 * INCOME(r) * del_taxrinc(r) + TINC(r) * y(r)
  2098.        = sum(i,ENDW_COMM,
  2099.            VOA(i,r) * [-to(i,r)] + PTAX(i,r) * [pm(i,r) + qo(i,r)]);
  2100.  
  2101. Coefficient (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  2102.    REVSHR(i,j,r);
  2103. Formula (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  2104.    REVSHR(i,j,r) = VFM(i,j,r) / sum(k,PROD_COMM, VFM(i,k,r));
  2105. Equation ENDW_PRICE
  2106. # eq'n generates the composite price for sluggish endowments (HT 50) #
  2107. (all,i,ENDWS_COMM)(all,r,REG)
  2108.     pm(i,r) = sum(k,PROD_COMM, REVSHR(i,k,r) * pmes(i,k,r));
  2109.  
  2110. Coefficient (parameter)(all,i,ENDW_COMM)
  2111.     ETRAE(i)
  2112.     # elst. of transformation for sluggish primary factor endowments #;
  2113. Read
  2114.     ETRAE from file GTAPPARM header "ETRE";
  2115. !<
  2116.     ETRAE is the elasticity of transformation for sluggish primary factor
  2117.     endowments.  It is non-positive, by definition.
  2118. >!
  2119. Equation ENDW_SUPPLY
  2120. # eq'n distributes the sluggish endowments across sectors (HT 51) #
  2121. (all,i,ENDWS_COMM)(all,j,PROD_COMM)(all,r,REG)
  2122.    qoes(i,j,r) = qo(i,r) - endwslack(i,r) + ETRAE(i) * [pm(i,r) - pmes(i,j,r)];
  2123.  
  2124. !<
  2125.    7-2. Computation of Regional Income
  2126.    -----------------------------------
  2127. >!
  2128.  
  2129. Coefficient (all,r,REG)
  2130.    FY(r) # primary factor income in r net of depreciation #;
  2131. Formula (all,r,REG)
  2132.    FY(r) = sum(i,ENDW_COMM, VOM(i,r)) - VDEP(r);
  2133. Variable (all,r,REG)
  2134.    fincome(r) # factor income at market prices net of depreciation #;
  2135. Equation FACTORINCOME
  2136. # factor income at market prices net of depreciation #
  2137. (all,r,REG)
  2138.    FY(r) * fincome(r)
  2139.        = sum(i,ENDW_COMM, VOM(i,r) * [pm(i,r) + qo(i,r)])
  2140.        - VDEP(r)  * [pcgds(r) + kb(r)];
  2141.  
  2142. Variable (change)(all,r,REG)
  2143.    del_indtaxr(r) # change in ratio of indirect taxes to INCOME in r #;
  2144. Equation DINDTAXRATIO
  2145. # change in ratio of indirect taxes to INCOME in r #
  2146. (all,r,REG)
  2147.    del_indtaxr(r)
  2148.        = del_taxrpc(r) + del_taxrgc(r) + del_taxriu(r) + del_taxrfu(r)
  2149.        + del_taxrout(r) + del_taxrexp(r) + del_taxrimp(r);
  2150.  
  2151. Variable (change)(all,r,REG)
  2152.    del_ttaxr(r) # change in ratio of taxes to INCOME in r #;
  2153. Equation DTAXRATIO
  2154. # change in ratio of taxes to INCOME in r #
  2155. (all,r,REG)
  2156.    del_ttaxr(r)
  2157.        = del_taxrpc(r) + del_taxrgc(r) + del_taxriu(r) + del_taxrfu(r)
  2158.        + del_taxrout(r) + del_taxrexp(r) + del_taxrimp(r) + del_taxrinc(r);
  2159. !<
  2160.   This variable can be swapped with the commodity- and source-generic
  2161.   consumption tax shift, tp(r), in order to generate a tax replacement
  2162.   scenario, whereby taxes remain a constant share of national income.
  2163. >!
  2164.  
  2165. Variable (all,r,REG)
  2166.    incomeslack(r) # slack variable in the expression for regional income #;
  2167. !<
  2168.    This is exogenous, unless the user wishes to fix regional income.
  2169. >!
  2170.  
  2171. Coefficient (all,r,REG)
  2172.    INDTAX(r) # indirect tax receipts in r #;
  2173. Formula (all,r,REG)
  2174.    INDTAX(r) = TPC(r) + TGC(r) + TIU(r) + TFU(r) + TOUT(r) + TEX(r) + TIM(r);
  2175.  
  2176. Equation REGIONALINCOME
  2177. # regional income = sum of primary factor income and indirect tax receipts #
  2178. (all,r,REG)
  2179.    INCOME(r) * y(r)
  2180.        = FY(r) * fincome(r)
  2181.        + 100.0 * INCOME(r) * del_indtaxr(r)
  2182.        + INDTAX(r) * y(r)
  2183.        + INCOME(r) * incomeslack(r);
  2184. !<
  2185.    This equation computes regional income as the sum of primary factor
  2186.    payment and indirect tax receipts.  The first term computes the change in
  2187.    endowment income, net of depreciation.  The subsequent terms compute the
  2188.    change in indirect tax receipts for various transactions taxes.
  2189. >!
  2190.  
  2191. !<
  2192.    7-3. Regional Household Demand System
  2193.    -------------------------------------
  2194. >!
  2195.  
  2196. Variable (all,r,REG)
  2197.    dpav(r) # average distribution parameter shift, for EV calc. #;
  2198. Equation DPARAV
  2199. # average distribution parameter shift #
  2200. (all,r,REG)
  2201.    dpav(r)
  2202.        = XSHRPRIV(r) * dppriv(r)
  2203.        + XSHRGOV(r) * dpgov(r)
  2204.        + XSHRSAVE(r) * dpsave(r);
  2205.  
  2206. Equation UTILITELASTIC
  2207. # elasticity of cost of utility wrt utility #
  2208. (all,r,REG)
  2209.    uelas(r) = XSHRPRIV(r) * uepriv(r) - dpav(r);
  2210.  
  2211. Equation PRIVCONSEXP
  2212. # private consumption expenditure #
  2213. (all,r,REG)
  2214.    yp(r) - y(r) = -[uepriv(r) - uelas(r)] + dppriv(r);
  2215.  
  2216. Equation GOVCONSEXP
  2217. # government consumption expenditure #
  2218. (all,r,REG)
  2219.    yg(r) - y(r) = uelas(r) + dpgov(r);
  2220.  
  2221. Equation SAVING
  2222. # saving #
  2223. (all,r,REG)
  2224.    psave(r) + qsave(r) - y(r) = uelas(r) + dpsave(r);
  2225.  
  2226. !<
  2227.    7-4. Aggregate Utility
  2228.    ----------------------
  2229. >!
  2230.  
  2231. Variable (all,r,REG)
  2232.    p(r) # price index for disposition of income by regional household #;
  2233. Equation PRICEINDEXREG
  2234.    # price index for disposition of income by regional household #
  2235.    (all,r,REG)
  2236.    p(r)
  2237.        = XSHRPRIV(r) * ppriv(r)
  2238.        + XSHRGOV(r) * pgov(r)
  2239.        + XSHRSAVE(r) * psave(r);
  2240.  
  2241. Variable (all,r,REG)
  2242.    au(r) # input-neutral shift in utility function #;
  2243. Variable (all,r,REG)
  2244.    dpsum(r) # sum of the distribution parameters #;
  2245.  
  2246. Coefficient (all,r,REG)
  2247.    DPARSUM(r) # sum of distribution parameters #;
  2248. Read
  2249.    DPARSUM from file GTAPDATA header "DPSM";
  2250. Update (all,r,REG)
  2251.    DPARSUM(r) = dpsum(r);
  2252.  
  2253. Coefficient (all,r,REG)
  2254.    UTILELAS(r) # elasticity of cost of utility wrt utility #;
  2255. Formula (all,r,REG)
  2256.    UTILELAS(r)
  2257.        = [UELASPRIV(r) * XSHRPRIV(r) + XSHRGOV(r) + XSHRSAVE(r)] / DPARSUM(r);
  2258.  
  2259. Coefficient (all,r,REG)
  2260.    DPARPRIV(r) # private consumption distribution parameter #;
  2261. Formula (all,r,REG)
  2262.    DPARPRIV(r) = UELASPRIV(r) * XSHRPRIV(r) / UTILELAS(r);
  2263.  
  2264. Coefficient (all,r,REG)
  2265.    DPARGOV(r) # government consumption distribution parameter #;
  2266. Formula (all,r,REG)
  2267.    DPARGOV(r) = XSHRGOV(r) / UTILELAS(r);
  2268.  
  2269. Coefficient (all,r,REG)
  2270.    DPARSAVE(r) # saving distribution parameter #;
  2271. Formula (all,r,REG)
  2272.    DPARSAVE(r) = XSHRSAVE(r) / UTILELAS(r);
  2273.  
  2274. Coefficient (all,r,REG)
  2275.    UTILPRIV(r) # utility from private consumption #;
  2276. Formula (initial)(all,r,REG)
  2277.    UTILPRIV(r) = 1.0;
  2278. Update (all,r,REG)
  2279.    UTILPRIV(r) = up(r);
  2280.  
  2281. Coefficient (all,r,REG)
  2282.    UTILGOV(r) # utility from government consumption #;
  2283. Formula (initial)(all,r,REG)
  2284.    UTILGOV(r) = 1.0;
  2285. Update (all,r,REG)
  2286.    UTILGOV(r) = ug(r);
  2287.  
  2288. Coefficient (all,r,REG)
  2289.    UTILSAVE(r) # utility from saving #;
  2290. Formula (initial)(all,r,REG)
  2291.    UTILSAVE(r) = 1.0;
  2292. Update (change) (all,r,REG)
  2293.    UTILSAVE(r) = [[qsave(r) - pop(r)] / 100] * UTILSAVE(r);
  2294.  
  2295. Variable (all,r,REG)
  2296.    u(r) # per capita utility from aggregate hhld expend. in region r #;
  2297. Equation UTILITY
  2298. # regional household utility #
  2299. (all,r,REG)
  2300.    u(r)
  2301.        = au(r)
  2302.        + DPARPRIV(r) * loge(UTILPRIV(r)) * dppriv(r)
  2303.        + DPARGOV(r) * loge(UTILGOV(r)) * dpgov(r)
  2304.        + DPARSAVE(r) * loge(UTILSAVE(r)) * dpsave(r)
  2305.        + [1.0 / UTILELAS(r)] * [y(r) - pop(r) - p(r)];
  2306.  
  2307. Equation DISTPARSUM
  2308. # sum of the distribution parameters #
  2309. (all,r,REG)
  2310.    DPARSUM(r) * dpsum(r)
  2311.        = DPARPRIV(r) * dppriv(r)
  2312.        + DPARGOV(r) * dpgov(r)
  2313.        + DPARSAVE(r) * dpsave(r);
  2314.  
  2315. !<
  2316.    -------------------------
  2317.    8. Equilibrium Conditions
  2318.    -------------------------
  2319.  
  2320.    8-1. Market Clearing Conditions
  2321.    8-2. Walras' Law
  2322. >!
  2323.  
  2324. !<
  2325.     8-1. Market Clearing Conditions
  2326.     -------------------------------
  2327. >!
  2328.  
  2329. Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  2330.     SHRDFM(i,j,r) # share of dom. prod. i used by sector j in r at mkt prices #;
  2331. Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  2332.     SHRDFM(i,j,r) = VDFM(i,j,r) / VDM(i,r);
  2333.  
  2334. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2335.     SHRDPM(i,r) # share of domestic prod. of i used by private hhlds in r #;
  2336. Formula (all,i,TRAD_COMM)(all,r,REG)
  2337.     SHRDPM(i,r) = VDPM(i,r) / VDM(i,r);
  2338.  
  2339. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2340.     SHRDGM(i,r) # share of imports of i used by gov't hhlds in r #;
  2341. Formula (all,i,TRAD_COMM)(all,r,REG)
  2342.    SHRDGM(i,r) = VDGM(i,r) / VDM(i,r);
  2343.  
  2344. Variable (orig_level=VDM)(all,i,TRAD_COMM)(all,r,REG)
  2345.    qds(i,r) # domestic sales of commodity i in r #;
  2346. Equation MKTCLDOM
  2347. # eq'n assures market clearing for domestic sales (HT 3) #
  2348. (all,i,TRAD_COMM)(all,r,REG)
  2349.     qds(i,r)
  2350.         = sum(j,PROD_COMM, SHRDFM(i,j,r) * qfd(i,j,r))
  2351.         + SHRDPM(i,r) * qpd(i,r)
  2352.         + SHRDGM(i,r) * qgd(i,r);
  2353.  
  2354. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2355.     SHRDM(i,r) # share of domestic sales of i in r #;
  2356. Formula (all,i,TRAD_COMM)(all,r,REG)
  2357.     SHRDM(i,r) = VDM(i,r) / VOM(i,r);
  2358.  
  2359. Coefficient (all,m,MARG_COMM)(all,r,REG)
  2360.     SHRST(m,r) # share of sales of m to global transport services in r #;
  2361. Formula (all,m,MARG_COMM)(all,r,REG)
  2362.     SHRST(m,r) = VST(m,r) / VOM(m,r);
  2363.  
  2364. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2365.     SHRXMD(i,r,s) # share of export sales of i to s in r #;
  2366. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  2367.     SHRXMD(i,r,s) = VXMD(i,r,s) / VOM(i,r);
  2368.  
  2369. Variable (all,i,TRAD_COMM)(all,r,REG)
  2370.     tradslack(i,r) # slack variable in tradeables market clearing condition #;
  2371. !<
  2372.     This is exogenous unless the user wishes to specify the price of
  2373.     tradeables exogenously, in which case the analysis becomes partial
  2374.     equilibrium and walraslack must be exogenized.
  2375. >!
  2376.  
  2377. Equation MKTCLTRD_MARG
  2378. # eq'n assures market clearing for margins commodities (HT 1) #
  2379. (all,m,MARG_COMM)(all,r,REG)
  2380.    qo(m,r)
  2381.        = SHRDM(m,r) * qds(m,r)
  2382.        + SHRST(m,r) * qst(m,r)
  2383.        + sum(s,REG, SHRXMD(m,r,s) * qxs(m,r,s))
  2384.        + tradslack(m,r);
  2385. Equation MKTCLTRD_NMRG
  2386. # eq'n assures market clearing for the non-margins commodities (HT 1) #
  2387. (all,i,NMRG_COMM)(all,r,REG)
  2388.     qo(i,r)
  2389.         = SHRDM(i,r) * qds(i,r)
  2390.         + sum(s,REG, SHRXMD(i,r,s) * qxs(i,r,s))
  2391.         + tradslack(i,r);
  2392.  
  2393. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2394.     VIM(i,r) # value of imports of commodity i in r at domestic market prices #;
  2395. Formula (all,i,TRAD_COMM)(all,r,REG)
  2396.     VIM(i,r) = sum(j,PROD_COMM, VIFM(i,j,r)) + VIPM(i,r) + VIGM(i,r);
  2397.  
  2398. Coefficient (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  2399.     SHRIFM(i,j,r) # share of import i used by sector j in r  #;
  2400. Formula (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  2401.     SHRIFM(i,j,r) = VIFM(i,j,r) / VIM(i,r);
  2402.  
  2403. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2404.     SHRIPM(i,r) # share of import i used by private hhlds in r #;
  2405. Formula (all,i,TRAD_COMM)(all,r,REG)
  2406.     SHRIPM(i,r) = VIPM(i,r) / VIM(i,r);
  2407.  
  2408. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2409.     SHRIGM(i,r) # the share of import i used by gov't hhlds in r #;
  2410. Formula (all,i,TRAD_COMM)(all,r,REG)
  2411.    SHRIGM(i,r) = VIGM(i,r) / VIM(i,r);
  2412.  
  2413. Equation MKTCLIMP
  2414. # eq'n assures mkt clearing for imported goods entering each region (HT 2) #
  2415. (all,i,TRAD_COMM)(all,r,REG)
  2416.     qim(i,r)
  2417.         = sum(j,PROD_COMM, SHRIFM(i,j,r) * qfm(i,j,r))
  2418.         + SHRIPM(i,r) * qpm(i,r)
  2419.         + SHRIGM(i,r) * qgm(i,r);
  2420.  
  2421. Coefficient (all,i,ENDWM_COMM)(all,j,PROD_COMM)(all,r,REG)
  2422.     SHREM(i,j,r) # share of mobile endowment i used by sector j at mkt prices #;
  2423. Formula (all,i,ENDWM_COMM)(all,j,PROD_COMM)(all,r,REG)
  2424.     SHREM(i,j,r) = VFM(i,j,r) / VOM(i,r);
  2425.  
  2426. Equation MKTCLENDWM
  2427. # eq'n assures mkt clearing for perfectly mobile endowments in each r (HT 4) #
  2428. (all,i,ENDWM_COMM)(all,r,REG)
  2429.    qo(i,r) = sum(j,PROD_COMM, SHREM(i,j,r) * qfe(i,j,r)) + endwslack(i,r);
  2430. !<
  2431.    This equation assures market clearing for perfectly mobile endowments (HT
  2432.    4)
  2433. >!
  2434.  
  2435. Equation MKTCLENDWS
  2436. # eq'n assures mkt clearing for imperfectly mobile endowments in each r (HT 5) #
  2437. (all,i,ENDWS_COMM)(all,j,PROD_COMM)(all,r,REG)
  2438.     qoes(i,j,r) = qfe(i,j,r);
  2439. !<
  2440.     This equation assures market clearing for sluggish endowments (HT 5)
  2441. >!
  2442.  
  2443. !<
  2444.     8-2. Walras' Law
  2445.    ----------------
  2446. >!
  2447.  
  2448. Variable
  2449.    walras_sup # supply in omitted market--global supply of cgds composite #;
  2450. Equation WALRAS_S
  2451. # Extra eq'n computes change in supply in the omitted market. #
  2452.     walras_sup = pcgdswld + globalcgds;
  2453. !<
  2454.     This is an extra equation which simply computes change in supply in the
  2455.     omitted market.  (modified from HT 12 to reflect the value as opposed to
  2456.     quantity change, in light of the new treatment of psave(r))
  2457. >!
  2458.  
  2459. Variable
  2460.     walras_dem # demand in the omitted market--global demand for savings #;
  2461. Equation WALRAS_D
  2462. # Extra eq'n computes change in demand in the omitted market. #
  2463.    GLOBINV * walras_dem = sum(r,REG, SAVE(r) * [psave(r) + qsave(r)]);
  2464. !<
  2465.    This is an extra equation which simply computes change in demand in the
  2466.    omitted market.  (modified from HT 13 to reflect the value as opposed to
  2467.    quantity change)
  2468. >!
  2469.  
  2470. Variable
  2471.    walraslack # slack variable in the omitted market #;
  2472. !<
  2473.    This is endogenous under normal, GE closure.  If the GE links are broken,
  2474.    then this must be swapped with the numeraire, thereby forcing global
  2475.    savings to explicitly equal global investment.
  2476. >!
  2477. Equation WALRAS
  2478. # Check Walras' Law.  Value of "walraslack" should be zero. (HT 14) #
  2479.     walras_sup = walras_dem + walraslack;
  2480. !<
  2481.     This equation checks Walras' Law.  The value of walraslack should be zero
  2482.    in any GE simulation.  (HT 14)
  2483. >!
  2484.  
  2485. !<
  2486.    ==========
  2487.    Appendices
  2488.    ==========
  2489.  
  2490.    A. Summary Indices
  2491.    B. Equivalent Variation
  2492.    C. Welfare Decomposition
  2493.    D. Terms of Trade Decomposition
  2494. >!
  2495.  
  2496. !<
  2497.    ------------------
  2498.    A. Summary Indices
  2499.    ------------------
  2500.  
  2501.    The following equations calculate many useful summary statistics.  They do
  2502.    not generally affect the equilibrium structure of the model, although they
  2503.    do include the equation for the usual numeraire variable, "pfactwld". Some
  2504.    are documented in Hertel and Tsigas, many are new.
  2505.  
  2506.    A-0. Appendix-Specific Variables and Coefficients
  2507.    A-1. Factor Price Indices
  2508.    A-2. Regional Terms of Trade
  2509.    A-3. GDP Indices (Value, Price and Quantity)
  2510.    A-4. Aggregate Trade Indices (Value, Price and Quantity)
  2511.    A-5. Trade Balance Indices
  2512. >!
  2513.  
  2514. !<
  2515.    A-0. Appendix-Specific Variables and Coefficients
  2516.    -------------------------------------------------
  2517.  
  2518.    only used in this Summary Indices appendix
  2519. >!
  2520.  
  2521. Variable (all,i,TRAD_COMM)(all,s,REG)
  2522.    vxwfob(i,s) # value of merchandise regional exports, by commodity, FOB #;
  2523. Variable (all,i,TRAD_COMM)(all,s,REG)
  2524.    viwcif(i,s) # value of merchandise regional imports, by commodity, CIF #;
  2525. Variable (all,r,REG)
  2526.    vxwreg(r) # value of merchandise exports, by region #;
  2527. Variable (all,r,REG)
  2528.    viwreg(r) # value of merchandise imports, by region, at world prices #;
  2529.  
  2530. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2531.    VXW(i,r) # value of exports by comm. i and region r at FOB prices #;
  2532. Formula (all,m,MARG_COMM)(all,r,REG)
  2533.    VXW(m,r) = sum(s,REG, VXWD(m,r,s)) + VST(m,r);
  2534. Formula (all,i,NMRG_COMM)(all,r,REG)
  2535.    VXW(i,r) = sum(s,REG, VXWD(i,r,s));
  2536.  
  2537. Coefficient (all,r,REG)
  2538.    VXWREGION(r) # value of exports by region r at FOB prices #;
  2539. Formula (all,r,REG)
  2540.    VXWREGION(r) = sum(i,TRAD_COMM, VXW(i,r));
  2541.  
  2542. Coefficient (all,i,TRAD_COMM)(all,s,REG)
  2543.    VIW(i,s) # value of commodity imports i into s at CIF prices #;
  2544. Formula (all,i,TRAD_COMM)(all,s,REG)
  2545.    VIW(i,s) = sum(r,REG, VIWS(i,r,s));
  2546. Coefficient (all,r,REG)
  2547.    VIWREGION(r) # value of commodity imports by region r at CIF prices #;
  2548. Formula (all,r,REG)
  2549.    VIWREGION(r) = sum(i,TRAD_COMM, VIW(i,r));
  2550.  
  2551. !<
  2552.    A-1. Factor Price Indices
  2553.    -------------------------
  2554. >!
  2555.  
  2556. Variable (orig_level=1.0)(all,i,ENDW_COMM)(all,r,REG)
  2557.    pfactreal(i,r) # ratio of return to primary factor i to CPI in r #;
  2558. Equation REALRETURN
  2559. # eq'n defines the real rate of return to primary factor i in region r #
  2560. (all,i,ENDW_COMM)(all,s,REG)
  2561.     pfactreal(i,s) = pm(i,s) - ppriv(s);
  2562. !<
  2563.     This equation defines the real rate of return to primary factor i in
  2564.     region r (new).
  2565. >!
  2566.  
  2567. Coefficient (all,r,REG)
  2568.     VENDWREG(r) # value of primary factors, at mkt prices, by region #;
  2569. Formula (all,r,REG)
  2570.     VENDWREG(r) = sum(i,ENDW_COMM, VOM(i,r));
  2571.  
  2572. Variable (orig_level=1.0)(all,r,REG)
  2573.     pfactor(r) # market price index of primary factors, by region #;
  2574. Equation PRIMFACTPR
  2575. # computes % change in price index of primary factors, by region #
  2576. (all,r,REG)
  2577.     VENDWREG(r) * pfactor(r) = sum(i,ENDW_COMM, VOM(i,r) * pm(i,r));
  2578.  
  2579. Coefficient
  2580.     VENDWWLD # value of primary factors, at mkt prices, worldwide #;
  2581. Formula
  2582.     VENDWWLD = sum(r,REG, VENDWREG(r));
  2583. Variable (orig_level=1.0)
  2584.     pfactwld # world price index of primary factors #;
  2585. Equation PRIMFACTPRWLD
  2586. # computes % change in global price index of primary factors #
  2587.     VENDWWLD * pfactwld = sum(r,REG, VENDWREG(r) * pfactor(r));
  2588.  
  2589. !<
  2590.     A-2. Regional Terms of Trade
  2591.     ----------------------------
  2592.  
  2593.     The next three equations correspond to Table 10 of Hertel and Tsigas on
  2594.     Regional Terms of Trade.
  2595. >!
  2596.  
  2597. Variable (orig_level=1.0)(all,r,REG)
  2598.     psw(r) # index of prices received for tradeables produced in r #;
  2599. Equation REGSUPRICE
  2600. # estimate change in index of prices received for tradeables i produced in r #
  2601. (all,r,REG)
  2602.     VXWREGION(r) * psw(r)
  2603.         = sum(i,TRAD_COMM, sum(s,REG, VXWD(i,r,s) * pfob(i,r,s)))
  2604.         + sum(m,MARG_COMM, VST(m,r) * pm(m,r));
  2605. !<
  2606.     This equation estimates the change in the index of prices received for
  2607.     tradeable products produced in r.  (modified from HT 64 to eliminate the
  2608.     investment component)
  2609. >!
  2610.  
  2611. Variable (orig_level=1.0)(all,r,REG)
  2612.     pdw(r) # index of prices paid for tradeables used in region r #;
  2613. Equation REGDEMPRICE
  2614. # estimate change in index of prices paid for tradeable products used in r #
  2615. (all,r,REG)
  2616.     VIWREGION(r) * pdw(r)
  2617.         = sum(i,TRAD_COMM, sum(k,REG, VIWS(i,k,r) * pcif(i,k,r)));
  2618. !<
  2619.     This equation estimates the change in the index of prices paid for
  2620.     tradeable products used in r.  (modified from HT 65 to eliminate savings)
  2621. >!
  2622.  
  2623. Variable (orig_level=1.0)(all,r,REG)
  2624.     tot(r) # terms of trade for region r: tot(r) = psw(r) - pdw(r) #;
  2625. Equation TOTeq
  2626. # terms of trade equation computed as difference in psw and pdw (HT 66) #
  2627. (all,r,REG)
  2628.     tot(r) = psw(r) - pdw(r);
  2629.  
  2630. !<
  2631.     A-3. GDP Indices (Value, Price and Quantity)
  2632.     --------------------------------------------
  2633. >!
  2634.  
  2635. Coefficient (all,r,REG)
  2636.     GDP(r) # Gross Domestic Product in region r #;
  2637. Formula (all,s,REG)
  2638.     GDP(s)
  2639.         = sum(i,TRAD_COMM, VPA(i,s))
  2640.         + sum(i,TRAD_COMM, VGA(i,s))
  2641.         + sum(k,CGDS_COMM, VOA(k,s))
  2642.         + sum(i,TRAD_COMM, sum(r,REG, VXWD(i,s,r)))
  2643.         + sum(m,MARG_COMM, VST(m,s))
  2644.         - sum(i,TRAD_COMM, sum(r,REG, VIWS(i,r,s)));
  2645. !<
  2646.     Gross Domestic Product in region r.  Trade is valued at FOB and CIF
  2647.     prices.
  2648. >!
  2649.  
  2650. Variable (all,r,REG)
  2651.     vgdp(r) # change in value of GDP #;
  2652. Equation VGDP_r
  2653. # change in value of GDP (HT 70) #
  2654. (all,r,REG)
  2655.     GDP(r) * vgdp(r)
  2656.         = sum(i,TRAD_COMM, VGA(i,r) * [qg(i,r) + pg(i,r)])
  2657.         + sum(i,TRAD_COMM, VPA(i,r) * [qp(i,r) + pp(i,r)])
  2658.         + REGINV(r) * [qcgds(r) + pcgds(r)]
  2659.         + sum(i,TRAD_COMM, sum(s,REG, VXWD(i,r,s) * [qxs(i,r,s) + pfob(i,r,s)]))
  2660.         + sum(m,MARG_COMM, VST(m,r) * [qst(m,r) + pm(m,r)])
  2661.         - sum(i,TRAD_COMM, sum(s,REG,
  2662.             VIWS(i,s,r) * [qxs(i,s,r) + pcif(i,s,r)]));
  2663.  
  2664. Variable (orig_level=1.0)(all,r,REG)
  2665.     pgdp(r) # GDP price index #;
  2666. Equation PGDP_r
  2667. # GDP price index (HT 71) #
  2668. (all,r,REG)
  2669.     GDP(r) * pgdp(r)
  2670.         = sum(i,TRAD_COMM, VGA(i,r) * pg(i,r))
  2671.         + sum(i,TRAD_COMM, VPA(i,r) * pp(i,r))
  2672.         + REGINV(r) * pcgds(r)
  2673.         + sum(i,TRAD_COMM, sum(s,REG, VXWD(i,r,s) * pfob(i,r,s)))
  2674.         + sum(m,MARG_COMM, VST(m,r) * pm(m,r))
  2675.         - sum(i,TRAD_COMM, sum(s,REG, VIWS(i,s,r) * pcif(i,s,r)));
  2676.  
  2677. Variable (orig_level=GDP)(all,r,REG)
  2678.     qgdp(r) # GDP quantity index #;
  2679. Equation QGDP_r
  2680. # GDP quantity index #
  2681. (all,r,REG)
  2682.     GDP(r) * qgdp(r)
  2683.         = sum(i,TRAD_COMM, VGA(i,r) * qg(i,r))
  2684.         + sum(i,TRAD_COMM, VPA(i,r) * qp(i,r))
  2685.         + REGINV(r) * qcgds(r)
  2686.         + sum(i,TRAD_COMM, sum(s,REG, VXWD(i,r,s) * qxs(i,r,s)))
  2687.         + sum(m,MARG_COMM, VST(m,r) * qst(m,r))
  2688.         - sum(i,TRAD_COMM, sum(s,REG, VIWS(i,s,r) * qxs(i,s,r)));
  2689. !<
  2690.     modified from HT 72 for use with AnalyzeGE
  2691. >!
  2692.  
  2693. Variable (all,i,PROD_COMM)(all,r,REG)
  2694.     compvalad(i,r) # composition of value added for good i and region r #;
  2695. Equation COMPVALADEQ
  2696. # track change in composition of value added #
  2697. (all,i,PROD_COMM)(all,r,REG)
  2698.     compvalad(i,r) = qo(i,r) - qgdp(r);
  2699.  
  2700. !<
  2701.     A-4. Aggregate Trade Indices (Value, Price and Quantity)
  2702.     --------------------------------------------------------
  2703. >!
  2704.  
  2705. !<
  2706.     Common Variables and Coefficients
  2707.     Value Indices for Aggregate Trade
  2708.     Price Indices for Aggregate Trade
  2709.     Quantity Indices for Aggregate Trade
  2710. >!
  2711.  
  2712. !<
  2713.     Common Variables and Coefficients
  2714.     .................................
  2715.  
  2716.     only used in this Aggregate Trade Indices section
  2717. >!
  2718.  
  2719. Variable (orig_level=1.0)(all,i,TRAD_COMM)(all,r,REG)
  2720.     pxw(i,r) # aggregate exports price index of i from region r #;
  2721.  
  2722. Coefficient (all,i,TRAD_COMM)
  2723.     VXWCOMMOD(i) # value of world exports by commodity i at FOB prices #;
  2724. Formula (all,i,TRAD_COMM)
  2725.     VXWCOMMOD(i) = sum(r,REG, VXW(i,r));
  2726.  
  2727. Coefficient
  2728.     VXWLD # value of commodity exports, FOB, globally #;
  2729. Formula
  2730.     VXWLD = sum(r,REG, VXWREGION(r));
  2731.  
  2732. Coefficient (all,i,TRAD_COMM)
  2733.     VIWCOMMOD(i) # global value of commodity imports, CIF, by commodity #;
  2734. Formula (all,i,TRAD_COMM)
  2735.     VIWCOMMOD(i) = sum(r,REG, VIW(i,r));
  2736.  
  2737. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2738.     PW_PM(i,r) # ratio of world to domestic prices #;
  2739. Formula (all,i,TRAD_COMM)(all,r,REG)
  2740.     PW_PM(i,r) = sum(s,REG, VXWD(i,r,s)) / sum(s,REG, VXMD(i,r,s));
  2741. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  2742.     VOW(i,r) # value of output in r at FOB including transportation services #;
  2743. Formula (all,m,MARG_COMM)(all,r,REG)
  2744.     VOW(m,r) = VDM(m,r) * PW_PM(m,r) + sum(s,REG, VXWD(m,r,s)) + VST(m,r);
  2745. Formula (all,i,NMRG_COMM)(all,r,REG)
  2746.     VOW(i,r) = VDM(i,r) * PW_PM(i,r) + sum(s,REG, VXWD(i,r,s));
  2747.  
  2748. Coefficient (all,i,TRAD_COMM)
  2749.     VWOW(i) # value of world supply at world prices for i #;
  2750. Formula (all,i,TRAD_COMM)
  2751.     VWOW(i) = sum(r,REG, VOW(i,r));
  2752.  
  2753. Coefficient (all,i,TRAD_COMM)
  2754.     VWOU(i) # value of world output of i at user prices #;
  2755. Formula (all,i,TRAD_COMM)
  2756.     VWOU(i) = sum(s,REG, [VPA(i,s) + VGA(i,s)] + sum(j,PROD_COMM, VFA(i,j,s)));
  2757.  
  2758. !<
  2759.     Value Indices for Aggregate Trade
  2760.     .................................
  2761. >!
  2762.  
  2763. Equation VREGEX_ir_MARG
  2764. # the change in FOB value of exports of m from r #
  2765. (all,m,MARG_COMM)(all,r,REG)
  2766.     VXW(m,r) * vxwfob(m,r)
  2767.         = sum(s,REG, VXWD(m,r,s) * [qxs(m,r,s) + pfob(m,r,s)])
  2768.         + VST(m,r) * [qst(m,r) + pm(m,r)];
  2769. Equation VREGEX_ir_NMRG
  2770. # the change in FOB value of exports of commodity i from r (HT 73) #
  2771. (all,i,NMRG_COMM)(all,r,REG)
  2772.     VXW(i,r) * vxwfob(i,r)
  2773.         = sum(s,REG, VXWD(i,r,s) * [qxs(i,r,s) + pfob(i,r,s)]);
  2774.  
  2775. Equation VREGEX_r
  2776. # computes % change in value of merchandise exports, by region (HT 75) #
  2777. (all,r,REG)
  2778.     VXWREGION(r) * vxwreg(r) = sum(i,TRAD_COMM, VXW(i,r) * vxwfob(i,r));
  2779.  
  2780. Variable (all,i,TRAD_COMM)
  2781.     vxwcom(i) # value of global merchandise exports by commodity #;
  2782. Equation VWLDEX_i
  2783. # computes % change in FOB value of global exports, by commodity (HT 77) #
  2784. (all,i,TRAD_COMM)
  2785.     VXWCOMMOD(i) * vxwcom(i) = sum(r,REG, VXW(i,r) * vxwfob(i,r));
  2786.  
  2787. Variable
  2788.     vxwwld # value of world trade #;
  2789. Equation VWLDEX
  2790. # computes % change in value of global exports (HT 79) #
  2791.     VXWLD * vxwwld = sum(r,REG, VXWREGION(r) * vxwreg(r));
  2792.  
  2793. Equation VREGIM_is
  2794. # the change in CIF value of imports of commodity i into s (HT 74) #
  2795. (all,i,TRAD_COMM)(all,s,REG)
  2796.     VIW(i,s) * viwcif(i,s)
  2797.         = sum(r,REG, VIWS(i,r,s) * [pcif(i,r,s) + qxs(i,r,s)]);
  2798.  
  2799. Equation VREGIM_s
  2800. # computes % change in value of imports, CIF basis, by region (HT 76) #
  2801. (all,s,REG)
  2802.     VIWREGION(s) * viwreg(s) = sum(i,TRAD_COMM, VIW(i,s) * viwcif(i,s));
  2803.  
  2804. Variable (all,i,TRAD_COMM)
  2805.     viwcom(i) # value of global merchandise imports i, at world prices #;
  2806. Equation VWLDIM_i
  2807. # computes % change in value of global imports, by commodity (HT 78) #
  2808. (all,i,TRAD_COMM)
  2809.     VIWCOMMOD(i) * viwcom(i) = sum(s,REG, VIW(i,s) * viwcif(i,s));
  2810.  
  2811. Variable (all,i,TRAD_COMM)
  2812.     valuew(i) # value of world supply of good i #;
  2813. Equation VWLDOUT
  2814. # change in value of world output of comm. i at FOB prices (HT 80) #
  2815. (all,i,TRAD_COMM)
  2816.     VWOW(i) * valuew(i) = sum(r,REG, VOW(i,r) * [pxw(i,r) + qo(i,r)]);
  2817.  
  2818. Variable (all,i,TRAD_COMM)
  2819.     valuewu(i) # value of world supply of good i at user prices #;
  2820. Equation VWLDOUTUSE
  2821. # change in value of world output of commodity i at user prices #
  2822. (all,i,TRAD_COMM)
  2823.     VWOU(i) * valuewu(i)
  2824.         = sum(s,REG, VPA(i,s) * [pp(i,s) + qp(i,s)]
  2825.         + VGA(i,s) * [pg(i,s) + qg(i,s)]
  2826.         + sum(j,PROD_COMM, VFA(i,j,s) * [pf(i,j,s) + qf(i,j,s)]));
  2827.  
  2828. !<
  2829.     Price Indices for Aggregate Trade
  2830.     .................................
  2831. >!
  2832.  
  2833. Equation PREGEX_ir_MARG
  2834. # change in FOB price index of exports of m from r #
  2835. (all,m,MARG_COMM)(all,r,REG)
  2836.     VXW(m,r) * pxw(m,r)
  2837.         = sum(s,REG, VXWD(m,r,s) * pfob(m,r,s)) + VST(m,r) * pm(m,r);
  2838.  
  2839. Equation PREGEX_ir_NMRG
  2840. # change in FOB price index of exports of commodity i from r (HT 81) #
  2841. (all,i,NMRG_COMM)(all,r,REG)
  2842.     VXW(i,r) * pxw(i,r) = sum(s,REG, VXWD(i,r,s) * pfob(i,r,s));
  2843.  
  2844. Variable (orig_level=1.0)(all,r,REG)
  2845.     pxwreg(r) # price index of merchandise exports, by region #;
  2846. Equation PREGEX_r
  2847. # computes % change in price index of exports, by region (HT 83) #
  2848. (all,r,REG)
  2849.     VXWREGION(r) * pxwreg(r) = sum(i,TRAD_COMM, VXW(i,r) * pxw(i,r));
  2850.  
  2851. Variable (orig_level=1.0)(all,i,TRAD_COMM)
  2852.     pxwcom(i) # price index of global merchandise exports by commodity #;
  2853. Equation PWLDEX_i
  2854. # computes % change in price index of exports, by commodity (HT 85) #
  2855. (all,i,TRAD_COMM)
  2856.     VXWCOMMOD(i) * pxwcom(i) = sum(r,REG, VXW(i,r) * pxw(i,r));
  2857.  
  2858. Variable (orig_level=1.0)
  2859.     pxwwld # price index of world trade #;
  2860. Equation PWLDEX
  2861. # computes % change in price index of global exports (HT 87) #
  2862.     VXWLD * pxwwld = sum(r,REG, VXWREGION(r) * pxwreg(r));
  2863.  
  2864. Variable (all,i,TRAD_COMM)(all,r,REG)
  2865.     piw(i,r) # world price of composite import i in region r #;
  2866. Equation PREGIM_is
  2867. # change in CIF price index of imports of commodity i into s (HT 82) #
  2868. (all,i,TRAD_COMM)(all,s,REG)
  2869.     VIW(i,s) * piw(i,s) = sum(r,REG, VIWS(i,r,s) * pcif(i,r,s));
  2870.  
  2871. Variable (orig_level=1.0)(all,r,REG)
  2872.     piwreg(r) # price index of merchandise imports, by region #;
  2873. Equation PREGIM_s
  2874. # computes % change in price index of imports, by region (HT 84) #
  2875. (all,s,REG)
  2876.     VIWREGION(s) * piwreg(s) = sum(i,TRAD_COMM, VIW(i,s) * piw(i,s));
  2877.  
  2878. Variable (orig_level=1.0)(all,i,TRAD_COMM)
  2879.     piwcom(i) # price index of global merchandise imports by commodity #;
  2880. Equation PWLDIM_i
  2881. # computes % change in price index of imports, by commodity (HT 86) #
  2882. (all,i,TRAD_COMM)
  2883.     VIWCOMMOD(i) * piwcom(i) = sum(s,REG, VIW(i,s) * piw(i,s));
  2884.  
  2885. Variable (all,i,TRAD_COMM)
  2886.     pw(i) # world price index for total good i supplies #;
  2887. Equation PWLDOUT
  2888. # change in index of world prices, FOB, for total production of i (HT 88) #
  2889. (all,i,TRAD_COMM)
  2890.     VWOW(i) * pw(i) = sum(r,REG, VOW(i,r) * pxw(i,r));
  2891.  
  2892. Variable (orig_level=1.0)(all,i,TRAD_COMM)
  2893.     pwu(i) # world price index for total good i supplies at user prices #;
  2894. Equation PWLDUSE
  2895. # change in index of user prices for deflating world production of i #
  2896. (all,i,TRAD_COMM)
  2897.     VWOU(i) * pwu(i)
  2898.         = sum(s,REG, VPA(i,s) * pp(i,s)
  2899.         + VGA(i,s) * pg(i,s)
  2900.         + sum(j,PROD_COMM, VFA(i,j,s) * pf(i,j,s)));
  2901.  
  2902. !<
  2903.     Quantity Indices for Aggregate Trade
  2904.     ....................................
  2905. >!
  2906.  
  2907. Variable (orig_level=VXW)(all,i,TRAD_COMM)(all,r,REG)
  2908.     qxw(i,r) # aggregate exports of i from region r, FOB weights #;
  2909. Equation QREGEX_ir_MARG
  2910. # change in volume of exports of margin commodity m from r #
  2911. (all,m,MARG_COMM)(all,r,REG)
  2912.     VXW(m,r) * qxw(m,r)
  2913.         = sum(s,REG, VXWD(m,r,s) * qxs(m,r,s)) + VST(m,r) * qst(m,r);
  2914. Equation QREGEX_ir_NMRG
  2915. # change in volume of exports of non-margin commodity i from r #
  2916. (all,i,NMRG_COMM)(all,r,REG)
  2917.     VXW(i,r) * qxw(i,r) = sum(s,REG, VXWD(i,r,s) * qxs(i,r,s));
  2918. !<
  2919.     modified from HT 89 for use with AnalyzeGE
  2920. >!
  2921.  
  2922. Variable (orig_level=VXWREGION)(all,r,REG)
  2923.     qxwreg(r) # volume of merchandise exports, by region #;
  2924. Equation QREGEX_r
  2925. # computes % change in quantity index of exports, by region #
  2926. (all,r,REG)
  2927.     VXWREGION(r) * qxwreg(r) = sum(i,TRAD_COMM, VXW(i,r) * qxw(i,r));
  2928. !<
  2929.     modified from HT 91 for use with AnalyzeGE
  2930. >!
  2931.  
  2932. Variable (orig_level=VXWCOMMOD)(all,i,TRAD_COMM)
  2933.     qxwcom(i) # volume of global merchandise exports by commodity #;
  2934. Equation QWLDEX_i
  2935. # computes % change in quantity index of exports, by commodity #
  2936. (all,i,TRAD_COMM)
  2937.     VXWCOMMOD(i) * qxwcom(i) = sum(r,REG, VXW(i,r) * qxw(i,r));
  2938. !<
  2939.     modified from HT 93 for use with AnalyzeGE
  2940. >!
  2941.  
  2942. Variable (orig_level=VXWLD)
  2943.     qxwwld # volume of world trade #;
  2944. Equation QWLDEX
  2945. # computes % change in quantity index of global exports #
  2946.     VXWLD * qxwwld = sum(r,REG, VXWREGION(r) * qxwreg(r));
  2947. !<
  2948.     modified from HT 95 for use with AnalyzeGE
  2949. >!
  2950.  
  2951. Variable (all,i,TRAD_COMM)(all,s,REG)
  2952.     qiw(i,s) # aggregate imports of i into region s, CIF weights #;
  2953. Equation QREGIM_is
  2954. # change in volume of imports of commodity i into s #
  2955. (all,i,TRAD_COMM)(all,s,REG)
  2956.     VIW(i,s) * qiw(i,s) = sum(r,REG, VIWS(i,r,s) * qxs(i,r,s));
  2957. !<
  2958.     modified from HT 90 for use with AnalyzeGE
  2959. >!
  2960.  
  2961. Variable (orig_level=VIWREGION)(all,r,REG)
  2962.     qiwreg(r) # volume of merchandise imports, by region #;
  2963. Equation QREGIM_s
  2964. # computes % change in quantity index of imports, by region #
  2965. (all,s,REG)
  2966.     VIWREGION(s) * qiwreg(s) = sum(i,TRAD_COMM, VIW(i,s) * qiw(i,s));
  2967. !<
  2968.     modified from HT 92 for use with AnalyzeGE
  2969. >!
  2970.  
  2971. Variable (orig_level=VIWCOMMOD)(all,i,TRAD_COMM)
  2972.     qiwcom(i) # volume of global merchandise imports by commodity #;
  2973. Equation QWLDIM_i
  2974. # computes % change in quantity index of imports, by commodity #
  2975. (all,i,TRAD_COMM)
  2976.     VIWCOMMOD(i) * qiwcom(i) = sum(s,REG, VIW(i,s) * qiw(i,s));
  2977. !<
  2978.     modified from HT 94 for use with AnalyzeGE
  2979. >!
  2980.  
  2981. Variable (all,i,TRAD_COMM)
  2982.     qow(i) # quantity index for world supply of good i #;
  2983. Equation QWLDOUT
  2984. # change in index of world production of i #
  2985. (all,i,TRAD_COMM)
  2986.     VWOW(i) * qow(i) = sum(r,REG, VOW(i,r) * qo(i,r));
  2987. !<
  2988.     modified from HT 96 for use with AnalyzeGE
  2989. >!
  2990.  
  2991. Variable (orig_level=VWOU)(all,i,TRAD_COMM)
  2992.     qowu(i) # quantity index for world supply of good i at user prices #;
  2993. Equation QWLDOUTU
  2994. # change in index of world production of i evaluated at user prices #
  2995. (all,i,TRAD_COMM)
  2996.     VWOU(i) * qowu(i)
  2997.         = sum(s,REG, VPA(i,s) * qp(i,s)
  2998.         + VGA(i,s) * qg(i,s)
  2999.         + sum(j,PROD_COMM, VFA(i,j,s) * qf(i,j,s)));
  3000.  
  3001. !<
  3002.     A-5. Trade Balance Indices
  3003.     --------------------------
  3004. >!
  3005.  
  3006. Variable (change)(all,i,TRAD_COMM)(all,r,REG)
  3007.     DTBALi(i,r) # change in trade balance by i and by r, $ US million #;
  3008. !<
  3009.     A positive value indicates that the change in exports exceeds the change
  3010.     in imports.
  3011. >!
  3012. Equation TRADEBAL_i
  3013. # computes change in trade balance by commodity and by region (HT 97) #
  3014. (all,i,TRAD_COMM)(all,r,REG)
  3015.     DTBALi(i,r)
  3016.         = [VXW(i,r) / 100] * vxwfob(i,r) - [VIW(i,r) / 100] * viwcif(i,r);
  3017.  
  3018. Variable (change)(all,r,REG)
  3019.     DTBAL(r) # change in trade balance X - M, $ US million #;
  3020. Equation TRADEBALANCE
  3021. # computes change in trade balance (X - M), by region (HT 98) #
  3022. (all,r,REG)
  3023.     DTBAL(r)
  3024.         = [VXWREGION(r) / 100] * vxwreg(r) - [VIWREGION(r) / 100] * viwreg(r);
  3025.  
  3026. !<
  3027.     In order to maintain homogeneity in the presence of a fixed trade balance,
  3028.     it is useful to have a nominal variable which this is measured against.
  3029.     The next equation provides this, and we recommend users fix DTBALR instead
  3030.     of fixing DTBAL in future simulations.  The strategy is the same one used
  3031.     above for taxes.
  3032. >!
  3033.  
  3034. Coefficient (all,r,REG)
  3035.     TBAL(r) # trade balance for region r #;
  3036. Formula (all,r,REG)
  3037.     TBAL(r) = VXWREGION(r) - VIWREGION(r);
  3038.  
  3039. Variable (change)(all,r,REG)
  3040.     DTBALR(r) # change in ratio of trade balance to regional income #;
  3041. Equation DTBALRATIO
  3042. # change in ratio of trade balance to regional income #
  3043. (all,r,REG)
  3044.     100 * INCOME(r) * DTBALR(r) = 100 * DTBAL(r) - TBAL(r) * y(r);
  3045.  
  3046. !<
  3047.     -----------------------
  3048.     B. Equivalent Variation
  3049.     -----------------------
  3050.  
  3051.     B-0. Appendix-Specific Variables and Coefficients
  3052.     B-1. Government Consumption Shadow Demand System
  3053.     B-2. Private Consumption Shadow Demand System
  3054.     B-3. Regional Household Shadow Demand System
  3055.     B-4. Equivalent Variation
  3056.  
  3057.     This appendix calculates equivalent variation "EV" and world equivalent
  3058.     variation, "WEV", by determining the income "yev" that would be required
  3059.     to achieve the current actual utility level "u" in a shadow demand system
  3060.     in which prices are fixed.
  3061.  
  3062.     Section B-2 calculates the utility elasticity of private consumption
  3063.     expenditure, "ueprivev", within a shadow demand system for private
  3064.     consumption, for use in section B-3.  B-3 calculates private consumption
  3065.     expenditure "ypev" for use in B-2, and regional income "yev" for use in
  3066.     B-4, within a shadow demand system for the regional household.  B-4
  3067.     calculates "EV" and "WEV".
  3068. >!
  3069.  
  3070. !<
  3071.     B-0. Appendix-Specific Variables and Coefficients
  3072.     -------------------------------------------------
  3073.  
  3074.     only used in this Equivalent Variation section of the Summary Indices
  3075.     appendix
  3076. >!
  3077.  
  3078. Variable (all,r,REG)
  3079.     uelasev(r)
  3080.     # elasticity of cost of utility wrt utility, for EV calc. #;
  3081. Variable (all,r,REG)
  3082.     ueprivev(r)
  3083.     # utility elasticity of private consn expenditure, for EV calc. #;
  3084. Variable (all,r,REG)
  3085.     ugev(r) # per capita utility from gov't expend., for EV calc. #;
  3086. Variable (all,r,REG)
  3087.    upev(r) # per capita utility from private expend., for EV calc. #;
  3088. Variable (all,r,REG)
  3089.    qsaveev(r) # total quantity of savings demanded, for EV calc. #;
  3090. Variable (all,r,REG)
  3091.    yev(r) # regional household income in region r, for EV calc. #;
  3092. Variable (all,r,REG)
  3093.    ypev(r)
  3094.    # private consumption expenditure in region r, for EV calc. #;
  3095. Variable (all,r,REG)
  3096.    ygev(r)
  3097.    # government consumption expenditure in region r, for EV calc. #;
  3098.  
  3099. Coefficient (all,r,REG)
  3100.    INCOMEEV(r) # regional income, for EV calc. #;
  3101. Formula (initial) (all,r,REG)
  3102.    INCOMEEV(r) = INCOME(r);
  3103. Update (all,r,REG)
  3104.    INCOMEEV(r) = yev(r);
  3105.  
  3106. Coefficient (all,r,REG)
  3107.    UTILPRIVEV(r) # utility from private consumption, for EV calcs #;
  3108. Formula (initial) (all,r,REG)
  3109.    UTILPRIVEV(r) = UTILPRIV(r);
  3110. Update (all,r,REG)
  3111.    UTILPRIVEV(r) = upev(r);
  3112.  
  3113. Coefficient (all,r,REG)
  3114.    UTILGOVEV(r) # utility from private consumption, for EV calcs #;
  3115. Formula (initial) (all,r,REG)
  3116.    UTILGOVEV(r) = UTILGOV(r);
  3117. Update (all,r,REG)
  3118.    UTILGOVEV(r) = ugev(r);
  3119.  
  3120. Coefficient (all,r,REG)
  3121.    UTILSAVEEV(r) # utility from private consumption, for EV calcs #;
  3122. Formula (initial) (all,r,REG)
  3123.    UTILSAVEEV(r) = UTILSAVE(r);
  3124. Update (change) (all,r,REG)
  3125.    UTILSAVEEV(r) = [[qsaveev(r) - pop(r)] / 100] * UTILSAVEEV(r);
  3126.  
  3127. !<
  3128.    B-1. Government Consumption Shadow Demand System
  3129.    ------------------------------------------------
  3130. >!
  3131.  
  3132. Equation GOVUSHD
  3133. # utility from government consumption in r #
  3134. (all,r,REG)
  3135.    ygev(r) - pop(r) = ugev(r);
  3136.  
  3137. !<
  3138.    B-2. Private Consumption Shadow Demand System
  3139.    ---------------------------------------------
  3140. >!
  3141.  
  3142. Variable (all,i,TRAD_COMM)(all,r,REG)
  3143.    qpev(i,r)
  3144.    # private hhld demand for commodity i in region r, for EV calc. #;
  3145.  
  3146. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3147.    VPAEV(i,r)
  3148.    # private hhld expend. on i in r valued at agent's prices, for EV calc. #;
  3149. Formula (initial) (all,i,TRAD_COMM)(all,r,REG)
  3150.     VPAEV(i,r) = VPA(i,r);
  3151. Update (all,i,TRAD_COMM)(all,r,REG)
  3152.     VPAEV(i,r) = qpev(i,r);
  3153.  
  3154. Coefficient (all,r,REG)
  3155.     VPAREGEV(r) # private consumption expenditure in region r, for EV calc. #;
  3156. Formula (all,r,REG)
  3157.     VPAREGEV(r) = sum(i,TRAD_COMM, VPAEV(i,r));
  3158. !<
  3159.     VPAREGEV should agree with PRIVEXPEV.
  3160. >!
  3161.  
  3162. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3163.     CONSHREV(i,r)
  3164.     # share of private hhld consn devoted to good i in r, for EV calc. #;
  3165. Formula (all,i,TRAD_COMM)(all,r,REG)
  3166.     CONSHREV(i,r) = VPAEV(i,r) / VPAREGEV(r);
  3167. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3168.     EYEV(i,r)
  3169.     # expend. elast. of private hhld demand for i in r, for EV calc. #;
  3170. Formula (all,i,TRAD_COMM)(all,r,REG)
  3171.     EYEV(i,r)
  3172.         = [1.0 / sum(n,TRAD_COMM, CONSHREV(n,r) * INCPAR(n,r))]
  3173.         * [INCPAR(i,r) * [1.0 - ALPHA(i,r)]
  3174.             + sum(n,TRAD_COMM, CONSHREV(n,r) * INCPAR(n,r) * ALPHA(n,r))]
  3175.         + ALPHA(i,r)
  3176.         - sum(n,TRAD_COMM, CONSHREV(n,r) * ALPHA(n,r));
  3177.  
  3178. Equation PRIVDMNDSEV
  3179.     # private hhld demands for composite commodities, for EV calc. #
  3180.     (all,i,TRAD_COMM)(all,r,REG)
  3181.     qpev(i,r) - pop(r) = EYEV(i,r) * [ypev(r) - pop(r)];
  3182. !<
  3183.     Prices are held constant for the EV calculation and so do not appear here.
  3184. >!
  3185.  
  3186. Coefficient (all,r,REG)
  3187.     UELASPRIVEV(r)
  3188.     # elast. of cost wrt utility from private consn, for EV calc. #;
  3189. Formula (all,r,REG)
  3190.     UELASPRIVEV(r) = sum(i,TRAD_COMM, CONSHREV(i,r) * INCPAR(i,r));
  3191.  
  3192. Equation PRIVATEUEV
  3193. # computation of utility from private consumption in r (HT 45) #
  3194. (all,r,REG)
  3195.     ypev(r) - pop(r) = UELASPRIVEV(r) * upev(r);
  3196.  
  3197. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3198.     XWCONSHREV(i,r)
  3199.     # expansion-parameter-weighted consumption share, for EV calc. #;
  3200. Formula (all,i,TRAD_COMM)(all,r,REG)
  3201.     XWCONSHREV(i,r) = CONSHREV(i,r) * INCPAR(i,r) / UELASPRIVEV(r);
  3202.  
  3203. Equation UTILELASPRIVEV
  3204.     # elasticity of cost wrt utility from private consn, for EV calc. #
  3205.     (all,r,REG)
  3206.     ueprivev(r)
  3207.         = sum(i,TRAD_COMM, XWCONSHREV(i,r) * [qpev(i,r) - ypev(r)]);
  3208. !<
  3209.     Prices are held constant for the EV calculation and so do not appear here.
  3210. >!
  3211.  
  3212. !<
  3213.  
  3214.     B-3. Regional Household Shadow Demand System
  3215.     --------------------------------------------
  3216. >!
  3217.  
  3218. Variable (all,r,REG)
  3219.     ysaveev(r) # NET savings expenditure, for EV calc. #;
  3220.  
  3221. Coefficient (all,r,REG)
  3222.     PRIVEXPEV(r)
  3223.     # private consumption expenditure in region r, for EV calc. #;
  3224. Formula (initial) (all,r,REG)
  3225.     PRIVEXPEV(r) = PRIVEXP(r);
  3226. Update (all,r,REG)
  3227.     PRIVEXPEV(r) = ypev(r);
  3228. !<
  3229.     PRIVEXPEV should agree with VPAREGEV.
  3230. >!
  3231.  
  3232. Coefficient (all,r,REG)
  3233.     GOVEXPEV(r)
  3234.     # government consumption expenditure in region r, for EV calc. #;
  3235. Formula (initial) (all,r,REG)
  3236.     GOVEXPEV(r) = GOVEXP(r);
  3237. Update (all,r,REG)
  3238.     GOVEXPEV(r) = ygev(r);
  3239.  
  3240. Coefficient (all,r,REG)
  3241.     SAVEEV(r)
  3242.     # saving in region r, for EV calc. #;
  3243. Formula (initial) (all,r,REG)
  3244.     SAVEEV(r) = SAVE(r);
  3245. Update (all,r,REG)
  3246.     SAVEEV(r) = ysaveev(r);
  3247.  
  3248. Coefficient (all,r,REG)
  3249.     XSHRPRIVEV(r)
  3250.     # private expenditure share in regional income, for EV calc. #;
  3251. Formula (all,r,REG)
  3252.     XSHRPRIVEV(r) = PRIVEXPEV(r) / INCOMEEV(r);
  3253.  
  3254. Coefficient (all,r,REG)
  3255.     XSHRGOVEV(r)
  3256.     # government expenditure share in regional income, for EV calc. #;
  3257. Formula (all,r,REG)
  3258.     XSHRGOVEV(r) = GOVEXPEV(r) / INCOMEEV(r);
  3259.  
  3260. Coefficient (all,r,REG)
  3261.     XSHRSAVEEV(r) # saving share in regional income, for EV calc. #;
  3262. Formula (all,r,REG)
  3263.     XSHRSAVEEV(r) = SAVEEV(r) / INCOMEEV(r);
  3264.  
  3265. Variable (all,r,REG)
  3266.     dpavev(r) # average distribution parameter shift, for EV calc. #;
  3267. Equation DPARAVEV
  3268. # average distribution parameter shift, for EV calc. #
  3269.     (all,r,REG)
  3270.     dpavev(r)
  3271.         = XSHRPRIVEV(r) * dppriv(r)
  3272.         + XSHRGOVEV(r) * dpgov(r)
  3273.         + XSHRSAVEEV(r) * dpsave(r);
  3274.  
  3275. Equation UTILITELASTICEV
  3276.     # elasticity of cost of utility wrt utility, for EV calc. #
  3277.     (all,r,REG)
  3278.     uelasev(r) = XSHRPRIV(r) * ueprivev(r) - dpavev(r);
  3279.  
  3280. Equation PCONSEXPEV
  3281. # private consumption expenditure, for EV calc. #
  3282.     (all,r,REG)
  3283.     ypev(r) - yev(r) = -[ueprivev(r) - uelasev(r)] + dppriv(r);
  3284.  
  3285. Equation GOVCONSEXPEV
  3286. # government consumption expenditure #
  3287. (all,r,REG)
  3288.     ygev(r) - yev(r) = uelasev(r) + dpgov(r);
  3289.  
  3290. Equation SAVINGEV
  3291. # saving #
  3292. (all,r,REG)
  3293.     ysaveev(r) - yev(r) = uelasev(r) + dpsave(r);
  3294.  
  3295. Equation SAVEUEV
  3296. # saving #
  3297. (all,r,REG)
  3298.     qsaveev(r) = ysaveev(r);
  3299.  
  3300. !<
  3301.     Note that because psave doesn't change, qsaveev moves with ysaveev.
  3302. >!
  3303.  
  3304. Coefficient (all,r,REG)
  3305.    UTILELASEV(r)
  3306.    # elasticity of cost of utility wrt utility, for EV calc. #;
  3307. Formula (initial) (all,r,REG)
  3308.    UTILELASEV(r) = UTILELAS(r);
  3309. Update (all,r,REG)
  3310.    UTILELASEV(r) = uelasev(r);
  3311.  
  3312. Equation INCOME_EQUIV
  3313. # equivalent income #
  3314. (all,r,REG)
  3315.    u(r)
  3316.        = au(r)
  3317.        + DPARPRIV(r) * loge(UTILPRIVEV(r)) * dppriv(r)
  3318.        + DPARGOV(r) * loge(UTILGOVEV(r)) * dpgov(r)
  3319.        + DPARSAVE(r) * loge(UTILSAVEEV(r)) * dpsave(r)
  3320.        + [1.0 / UTILELASEV(r)] * [yev(r) - pop(r)];
  3321.  
  3322. !<
  3323.    B-4. Equivalent Variation
  3324.    -------------------------
  3325. >!
  3326.  
  3327. Variable (change)(all,r,REG)
  3328.    EV(r) # equivalent variation, $ US million #;
  3329. Equation EVREG
  3330. # regional EV (HT 67) #
  3331. (all,r,REG)
  3332.    EV(r) = [INCOMEEV(r) / 100] * yev(r);
  3333.  
  3334. Variable (change)
  3335.    WEV # equivalent variation for the world #;
  3336. Equation EVWLD
  3337. # EV for the world (HT 68) #
  3338.    WEV = sum(r,REG, EV(r));
  3339.  
  3340. !<
  3341.    ------------------------
  3342.    C. Welfare Decomposition
  3343.    ------------------------
  3344.    See GTAP Technical Paper No. 5 for derivation and interpretation.
  3345. >!
  3346.  
  3347. Coefficient (all,r,REG)
  3348.    EVSCALFACT(r) # equivalent variation scaling factor #;
  3349. Formula (all,r,REG)
  3350.    EVSCALFACT(r) = [UTILELASEV(r) / UTILELAS(r)] * [INCOMEEV(r) / INCOME(r)];
  3351.  
  3352. Coefficient (all,m,MARG_COMM)(all,s,REG)
  3353.    VTMD(m,s) # aggregate value of svce m in shipments to s #;
  3354. Formula (all,m,MARG_COMM)(all,s,REG)
  3355.    VTMD(m,s) = sum(i,TRAD_COMM, sum(r,REG, VTMFSD(m,i,r,s)));
  3356.  
  3357. Variable (linear,change)(all,r,REG)
  3358.    EV_ALT(r) # regional EV computed in alternative way #;
  3359. Equation EV_DECOMPOSITION
  3360. # decomposition of Equivalent Variation #
  3361. (all,r,REG)
  3362.    EV_ALT(r)
  3363.        = -[0.01 * UTILELASEV(r) * INCOMEEV(r)]
  3364.        * [DPARPRIV(r) * loge(UTILPRIVEV(r) / UTILPRIV(r)) * dppriv(r)
  3365.            + DPARGOV(r) * loge(UTILGOVEV(r) / UTILGOV(r)) * dpgov(r)
  3366.            + DPARSAVE(r) * loge(UTILSAVEEV(r) / UTILSAVE(r)) * dpsave(r)]
  3367.        + [0.01 * EVSCALFACT(r)]
  3368.        * [sum(i,NSAV_COMM, PTAX(i,r) * [qo(i,r) - pop(r)])
  3369.            + sum(i,ENDW_COMM, sum(j,PROD_COMM,
  3370.                ETAX(i,j,r) * [qfe(i,j,r) - pop(r)]))
  3371.            + sum(i,TRAD_COMM, sum(j,PROD_COMM,
  3372.                IFTAX(i,j,r) * [qfm(i,j,r) - pop(r)]))
  3373.            + sum(i,TRAD_COMM, sum(j,PROD_COMM,
  3374.                DFTAX(i,j,r) * [qfd(i,j,r) - pop(r)]))
  3375.            + sum(i,TRAD_COMM, IPTAX(i,r) * [qpm(i,r) - pop(r)])
  3376.            + sum(i,TRAD_COMM, DPTAX(i,r) * [qpd(i,r) - pop(r)])
  3377.            + sum(i,TRAD_COMM, IGTAX(i,r) * [qgm(i,r) - pop(r)])
  3378.            + sum(i,TRAD_COMM, DGTAX(i,r) * [qgd(i,r) - pop(r)])
  3379.            + sum(i,TRAD_COMM, sum(s,REG, XTAXD(i,r,s) * [qxs(i,r,s) - pop(r)]))
  3380.            + sum(i,TRAD_COMM, sum(s,REG, MTAX(i,s,r) * [qxs(i,s,r) - pop(r)]))
  3381.            + sum(i,ENDW_COMM, VOA(i,r) * [qo(i,r) - pop(r)])
  3382.            - VDEP(r) * [kb(r) - pop(r)]
  3383.            + sum(i,PROD_COMM, VOA(i,r) * ao(i,r))
  3384.            + sum(j,PROD_COMM, VVA(j,r) * ava(j,r))
  3385.            + sum(j,PROD_COMM, sum(i,ENDW_COMM, VFA(i,j,r) * afe(i,j,r)))
  3386.            + sum(j,PROD_COMM, sum(i,TRAD_COMM, VFA(i,j,r) * af(i,j,r)))
  3387.            + sum(m,MARG_COMM, sum(i,TRAD_COMM, sum(s,REG,
  3388.                VTMFSD(m,i,s,r) * atmfsd(m,i,s,r))))
  3389.            + sum(i,TRAD_COMM, sum(s,REG, VIMS(i,s,r) * ams(i,s,r)))
  3390.            + sum(i,TRAD_COMM, sum(s,REG, VXWD(i,r,s) * pfob(i,r,s)))
  3391.            + sum(m,MARG_COMM, VST(m,r) * pm(m,r))
  3392.            + NETINV(r) * pcgds(r)
  3393.            - sum(i,TRAD_COMM, sum(s,REG, VXWD(i,s,r) * pfob(i,s,r)))
  3394.            - sum(m,MARG_COMM, VTMD(m,r) * pt(m))
  3395.            - SAVE(r) * psave(r)]
  3396.        + 0.01 * INCOMEEV(r) * pop(r);
  3397.  
  3398. Variable (linear,change)
  3399.    WEV_ALT # expression for WEV computed in alternative way #;
  3400. Equation WORLDEV
  3401. # Equivalent Variation for the world #
  3402.    WEV_ALT = sum(r,REG, EV_ALT(r));
  3403.  
  3404. Variable (linear,change) (all,r,REG)
  3405.    CNTdpar(r) # contribution to EV of change in distribution parameters #;
  3406. Equation CNT_WEV_dpar
  3407. (all,r,REG)
  3408.    CNTdpar(r)
  3409.        = -0.01 * UTILELASEV(r) * INCOMEEV(r)
  3410.        * [DPARPRIV(r) * loge(UTILPRIVEV(r) / UTILPRIV(r)) * dppriv(r)
  3411.            + DPARGOV(r) * loge(UTILGOVEV(r) / UTILGOV(r)) * dpgov(r)
  3412.            + DPARSAVE(r) * loge(UTILSAVEEV(r) / UTILSAVE(r)) * dpsave(r)];
  3413.  
  3414. Variable (linear,change) (all,r,REG)
  3415.    CNTpopr(r) # contribution to EV in region r of change in population #;
  3416. Equation CONT_EV_pop
  3417. (all,r,REG)
  3418.    CNTpopr(r) = 0.01 * INCOMEEV(r) * pop(r);
  3419.  
  3420. Variable (linear,change) (all,r,REG)
  3421.    CNTqor(r) # contribution to EV in region r of output changes #;
  3422. Equation CONT_EV_qor
  3423. (all,r,REG)
  3424.    CNTqor(r)
  3425.        = sum(i,NSAV_COMM,
  3426.            0.01 * EVSCALFACT(r) * PTAX(i,r) * [qo(i,r) - pop(r)]);
  3427.  
  3428. Variable (linear,change) (all,i,NSAV_COMM)(all,r,REG)
  3429.    CNTqoir(i,r)
  3430.    # contribution to EV of changes in output of NSAV_COMM i in reg. r #;
  3431. Equation CONT_EV_qoir
  3432. (all,i,NSAV_COMM)(all,r,REG)
  3433.    CNTqoir(i,r) = PTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qo(i,r) - pop(r)];
  3434.  
  3435. Variable (linear,change) (all,r,REG)
  3436.    CNTqfer(r)
  3437.    # cont. to EV of changes in use of all ENDW_COMM in all ind. in reg. r #;
  3438. Equation CONT_EV_qfer
  3439. (all,r,REG)
  3440.    CNTqfer(r)
  3441.        = sum(i,ENDW_COMM, sum(j,PROD_COMM,
  3442.            ETAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfe(i,j,r) - pop(r)]));
  3443.  
  3444. Variable (linear,change) (all,i,ENDW_COMM)(all,r,REG)
  3445.    CNTqfeir(i,r)
  3446.    # contribution to EV of changes in use of ENDW_COMM i in all ind. in r #;
  3447. Equation CONT_EV_qfeir
  3448. (all,i,ENDW_COMM)(all,r,REG)
  3449.    CNTqfeir(i,r)
  3450.        = sum(j,PROD_COMM,
  3451.            ETAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfe(i,j,r) - pop(r)]);
  3452.  
  3453. Variable (linear,change) (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  3454.    CNTqfeijr(i,j,r)
  3455.    # cont. to EV of changes in use of ENDW_COMM i in ind. j of reg. r #;
  3456. Equation CONT_EV_qfeijr
  3457. (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  3458.    CNTqfeijr(i,j,r)
  3459.        = ETAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfe(i,j,r) - pop(r)];
  3460.  
  3461. Variable (linear,change) (all,r,REG)
  3462.    CNTqfmr(r)
  3463.    # cont. to EV of changes in use of imported int. in all ind. in reg. r #;
  3464. Equation CONT_EV_qfmr
  3465. (all,r,REG)
  3466.    CNTqfmr(r)
  3467.        = sum(i,TRAD_COMM, sum(j,PROD_COMM,
  3468.            IFTAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfm(i,j,r) - pop(r)]));
  3469.  
  3470. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)
  3471.    CNTqfmir(i,r)
  3472.    # cont. to EV of changes in use of imported int. i in all ind. in r #;
  3473. Equation CONT_EV_qfmir
  3474. (all,i,TRAD_COMM)(all,r,REG)
  3475.    CNTqfmir(i,r)
  3476.        = sum(j,PROD_COMM,
  3477.            IFTAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfm(i,j,r) - pop(r)]);
  3478.  
  3479. Variable (linear,change) (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  3480.    CNTqfmijr(i,j,r)
  3481.    # cont. to EV of changes in use of imported int. i in ind. j of reg. r #;
  3482. Equation CONT_EV_qfmijr
  3483. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  3484.    CNTqfmijr(i,j,r)
  3485.        = IFTAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfm(i,j,r) - pop(r)];
  3486.  
  3487. Variable (linear,change) (all,r,REG)
  3488.    CNTqfdr(r)
  3489.    # cont. to EV of changes in use of domestic int. in all ind. in reg. r #;
  3490. Equation CONT_EV_qfdr
  3491. (all,r,REG)
  3492.    CNTqfdr(r)
  3493.        = sum(i,TRAD_COMM, sum(j,PROD_COMM,
  3494.            DFTAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfd(i,j,r) - pop(r)]));
  3495.  
  3496. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)
  3497.    CNTqfdir(i,r)
  3498.    # contribution to EV of changes in use of domestic i in all ind. in r #;
  3499. Equation CONT_EV_qfdir
  3500. (all,i,TRAD_COMM)(all,r,REG)
  3501.    CNTqfdir(i,r)
  3502.        = sum(j,PROD_COMM,
  3503.            DFTAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfd(i,j,r) - pop(r)]);
  3504.  
  3505. Variable (linear,change) (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  3506.    CNTqfdijr(i,j,r)
  3507.    # cont. to EV of changes in use of domestic int. i in ind. j of reg. r #;
  3508. Equation CONT_EV_qfdijr
  3509. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  3510.    CNTqfdijr(i,j,r)
  3511.        = DFTAX(i,j,r) * [0.01 * EVSCALFACT(r)] * [qfd(i,j,r) - pop(r)];
  3512.  
  3513. Variable (linear,change) (all,r,REG)
  3514.    CNTqpmr(r)
  3515.    # contribution to EV of changes in consumption of imported goods in r #;
  3516. Equation CONT_EV_qpmr
  3517. (all,r,REG)
  3518.    CNTqpmr(r)
  3519.        = sum(i,TRAD_COMM,
  3520.            IPTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qpm(i,r) - pop(r)]);
  3521.  
  3522. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)
  3523.    CNTqpmir(i,r)
  3524.    # cont. to EV of changes in consumption of imported good i in reg. r #;
  3525. Equation CONT_EV_qpmir
  3526. (all,i,TRAD_COMM)(all,r,REG)
  3527.    CNTqpmir(i,r) = IPTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qpm(i,r) - pop(r)];
  3528.  
  3529. Variable (linear,change) (all,r,REG)
  3530.    CNTqpdr(r)
  3531.    # contribution to EV of changes in consumption of domestic goods in r #;
  3532. Equation CONT_EV_qpdr
  3533. (all,r,REG)
  3534.    CNTqpdr(r)
  3535.        = sum(i,TRAD_COMM,
  3536.            DPTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qpd(i,r) - pop(r)]);
  3537.  
  3538. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)
  3539.    CNTqpdir(i,r)
  3540.    # cont. to EV of changes in consumption of domestic good i in reg. r #;
  3541. Equation CONT_EV_qpdir
  3542. (all,i,TRAD_COMM)(all,r,REG)
  3543.    CNTqpdir(i,r) = DPTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qpd(i,r) - pop(r)];
  3544.  
  3545. Variable (linear,change) (all,r,REG)
  3546.    CNTqgmr(r)
  3547.    # cont. to EV of changes in gov't consumption of imports in reg. r #;
  3548. Equation CONT_EV_qgmr
  3549. (all,r,REG)
  3550.     CNTqgmr(r)
  3551.         = sum(i,TRAD_COMM,
  3552.             IGTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qgm(i,r) - pop(r)]);
  3553.  
  3554. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)
  3555.     CNTqgmir(i,r)
  3556.     # cont. to EV of changes in gov't consumption of import i in reg. r #;
  3557. Equation CONT_EV_qgmir
  3558. (all,i,TRAD_COMM)(all,r,REG)
  3559.    CNTqgmir(i,r) = IGTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qgm(i,r) - pop(r)];
  3560.  
  3561. Variable (linear,change) (all,r,REG)
  3562.    CNTqgdr(r)
  3563.    # cont. to EV of changes in gov't consumption of domestics in reg. r #;
  3564. Equation CONT_EV_qgdr
  3565. (all,r,REG)
  3566.     CNTqgdr(r)
  3567.         = sum(i,TRAD_COMM,
  3568.             DGTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qgd(i,r) - pop(r)]);
  3569.  
  3570. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)
  3571.     CNTqgdir(i,r)
  3572.     # cont. to EV of changes in gov't consumption of domestic i in reg. r #;
  3573. Equation CONT_EV_qgdir
  3574. (all,i,TRAD_COMM)(all,r,REG)
  3575.    CNTqgdir(i,r) = DGTAX(i,r) * [0.01 * EVSCALFACT(r)] * [qgd(i,r) - pop(r)];
  3576.  
  3577. Variable (linear,change) (all,r,REG)
  3578.    CNTqxsr(r)
  3579.    # cont. to EV of changes in exports of all goods from SRCE r to all DEST #;
  3580. Equation CONT_EV_qxsr
  3581. (all,r,REG)
  3582.    CNTqxsr(r)
  3583.        = sum(i,TRAD_COMM, sum(s,REG,
  3584.            XTAXD(i,r,s) * [0.01 * EVSCALFACT(r)] * [qxs(i,r,s) - pop(r)]));
  3585.  
  3586. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3587.    CNTqxsirs(i,r,s)
  3588.    # cont. to EV of changes in exports of i from SRCE r to DEST s #;
  3589. Equation CONT_EV_qxsirs
  3590. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3591.    CNTqxsirs(i,r,s)
  3592.        = XTAXD(i,r,s) * [0.01 * EVSCALFACT(r)] * [qxs(i,r,s) - pop(r)];
  3593.  
  3594. Variable (linear,change) (all,r,REG)
  3595.    CNTqimr(r)
  3596.    # cont. to EV of changes in imports of all goods from all SRCE to DEST r #;
  3597. Equation CONT_EV_qimr
  3598. (all,r,REG)
  3599.    CNTqimr(r)
  3600.        = sum(i,TRAD_COMM, sum(s,REG,
  3601.            MTAX(i,s,r) * [0.01 * EVSCALFACT(r)] * [qxs(i,s,r) - pop(r)]));
  3602.  
  3603. Variable (linear,change) (all,i,TRAD_COMM)(all,s,REG)(all,r,REG)
  3604.    CNTqimisr(i,s,r)
  3605.    # cont. to EV of changes in imports of i from SRCE s to DEST r #;
  3606. Equation CONT_EV_qimisr
  3607. (all,i,TRAD_COMM)(all,s,REG)(all,r,REG)
  3608.    CNTqimisr(i,s,r)
  3609.        = MTAX(i,s,r) * [0.01 * EVSCALFACT(r)] * [qxs(i,s,r) - pop(r)];
  3610.  
  3611. Variable (linear,change) (all,r,REG)
  3612.    CNTalleffr(r) # total contribution to regional EV of allocative effects #;
  3613. Equation CONT_EV_alleffr
  3614. (all,r,REG)
  3615.    CNTalleffr(r)
  3616.        = [0.01 * EVSCALFACT(r)]
  3617.        * [sum(i,NSAV_COMM, PTAX(i,r) * [qo(i,r) - pop(r)])
  3618.            + sum(i,ENDW_COMM, sum(j,PROD_COMM,
  3619.                ETAX(i,j,r) * [qfe(i,j,r) - pop(r)]))
  3620.            + sum(i,TRAD_COMM, sum(j,PROD_COMM,
  3621.                IFTAX(i,j,r) * [qfm(i,j,r) - pop(r)]))
  3622.            + sum(i,TRAD_COMM, sum(j,PROD_COMM,
  3623.                DFTAX(i,j,r) * [qfd(i,j,r) - pop(r)]))
  3624.            + sum(i,TRAD_COMM, IPTAX(i,r) * [qpm(i,r) - pop(r)])
  3625.            + sum(i,TRAD_COMM, DPTAX(i,r) * [qpd(i,r) - pop(r)])
  3626.            + sum(i,TRAD_COMM, IGTAX(i,r) * [qgm(i,r) - pop(r)])
  3627.            + sum(i,TRAD_COMM, DGTAX(i,r) * [qgd(i,r) - pop(r)])
  3628.            + sum(i,TRAD_COMM, sum(s,REG, XTAXD(i,r,s) * [qxs(i,r,s) - pop(r)]))
  3629.            + sum(i,TRAD_COMM, sum(s,REG,
  3630.                MTAX(i,s,r) * [qxs(i,s,r) - pop(r)]))];
  3631.  
  3632. Variable (linear,change) (all,i,DEMD_COMM)(all,r,REG)
  3633.    CNTalleffir(i,r)
  3634.    # total contribution to regional EV of allocative effects #;
  3635. Equation CONT_EV_alleffir_E
  3636. (all,i,ENDW_COMM)(all,r,REG)
  3637.    CNTalleffir(i,r)
  3638.        = [0.01 * EVSCALFACT(r)]
  3639.        * [PTAX(i,r) * [qo(i,r) - pop(r)]
  3640.            + sum(j,PROD_COMM, ETAX(i,j,r) * [qfe(i,j,r) - pop(r)])];
  3641. Equation CONT_EV_alleffir_T
  3642. (all,i,TRAD_COMM)(all,r,REG)
  3643.    CNTalleffir(i,r)
  3644.        = [0.01 * EVSCALFACT(r)]
  3645.        * [PTAX(i,r) * [qo(i,r) - pop(r)]
  3646.            + sum(j,PROD_COMM, IFTAX(i,j,r) * [qfm(i,j,r) - pop(r)])
  3647.            + sum(j,PROD_COMM, DFTAX(i,j,r) * [qfd(i,j,r) - pop(r)])
  3648.            + IPTAX(i,r) * [qpm(i,r) - pop(r)]
  3649.            + DPTAX(i,r) * [qpd(i,r) - pop(r)]
  3650.            + IGTAX(i,r) * [qgm(i,r) - pop(r)]
  3651.            + DGTAX(i,r) * [qgd(i,r) - pop(r)]
  3652.            + sum(s,REG, XTAXD(i,r,s) * [qxs(i,r,s) - pop(r)])
  3653.            + sum(s,REG, MTAX(i,s,r) * [qxs(i,s,r) - pop(r)])];
  3654.  
  3655. Variable (linear,change) (all,r,REG)
  3656.    CNTtotr(r)
  3657.    # contribution to regional EV of changes in its terms of trade #;
  3658. Equation CONT_EV_totr
  3659. (all,r,REG)
  3660.    CNTtotr(r)
  3661.        = [0.01 * EVSCALFACT(r)]
  3662.        * [sum(i,TRAD_COMM, sum(s,REG, VXWD(i,r,s) * [pfob(i,r,s) - pxwwld]))
  3663.            + sum(m,MARG_COMM, VST(m,r) * [pm(m,r) - pxwwld])
  3664.            - sum(i,TRAD_COMM, sum(s,REG, VXWD(i,s,r) * [pfob(i,s,r) - pxwwld]))
  3665.            - sum(m,MARG_COMM, VTMD(m,r) * [pt(m) - pxwwld])];
  3666.  
  3667. Variable (linear,change) (all,r,REG)
  3668.    CNTcgdsr(r) # contribution to regional EV of changes in the price of cgds #;
  3669. Equation CNT_EV_cgdsr
  3670. (all,r,REG)
  3671.    CNTcgdsr(r)
  3672.        = [0.01 * EVSCALFACT(r)]
  3673.        * [NETINV(r) * [pcgds(r) - pxwwld] - SAVE(r) * [psave(r) - pxwwld]];
  3674.  
  3675. Variable (linear,change) (all,r,REG)
  3676.    CNTendwr(r) # contribution to regional EV of changes in all ENDW_COMM #;
  3677. Equation CONT_EV_endwr
  3678. (all,r,REG)
  3679.    CNTendwr(r)
  3680.        = [0.01 * EVSCALFACT(r)]
  3681.        * [sum(i,ENDW_COMM, VOA(i,r) * [qo(i,r) - pop(r)])
  3682.            - VDEP(r) * [kb(r) - pop(r)]];
  3683.  
  3684. Variable (linear,change) (all,i,ENDW_COMM)(all,r,REG)
  3685.    CNTendwir(i,r) # contribution to regional EV of changes in ENDW_COMM i #;
  3686. Equation CONT_EV_endwir
  3687. (all,i,ENDW_COMM)(all,r,REG)
  3688.    CNTendwir(i,r) = [0.01 * EVSCALFACT(r)] * [VOA(i,r) * [qo(i,r) - pop(r)]];
  3689.  
  3690. Variable (linear,change) (all,r,REG)
  3691.    CNTtechr(r) # contribution to regional EV of all technical change #;
  3692. Equation CONT_EV_techr
  3693. (all,r,REG)
  3694.    CNTtechr(r)
  3695.        = [0.01 * EVSCALFACT(r)]
  3696.        * [sum(i,PROD_COMM, VOA(i,r) * ao(i,r))
  3697.            + sum(j,PROD_COMM, sum(i,ENDW_COMM, VFA(i,j,r) * afe(i,j,r)))
  3698.            + sum(j,PROD_COMM, VVA(j,r) * ava(j,r))
  3699.            + sum(j,PROD_COMM, sum(i,TRAD_COMM,
  3700.                [VIFA(i,j,r) + VDFA(i,j,r)] * af(i,j,r)))
  3701.            + sum(m,MARG_COMM, sum(i,TRAD_COMM, sum(s,REG,
  3702.                VTMFSD(m,i,s,r) * atmfsd(m,i,s,r))))
  3703.            + sum(i,TRAD_COMM, sum(s,REG, VIMS(i,s,r) * ams(i,s,r)))];
  3704.  
  3705. Variable (linear,change) (all,r,REG)
  3706.    CNTtech_aor(r)
  3707.    # contribution to regional EV of output augmenting technical change #;
  3708. Equation CONT_EV_tech_aor
  3709. (all,r,REG)
  3710.    CNTtech_aor(r)
  3711.        = [0.01 * EVSCALFACT(r)] * sum(i,PROD_COMM, VOA(i,r) * ao(i,r));
  3712.  
  3713. Variable (linear,change) (all,i,PROD_COMM)(all,r,REG)
  3714.    CNTtech_aoir(i,r)
  3715.    # cont. to regional EV of output augmenting tech change in TRAD_COMM i #;
  3716. Equation CONT_EV_tech_aoir
  3717. (all,i,PROD_COMM)(all,r,REG)
  3718.    CNTtech_aoir(i,r) = [0.01 * EVSCALFACT(r)] * VOA(i,r) * ao(i,r);
  3719.  
  3720. Variable (linear,change) (all,r,REG)
  3721.    CNTtech_afer(r)
  3722.    # contribution to regional EV of primary factor augmenting tech change #;
  3723. Equation CONT_EV_tech_afer
  3724. (all,r,REG)
  3725.    CNTtech_afer(r)
  3726.        = [0.01 * EVSCALFACT(r)]
  3727.        * sum(j,PROD_COMM, sum(i,ENDW_COMM, VFA(i,j,r) * afe(i,j,r)));
  3728.  
  3729. Variable (linear,change) (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  3730.    CNTtech_afeijr(i,j,r)
  3731.    # cont. to EV of primary factor i augmenting tech change in sector j #;
  3732. Equation CONT_EV_tech_afeijr
  3733. (all,i,ENDW_COMM)(all,j,PROD_COMM)(all,r,REG)
  3734.    CNTtech_afeijr(i,j,r) = [0.01 * EVSCALFACT(r)] * VFA(i,j,r) * afe(i,j,r);
  3735.  
  3736. Variable (linear,change) (all,r,REG)
  3737.    CNTtech_avar(r)
  3738.    # contribution to regional EV of value added augmenting tech change #;
  3739. Equation CONT_EV_tech_avar
  3740. (all,r,REG)
  3741.    CNTtech_avar(r)
  3742.        = [0.01 * EVSCALFACT(r)] * sum(j,PROD_COMM, VVA(j,r) * ava(j,r));
  3743.  
  3744. Variable (linear,change) (all,j,PROD_COMM)(all,r,REG)
  3745.    CNTtech_avajr(j,r)
  3746.    # cont. to EV of value added augmenting tech change in sector j #;
  3747. Equation CONT_EV_tech_avajr
  3748. (all,j,PROD_COMM)(all,r,REG)
  3749.    CNTtech_avajr(j,r) = [0.01 * EVSCALFACT(r)] * VVA(j,r) * ava(j,r);
  3750.  
  3751. Variable (linear,change) (all,r,REG)
  3752.    CNTtech_afr(r)
  3753.    # cont. to regional EV of comp. int. input augmenting tech change #;
  3754. Equation CONT_EV_tech_afr
  3755. (all,r,REG)
  3756.    CNTtech_afr(r)
  3757.        = [0.01 * EVSCALFACT(r)]
  3758.        * sum(j,PROD_COMM, sum(i,TRAD_COMM,
  3759.            [VIFA(i,j,r) + VDFA(i,j,r)] * af(i,j,r)));
  3760.  
  3761. Variable (linear,change) (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  3762.    CNTtech_afijr(i,j,r)
  3763.    # cont. to EV of composite i input augmenting tech change in sector j #;
  3764. Equation CONT_EV_tech_afijr
  3765. (all,i,TRAD_COMM)(all,j,PROD_COMM)(all,r,REG)
  3766.    CNTtech_afijr(i,j,r)
  3767.        = [0.01 * EVSCALFACT(r)] * [VIFA(i,j,r) + VDFA(i,j,r)] * af(i,j,r);
  3768.  
  3769. Variable (linear,change) (all,r,REG)
  3770.    CNTtech_atrr(r)
  3771.    # contribution to regional EV of technical change in transportation #;
  3772. Equation CONT_EV_tech_atrr
  3773. (all,r,REG)
  3774.    CNTtech_atrr(r)
  3775.        = [0.01 * EVSCALFACT(r)]
  3776.        * sum(m,MARG_COMM, sum(i,TRAD_COMM, sum(s,REG,
  3777.            VTMFSD(m,i,s,r) * atmfsd(m,i,s,r))));
  3778.  
  3779. Variable (linear,change)(all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3780.    CNTtech_afmfdsd(m,i,r,s)
  3781.    # cont. to EV of tech change in transportation efficiency #;
  3782. Equation CONT_EV_tech_afmfdsd
  3783. (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3784.    CNTtech_afmfdsd(m,i,r,s)
  3785.        = [0.01 * EVSCALFACT(s)] * VTMFSD(m,i,r,s) * atmfsd(m,i,r,s);
  3786.  
  3787. Variable (linear,change)(all,r,REG)
  3788.    CNTtech_amsr(r) # cont. to EV of bilateral import-augmenting tech change #;
  3789. Equation CONT_EV_tech_amsr
  3790. (all,r,REG)
  3791.    CNTtech_amsr(r)
  3792.        = [0.01 * EVSCALFACT(r)]
  3793.        * sum(i,TRAD_COMM, sum(s,REG, VIMS(i,s,r) * ams(i,s,r)));
  3794.  
  3795. Variable (linear,change) (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3796.    CNTtech_amsirs(i,r,s)
  3797. # cont. to EV of bilateral import augmenting tech change for TRAD_COMM i #;
  3798. Equation CONT_EV_tech_amsirs
  3799. (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3800.    CNTtech_amsirs(i,r,s) = [0.01 * EVSCALFACT(r)] * VIMS(i,r,s) * ams(i,r,s);
  3801.  
  3802. Variable (linear,change) (all,r,REG)
  3803.    CNTkbr(r)
  3804.    # cont. to EV of changes to beg. period capital stock and depreciation #;
  3805. Equation CONT_EV_kbr
  3806. (all,r,REG)
  3807.    CNTkbr(r) = - [0.01 * EVSCALFACT(r)] * VDEP(r) * [kb(r) - pop(r)];
  3808.  
  3809. !<
  3810.    -------------------------------
  3811.    D. Terms of Trade Decomposition
  3812.    -------------------------------
  3813.  
  3814.    Computations for decomposition the terms-of-trade effect
  3815.    Reference: Robert McDougall, SALTER No. 12 Working Paper
  3816. >!
  3817.  
  3818. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3819.    SX_IR(i,r) # share of good i in total exports from r #;
  3820. Formula (all,m,MARG_COMM)(all,r,REG)
  3821.    SX_IR(m,r)
  3822.        = [sum(s,REG, VXWD(m,r,s)) + VST(m,r)]
  3823.        / [sum(k,TRAD_COMM, sum(s,REG, VXWD(k,r,s)))
  3824.            + sum(l,MARG_COMM, VST(l,r))];
  3825. Formula (all,i,NMRG_COMM)(all,r,REG)
  3826.    SX_IR(i,r)
  3827.        = sum(s,REG, VXWD(i,r,s))
  3828.        / [sum(k,TRAD_COMM, sum(s,REG, VXWD(k,r,s)))
  3829.            + sum(l,MARG_COMM, VST(l,r))];
  3830.  
  3831. Coefficient (all,m,MARG_COMM)(all,s,REG)
  3832.    VTICOMM(m,s) # margin usage of m in getting imports to region s #;
  3833. Formula (all,m,MARG_COMM)(all,s,REG)
  3834.    VTICOMM(m,s) = sum(i,TRAD_COMM, sum(r,REG, VTMFSD(m,i,r,s)));
  3835.  
  3836. Coefficient (all,i,TRAD_COMM)(all,s,REG)
  3837.    VIWDIRALL(i,s) # imports of i into s, with direct allocation of margins #;
  3838. Formula (all,m,MARG_COMM)(all,s,REG)
  3839.    VIWDIRALL(m,s) = sum(r,REG, VXWD(m,r,s)) + VTICOMM(m,s);
  3840. Formula (all,i,NMRG_COMM)(all,s,REG)
  3841.    VIWDIRALL(i,s) = sum(r,REG, VXWD(i,r,s));
  3842.  
  3843. Coefficient (all,s,REG)
  3844.    VIWDATOT(s) # total imports into s, calculated on direct allocation basis #;
  3845. Formula (all,s,REG)
  3846.    VIWDATOT(s) = sum(i,TRAD_COMM, VIWDIRALL(i,s));
  3847.  
  3848. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3849.    SM_IR(i,r)  # share of good i in total imports into r #;
  3850. Formula (all,i,TRAD_COMM)(all,s,REG)
  3851.    SM_IR(i,s) = VIWDIRALL(i,s) / VIWDATOT(s);
  3852.  
  3853. Zerodivide (zero_by_zero) default 0;
  3854. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3855.    SX_IRS(i,r,s) # share of exports of good i from region r to s #;
  3856. Formula (all,m,MARG_COMM)(all,r,REG)(all,s,REG)
  3857.    SX_IRS(m,r,s) = VXWD(m,r,s) / [sum(k,REG, VXWD(m,r,k)) + VST(m,r)];
  3858. Formula (all,i,NMRG_COMM)(all,r,REG)(all,s,REG)
  3859.    SX_IRS(i,r,s) = VXWD(i,r,s) / sum(k,REG, VXWD(i,r,k));
  3860. Zerodivide (zero_by_zero) off;
  3861.  
  3862. Coefficient (all,m,MARG_COMM)(all,r,REG)
  3863.    SXT_IR(m,r) # share of margins in exports of good i from region r #;
  3864. Formula (all,m,MARG_COMM)(all,r,REG)
  3865.    SXT_IR(m,r) = VST(m,r) / [sum(k,REG, VXWD(m,r,k)) + VST(m,r)];
  3866.  
  3867. Variable (all,i,TRAD_COMM)(all,r,REG)
  3868.    px_ir(i,r) # export price index for good i and region r #;
  3869. Equation EXPPRICE_MARG
  3870. # price index for total exports of m from r #
  3871. (all,m,MARG_COMM)(all,r,REG)
  3872.    px_ir(m,r)
  3873.        = sum(s,REG, SX_IRS(m,r,s) * pfob(m,r,s)) + SXT_IR(m,r) * pm(m,r);
  3874. Equation EXPPRICE_NMRG
  3875. # price index for total exports of i from r #
  3876. (all,i,NMRG_COMM)(all,r,REG)
  3877.    px_ir(i,r) = sum(s,REG, SX_IRS(i,r,s) * pfob(i,r,s));
  3878.  
  3879. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3880.    SM_IRS(i,r,s) # share of imports of good i into s from r at FOB prices #;
  3881. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3882.    SM_IRS(i,r,s) = VXWD(i,r,s) / VIWDIRALL(i,s);
  3883.  
  3884. Coefficient (all,m,MARG_COMM)(all,r,REG)
  3885.    SMT_IR(m,r) # share of transport cost in imports of margin commodity #;
  3886. Formula (all,m,MARG_COMM)(all,s,REG)
  3887.    SMT_IR(m,s) = VTICOMM(m,s) / VIWDIRALL(m,s);
  3888.  
  3889. Variable (all,i,TRAD_COMM)(all,r,REG)
  3890.    pm_ir(i,r) # imports price index for good i and region r #;
  3891. Equation IMPPRICE1_MARG
  3892. # price index for total imports of m in s -- margins commodities #
  3893. (all,m,MARG_COMM)(all,s,REG)
  3894.    pm_ir(m,s)
  3895.        = sum(r,REG, SM_IRS(m,r,s) * pfob(m,r,s)) + SMT_IR(m,s) * pt(m);
  3896. Equation IMPPRICE1_NMRG
  3897. # price index for total imports of i in s -- non-margins commodities #
  3898. (all,i,NMRG_COMM)(all,s,REG)
  3899.    pm_ir(i,s) = sum(r,REG, SM_IRS(i,r,s) * pfob(i,r,s));
  3900.  
  3901. Coefficient (all,i,TRAD_COMM)(all,r,REG)
  3902.    SW_IR(i,r) # share of region r exports in world total for good i #;
  3903. Formula (all,m,MARG_COMM)(all,r,REG)
  3904.    SW_IR(m,r)
  3905.        = [sum(s,REG, VXWD(m,r,s)) + VST(m,r)]
  3906.        / sum(k,REG, sum(s,REG, VXWD(m,k,s)) + VST(m,k));
  3907. Formula (all,i,NMRG_COMM)(all,r,REG)
  3908.    SW_IR(i,r)
  3909.        = sum(s,REG, VXWD(i,r,s)) / sum(k,REG, sum(s,REG, VXWD(i,k,s)));
  3910.  
  3911. Variable (all,i,TRAD_COMM)
  3912.    px_i(i) # world export price index for commodity i #;
  3913. Equation WRLDPRICEi
  3914. # world export price index for good i #
  3915. (all,i,TRAD_COMM)
  3916.    px_i(i) = sum(r,REG, SW_IR(i,r) * px_ir(i,r));
  3917.  
  3918. Coefficient (all,i,TRAD_COMM)
  3919.    SW_I(i) # share of exports of i in world total #;
  3920. Formula (all,m,MARG_COMM)
  3921.    SW_I(m)
  3922.        = sum(r,REG, sum(s,REG, VXWD(m,r,s)) + VST(m,r))
  3923.        / [sum(k,TRAD_COMM, sum(r,REG, sum(s,REG, VXWD(k,r,s))))
  3924.            + sum(l,MARG_COMM, sum(r,REG, VST(l,r)))];
  3925. Formula (all,i,NMRG_COMM)
  3926.    SW_I(i)
  3927.        = sum(r,REG, sum(s,REG, VXWD(i,r,s)))
  3928.        / [sum(k,TRAD_COMM, sum(r,REG, sum(s,REG, VXWD(k,r,s))))
  3929.            + sum(l,MARG_COMM, sum(r,REG, VST(l,r)))];
  3930.  
  3931. Variable
  3932.    px_ # world export price index for all commodities #;
  3933. Equation WRLDPRICE
  3934. # world export price index for all goods #
  3935.    px_ = sum(i,TRAD_COMM, SW_I(i) * px_i(i));
  3936.  
  3937. Variable (all,i,TRAD_COMM)(all,r,REG)
  3938.    c1_ir(i,r) # contribution of world price, px_i, to ToT #;
  3939. Equation c1_irEQ
  3940. # contribution of world export price index of good i to ToT for region r #
  3941. (all,i,TRAD_COMM)(all,r,REG)
  3942.    c1_ir(i,r) = [SX_IR(i,r) - SM_IR(i,r)] * [px_i(i) - px_];
  3943.  
  3944. Variable (all,i,TRAD_COMM)(all,r,REG)
  3945.    c2_ir(i,r) # contribution of regional export price, px_ir, to ToT #;
  3946. Equation c2_irEQ
  3947. # contribution of regional export price of good i for region r #
  3948. (all,i,TRAD_COMM)(all,r,REG)
  3949.    c2_ir(i,r) = SX_IR(i,r) * [px_ir(i,r) - px_i(i)];
  3950.  
  3951. Variable (all,i,TRAD_COMM)(all,r,REG)
  3952.    c3_ir(i,r) # contribution of regional import price, pm_ir, to ToT #;
  3953. Equation c3_irEQ
  3954. # contribution of imports price index of good i for region r #
  3955. (all,i,TRAD_COMM)(all,r,REG)
  3956.    c3_ir(i,r) = SM_IR(i,r) * [pm_ir(i,r) - px_i(i)];
  3957.  
  3958. Variable (all,r,REG)
  3959.    c1_r(r) # contribution of world prices for all goods to ToT #;
  3960. Equation c1_rEQ
  3961. # contribution of world price indexes of all goods to ToT for r #
  3962. (all,r,REG)
  3963.    c1_r(r) = sum(i,TRAD_COMM, c1_ir(i,r));
  3964.  
  3965. Variable (all,r,REG)
  3966.    c2_r(r) # contribution of regional export prices to ToT #;
  3967. Equation c2_rEQ
  3968. # contribution of regional exports prices to ToT for r #
  3969. (all,r,REG)
  3970.    c2_r(r) = sum(i,TRAD_COMM, c2_ir(i,r));
  3971.  
  3972. Variable (all,r,REG)
  3973.    c3_r(r) # contribution of regional import prices to ToT #;
  3974. Equation c3_rEQ
  3975. # contribution of regional import prices to ToT for r #
  3976. (all,r,REG)
  3977.    c3_r(r) = sum(i,TRAD_COMM, c3_ir(i,r));
  3978.  
  3979. Variable (all,r,REG)
  3980.    tot2(r) # trade terms for region r, computed from components #;
  3981. Equation TOT2eq
  3982. # trade terms for region r, computed from components #
  3983. (all,r,REG)
  3984.    tot2(r) = c1_r(r) + c2_r(r) - c3_r(r);
  3985.  
  3986. !
  3987. Variable (change)(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3988. delMTAX(i,r,s) # change in tariff rev #;
  3989. Equation E_delMTAX (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  3990. delMTAX(i,r,s) = 0.01*[VIMS(i,r,s)*{pms(i,r,s) +qxs(i,r,s)}]
  3991.                - 0.01*[VIWS(i,r,s)*{pcif(i,r,s)+qxs(i,r,s)}];
  3992. BackSolve delMTAX using E_delMTAX;
  3993. !
  3994.  
  3995.  
  3996. !<
  3997.    -------------------------------
  3998.    Value-Added Trade Decomposition
  3999.    -------------------------------
  4000.  
  4001.    Computations for value-added decomposition of gross trade >!
  4002.  
  4003. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4004.    VXIMS(i,j,s,r) # Exports of i from s for interm. usage by j in r (proportionality) #;
  4005. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4006.    VXIMS(i,j,s,r) = SHRIFM(i,j,r) * VXMD(i,s,r);
  4007. Coefficient(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4008.    VXCMS(j,s,r) # Exports of j from s for final consumption in r (proportionality) #;
  4009. Formula(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4010.    VXCMS(j,s,r) = {SHRIPM(j,r)+SHRIGM(j,r)+sum[k,CGDS_COMM,SHRIFM(j,k,r)]} * VXMD(j,s,r);
  4011.  
  4012. ! This attribution of sourcing imports by agent using proportionality is needed
  4013. for the standard GTAP database, but can be REMMED with MRIO-GTAP. !
  4014.  
  4015. Coefficient (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4016.    VTMFSDI(m,i,j,r) # Int'l transport margins for intermediates (proportionality) #;
  4017. Formula (all,m,MARG_COMM)(all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4018.     VTMFSDI(m,i,j,r) = SHRIFM(i,j,r) * sum[s,REG,VTMFSD(m,i,s,r)];
  4019. Coefficient(all,m,MARG_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4020.     VTMFSDC(m,j,r) # Int'l transport margins for final consumption (proportionality) #;
  4021. Formula(all,m,MARG_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4022.    VTMFSDC(m,j,r) = {SHRIPM(j,r)+SHRIGM(j,r)+sum[k,CGDS_COMM,SHRIFM(j,k,r)]} *
  4023.                     sum(s,REG,VTMFSD(m,j,s,r));
  4024.  
  4025. Coefficient (all,m,MARG_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4026.    VSTENDPI(m,j,s,r) # Allocation of exports for int'l transport, intermediate (proportionality) #;
  4027. Formula (all,m,MARG_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4028.     VSTENDPI(m,j,s,r) = VTSUPPSHR(m,s) * sum[i,TRAD_COMM,VTMFSDI(m,i,j,r)];
  4029. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4030.     TMTXI(i,j,r,s) # Matrix for int'l transport margins, intermediates. It is only non-zero in the margin-producing sectors# ;
  4031. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4032.    TMTXI(i,j,r,s) = IF{i IN MARG_COMM,VSTENDPI(i,j,r,s)};
  4033.  
  4034. Coefficient (all,m,MARG_COMM)(all,s,REG)(all,r,REG)
  4035.    VSTENDPC(m,s,r) # Allocation of exports for int'l transport for final consumption(proportionality) #;
  4036. Formula (all,m,MARG_COMM)(all,s,REG)(all,r,REG)
  4037.     VSTENDPC(m,s,r) = VTSUPPSHR(m,s) * sum[j,TRAD_COMM,VTMFSDC(m,j,r)];
  4038. Coefficient (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  4039.     TMTXC(i,r,s) # Matrix for int'l transport margins, final consumption. It is only non-zero in the margin-producing sectors# ;
  4040. Formula (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
  4041.    TMTXC(i,r,s) = IF{i IN MARG_COMM,VSTENDPC(i,r,s)};
  4042.  
  4043. ! Proportionality is applied to international transport margins in order to
  4044. include them within the intermediate and final!
  4045.  
  4046. Coefficient(all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4047.    Z(i,j,r,s) # Intermediate matrix #;
  4048. Formula(all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4049.    Z(i,j,r,s) = IF[r EQ s,VXIMS(i,j,r,s) + VDFM(i,j,r) + TMTXI(i,j,r,s)]
  4050.               + IF[r NE s,VXIMS(i,j,r,s) + TMTXI(i,j,r,s)];
  4051. Coefficient(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4052.    FIN(j,r,s) # Final demand #;
  4053. Formula (all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4054.    FIN(j,r,s) = IF{r EQ s,VXCMS(j,r,s) + VDPM(j,r) + VDGM(j,r) + sum[k,CGDS_COMM,VDFM(j,k,r)]+TMTXC(j,r,s)}
  4055.               + IF[r NE s,VXCMS(j,r,s)+TMTXC(j,r,s)];
  4056. ! VICMS, TMTXC and FIN are defined in the code only to check the equations in the paper.
  4057. They are not used to decompose trade, so that they may be excluded in the code for GTAP-VA!
  4058.  
  4059. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4060.    A(i,j,r,s) # Technical coefficients matrix #;
  4061. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4062.    A(i,j,r,s) = Z(i,j,r,s) / VOM(j,s);
  4063. Coefficient (all,j,TRAD_COMM)(all,s,REG)
  4064.    VSH(j,s) # Sector value-added shares #;
  4065. Formula (all,j,TRAD_COMM)(all,s,REG)
  4066.    VSH(j,s) = {VOM(j,s)-sum[i,TRAD_COMM, sum(r,REG, Z(i,j,r,s))]} / VOM(j,s);
  4067. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4068.    VSHDNL(i,j,r,s) # Diagonilized value-added shares #;
  4069. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4070.    VSHDNL(i,j,r,s) = IF(i EQ j and r EQ s,VSH(j,s))+IF(i NE j and r NE s,0);
  4071. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4072.    delta(i,j,r,s) # Unit matrix #;
  4073. Formula (initial)(all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4074.    delta(i,j,r,s) = 0;
  4075. Formula (initial)(all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4076.    delta(i,j,r,s) = IF(i EQ j and r EQ s,1)+IF(i NE j and r NE s,0);
  4077. Update(change) (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG) delta(i,j,r,s)=0;
  4078. ! must have ONE update !
  4079.  
  4080. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4081.    X(i,j,r,s) # Matrix to be inverted (I-A) #;
  4082. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4083.    X(i,j,r,s) = delta(i,j,r,s)-A(i,j,r,s);
  4084. Variable (change) (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4085.    b(i,j,r,s) # Inverse of matrix X #;
  4086. Variable (change) dummy # Dummy unit shock #;
  4087. Equation E_b (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4088.  sum{k,TRAD_COMM, sum[t,REG, X(i,k,r,t)*b(k,j,t,s)]} = delta(i,j,r,s)*dummy;
  4089.  
  4090. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4091.    X2(i,j,r,s) # Matrix to be inverted (I-A) for the local Leontief #;
  4092. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4093.    X2(i,j,r,s) = if(r EQ s,delta(i,j,r,s)-A(i,j,r,s))+ if(r NE s,0);
  4094. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4095.    XL(i,j,r) # Matrix to be inverted (I-A) for the local Leontief #;
  4096. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4097.    XL(i,j,r) = sum(s,REG,X2(i,j,r,s));
  4098. Variable (change) (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4099.    bl(i,j,r) # Inverse of matrix X #;
  4100. Variable (change) dummy2 # Dummy unit shock #;
  4101. Equation E_l (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4102.  sum[k,TRAD_COMM,XL(i,k,r)*bl(k,j,r)] = sum(s,REG,delta(i,j,r,s))*dummy2;
  4103.  
  4104. ! The matrix inverse is found as the solution of the linear equation system,
  4105. exploiting the property of the inverse X b = delta.
  4106. This implies that the inverse can be accessed only in POSTSIM !
  4107.  
  4108. postsim (begin);
  4109. File (new) OUTPUT # File for results #;
  4110. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG) B1(i,j,r,s)
  4111. # Global Leontief inverse #;
  4112. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4113.   B1(i,j,r,s) = b(i,j,r,s);
  4114. Write
  4115.   B1 to file OUTPUT header "b" longname "Leontief inverse";
  4116. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG) B2(i,j,r)
  4117. # Local Leontief inverse #;
  4118. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4119.   B2(i,j,r) = bl(i,j,r);
  4120. Write
  4121.   B2 to file OUTPUT header "l" longname "local Leontief inverse";
  4122. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4123.   VL(i,j,r,s) # Value-added multiplier #;
  4124. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4125.   VL(i,j,r,s) = sum{k,TRAD_COMM, sum[t,REG,VSHDNL(i,k,r,t)*B1(k,j,t,s)]};
  4126. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4127.   VLOC(i,j,r) # Value-added local multiplier #;
  4128. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,r,REG)
  4129.   VLOC(i,j,r) = VSH(i,r)*B2(i,j,r);
  4130. Coefficient (all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4131.   VXE(j,r,s) # Exports of j from r to s valued at mkt prices (extra-regional only) #;
  4132. Formula (all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4133.   VXE(j,r,s) = IF[r NE s,VXMD(j,r,s)]+IF(r EQ s,0);
  4134.  
  4135. ! The coefficient TVA allows to retrieve the country/sector of origin of value
  4136. added for each bilateral trade link !
  4137. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4138.    TVA (i,j,t,s,r)
  4139. # VA originated in t (sector i) and embedded in s' export (sector j) to r #;
  4140. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4141.     TVA (i,j,t,s,r) = VL(i,j,t,s) * VXE(j,s,r);
  4142.  
  4143. ! DOMESTIC AND FOREIGN VALUE ADDED CONTENT OF BILATERAL EXPORTS, BY EXPORTING SECTOR/COUNTRY AND IMPORTER !
  4144. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4145.     BC (i,j,s,r) # Global leontief, main diagonal #;
  4146. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4147.     BC (i,j,s,r) = IF[s EQ r,B1(i,j,s,r)]+IF(s NE r,0);
  4148. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)
  4149.     DC (i,j,s) # Double counting in DVA #;
  4150. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)
  4151.     DC (i,j,s) = sum[r,REG,BC(i,j,s,r)]-B2(i,j,s);
  4152. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4153.     DC_DVA (i,j,s,r) # Value of double counting in DVA, s' exports to r#;
  4154. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4155.    DC_DVA (i,j,s,r) = sum{k,TRAD_COMM, sum[t,REG,VSHDNL(i,k,s,t)*DC(k,j,s)]}
  4156.                     * VXE(j,s,r);
  4157. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4158.    DVA (i,j,t,s,r) # Domestic VA embedded in s' exports (sector j) to r #;
  4159. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4160.     DVA (i,j,t,s,r) = IF[t EQ s,TVA(i,j,t,s,r)-DC_DVA(i,j,s,r)];
  4161. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4162.     FVA (i,j,t,s,r) # Foreign VA embedded in s' exports (sector j) to r #;
  4163. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4164.    FVA (i,j,t,s,r) = IF[t NE s,TVA(i,j,t,s,r)];
  4165. Set ORIGVALUE (DVA,DDC,FVA);
  4166. Coefficient (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)(all,o,ORIGVALUE)
  4167.    VADECOMP(j,s,r,o)
  4168. # Domestic and foreign VA embedded in s' exports (sector j) to r #;
  4169. Formula (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4170.     VADECOMP(j,s,r,"DVA") = sum{i,TRAD_COMM,sum[t,REG,DVA(i,j,t,s,r)]};
  4171. Formula (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4172.     VADECOMP(j,s,r,"DDC") = sum[i,TRAD_COMM,DC_DVA(i,j,s,r)];
  4173. Formula (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4174.     VADECOMP(j,s,r,"FVA") = sum{i,TRAD_COMM,sum[t,REG,FVA(i,j,t,s,r)]};
  4175.  
  4176. ! DECOMPOSITION OF DOMESTIC VALUE ADDED, DIRECT AND INDIRECT ORIGIN BY SECTOR !
  4177. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4178.     DVA_d (i,j,t,s,r) # Domestic VA in s' exports to r originated in the domestic exporting sector j #;
  4179. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4180.    DVA_d (i,j,t,s,r) = IF[i EQ j,DVA(i,j,t,s,r)];
  4181. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4182.    DVA_i (i,j,t,s,r) # Domestic VA in s' exports to r originated in the domestic sector i providing intermediate inputs for domestic sector j's exports #;
  4183. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM) (all,r,REG)(all,s,REG)(all,t,REG)
  4184.    DVA_i (i,j,t,s,r) = IF[i NE j,DVA(i,j,t,s,r)];
  4185. Set ORIGSECT (DVA_dir,DVA_indir);
  4186. Coefficient (all,i,TRAD_COMM)(all,s,REG)(all,r,REG)(all,o,ORIGSECT)
  4187.    DVADECOMP(i,s,r,o)
  4188. # Domestic VA by sector of origin/export and importer #;
  4189. Formula (all,i,TRAD_COMM)(all,s,REG)(all,r,REG)
  4190.    DVADECOMP(i,s,r,"DVA_dir") = sum(j,TRAD_COMM,sum(t,REG,DVA_d(i,j,t,s,r)));
  4191. Formula (all,i,TRAD_COMM)(all,s,REG)(all,r,REG)
  4192.    DVADECOMP(i,s,r,"DVA_indir") = sum{j,TRAD_COMM,sum[t,REG,DVA_i(i,j,t,s,r)]};
  4193.  
  4194. ! BILATERAL AND MULTILATERAL EXPORTS OF DOMESTIC VALUE ADDED, BY SECTOR AND IMPORTER !
  4195. Coefficient (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)(all,s,REG)
  4196.    VLOCA(i,k,s,r)
  4197. # r's VA in r's input coefficients used by s #;
  4198. Formula (all,i,TRAD_COMM)(all,k,TRAD_COMM)(all,r,REG)(all,s,REG)
  4199.    VLOCA(i,k,s,r) = sum{j,TRAD_COMM,VLOC(i,j,s)*A(j,k,s,r)};
  4200. Coefficient (all,i,TRAD_COMM)(all,l,TRAD_COMM)(all,r,REG)(all,s,REG)
  4201.    VLOCAL(i,l,r,s)
  4202. # r's VA in r's input coefficients used by s to export to r#;
  4203. Formula (all,i,TRAD_COMM)(all,l,TRAD_COMM)(all,r,REG)(all,s,REG)
  4204.    VLOCAL(i,l,r,s) = sum{j,TRAD_COMM,VLOCA(i,j,s,r)*B1(j,l,r,s)};
  4205. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,t,REG)(all,r,REG)
  4206.    VLOCALL(i,j,r,s,t)
  4207. # r's VA in r's input coefficients used by s to export to r and re-exported by r to t #;
  4208. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,s,REG)(all,t,REG)(all,r,REG)
  4209.    VLOCALL(i,j,r,s,t) = sum{l,TRAD_COMM,VLOCAL(i,l,r,s)*B1(l,j,s,t)};
  4210. Coefficient (all,i,TRAD_COMM)(all,f,REG)(all,s,REG)(all,t,REG)(all,r,REG)
  4211.    DC_DVAM(i,f,s,t,r)
  4212. # double counting in s' multilateral exports to r #;
  4213. Formula (all,i,TRAD_COMM)(all,f,REG)(all,s,REG)(all,t,REG)(all,r,REG)
  4214.     DC_DVAM (i,f,s,t,r) = IF{f EQ r and f NE s and f NE t and s NE t,
  4215.                           sum[k,TRAD_COMM,VLOCALL(i,k,f,s,t)*VXE(k,t,r)]}
  4216.                           + IF(f NE r,0);
  4217. Coefficient (all,j,TRAD_COMM)(all,i,TRAD_COMM)(all,s,REG)(all,t,REG)(all,r,REG)
  4218.     DVAM (j,i,s,t,r) # Multilateral DVA in country s' exports to r originated in the domestic sector j #;
  4219. Formula (all,j,TRAD_COMM)(all,i,TRAD_COMM)(all,s,REG)(all,t,REG)(all,r,REG)
  4220.    DVAM (j,i,s,t,r) = IF(s NE t and s NE r,TVA(j,i,s,t,r));
  4221. Set DVAT # Bilateral and multilateral exports of domestic value added #
  4222. (DVA_blt,DVA_mlt);
  4223. Coefficient (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)(all,o,DVAT)
  4224.    DVAEXP(j,s,r,o)
  4225. # Bilateral and multilateral exports of domestic VA, by sector of origin and importer #;
  4226. Formula (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4227.    DVAEXP(j,s,r,"DVA_blt") = sum{i,TRAD_COMM,sum[t,REG,DVA(i,j,t,s,r)]};
  4228. Formula (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)
  4229.    DVAEXP(j,s,r,"DVA_mlt") = sum{i,TRAD_COMM,sum[t,REG,DVAM(j,i,s,t,r)]}
  4230.                              -sum{f,REG,sum[t,REG,DC_DVAM(j,f,s,t,r)]};
  4231.  
  4232.  
  4233. ! DECOMPOSITION OF FOREIGN VALUE ADDED, REFLECTED AN PURE FOREIGN ORIGIN !
  4234.  
  4235. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4236.    FVA_r (i,j,t,s,r) # Foreign VA originated in r and reflected by s' exports #;
  4237. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM) (all,t,REG)(all,s,REG)(all,r,REG)
  4238.     FVA_r (i,j,t,s,r) = IF[r EQ t,FVA(i,j,t,s,r)];
  4239. Coefficient (all,i,TRAD_COMM)(all,j,TRAD_COMM)(all,t,REG)(all,s,REG)(all,r,REG)
  4240.     FVA_t (i,j,t,s,r) # Third countries foreign VA #;
  4241. Formula (all,i,TRAD_COMM)(all,j,TRAD_COMM) (all,t,REG)(all,s,REG)(all,r,REG)
  4242.     FVA_t (i,j,t,s,r) = IF[r NE t,FVA(i,j,t,s,r)];
  4243. Set ORIGFVA # reflected and pure foreign content # (FVA_rfl,FVA_other);
  4244. Coefficient (all,j,TRAD_COMM)(all,s,REG)(all,r,REG)(all,o,ORIGFVA)
  4245.     FVADECOMP(j,s,r,o)
  4246. # Reflected and other countries' foreign VA in exports, by origin/exporting sector and importer #;
  4247. Formula (all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4248.    FVADECOMP(j,s,r,"FVA_rfl") = sum{i,TRAD_COMM,sum[t,REG,FVA_r(i,j,t,s,r)]};
  4249. Formula (all,j,TRAD_COMM)(all,r,REG)(all,s,REG)
  4250.    FVADECOMP(j,s,r,"FVA_other") = sum{i,TRAD_COMM,sum[t,REG,FVA_t(i,j,t,s,r)]};
  4251.  
  4252.  
  4253. File (NEW)VALUEADDED
  4254. # file with headers for viewing value-added decomposition of trade #;
  4255. Write TVA to file VALUEADDED header "VA";
  4256. Write VADECOMP to file VALUEADDED header "VADE";
  4257. Write DVADECOMP to file VALUEADDED header "DVAD";
  4258. Write DVAEXP to file VALUEADDED header "DVAT";
  4259. Write FVADECOMP to file VALUEADDED header "FVAD";
  4260.  
  4261. postsim (end);
  4262.  
  4263.  
  4264. !<
  4265.  
  4266.    ====================
  4267.    END OF GTAP.TAB FILE
  4268.    ====================
  4269. >!
  4270.  
Tags: GTAP-VC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement