6.13.3. Files and Environment Variables

6.13.3.1. Input Files
6.13.3.2. Input Environment Variables
6.13.3.3. Output Files

Figure 6.13. Smkinven input and output files for area sources

Smkinven input and output files for area sources

Figure 6.13, “Smkinven input and output files for area sources” shows the input and output files for Smkinven for area sources. If importing gridded data, Smkinven reads the AG file; for the annual inventory, Smkinven reads the ARINV file. The ARTOPNT file is used to assign point-source locations to area sources, and the COSTCY file is used to assign time zones to the annual inventory data. Smkinven also uses the inventory data table (INVTABLE), the optional NONHAP exclusions file (NHAPEXCLUDE), and the SCC description file (SCCDESC) if processing area-to-point sources.

Smkinven outputs an annual and average-day inventory emissions file (AREA), a file listing the inventory SCCs (ASCC), a log file (LOGFILE), and a report containing various information about the processed inventory (REPINVEN).

Figure 6.14. Smkinven input and output files for mobile sources

Smkinven input and output files for mobile sources

Figure 6.14, “Smkinven input and output files for mobile sources” shows the input and output files for Smkinven for mobile sources. The input files include the country, state and county codes file (COSTCY), the inventory data table (INVTABLE), the raw inventory file (MBINV), and the mobile codes file (MCODES). The NONHAP exclusions file (NHAPEXCLUDE) is optional as is the VMTMIX file.

Smkinven outputs a log file (LOGFILE), an annual and average-day inventory emissions file (MOBL), a file listing the inventory SCCs (MSCC), and a report containing various information about the processed inventory (REPINVEN).

Figure 6.15. Smkinven input and output files for point sources

Smkinven input and output files for point sources

Figure 6.15, “Smkinven input and output files for point sources” shows the input and output files for Smkinven for point sources. The input files include the optional CEM summary file (CEMSUM) created by CEMScan, the country, state and county codes file (COSTCY), the inventory data table (INVTABLE), and the optional NONHAP exclusions file (NHAPEXCLUDE). If importing hour-specific data, the ORIS facility description file ORISDESC is used. The PSTK file provides replacement stack parameters. Day-specific data is read from the PTDAY file, while hour-specific data comes from the PTHOUR file; the PTINV file provides the raw inventory data. For hour-specific data, the SCC description file (SCCDESC) is also needed.

Smkinven outputs a log file (LOGFILE), and optional day-specific inventory (PDAY), and an optional hour-spceific inventory (PHOUR). The annual and average-day inventory emissions are stored in the PNTS file and the PSCC file lists the inventory SCCs. For EMS-95 formatted inputs, an optional temporal profiles file (PTREF_ALT) is output. Finally, the REPINVEN report contains various information about the processed inventory.

6.13.3.1. Input Files

File Name Format Source Type Description
AG (optional) I/O API NetCDF A Gridded annual or average-day data; this file can be created by Smkmerge and must be time-independent
[AR|MB|PT]INV ASCII A, M, P Annual and average-day emissions and source characteristics raw inventory data
ARTOPNT (optional) ASCII A Area-to-point cross-reference file for assigning X and Y locations to area sources
CEMSUM (optional) ASCII P CEM summary data produced by CEMScan
COSTCY ASCII A, M, P Country, state, and county codes file, with time zones
INVTABLE ASCII A, M, P Inventory data table listing pollutant and activity names
MCODES ASCII M Mobile codes for converting road class to road type and vehicle type name to vehicle type number
NHAPEXCLUDE (optional) ASCII A, M, P List of counties and SCCs to exclude from toxics integration
ORISDESC (optional) ASCII P ORIS facility descriptions, needed for getting ORIS facility names for reporting purposes when CEM hour-specific data are read
PSTK ASCII P Replacement stack parameters file
PTDAY (optional) ASCII P Day-specific raw inventory data
PTHOUR (optional) ASCII P Hour-specific raw inventory data
SCCDESC (optional) ASCII P SCC descriptions, needed for reading CEM hour-specific data only, to select electric generator facilities in the inventory
VMTMIX (optional) ASCII M Assigns fractions of VMT to individual vehicle types; used when importing EMS-95 mobile data

6.13.3.2. Input Environment Variables

  • ALLOW_NEGATIVE: [default: N]

    Indicates if Smkinven should permit negative emissions values to be input from inventory files and output to SMOKE intermediate files.

    • Y: Accept negative emissions values and will allow compute variables (from the SMKINVEN_FORMULA variable) to be negative. Smkinven gives warnings for each negative value in the inventory input and each computed value, until triggering the SMK_MAXWARNING setting's values.

    • N: Do not permit negative emissions values. Accept negative emissions values in the input inventory files, and will give errors for these. Smkinven will reset all negative computed values (from the SMKINVEN_FORMULA variable) to zero. Smkinven gives warnings for each negative computed value and indicates that the value was reset to zero.

  • CHECK_STACKS_YN: [default: Y]

    Indicates if stack parameter values should be checked for missing or out-of-range values; only checked if SMK_SOURCE is set to P.

    • Y: Check input stack parameters for missing or out-of-range values

    • N: Do not check input stack parameter values

  • DAY_SPECIFIC_YN: [default: N]

    Defines whether to import day-specific inventory data.

    • Y: Import day-specific data

    • N: Do not import day-specific data

  • FILL_ANNUAL: [default N]

    Allows annual data to be filled in with average-day data.

    • Y: Use “Y” when annual emission numbers are blank for some records of the inventory but not all records. The emissions values will be filled in using the average-day emissions field, by multiplying the average-day number by the number of days in the inventory year (365 or 366). This option is useful when some sources have only annual data and some sources have only average-day data. Although the annual number will be filled in using the average-day one, the average-day emissions will be output from SMOKE as a whole. Note that SMK_AVEDAY_YN should be set to N in other SMOKE programs when this option has been selected.

    • N: Do not fill in annual data based on average-day emissions values.

  • FLOW_RATE_FACTOR: [default: 15875 ft3/MMBTU]

    Used to calculate hourly flow rates from hourly heat input when reading CEM data. If FLOW_RATE_FACTOR is set to zero or unset, then Smkinven will not calculate hourly flow rates. TDetail information is described in Section 2.9.19, “Processing hour-specific CEM data”

    hourly flow rate (m3/s) = [FLOW_RATE_FACTOR (ft3/MMBTU) * hourly heat input (MMBTU/hr) * 0.02831 m3/ft3] / 3600 s/hr

  • FULLSCC_ONLY: See description in Section 6.2.3.2, “Input Environment Variables”. In this context, this option affects cross-referencing for the ARTOPNT, NHAPEXCLUDE, and VMTMIX files by preventing left-7 SCC assignments. It also prevents left-2 and left-4 SCC assignments for NHAPEXCLUDE.

  • HOUR_SPECIFIC_YN: [default: N]

    Defines whether to import hour-specific inventory data.

    • Y: Import hour-specific data

    • N: Do not import hour-specific data

  • HOURLY_TO_DAILY: [default: N]

    Defines whether to treat the hour-specific inputs as day-specific data.

    • Y: Use daily-total column only from hour-specific input file, and process as day-specific data. This setting does not work for input of hour-specific data using CEM format.

    • N: Treat hourly file as hourly data

  • HOURLY_TO_PROFILE: [default: N]

    Defines whether to treat the hour-specific inputs as hour-specific temporal profiles.

    • Y: Treat hourly data as temporal profile, and divide each hourly value by value in the daily total column of the file. The values are not renormalized. The resulting hour-specific output file will be recognized by the Temporal program as containing hourly profiles. This setting does not work for input of hour-specific data using CEM format.

    • N: Treat hourly file as hourly data

  • HOURLY_WIDE_FMT: [default: N]

    Defines whether to import the hour-specific data in EMS-95 wide format or not.

  • IMPORT_AVEINV_YN: [default: Y]

    Defines whether to import the annual and average-day inventory data. This is set to N to import day-specific or hour-specific data after Smkinven has previously been run for the annual and average-day data.

    • Y: Import annual and average-day inventory data from PTINV file

    • N: Use SMOKE inventory files from a previous run of Smkinven to get the SMOKE source characteristics to match with the day-specific and hour-specific sources

  • IMPORT_GRDIOAPI_YN: [default: N]

    Defines whether the program will import a gridded I/O API NetCDF inventory file. This setting can be used only with area-source processing, and it overrides all other program settings for importing data (e.g., day- and hour-specific data import will be shut off).

    • Y: Import gridded I/O API data

    • N: Do not import gridded I/O API data

  • IMPORT_VMTMIX_YN: [default: N]

    Indicates whether VMT mix data should be imported.

    • Y: Import VMTMIX file; required if using EMS-95 mobile format

    • N: Do not import VMT mix data

  • INVNAME1: [default: none]

    Sets root for naming output map inventory file

  • INVNAME2: [default: none]

    Sets root for naming output ASCII inventory file

  • NONHAP_TYPE: [default: VOC]

    Define the pollutant types either VOC or TOG for criteria/HAP VOC (or TOG) integration. See Section 2.9.5, “Combine toxics and criteria inventories” for a more detail description of criteria/HAP VOC integration. This option will be used only when SMK_NHAPEXCLUDE_YN or SMK_INTEGRATE_ALL_YN is set to Y.

  • RAW_DUP_CHECK: [default: N]

    Defines whether the program checks for duplicate records in the input file.

    • Y: Check for duplicates, and produce a fatal error if found

    • N: Do not check for duplicates, and add emissions from duplicate records

  • SMK_ARTOPNT_YN: [default: N]

    • Y: Assign X and Y coordinates to specified sources based on the ARTOPNT cross-reference file

    • N: Do not perform area-to-point processing

  • SMK_BASEYR_OVERRIDE: [default: 0]

    Used to override the base year determined by the inventory.

  • SMK_DEFAULT_TZONE: [default: 5]

    Defines the default time zone to use for sources that do not match entries in the COSTCY file.

  • SMK_EMS95_FIXFMT: [default: N]

    Indicates whether mobile EMS-95 inventory is fixed format (column-specific) or free format (delimited list).

    • Y: Mobile EMS-95 inventory is fixed format

    • N: Mobile EMS-95 inventory is free format

  • SMK_MAXERROR: [default: 100]

    Defines the maximum number of ERROR statements to be displayed by SMOKE.

  • SMK_MAXWARNING: [default: 100]

    Defines the maximum number of WARNING statements to be displayed by SMOKE.

  • SMK_NHAPEXCLUDE_YN: [default: N]

    For SMOKE version 2.6 and higher, this environment variable is replaced by SMK_PROCESS_HAPS to provide more options to Smkinven to include/exclude sources for NONHAP[VOC|TOG] calculations. Once SMK_PROCESS_HAPS is set, SMK_NHAPEXCLUDE_YN gets deactivated.

  • SMK_PROCESS_HAPS: [default: blank]

    Defines how to treat sources for combining criteria VOC and hazardous air pollutants (HAP) together. See Section 2.9.5, “Combine toxics and criteria inventories” for more detail. Once it is set, it will override the setting of SMK_NHAPEXCLUDE_YN.

    • ALL: Treate all sources as integrated if a toxics inventory has been provided. Does not require an NHAPEXCLUDE file

    • NONE: Treat all sources as non-integrate if a toxics inventory has been provided. Does not require an NHAPEXCLUDE file

    • PARTIAL: Read the NHAPEXCLUDE cross-reference file and either include or exclude the specified sources from the NONHAP[VOC|TOG] calculation depending on the header of the NHAPEXCLUDE file. See Section 8.10.6, “NHAPEXCLUDE: NonHAP VOC calculation inclusions/exclusions file”.

  • SMK_SOURCE: See description in Section 6.2.3.2, “Input Environment Variables”

  • SMK_TMPDIR: [default: .]

    Sets the path for writing temporary files needed when importing the inventory.

  • SMKINVEN_FORMULA: [default: blank]

    Allows you to specify a formula for computing one or more pollutant values from the values of other pollutants. To use, users should set the value of SMKINVEN_FORMULA to a double-quote-enclosed string of 512 characters or less, using a comma-delimited list of formulas. No spaces are necessary in the formula list. Only formulas of a specific structure are accepted. Specifically, one of the following:

    • OUTPUT = INPUT1 + INPUT2
    • OUTPUT = INPUT1 - INPUT2

    For example, if the formula is set to “PMC=PM10-PM2_5,EXH__PMC=EXH__PM10-EXH__PM2_5”, then Smkinven will compute two new variables: (1) PMC, as the difference between PM10 and PM2.5 and (2) EXH__PMC as the difference between exhaust PM10 and exhaust PM2.5. The pollutant units are taken from the first variable in each formula. The variables used as input in the formula will still be output to the SMOKE inventory file. If the formula is not set, no additional variables will be written to the SMOKE inventory file. An output from one formula may not be used as an input to another formula. In the OUTPUT pollutant name is the same as an INPUT pollutant name from the inventory file, Smkinven will give an error indicating that the second pollutant could not be written (e.g. if computing PMC when PMC is already in the raw inventory data). If INPUT2 is ommitted, an error will also occur. Formulas using multiplication and division are not yet implemented.

  • VELOC_RECALC: [default: N]

    Defines whether stack velocity is recalculated in order to make the velocity consistent with the reported flow and diameter.

    • Y: Recalculate stack velocity

    • N: Output the input stack velocity

  • WEST_HSPHERE: [default: Y]

    Defines how spatial coordinates are interpreted.

    • Y: Convert longitudinal coordinates for the Western Hemisphere (positive values are converted to negative values)

    • N: Do not convert longitude values (positive values are not changed)

  • WKDAY_NORMALIZE: [default: Y for EMS-95 input format, N for all other formats]

    Clarifies the nature of the “average-day” data read in by Smkinven and will impact the Temporal program processing of EMS-95 formatted data of type “AD” and average-day data for all other formats.

    • Y: Average-day emissions input to Smkinven are based on weekday emissions only. In Temporal, these emissions will be adjusted with weekly profiles normalized with weekdays only (Monday through Friday)

    • N: Average-day emissions input to Smkinven are based on all days of the week. In Temporal, these emissions will be adjusted with weekly profiles normalized with all days of the week.

  • WRITE_ANN_ZERO: [default: N]

    Indicates if annual emission values equal to zero should be written to the intermediate inventory file

    • Y: Write zero emission values; this option makes the intermediate inventory file larger but is sometimes necessary when only daily or hourly data is provided and the entries in the annual inventory are dummy values

    • N: Do not write zero values

6.13.3.3. Output Files

File Name Format Description
[AREA|MOBL|PNTS] SMOKE map Annual and average-day inventory emissions and source characteristics
[ASCC|MSCC|PSCC] ASCII List of SCCs appearing in the raw inventory file
LOGFILE ASCII Log generated from executing Smkinven
ADAY | PDAY I/O API NetCDF Day-specific inventory emissions assigned to sources in annual/average-day files (optional)
AHOUR | PHOUR I/O API NetCDF Hour-specific inventory emissions assigned to sources in annual/average day files (optional)
PTREF_ALT (optional) ASCII Temporal profile identification codes per source; available when EMS-95-formatted point-source data are input
REPINVEN (optional) ASCII

Inventory report file; contents depend on the inventory being processed, but can include:

CEM section:

  • ORIS IDs from the CEM matched to the inventory
  • ORIS IDs from the CEM not matched to the inventory
  • Power-generating inventory sources not matched to the CEM

Toxics section:

  • Total emissions and number of inventory records by CAS number
  • Total emissions before and after aggregation by CAS number

Area-to-point section:

  • SCCs in the ARTOPNT file but not in the inventory
  • Total emissions before and after area-to-point processing by pollutant, state, and SCC