Skip to main content

Getting Started: WiNDC Build Stream

Utilities and Dataset Description

The WiNDC build routine is a collection of GAMS programs that generate subnational economic accounts for input-output or computable general equilibrium models of the United States economy. All code and data necessary for producing subnational accounts are provided in this repository. Currently, the routine can produce state level accounts.

We begin with the national input-output table of the Bureau of Economic Analysis (BEA) and downscale to the regional level using publicly available economic statistics from government agencies. We use additional data from the BEA on regional gross product and consumer expenditures and data from the Census Bureau on foreign trade and state government expenditures. We show how to combine publicly avialable data from these sources and other government agencies to compile a database that serves as input data for the WiNDC build stream. The WiNDC build stream generates the core WiNDC database. The database contains multisectoral subnational economic datasets for the years 1997 to 2017.

In addition to the core WiNDC database, we offer two modules: the energy-environment module, called blueNOTE, and a basic agricultural module, called NASS.


  • The WiNDC build stream package, including a GDX file with all data sources and the GAMS file build.gms that generates the core WiNDC database: (12.6 MB).
    Note that the files are described in the paper.
  • The pre-compiled core WiNDC database: in GDX format (47 MB).
  • The datasources files (298 MB). Note that a GDX file with a compilation of all datasources is part of the WiNDC build stream package.


The GAMS code is platform-independent.

Step-By-Step Instructions

These instructions refer to the current release of the WiNDC build. For details on WiNDC 2.0, see Getting Started: WiNDC 2.0.

If you are interested only in the core WiNDC database, you can download it in GDX format (47 MB). If you are interested in details of the build, the source datasets and the modules, please follow the steps outlined below.

  1. Download the WiNDC build stream package: (12.6 MB).
  2. Unzipping the file will create a directory called windc_build_2_1 with the subdirectory build_files, and the GAMS files build.gms, disagg.gms and recalibrate.gms. These GAMS files perform the build, disaggregation, and ultimate re-calibration. We implemented this modular design to give users maximal flexibility for customization. The directory build_files contains all GAMS subroutines and the input data in GDX format. If you are interested in details of the input data, see Getting Started: WiNDC Data System.
  3. If you have a local version of GAMS and have access to the relevant licenses, navigate in your command line or terminal to the directory windc_build_2_1 and run the GAMS file build.gms by simply typing the following command:
    gams build.gms
    Note that this build will work in both, Windows and UNIX/LINUX environments. See the paper for a description of all subroutines within the build stream.
  4. The core WiNDC database, WiNDCdatabase.gdx, will be generated locally in a directory called built_datasets. It contains data for all US states and 71 (summary) sectors from 1997 to 2017.
  5. If you don't have access to a GAMS license including needed solver licenses, you can generate the database locally using NEOS. To run the model on NEOS, type the following command:
    gams build.gms --neos=yes
  6. Once the database is created, it can be loaded into a general equilibrium model in GAMS. The WiNDC build stream package includes the WiNDC core model: windc_model.gms. This model shows how to read the core WiNDC database in a simple general equilibrium model and verify benchmark consistency in the underlying dataset. Note that the model contains no customizations aside from the sectoral aggregation. The model was originally introduced in the WiNDC paper and is also discussed in this tutorial.

Modules: blueNOTE and NASS

  1. Disaggregate
    The core WiNDC database can be disaggregated into specific year and sector data. This is performed with the file disagg.gms.
    For example, the following command will generate a disaggregated data file of key energy sectors:
    gams disagg.gms --aggr=bluenote [--neos=yes]
    Note that the flag --neos=yes is optional. This command generates the file WiNDC_disagg_bluenote.gdx and places it in the directory built_datasets.
    To disaggregate the core WiNDC database for the agricultural sector, use the following command:
    gams disagg.gms --aggr=nass [--neos=yes]
    This command generates the file WiNDC_disagg_nass.gdx and places it in the directory built_datasets.
    The set mappings that control the disaggregation are in the directory build_files/user_defined_schemes. Examples for both blueNOTE and NASS are included with the core distribution. Users are encouraged to customize this based on their specific modeling framework. Please contact us if you have questions about how to build your own disaggregation schemes.
    Note: The file WiNDCdatabase.gdx must exist in the directory built_datasets for the routine disagg.gms to run successfully.
  2. Recalibrate
    To recalibrate the disaggregated blueNOTE dataset, run the following command:
    gams recalibrate.gms --aggr=bluenote --year=2017 [--neos=yes]
    As before, again, the NEOS flag is optional in case you wish to solve the model remotely on the NEOS system. The resulting recalibrated database is called WiNDC_cal_2017_bluenote.gdx and it is placed in the directory built_datasets.
    To recalibrate the disaggregated NASS dataset, run the following command:
    gams recalibrate.gms --aggr=nass --year=2017 [--neos=yes]
    The resulting recalibrated database is called WiNDC_cal_2017_nass.gdx and it is placed in the directory built_datasets. Note that the years 2012 and 2017 are available for the agricultural module NASS .
    Note: In order to successfully run recalibrate.gms, the file WiNDC_disagg_*.gdx must exist in the directory built_datasets.