GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 1
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


   2   
   3   
   6   
   7  scalar nd       Number of decimals /0/;
   8  abort$(nd<>round(nd)) "Number of decimals must be an integer";
   9   
  12   
  13  * "if exist... $goto start" below is de-activated so har-to-gdx conversions will be executed even if they have been d
      one before.
  14  * It doesn't take too much time to execute those conversions.  Further, de-activating that line can ensure that when 
      adding
  15  * a new har-to-gdx conversion, that new conversion will always be done.  YHC: 20120628.
  16   
  17  * $if exist %datadir%gsddat.gdx $goto start
  18   
  19  *       Translate HAR files into GDX:
  20   
  22   
  27   
  33   
  35   
  40  *$if not exist %datadir%gsdemiss.gdx $goto missinggdxfiles
  41   
  50   
  51  set     x(*)    All goods plus C - G - i and CGDS;
--- LOAD  x = 2:x
  56   
  57  set     r       Regions  /
  58   
  59          AUS     Australia
  60  *               - Australia
  61  *               - Christmas Island
  62  *               - Cocos (Keeling) Islands
  63  *               - Heard Island and McDonald Islands
  64  *               - Norfolk Island
  65          NZL     New Zealand
  66          XOC     Rest of Oceania
  67  *               - American Samoa
  68  *               - Cook Islands
  69  *               - Fiji
  70  *               - French Polynesia
  71  *               - Guam
  72  *               - Kiribati
  73  *               - Marshall Islands
  74  *               - Micronesia Federated States of
  75  *               - Nauru
  76  *               - New Caledonia
  77  *               - Niue
  78  *               - Northern Mariana Islands
  79  *               - Palau
  80  *               - Papua New Guinea
  81  *               - Pitcairn
  82  *               - Samoa
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 2
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


  83  *               - Solomon Islands
  84  *               - Tokelau
  85  *               - Tonga
  86  *               - Tuvalu
  87  *               - United States Minor Outlying Islands
  88  *               - Vanuatu
  89  *               - Wallis and Futuna
  90          CHN     China
  91          HKG     Hong Kong
  92          JPN     Japan
  93          KOR     Korea Republic of
  94          MNG     Mongolia
  95          TWN     Taiwan
  96          XEA     Rest of East Asia
  97  *               - Korea Democratic Peoples Republic of
  98  *               - Macao
  99          KHM     Cambodia
 100          IDN     Indonesia
 101          LAO     Lao People's Democratic Republic
 102          MYS     Malaysia
 103          PHL     Philippines
 104          SGP     Singapore
 105          THA     Thailand
 106          VNM     Viet Nam
 107          XSE     Rest of Southeast Asia
 108  *               - Brunei Darussalam
 109  *               - Myanmar
 110  *               - Timor Leste
 111          BGD     Bangladesh
 112          IND     India
 113          NPL     Nepal
 114          PAK     Pakistan
 115          LKA     Sri Lanka
 116          XSA     Rest of South Asia
 117  *               - Afghanistan
 118  *               - Bhutan
 119  *               - Maldives
 120          CAN     Canada
 121          USA     United States of America
 122          MEX     Mexico
 123          XNA     Rest of North America
 124  *               - Bermuda
 125  *               - Greenland
 126  *               - Saint Pierre and Miquelon
 127          ARG     Argentina
 128          BOL     Plurinational Republic of Bolivia
 129          BRA     Brazil
 130          CHL     Chile
 131          COL     Colombia
 132          ECU     Ecuador
 133          PRY     Paraguay
 134          PER     Peru
 135          URY     Uruguay
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 3
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 136          VEN     Venezuela
 137          XSM     Rest of South America
 138  *               - Falkland Islands (Malvinas)
 139  *               - French Guiana
 140  *               - Guyana
 141  *               - South Georgia and the South Sandwich Islands
 142  *               - Suriname
 143          CRI     Costa Rica
 144          GTM     Guatemala
 145          HND     Honduras
 146          NIC     Nicaragua
 147          PAN     Panama
 148          SLV     El Salvador
 149          XCA     Rest of Central America
 150  *               - Belize
 151          XCB     Caribbean
 152  *               - Anguilla
 153  *               - Antigua & Barbuda
 154  *               - Aruba
 155  *               - Bahamas
 156  *               - Barbados
 157  *               - Cayman Islands
 158  *               - Cuba
 159  *               - Dominica
 160  *               - Dominican Republic
 161  *               - Grenada
 162  *               - Haiti
 163  *               - Jamaica
 164  *               - Montserrat
 165  *               - Netherlands Antilles
 166  *               - Puerto Rico
 167  *               - Saint Kitts and Nevis
 168  *               - Saint Lucia
 169  *               - Saint Vincent and the Grenadines
 170  *               - Trinidad and Tobago
 171  *               - Turks and Caicos Islands
 172  *               - Virgin Islands British
 173  *               - Virgin Islands U.S.
 174          AUT     Austria
 175          BEL     Belgium
 176          CYP     Cyprus
 177          CZE     Czech Republic
 178          DNK     Denmark
 179          EST     Estonia
 180          FIN     Finland
 181  *               - Aland Islands
 182  *               - Finland
 183          FRA     France
 184  *               - France
 185  *               - Guadeloupe
 186  *               - Martinique
 187  *               - Reunion
 188          DEU     Germany
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 4
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 189          GRC     Greece
 190          HUN     Hungary
 191          IRL     Ireland
 192          ITA     Italy
 193          LVA     Latvia
 194          LTU     Lithuania
 195          LUX     Luxembourg
 196          MLT     Malta
 197          NLD     Netherlands
 198          POL     Poland
 199          PRT     Portugal
 200          SVK     Slovakia
 201          SVN     Slovenia
 202          ESP     Spain
 203          SWE     Sweden
 204          GBR     United Kingdom
 205          CHE     Switzerland
 206          NOR     Norway
 207  *               - Norway
 208  *               - Svalbard and Jan Mayen
 209          XEF     Rest of EFTA
 210  *               - Iceland
 211  *               - Liechtenstein
 212          ALB     Albania
 213          BGR     Bulgaria
 214          BLR     Belarus
 215          HRV     Croatia
 216          ROU     Romania
 217          RUS     Russian Federation
 218          UKR     Ukraine
 219          XEE     Rest of Eastern Europe
 220  *               - Moldova Republic of
 221          XER     Rest of Europe
 222  *               - Andorra
 223  *               - Bosnia and Herzegovina
 224  *               - Faroe Islands
 225  *               - Gibraltar
 226  *               - Guernsey
 227  *               - Holy See (Vatican City State)
 228  *               - Isle of Man
 229  *               - Jersey
 230  *               - Macedonia the former Yugoslav Republic of
 231  *               - Monaco
 232  *               - Montenegro
 233  *               - San Marino
 234  *               - Serbia
 235          KAZ     Kazakhstan
 236          KGZ     Kyrgyzstan
 237          XSU     Rest of Former Soviet Union
 238  *               - Tajikistan
 239  *               - Turkmenistan
 240  *               - Uzbekistan
 241          ARM     Armenia
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 5
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 242          AZE     Azerbaijan
 243          GEO     Georgia
 244          BHR     Bahrain
 245          IRN     Iran Islamic Republic of
 246          ISR     Israel
 247          KWT     Kuwait
 248          OMN     Oman
 249          QAT     Qatar
 250          SAU     Saudi Arabia
 251          TUR     Turkey
 252          ARE     United Arab Emirates
 253          XWS     Rest of Western Asia
 254  *               - Iraq
 255  *               - Jordan
 256  *               - Lebanon
 257  *               - Palestinian Territory Occupied
 258  *               - Syrian Arab Republic
 259  *               - Yemen
 260          EGY     Egypt
 261          MAR     Morocco
 262          TUN     Tunisia
 263          XNF     Rest of North Africa
 264  *               - Algeria
 265  *               - Libyan Arab Jamahiriya
 266  *               - Western Sahara
 267          CMR     Cameroon
 268          CIV     Cote d'Ivoire
 269          GHA     Ghana
 270          NGA     Nigeria
 271          SEN     Senegal
 272          XWF     Rest of Western Africa
 273  *               - Benin
 274  *               - Burkina Faso
 275  *               - Cape Verde
 276  *               - Gambia
 277  *               - Guinea
 278  *               - Guinea-Bissau
 279  *               - Liberia
 280  *               - Mali
 281  *               - Mauritania
 282  *               - Niger
 283  *               - Saint Helena, Ascension and Tristan Da Cunha
 284  *               - Sierra Leone
 285  *               - Togo
 286          XCF     Central Africa
 287  *               - Central African Republic
 288  *               - Chad
 289  *               - Congo
 290  *               - Equatorial Guinea
 291  *               - Gabon
 292  *               - Sao Tome and Principe
 293          XAC     South Central Africa
 294  *               - Angola
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 6
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 295  *               - Congo the Democratic Republic of the
 296          ETH     Ethiopia
 297          KEN     Kenya
 298          MDG     Madagascar
 299          MWI     Malawi
 300          MUS     Mauritius
 301          MOZ     Mozambique
 302          TZA     Tanzania United Republic of
 303          UGA     Uganda
 304          ZMB     Zambia
 305          ZWE     Zimbabwe
 306          XEC     Rest of Eastern Africa
 307  *               - Burundi
 308  *               - Comoros
 309  *               - Djibouti
 310  *               - Eritrea
 311  *               - Mayotte
 312  *               - Rwanda
 313  *               - Seychelles
 314  *               - Somalia
 315  *               - Sudan
 316          BWA     Botswana
 317          NAM     Namibia
 318          ZAF     South Africa
 319          XSC     Rest of South African Customs Union
 320  *               - Lesotho
 321  *               - Swaziland
 322          XTW     Rest of the World
 323  *               - Antarctica
 324  *               - Bouvet Island
 325  *               - British Indian Ocean Territory
 326  *               - French Southern Territories
 327          /;
 328   
 329  set     g(x)    All goods plus C - G - i /c,g,i/,
 330          i(x)    Market goods,
 331          f(*)    Factors;
 332   
 333  $gdxin '..\data07\gsdset.gdx'
****                              $510
 334  $load f=endw_comm i=trad_comm
****      $502
 335  g(i) =yes;
****    $352
 336   
 337  set     src     Sources /domestic, imported/,
 338          rnum(r) Numeraire region,
 339          sf(f)   Sluggish primary factors (sector-specific)
 340          mf(f)   Mobile primary factors
 341   
 342          ec      Energy goods /
 343                  ecoa    Coal,
 344                  eoil    Crude oil,
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 7
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 345                  egas    Natural gas,
 346                  ep_c    Refined oil products,
 347                  eely    Electricity,
 348                  egdt    Gas distribution /;
 349   
 350  alias (r,s), (i,j,jj), (f,ff);
 351   
 352  parameters
 353          vdga(i,r)       Government - domestic purchases at agents' prices,
 354          viga(i,r)       Government - imports at agents' prices,
 355          vdgm(i,r)       Government - domestic purchases at market prices,
 356          vigm(i,r)       Government - imports at market prices,
 357          vdpa(i,r)       Private households - domestic purchases at agents' prices,
 358          vipa(i,r)       Private households - imports at agents' prices,
 359          vdpm(i,r)       Private households - domestic purchases at market prices,
 360          vipm(i,r)       Private households - imports at market prices
 361          evoa(f,r)       Endowments - output at agents' prices,
 362          evfa(f,x,r)     Endowments - firms' purchases at agents' prices,
 363          vfm(f,x,r)      Endowments - Firms' purchases at market prices,
 364          vdfa(i,x,r)     Intermediates - firms' domestic purchases at agents' prices,
 365          vifa(i,x,r)     Intermediates - Firms' imports at agents' prices,
 366          vdfm(i,x,r)     Intermediates - firms' domestic purchases at market prices,
 367          vifm(i,x,r)     Intermediates - firms' imports at market prices,
 368          vims(i,r,s)     Trade - bilateral imports at market prices,
 369          viws(i,r,s)     Trade - bilateral imports at world prices,
 370          vxmd(i,r,s)     Trade - bilateral exports at market prices,
 371          vxwd(i,r,s)     Trade - bilateral exports at world prices,
 372          vst(i,r)        Trade - exports for international transportation
 373          vtwr(i,j,r,s)   Trade - Margins for international transportation at world prices
 374          ftrv(f,j,r)     Taxes - factor employment tax revenue,
 375   
 376          fbep(f,j,r)     Protection - factor-based subsidies,
 377          isep(i,j,r,src) Protection - intermediate input subsidies,
 378          osep(i,r)       Protection - ordinary output subsidies,
 379          adrv(i,r,s)     Protection - anti-dumping duty
 380          tfrv(i,r,s)     Protection - ordinary import duty
 381          purv(i,r,s)     Protection - price undertaking export tax equivalent,
 382          vrrv(i,r,s)     Protection - VER export tax equivalent
 383          mfrv(i,r,s)     Protection - MFA export tax equivalent
 384          xtrv(i,r,s)     Protection - ordinary export tax;
 385   
 386  * Read the GTAP data set gsddat.gdx converted from gsddat.har
 387  $gdxin '..\data07\gsddat.gdx'
****                              $510
 388  $load vdga viga vdgm vigm vdpa vipa vdpm vipm evoa evfa vfm vdfa
****      $502
 389  $load vifa vdfm vifm vims viws vxmd vxwd vst vtwr=vtwrini ftrv fbep isep
****      $502
 390  $load osep adrv=adrev tfrv=tarifrev purv=purev vrrv=verrev mfrv=mfarev xtrv=xtrev
****      $502
 392   
 393  parameter
 394          esubd(x)        Elasticity of substitution (M versus D),
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 8
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 395          esubva(x)       Elasticity of substitution between factors,
 396          esubm(x)        Intra-import elasticity of substitution,
 397          etrae(f)        Elasticity of transformation,
 398          incpar(x,r)     Expansion parameter in the CDE minimum expenditure function,
 399          subpar(x,r)     Substitution parameter in CDE minimum expenditure function;
 400   
 401  $gdxin '..\data07\gsdpar.gdx'
****                              $510
 402  $load esubd esubva esubm etrae incpar subpar
****      $502
 404   
 405  *       Determine which factors are sector-specific
 406   
 407  mf(f) = yes$(etrae(f)=0);
****     $352          $141,352
 408  sf(f) = yes$(etrae(f)<0);
****     $352            $352
 409  display mf,sf;
 410   
 411  *       Convert sign of etrae() so that it is non-negative:
 412   
 413  etrae(f) = -etrae(f);
****        $352        $352
 414  etrae(mf) = +inf;
 415   
 416  *       Scale the data:
 417   
 418  scalar scalefactor /1e-3/;
 419  vdga(i,r) = scalefactor * vdga(i,r);
****       $352                    $141,352
 420  viga(i,r) = scalefactor * viga(i,r);
****       $352                    $141,352
 421  vdgm(i,r) = scalefactor * vdgm(i,r);
****       $352                    $141,352
 422  vigm(i,r) = scalefactor * vigm(i,r);
****       $352                    $141,352
 423  vdpa(i,r) = scalefactor * vdpa(i,r);
****       $352                    $141,352
 424  vipa(i,r) = scalefactor * vipa(i,r);
****       $352                    $141,352
 425  vdpm(i,r) = scalefactor * vdpm(i,r);
****       $352                    $141,352
 426  vipm(i,r) = scalefactor * vipm(i,r);
****       $352                    $141,352
 427  evoa(f,r) = scalefactor * evoa(f,r);
****       $352                    $141,352
 428  evfa(f,j,r) = scalefactor * evfa(f,j,r);
****       $352,352                  $141,352,352
 429  vfm(f,j,r)  = scalefactor * vfm(f,j,r);
****      $352,352                  $141,352,352
 430  vdfa(i,x,r) = scalefactor * vdfa(i,x,r);
****       $352                      $141,352
GAMS Rev 140  Intel /MS Window                                                                     07/10/12 09:34:04 Page 9
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 431  vifa(i,x,r) = scalefactor * vifa(i,x,r);
****       $352                      $141,352
 432  vdfm(i,x,r) = scalefactor * vdfm(i,x,r);
****       $352                      $141,352
 433  vifm(i,x,r) = scalefactor * vifm(i,x,r);
****       $352                      $141,352
 434  vims(i,r,s) = scalefactor * vims(i,r,s);
****       $352                      $141,352
 435  viws(i,r,s) = scalefactor * viws(i,r,s);
****       $352                      $141,352
 436  vxmd(i,r,s) = scalefactor * vxmd(i,r,s);
****       $352                      $141,352
 437  vxwd(i,r,s) = scalefactor * vxwd(i,r,s);
****       $352                      $141,352
 438  vst(i,r)    = scalefactor * vst(i,r);
****      $352                      $141,352
 439  vtwr(i,j,r,s) = scalefactor * vtwr(i,j,r,s);
****       $352,352                    $141,352,352
 440  ftrv(f,j,r) = scalefactor * ftrv(f,j,r);
****       $352,352                  $141,352,352
 441  fbep(f,j,r) = scalefactor * fbep(f,j,r);
****       $352,352                  $141,352,352
 442  isep(i,j,r,src) = scalefactor * isep(i,j,r,src);
****       $352,352                      $141,352,352
 443  osep(i,r)   = scalefactor * osep(i,r);
****       $352                      $141,352
 444  adrv(i,r,s) = scalefactor * adrv(i,r,s);
****       $352                      $141,352
 445  tfrv(i,r,s) = scalefactor * tfrv(i,r,s);
****       $352                      $141,352
 446  purv(i,r,s) = scalefactor * purv(i,r,s);
****       $352                      $141,352
 447  vrrv(i,r,s) = scalefactor * vrrv(i,r,s);
****       $352                      $141,352
 448  mfrv(i,r,s) = scalefactor * mfrv(i,r,s);
****       $352                      $141,352
 449  xtrv(i,r,s) = scalefactor * xtrv(i,r,s);
****       $352                      $141,352
 450   
 451  *       Drop tiny numbers:
 452   
 453  if (nd>0,
 454          vdga(i,r) = vdga(i,r)$round(vdga(i,r),nd);
****               $352        $352            $352
 455          viga(i,r) = viga(i,r)$round(viga(i,r),nd);
****               $352        $352            $352
 456          vdgm(i,r) = vdgm(i,r)$round(vdgm(i,r),nd);
****               $352        $352            $352
 457          vigm(i,r) = vigm(i,r)$round(vigm(i,r),nd);
****               $352        $352            $352
 458          vdpa(i,r) = vdpa(i,r)$round(vdpa(i,r),nd);
****               $352        $352            $352
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 10
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 459          vipa(i,r) = vipa(i,r)$round(vipa(i,r),nd);
****               $352        $352            $352
 460          vdpm(i,r) = vdpm(i,r)$round(vdpm(i,r),nd);
****               $352        $352            $352
 461          vipm(i,r) = vipm(i,r)$round(vipm(i,r),nd);
****               $352        $352            $352
 462          evoa(f,r) = evoa(f,r)$round(evoa(f,r),nd);
****               $352        $352            $352
 463          evfa(f,j,r) = evfa(f,j,r)$round(evfa(f,j,r),nd);
****               $352,352      $352,352          $352,352
 464          vfm(f,j,r) = vfm(f,j,r)$round(vfm(f,j,r),nd);
****              $352,352     $352,352         $352,352
 465          vdfa(i,x,r) = vdfa(i,x,r)$round(vdfa(i,x,r),nd);
****               $352          $352              $352
 466          vifa(i,x,r) = vifa(i,x,r)$round(vifa(i,x,r),nd);
****               $352          $352              $352
 467          vdfm(i,x,r) = vdfm(i,x,r)$round(vdfm(i,x,r),nd);
****               $352          $352              $352
 468          vifm(i,x,r) = vifm(i,x,r)$round(vifm(i,x,r),nd);
****               $352          $352              $352
 469          vims(i,r,s) = vims(i,r,s)$round(vims(i,r,s),nd);
****               $352          $352              $352
 470          viws(i,r,s) = viws(i,r,s)$round(viws(i,r,s),nd);
****               $352          $352              $352
 471          vims(i,r,s) = vims(i,r,s)$viws(i,r,s);
****               $352          $352        $352
 472          vxmd(i,r,s) = vxmd(i,r,s)$round(vxmd(i,r,s),nd);
****               $352          $352              $352
 473          vxwd(i,r,s) = vxwd(i,r,s)$round(vxwd(i,r,s),nd);
****               $352          $352              $352
 474          vxwd(i,r,s) = vxwd(i,r,s)$vxmd(i,r,s);
****               $352          $352        $352
 475   
 476          vst(i,r) = vst(i,r)$round(vst(i,r),nd);
****              $352       $352           $352
 477          vtwr(i,j,r,s) = vtwr(i,j,r,s)$round(vtwr(i,j,r,s),nd);
****               $352,352        $352,352            $352,352
 478          ftrv(f,j,r) = ftrv(f,j,r)$round(ftrv(f,j,r),nd);
****               $352,352      $352,352          $352,352
 479          fbep(f,j,r) = fbep(f,j,r)$round(fbep(f,j,r),nd);
****               $352,352      $352,352          $352,352
 480          isep(i,j,r,src) = isep(i,j,r,src)$round(isep(i,j,r,src),nd);
****               $352,352          $352,352              $352,352
 481          osep(i,r) = osep(i,r)$round(osep(i,r),nd);
****               $352        $352            $352
 482          adrv(i,r,s) = adrv(i,r,s)$round(adrv(i,r,s),nd);
****               $352          $352              $352
 483          tfrv(i,r,s) = tfrv(i,r,s)$round(tfrv(i,r,s),nd);
****               $352          $352              $352
 484          purv(i,r,s) = purv(i,r,s)$round(purv(i,r,s),nd);
****               $352          $352              $352
 485          vrrv(i,r,s) = vrrv(i,r,s)$round(vrrv(i,r,s),nd);
****               $352          $352              $352
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 11
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 486          mfrv(i,r,s) = mfrv(i,r,s)$round(mfrv(i,r,s),nd);
****               $352          $352              $352
 487          xtrv(i,r,s) = xtrv(i,r,s)$round(xtrv(i,r,s),nd);
****               $352          $352              $352
 488  );
 489   
 490  parameter
 491   
      	evf_(ec,i,r)	Volume of input purchases by firms (mtoe)
      	evh_(ec,r)	Volume of purchases by households (mtoe)
      	evt_(ec,r,r)	Volume of bilateral trade (mtoe);
 497   
 498  * Redefine evf_, evh_, and evt_ so the first dimension is set j (alias of i) or i rather than ec.
 499  * This is because in the gsdvole.gdx, there is no set called ec.
 500  * It is infeasible to read, for example, edf(ec,i,r) from gsdvole.gdx
 501  * YHC (20120628)
 502   
 503          evf_(j,i,r)     Volume of input purchases by firms (mtoe)
 504          evh_(i,r)       Volume of purchases by households (mtoe)
 505          evg_(i,r)       Volume of purchases by government (mtoe)
 506          evt_(i,r,r)     Volume of bilateral trade (mtoe)
 507   
 508   
 509  * Newly declared parameters to read edf, eif, edp, eip, and exidag in gsdvole.gdx
 510  * YHC (20120628)
 511   
 512          edf_(i,i,r)    usage of domestic product by firms (mtoe)
 513          eif_(i,i,r)    usage of imported product by firms (mtoe)
 514          edp_(i,r)      private consumption of domestic product (mtoe)
 515          eip_(i,r)      private consumption of imported product (mtoe)
 516          edg_(i,r)      government consumption of domestic product (mtoe)
 517          eig_(i,r)      government consumption of imported product (mtoe)
 518          exidag_(i,r,r) volume of trade (mtoe)
 519          ;
 520   
 521  * Read edf, eif, edp, eip, edg, eig, exidag from gsdvole.gdx; YHC (20120628)
 522  $gdxin '..\data07\gsdvole.gdx'
****                               $510
 523  *$load evf_=evf evh_=evh evt_=evt
 524  $load edf_=edf eif_=eif edp_=edp eip_=eip edg_=edg eig_=eig exidag_=exidag
****      $502
 526   
 527  * Assign values for evf_, evh_, and evt_; YHC (20120614)
 528   
 529         evf_(i,j,r) = edf_(i,j,r)+eif_(i,j,r);
****              $352,352    $141,352,352$141,352,352
 530         evh_(i,r) = edp_(i,r)+eip_(i,r);
****              $352      $141,352  $141,352
 531         evg_(i,r) = edg_(i,r)+eig_(i,r);
****              $352      $141,352  $141,352
 532         evt_(i,r,s) = exidag_(i,r,s);
****              $352           $141,352
 533   
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 12
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 534   
 535  *       Declare some intermediate arrays which are required to
 536  *       evaluate tax rates:
 537   
 538  parameter       vdm(i,r)        Aggregate demand for domestic output,
 539                  vom(x,r)        Total supply at market prices,
 540                  voa(x,r)        Output at producer prices;
 541   
 542  vdm(i,r) = vdpm(i,r) + vdgm(i,r) + sum{x, vdfm(i,x,r)};
****      $352        $352        $352               $352
 543  vom(i,r) = vdm(i,r) + sum(s, vxmd(i,r,s)) + vst(i,r);
****      $352       $352               $352          $352
 544  voa(x,r) = sum(f, evfa(f,x,r)) + sum(i, vdfa(i,x,r) + vifa(i,x,r));
****                 $352    $352          $352    $352          $352
 545   
 546  vom("i",r) = voa("cgds",r);
****                        $116,170
 547   
 548  parameter
 549          rto(i,r)        Output (or income) subsidy rates
 550          rtf(f,x,r)      Primary factor and commodity rates taxes
 551          rtpd(i,r)       Private domestic consumption taxes
 552          rtpi(i,r)       Private import consumption tax rates
 553          rtgd(i,r)       Government domestic rates
 554          rtgi(i,r)       Government import tax rates
 555          rtfd(i,x,r)     Firms domestic tax rates
 556          rtfi(i,x,r)     Firms' import tax rates
 557          rtxs(i,r,s)     Export subsidy rates
 558          rtms(i,r,s)     Import taxes rates;
 559   
 560  rto(i,r)$vom(i,r) = 1 - voa(i,r)/vom(i,r);
****      $352     $352           $352     $352
 561  rtf(f,j,r)$vfm(f,j,r)  = evfa(f,j,r)/vfm(f,j,r) - 1;
****      $352,352   $352,352       $352,352   $352,352
 562  rtpd(i,r)$vdpm(i,r)   = vdpa(i,r)/vdpm(i,r) - 1;
****       $352      $352          $352      $352
 563  rtpi(i,r)$vipm(i,r)   = vipa(i,r)/vipm(i,r) - 1;
****       $352      $352          $352      $352
 564  rtgd(i,r)$vdgm(i,r)   = vdga(i,r)/vdgm(i,r) - 1;
****       $352      $352          $352      $352
 565  rtgi(i,r)$vigm(i,r)   = viga(i,r)/vigm(i,r) - 1;
****       $352      $352          $352      $352
 566  rtfd(i,x,r)$vdfm(i,x,r) = vdfa(i,x,r)/vdfm(i,x,r) - 1;
****       $352        $352          $352        $352
 567  rtfi(i,x,r)$vifm(i,x,r) = vifa(i,x,r)/vifm(i,x,r) - 1;
****       $352        $352          $352        $352
 568  rtxs(i,r,s)$vxwd(i,r,s) = 1-vxwd(i,r,s)/vxmd(i,r,s);
****       $352        $352            $352        $352
 569  rtms(i,r,s)$vims(i,r,s) = vims(i,r,s)/viws(i,r,s) - 1;
****       $352        $352          $352        $352
 570   
 571  parameter       pvxmd(i,s,r)    Import price (power of benchmark tariff)
 572                  pvtwr(i,s,r)    Import price for transport services;
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 13
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 573   
 574  pvxmd(i,s,r) = (1+rtms(i,s,r)) * (1-rtxs(i,s,r));
****        $352             $352              $352
 575  pvtwr(i,s,r) = 1+rtms(i,s,r);
****        $352            $352
 576   
 577  parameter
 578          vtw(j)          Aggregate international transportation services,
 579          vpm(r)          Aggregate private demand,
 580          vgm(r)          Aggregate public demand,
 581          vim(i,r)        Aggregate imports,
 582          evom(f,r)       Aggregate factor endowment at market prices,
 583          vb(*)           Current account balance;
 584   
 585  vtw(j) = sum(r, vst(j,r));
****      $352            $352
 586  vpm(r) = sum(i, vdpm(i,r)*(1+rtpd(i,r)) + vipm(i,r)*(1+rtpi(i,r)));
****               $352    $352         $352         $352         $352
 587  vgm(r) = sum(i, vdgm(i,r)*(1+rtgd(i,r)) + vigm(i,r)*(1+rtgi(i,r)));
****               $352    $352         $352         $352         $352
 588  vim(i,r) = vipm(i,r) + vigm(i,r) + sum(j, vifm(i,j,r));
****      $352        $352        $352       $352    $352,352
 589  evom(f,r) = sum(j, vfm(f,j,r));
****       $352       $352   $352,352
 590   
 591  parameter       theta(i,r)      Final demand value shares;
 592  theta(i,r) = (vdpm(i,r)*(1+rtpd(i,r))+vipm(i,r)*(1+rtpi(i,r))) /
****        $352         $352         $352       $352         $352
 593          sum(j,vdpm(j,r)*(1+rtpd(j,r))+vipm(j,r)*(1+rtpi(j,r)));
****              $352   $352         $352       $352         $352
 594   
 595  parameter       eta(i,r)        Income elasticity of demand,
 596                  epsilon(i,r)    Own-price elasticity of demand;
 597   
 598  eta(i,r) = 1-subpar(i,r) - sum(j, theta(j,r)*(1-subpar(j,r))) +
****      $352          $141,352     $352     $352           $352
 599          (1/sum(j,theta(j,r)*incpar(j,r))) *
****                 $352    $352      $141,352
 600            (incpar(i,r)*subpar(i,r) + sum(j,theta(j,r)*incpar(j,r)*(1-subpar(j,r))));
****                    $352        $352       $352    $352        $352           $352
 601  display eta;
 602   
 603  epsilon(i,r)$theta(i,r)
****          $352       $352
 604          = (2*(1-subpar(i,r))
****                         $352
 605                  - sum(j, theta(j,r)*(1-subpar(j,r)))
****                        $352     $352           $352
 606                  - (1-subpar(i,r)) / theta(i,r) - eta(i,r)) * theta(i,r);
****                              $352          $352       $352          $352
 607  display epsilon;
 608   
 609  *       Define a numeraire region for denominating international
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 14
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 610  *       transfers:
 611   
 612  rnum(r) = yes$(vpm(r)=smax(s,vpm(s)));
 613  display rnum;
 614   
 615  *       Translate the dataset to a format which drops vdpm, vipm, rtpd, rtpi,
 616  *       vdgm, vigm, rtgd, rtgi, vpm and vgm:
 617   
 618  vdfm(i,"c",r) = vdpm(i,r);
****       $352            $352
 619  vifm(i,"c",r) = vipm(i,r);
****       $352            $352
 620  rtfd(i,"c",r) = rtpd(i,r);
****       $352            $352
 621  rtfi(i,"c",r) = rtpi(i,r);
****       $352            $352
 622  vom("c",r) =vpm(r);
 623   
 624  vdfm(i,"g",r) = vdgm(i,r);
****       $352            $352
 625  vifm(i,"g",r) = vigm(i,r);
****       $352            $352
 626  rtfd(i,"g",r) = rtgd(i,r);
****       $352            $352
 627  rtfi(i,"g",r) = rtgi(i,r);
****       $352            $352
 628  vom("g",r) =vgm(r);
 629   
 630  *       Transfer investment good CGDS to "i":
 631  *       (Justin 10.2.2010)
 632   
 633  vdfm(i,"i",r) = vdfm(i,"CGDS",r);
****       $352            $352   $170
 634  vifm(i,"i",r) = vifm(i,"CGDS",r);
****       $352            $352   $170
 635   
 636  vdfm(i,"cgds",r) = 0;
****       $352   $170
 637  vifm(i,"cgds",r) = 0;
****       $352   $170
 638   
 639  rtfd(i,"i",r) = rtfd(i,"cgds",r);
****       $352            $352   $170
 640  rtfi(i,"i",r) = rtfi(i,"cgds",r);
****       $352            $352   $170
 641   
 642  vb(r) = vpm(r) + vgm(r) + vom("i",r)
 643          - sum(f, evom(f,r))
****                $352    $352
 644          - sum(j,  vom(j,r)*rto(j,r))
****                $352    $352     $352
 645          - sum(x,  sum(i, vdfm(i,x,r)*rtfd(i,x,r) + vifm(i,x,r)*rtfi(i,x,r)))
****                        $352    $352        $352          $352        $352
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 15
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 646   
 647          + sum(i, vdfm(i,"c",r)*rtfd(i,"c",r) + vifm(i,"c",r)*rtfi(i,"c",r))
****                $352    $352          $352            $352          $352
 648          + sum(i, vdfm(i,"g",r)*rtfd(i,"g",r) + vifm(i,"g",r)*rtfi(i,"g",r))
****                $352    $352          $352            $352          $352
 649   
 650          - sum(j,  sum(f, vfm(f,j,r)*rtf(f,j,r)))
****                $352    $352   $352,352   $352,352
 651          - sum(i, vdpm(i,r)*rtpd(i,r) + vipm(i,r)*rtpi(i,r))
****                $352    $352      $352        $352      $352
 652          - sum(i, vdgm(i,r)*rtgd(i,r) + vigm(i,r)*rtgi(i,r))
****                $352    $352      $352        $352      $352
 653          - sum((i,s), rtms(i,s,r) *  (vxmd(i,s,r) * (1-rtxs(i,s,r)) + sum(j,vtwr(j,i,s,r))))
****                 $352       $352            $352             $352          $352   $352,352
 654          + sum((i,s), rtxs(i,r,s) * vxmd(i,r,s));
****                 $352       $352          $352
 655   
 656  vb("chksum") = sum(r, vb(r));
 657  display vb;
 658   
 659  parameter
 660          evd(i,*,r)              Volume of energy purchases (mtoe),
 661          evt(i,r,r)              Volume of energy exports (mtoe);
 662   
 663  set ffmap(i,ec)/ely.eely,coa.ecoa,oil.eoil,gas.egas,p_c.ep_c,gdt.egdt/;
****                    $361
 664   
 665  loop(ffmap(i,ec),
****             $352
 666   
      	evd(i,j,r) = evf_(ec,j,r);
      	evd(i,"c",r) = evh_(ec,r);
      	evt(i,r,s) = evt_(ec,r,s);
 672   
 673  * using newly defined parameters; (YHC: 20120604)
 674   
 675          evd(i,j,r) = evf_(i,j,r);
****              $352,352      $352,352
 676          evd(i,"c",r) = evh_(i,r);
****              $352            $352
 677          evt(i,r,s) = evt_(i,r,s);
****              $352          $352
 678   
 679   
 680  );
 681  if (nd>0,
 682          evt(i,r,s)  = evt(i,r,s)$round(evt(i,r,s), nd);
****              $352          $352             $352
 683          evd(i,g,r)  = evd(i,g,r)$round(evd(i,g,r), nd);
****              $352          $352             $352
 684  );
 685  if (nd>0,
 686          execute_unload '..\data07\gsd_0.gdx', r, f, g, i, vfm, vdfm, vifm, vxmd, vst, vtwr,
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 16
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
C o m p i l a t i o n


 687                  rto, rtf, rtfd, rtfi, rtxs, rtms, esubd, esubva, esubm, etrae, eta, epsilon, evd, evt;
 688  else
 689          execute_unload '..\data07\gsd.gdx',      r, f, g, i, vfm, vdfm, vifm, vxmd, vst, vtwr,
 690                  rto, rtf, rtfd, rtfi, rtxs, rtms, esubd, esubva, esubm, etrae, eta, epsilon, evd, evt;
 691  );
 692   
 693  parameter       eprice          Implicit energy prices
 694                  etprice         Energy trade price;
 695   
 696  eprice(i,g,r)$evd(i,g,r)  = (vdfm(i,g,r)+vifm(i,g,r))/evd(i,g,r);
****         $352       $352            $352        $352        $352
 697   
 698  etprice(i,r,s)$evt(i,r,s) = vxmd(i,r,s)/evt(i,r,s);
****          $352       $352          $352       $352
 699   
 700  eprice(i,"average",r)$sum(g,evd(i,g,r))  = sum(g,vdfm(i,g,r)+vifm(i,g,r))/sum(g,evd(i,g,r));
****         $352                     $352                  $352        $352              $352
 701   
 702  etprice(i,r,s)$evt(i,r,s) = vxmd(i,r,s)/evt(i,r,s);
****          $352       $352          $352       $352
 703  etprice(i,r,"domestic") = eprice(i,"average",r);
****          $352                     $352
 704  etprice(i,"domestic",s) = eprice(i,"average",s);
****          $352                     $352
 705   
 706  *.execute_unload 'eprice.gdx',eprice,etprice;
 707  *.execute 'gdxxrw i=eprice.gdx o=eprice.xls par=eprice rng="eprice!a2" cdim=0 par=etprice rng="etprice!a2" cdim=0';
 708   
EXIT c:\work\gtap\GTAP8inGAMS\build\flex2gdx.gms
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 17
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
Error Messages


116  Label is unknown
141  Symbol neither initialized nor assigned
        A wild shot: You may have spurious commas in the explanatory
        text of a declaration. Check symbol reference list.
170  Domain violation for element
352  Set has not been initialized
361  Values for domain 1 are unknown - no checking possible
502  GDXIN  file not open - ignore rest of line
510  Problems opening GDXIN: file error

**** 499 ERROR(S)   0 WARNING(S)
GAMS Rev 140  Intel /MS Window                                                                    07/10/12 09:34:04 Page 18
FLEX2GDX.GMS    Read the FLEXAGG dataset gsddat.har and generate gsd.gdx
Include File Summary


   SEQ   GLOBAL TYPE      PARENT   LOCAL  FILENAME

     1        1 INPUT          0       0  c:\work\gtap\GTAP8inGAMS\build\flex2gdx.gms
     2       23 IF EXIST       1      23  c:\work\gtap\GTAP8inGAMS\gtapdata07\gsdset.har
     3       24 IF EXIST       1      24  c:\work\gtap\GTAP8inGAMS\gtapdata07\gsddat.har
     4       25 IF EXIST       1      25  c:\work\gtap\GTAP8inGAMS\gtapdata07\gsdpar.har
     5       26 IF EXIST       1      26  c:\work\gtap\GTAP8inGAMS\gtapdata07\gsdvole.har
     6       28 CALL           1      28  har2gdx ..\gtapdata07\gsdset.har ..\data07\gsdset.gdx
     7       29 CALL           1      29  har2gdx ..\gtapdata07\gsddat.har ..\data07\gsddat.gdx
     8       30 CALL           1      30  har2gdx ..\gtapdata07\gsdpar.har ..\data07\gsdpar.gdx
     9       31 CALL           1      31  har2gdx ..\gtapdata07\gsdvole.har ..\data07\gsdvole.gdx
    10       32 CALL           1      32  har2gdx ..\gtapdata07\gsdemiss.har ..\data07\gsdemiss.gdx
    11       36 IF EXIST       1      36  c:\work\gtap\GTAP8inGAMS\data07\gsdset.gdx
    12       37 IF EXIST       1      37  c:\work\gtap\GTAP8inGAMS\data07\gsddat.gdx
    13       38 IF EXIST       1      38  c:\work\gtap\GTAP8inGAMS\data07\gsdpar.gdx
    14       39 IF EXIST       1      39  c:\work\gtap\GTAP8inGAMS\data07\gsdvole.gdx
    15       49 CALL           1      49  gams setx gdx=setx
    16       52 GDXIN          1      52  c:\work\gtap\GTAP8inGAMS\build\setx.gdx
    17       55 CALL           1      55  del /q setx.*
    18      709 EXIT           1     709  c:\work\gtap\GTAP8inGAMS\build\flex2gdx.gms


COMPILATION TIME     =        0.219 SECONDS    3.2 Mb  WIN215-140 Nov 11, 2004


USER: Joint Prog. on the Sci. & Policy of Global ChanG040109:1139AR-WIN
      MIT                                                          DC11 
      License for teaching and research at degree granting institutions


**** FILE SUMMARY

Input      c:\work\gtap\GTAP8inGAMS\build\flex2gdx.gms
Output     c:\work\gtap\GTAP8inGAMS\build\flex2gdx_07

**** USER ERROR(S) ENCOUNTERED
