6.13. Smkinven

6.13.1. Description
6.13.2. Processing Order
6.13.3. Files and Environment Variables

6.13.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 or CF-compliant NetCDF format as an area sourc.

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:

  • 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)

  • Special mobile link format

  • FF10 (Flat File 10) format for many different source categories including day-specific, hour-specific, monthly and annual for nonpoint, nonroad mobile, on-road mobile, and point sources (comma or semicolon delimited)

  • ASCII Continuous Emissions Monitoring (CEM) format (hour-specific point-source emissions)

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

  • LIST GRID format (for reading multiple gridded one-layer annual CF-compliant NetCDF inventory data) as area sources

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

It is not possible to import only day- or hour-specific data from FF10 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.

The list grid format is simply a list of CF-compliant NetCDF file names with paths with a special format identifier that allows all files in the list to be processed together. To use a list grid format, all input files must have the same or compatible formats with inventory data from the same year.

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.3.4, “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.