4.2.3. Files and Environment Variables

4.2.3.1. Input Files
4.2.3.2. Input Environment Variables
4.2.3.3. Output Files

Figure 4.2. Cntlmat input and output files

Cntlmat input and output files

Figure 4.2, “Cntlmat input and output files” shows the input and output files for the Cntlmat program. The input files are the inventory file output from Smkinven (either AREA, MOBL, or PNTS), the control packets file (GCNTL), and the speciation profiles file (GSPRO) if there are reactivity controls (using the /REACTIVITY/ packet).

If the GCNTL file contains /MACT/, /CONTROL/ or /EMS_CONTROL/, /CTG/, and/or /ALLOWABLE/ packets, Cntlmat outputs a multiplicative control matrix file (ACMAT, MCMAT, or PCMAT), a report of multiplicative controls (ACREP, MCREP, or PCREP), and a report of all multiplicative controls applied to the inventory (ACSUMREP, MCSUMREP, or PCSUMREP). Cntlmat also outputs a warning file (ACTLWARN, MCTLWARN, or PCTLWARN) regardless of which packets are used.

If the GCNTL file contains a /PROJECTION/ packet, Cntlmat outputs a growth matrix file (APMAT, MPMAT, or PPMAT) and a growth report (APROJREP, MPROJREP, or PPROJREP).

If the GCNTL file contains a /REACTIVITY/ packet, Cntlmat outputs mole and mass-based reactivity matrix files (either ARMAT_L and ARMAT_S, MRMAT_L and MRMAT_S, or PRMAT_L and PRMAT_S), a reactivity matrix supplement file (ARSUP, MRSUP, or PRSUP), and a report of reactivity controls (AREACREP, MREACREP, or PREACREP). Finally, Cntlmat writes the LOGFILE detailing the program’s execution.

4.2.3.1. Input Files

File Name* Format Description
[AREA|MOBL|PNTS] SMOKE map Intermediate inventory file produced by Smkinven
GCNTL ASCII Control packets file
GSPRO (optional) ASCII Speciation profiles file; only needed for reactivity controls

* As in Figure 4.2, “Cntlmat input and output files”, the notation [AREA|MOBL|PNTS] is used to indicate that only one of the three files is used for a given run.

The physical file name of the input file GCNTL file is typically overridden by the environment that is running Cntlmat. For example, when running SMOKE from scripts using the Assigns file, the projection factor inputs are available as the [A|M|P]PROJ files. So, for instance, the script must set GCNTL as APROJ (or area-source processing) after the Assigns file has been invoked by the script, but before the Cntlmat program is actually run.

4.2.3.2. Input Environment Variables

  • COMPARE_REPLACE_CONTROL: [default: Y]

    Controls the way a replacement control is applied.

    • Y: When set to Y, Cntlmat compares the overall percent reductions (CEFF * RPEN * REFF) from a replacement control in the CONTROL packet against existing percent reductions (either from the base inventory or from a just-applied /MACT/ packet). If the packet's reduction is more control (greater reduction) than the existing controls, then it is applied. Otherwise, it is not applied.

    • N: When set to N, Cntlmat applies replacement controls even if the control is less control than an existing control, which may result in an increase in emissions

  • FULLSCC_ONLY: [default: N]

    Disables any sub-SCC cross-reference assignments that would otherwise be included in the cross-reference hierarchy. For example, the left-7, left-4, and left-2 levels of nonpoint and mobile SCCs would never be used. This is useful when zeros are a natural part of the SCC that the user does not want to assume are present for cross-reference hierarchy purposes. This option affects all Cntlmat input packets that use SCC assignments as part of their hierarchy.

  • PROJECTION_YR_SPEC: [default: Y]

    Sets whether or not entries in the /PROJECTION/ packet are in year-specific format.

    • Y: Year-specific format in use

    • N: Year-specific format not in use

  • REACTIVITY_POL: [default: VOC]

    Sets the pollutant name to use in computing the reactivity matrix.

  • REPORT_DEFAULTS: [default: Y]

    Defines whether or not the program reports when a source uses the default cross-reference.

    • Y: List sources in the log file when they use default cross-reference

    • N: Do not list sources that use the default cross-reference

  • SMK_AVEDAY_YN: [default: N]

    Indicates whether or not to read average day emissions instead of annual emissions from the inventory file.

    • Y: Read average day emissions

    • N: Do not read average day emissions, use annual emissions instead

  • SMK_SOURCE: [default: blank]

    Defines the type of sources to be processed. Valid values are

    • A: Area processing

    • B: Biogenic processing

    • M: Mobile processing

    • P: Point processing

  • SMK_TMPDIR: [default: “.”]

    Sets the path for writing the temporary files needed when processing the /ALLOWABLE/, /CONTROL/, /CTG/, /EMS_CONTROL/, /MACT/, and/or /PROJECTION/ packets (from the GCNTL file).

  • SPEC_OUTPUT: [default: ALL]

    Defines the types of speciation outputs to create.

    • MASS: Output speciation matrix based on mass

    • MOLE: Output speciation matrix based on moles

    • ALL: Output both mass and mole speciation matrices

  • XREF_SICOVERSCC: [default: Y]

    Determines how to deal with packet entries that have both an SCC and SIC

    • Y: Match sources by SIC before SCC

    • N: Match sources by SCC before SIC

4.2.3.3. Output Files

File Name* Format Description
[A|M|P]CMAT I/O API NetCDF Multiplicative control matrix
[A|M|P]CREP ASCII Report of multiplicative controls applied to the inventory
[A|M|P]CREP2 ASCII Detailed before-and-after report of application of the /CONTROL/ packet only, which includes any comments appended to the end of the /CONTROL/ packet entries. These comments can describe the controls being applied with each packet row. This report then includes the base and future overall percent reductions on a source-by-source basis, and includes the CONTROL packet line-specific comments.
[A|M|P]CSUMREP ASCII Report of all controls applied to the inventory, with all controls listed under each source
[A|M|P]CTLWARN ASCII List of warnings
[A|M|P]PMAT I/O API NetCDF Growth matrix
[A|M|P]PROJREP ASCII Report of growth factors applied to the inventory
[A|M|P]REACREP ASCII Report of reactivity controls applied to the inventory
[A|M|P]RMAT_L I/O API NetCDF Mole-based reactivity matrix
[A|M|P]RMAT_S I/O API NetCDF Mass-based reactivity matrix
[A|M|P]RSUP ASCII Reactivity matrix supplemental file
LOGFILE ASCII Log generated from executing Cntlmat

* As in Figure 4.2, “Cntlmat input and output files”, the notation [A|M|P] is used to indicate that only one of the three files is output for a given run.