6.14. Smkinven

6.14.1. Description
6.14.2. Processing Order
6.14.3. Files and Environment Variables

6.14.1. Description

Processing categories: area, mobile, point

Smkinven reads in the raw input data, sorts the records, and creates the SMOKE inventory files that are required by most of the SMOKE programs. The program is run separately for area-, mobile-, and point-source processing. Smkinven reads annual, average-day, day-specific, and hour-specific inventory files. The annual and average-day inventory data are combined into a single inventory. The output also indicates whether the data started out as annual or average-day data; such “temporal origin” information is needed by the Temporal program to determine whether to apply monthly adjustments. Smkinven can also import gridded one-layer annual or average-day emissions in I/O API NetCDF format.

Smkinven writes several SMOKE inventory files for each source category: an ASCII file containing all character-string fields from the inventory, individual I/O API NetCDF files containing emissions data for each output pollutant, and an ASCII map file listing the names and locations of each file. The character string fields cannot be stored in the I/O API NetCDF file because of limitations of the I/O API library. When day-specific and hour-specific data are available (this applies only for point sources), Smkinven can also read these data, and produce separate I/O API NetCDF files for each data type (day-specific or hour-specific).

Smkinven supports the following input file formats and source categories:

  • IDA for area, mobile, point

  • IDA mobile extended (modified to support VMT and pollutants)

  • SMOKE one-record-per-line (ORL) format for nonpoint, nonroad mobile, on-road mobile, and point sources

  • SMOKE one-record-per-line (ORL) format for fire point sources (modified to support wildfires and prescribed fires characteristics and pollutants)

  • EMS-95 area, mobile nonlink (column-specific and list-directed), point

  • Special mobile link format

  • EMS-95 hour-specific point (can also be used to match with IDA inventories)

  • EMS-95 day-specific (modified hour-specific format) point (can also be used to match with IDA inventories)

  • ASCII Continuous Emissions Monitoring (CEM) format (hour-specific point-source emissions); must be used with IDA inventory files for annual or seasonal inventory data.

  • List format (for combining multiple files of the same or compatible formats) for area, mobile, and point

  • Gridded one-layer annual or average-day NetCDF I/O API emissions data (must be treated as an area source)

It is not possible to import only day- or hour-specific data from EMS-95 input files. If only such data are to be used, mock annual files must be created; see Section 8.2.6, “PTDAY: Point source day-specific emissions” and Section 8.2.7, “PTHOUR: Point source hour-specific emissions” for more information on the required formats.

The list format is simply a list of file names with paths with a special format identifier that allows all files in the list to be processed together. To use a list format, all input files must have the same or compatible formats.

When using CEM data, you are encouraged to preprocess your data to prepare them down to the dates and/or sources in the domain. The sources in the grid will be selected based on matching to the inventory (if the inventory is for only states within the modeling grid) and/or by the Grdmat program, which will remove sources outside the grid from the model-ready results.

Smkinven also can process the hourly CEM data in a more sophisticated way. Hourly heat input from the CEM data are used to allocate annual emissons to hourly emission data. More information are available at (Section 5.5, “CEMScan) and (Section 2.9, “Inventory import”)

If new sources are added to the input files or sources are removed, Smkinven must be rerun for that type of source. However, Smkinven does not need to be rerun when processing additional control scenarios, growth projections, speciation profiles, or modeling grids.

By default, Smkinven will fill in missing average-day data with annual data when possible. To fill in missing annual data with average-day data, use the FILL_ANNUAL setting.