4.14.3. Files and Environment Variables

4.14.3.1. Input Files
4.14.3.2. Input Environment Variables
4.14.3.3. Output Files

Figure 4.18. Smkinven input and output files for area sources

Smkinven input and output files for area sources

Figure 4.18, “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 either the COSTCY or GEOCODE_LEVEL4 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 4.19. Smkinven input and output files for mobile sources

Smkinven input and output files for mobile sources

Figure 4.19, “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 SCC reference input file (SCCXREF) created by Gen_8digit_scc.pl.

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 4.20. Smkinven input and output files for point sources

Smkinven input and output files for point sources

Figure 4.20, “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. Finally, the REPINVEN report contains various information about the processed inventory.

4.14.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
GEOCODE_LEVEL[1-4] ASCII A, B, M, P Geographical level codes and descriptions for gridded inventories, only when USE_EXP_GEO_CODES is set to Y, (COSTCY is ignored when GEOCODE_LEVEL[1-4] files are used)
GRIDMASK I/O API NetCDF A, B, M, P Defines an integer geocode to specify the predominant country and state code covered by each grid cell (GEOCODE_LEVEL) and an integer TZONES to specify the predominant Time Zone for each grid cell.
INVTABLE ASCII A, M, P Inventory data table listing pollutant and activity names
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
SCCXREF (optional) ASCII M SCC cross reference input file created by Gen_8digit_scc.pl. It maps aggregated mobile activity SCC8 to full SCC10.

4.14.3.2. Input Environment Variables

  • USE_EXP_GEO_CODES: [default: N]

    If set to Y then use GEOCODE_LEVEL[1-4] files instead of the COSTCY file to define expanded geographical detail such as country-level(GEOCODE_LEVEL1), country/state-level (GEOCODE_LEVEL2), country/state/county-level (GEOCODE_LEVEL3) or country/state/county/tribal-level (GEOCODE_LEVEL4).

  • 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

  • EXCLUDE_REF_SCC_YN: [default: N]

    Defines whether to exclude a list of SCCs that are not listed in Section 6.10.11, “SCCXREF: Reference SCC input file”. This option is only applicable when USE_REF_SCC_YN is set to Y.

    • Y: Import day-specific data

    • N: Do not import day-specific data

  • FF10_AVEDAY_ANNINV_YN: [default N]

    Uses area daily or hourly FF10-formatted invenotry as annual data. This will allow users to process ARDAY or ARHOUR invenotry data independently without artifical annual inventory data.

    • Y: Use daily or hourly FF10-formatted inventory as annual data.

    • N: Do not use daily or hourly FF10-formatted inventory as annual data. Just it as daily or hourly FF10-formatted inventory 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.

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

  • FLOW_RATE_FACTOR: [default: 0.0 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. Detail information is described in Section 2.8.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 4.2.3.2, “Input Environment Variables”. In this context, this option affects cross-referencing for the ARTOPNT, and NHAPEXCLUDE 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

  • 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

  • INVNAME1: [default: none]

    Sets root for naming output map inventory file

  • INVNAME2: [default: none]

    Sets root for naming output ASCII inventory file

  • MIN_STK_HEIGHT: [default: 0.5]

    Define minimum stack height in unit of meter

  • MAX_STK_HEIGHT: [default: 5100.0]

    Define maximum stack height in unit of meter

  • MIN_STK_DIAMETER: [default: 0.01]

    Define minimum stack diameter in unit of meter

  • MAX_STK_DIAMETER: [default: 100.0]

    Define maximum stack diameter in unit of meter

  • MIN_STK_TEMPERATURE: [default: 260.0]

    Define minimum stack exit temperature in unit of Kelvin

  • MAX_STK_TEMPERATURE: [default: 2000.0]

    Define maximum stack exit temperature in unit of Kelvin

  • MIN_STK_VELOCITY: [default: 0.0001]

    Define minimum stack exit velocity in unit of m/sec

  • MAX_STK_VELOCITY: [default: 500.0]

    Define maximum stack exit velocity in unit of m/sec

  • NONHAP_TYPE: [default: VOC]

    Define the name of organic compound inventory pollutant VOC or TOG for a proper integration between VOC or TOG, and hazardous air pollutants (HAPs) to compute NONHAPVOC or NONHAPTOG. See Section 2.8.5, “Combine toxics and criteria inventories” for a more detail description of criteria/HAP VOC integration. This option will be used only when SMK_PROCESS_HAPS is set.

  • NO_STACK_REPLACE_FUGITIVE: [default: N]

    Defines whether the program skips correcting any missing and/or out-of-range stack parameters.

    • Y: Skip correcting any missing and/or out-of-range stack parameters

    • N: Do not skip correcting any missing and/or out-of-range stack parameters

  • OUTPUT_LOCAL_TIME: [default: N]

    Defines whether the program processes daily/hourly inventories in local time or not.

    • Y: Process daily/hourly inventories in local time. No time zone shift.

    • N: Apply time zone shift.

  • PROCESS_MULT_ORIS_UNITS_YN : [default: N]

    Defines whether the program considers ORIS and Boiler IDs as additional source characteristics along with native point inventory source characteristics (i.e., facility, unit, release point, and process IDs).

    • Y: Consider ORIS/Boiler IDs along with native point characteristics. NOTE that this option will internally modify the unit IDs by appending '_##' when there are multiple ORIS/Boiler IDs Continuous Emissions Monitoring (CEM) sources under same unit IDs.

    • N: Do not consider ORIS/Boiler IDs as point characteristics.

  • 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 or the GEOCODE_LEVEL4 file.

  • 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_PROCESS_HAPS: [default: blank]

    Defines how to treat sources for combining criteria VOC and hazardous air pollutants (HAP) together. See Section 2.8.5, “Combine toxics and criteria inventories” for more detail.

    • ALL: Treat 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 6.10.7, “NHAPEXCLUDE: NonHAP VOC calculation inclusions/exclusions file”.

  • SMK_SOURCE: See description in Section 4.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 the user 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.

  • SMKINVEN_MONTH: [default: 0 ]

    Defines the number of month to process. The integer month number will allow users to pick monthly total inventory data in area FF10-formatted invenotry data listed at Table 6.15, “FF10 Format for ARINV.

  • USE_REF_SCC_YN: [default: N]

    Defines whether use reference SCC (i.e., SCC8) to full SCC (i.e., SCC10) mapping input file to convert reference SCC-level inventory to full SCC inventory. See detail from Section 6.10.11, “SCCXREF: Reference SCC input file”

    • Y: Use reference SCC mapping input file to convert reference SCCs to full SCCs.

    • N: Do not use SCCXREF input file.

  • 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: N]

    Clarifies the nature of the “average-day” data read in by Smkinven and will impact the Temporal program processing of average-day data for all 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

4.14.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)
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