3.2.4. Locations of intermediate files for base and growth/control cases

3.2.4.1. Basic configuration for base case
3.2.4.2. Advanced configuration for base case
3.2.4.3. Configuration for growth and/or control case

The intermediate files for SMOKE are located in three primary directories for each case: the inventory output directory ($INVOPD), the scenario directory ($SCENARIO), and the static files directory ($STATIC). All intermediate file locations are subdirectories of the $SMKDAT directory shown in Figure 3.1, “Basic SMOKE directories: the first three levels of the directory structure” as $SMK_HOME/data. Note that Figure 3.4, “Locations of intermediate and output files for SMOKE base case, basic configuration”, Figure 3.5, “Locations of intermediate and output files for SMOKE base case, advanced configuration”, and Figure 3.6, “Locations of intermediate and output files for SMOKE future-/past-year case” show both intermediate and output directories. Here we focus only on the intermediate directories; the output directories are discussed in Section 3.2.5, “Locations of model-ready output files for base and growth/control cases”.

3.2.4.1. Basic configuration for base case

Figure 3.4, “Locations of intermediate and output files for SMOKE base case, basic configuration” shows the SMOKE intermediate directories for a basic configuration of a base case. In this configuration, the Assigns file variables ASCEN, BSCEN, MSCEN, PSCEN, and ESCEN are all set to the same value. These variables are the scenario names for the four processing categories (area, biogenic, mobile, and point) and the combined category (used when combining emissions from multiple source categories). Having these variables set to the same value allows a simpler structure in which the run_$ESCEN directory is the same as the run_$ASCEN, run_$BSCEN, run_$MSCEN, and run_$PSCEN directories. In the figure, this single directory is shown simply as run_$ESCEN.

The $BSCEN setting for biogenic sources is often set to a different scenario name, usually simply “beld2” or “beld3”. This is because there are not very many scenarios to choose from for biogenic emissions, since users almost always want to use one of the standard approaches and there are usually no control strategies considered for biogenic emissions. In this case, the run_$BSCEN directory is a separate branch in the directory structure that stores just the biogenic files for use by both base case and future-year control scenarios. For the nctox test case, we have not used this approach since the biogenic data is specific to the nctox modeling domain.

Figure 3.4. Locations of intermediate and output files for SMOKE base case, basic configuration

Locations of intermediate and output files for SMOKE base case, basic configuration

The following list describes the intermediate files that are associated with each of the intermediate directories $INVOPD, $SCENARIO, and $STATIC. You can refer to Chapter 9, SMOKE Intermediate Files for more information about each of the intermediate files (look under the logical file names).

  • inventory/$INVEN: This directory contains the SMOKE intermediate inventory files, including the directories associated with them. These files are the outputs from Smkinven, and Tmpbeis3. The outputs from Smkinven are map-formatted (see below for more information) while the biogenic outputs are I/O API NetCDF format. The subdirectories area_dat, mobl_dat, nroad_dat, and pnts_dat contain the files that store the emissions values for each pollutant in the inventory. The intermediate files in this directory include:

    • AREA: Map-formatted SMOKE intermediate files for nonpoint/stationary area sources (from the ARINV input file) and/or nonroad mobile sources (from either the ARINV input file or from the NRINV input file if nonroad mobile sources are being run separately from other SMOKE area sources). Example file names include area.map.$INVOP.txt and nroad.map.$INVOP.txt.

      The data from the inventories is stored in several different files, both ASCII and I/O API format. The map-formatted intermediate files are used to organize and keep track of these separate files. See Chapter 9, SMOKE Intermediate Files for an example and further discussion of the intermediate inventory files. For the AREA file, the additional inventory files area.ncf and asrc.txt are stored in the $INVOPD directory. The pollutant-specific files are stored in the area_dat directory. For the NROAD file, the files are named nroad.ncf and nsrc.txt and the pollutant-specific files are placed in the nroad_dat directory.

    • ARDAY: The day-specific SMOKE area-source intermediate inventory.

    • ARHOUR:The hour-specific SMOKE area-source intermediate inventory.

    • ASCC: List of area-source SCCs in the inventory. Can include ASCC.$INVOP.txt and NSCC.$INVOP.txt (e.g., ASCC.nei99.txt and NSCC.nei99.txt).

    • B3GRD: Normalized gridded biogenic emissions.

    • MOBL: Map-formatted SMOKE intermediate file for on-road mobile sources. Example file name is mobl.map.$INVOP.txt. The additional inventory files are named mobl.ncf and msrc.txt, and the pollutant-specific files are placed in the mobl_dat directory.

    • MSCC: List of on-road mobile-source SCCs in the inventory; e.g., MSCC.$INVOP.txt.

    • PDAY: The day-specific SMOKE intermediate inventory.

    • PHOUR: The hour-specific SMOKE intermediate inventory.

    • PNTS: Map-formatted SMOKE intermediate file for point sources. Example file name is pnts.map.$INVOP.txt. The additional inventory files are named pnts.ncf and psrc.txt, and the pollutant-specific files are placed in the pnts_dat directory.

    • PSCC: List of point-source SCCs in the inventory; e.g., PSCC.$INVOP.txt.

  • reports: Discussed in Section 3.2.6, “Locations of reports”

  • run_$BSCEN/output/$SPC: Contains the hourly, gridded, speciated biogenic emissions files. These are listed in this subsection for intermediate files because in some cases these are not ready for the AQM, because the units need to be converted. Tmpbeis3 can output emissions in either moles/hr or moles/s. The CMAQ model needs data in units of moles/s.

  • run_$ESCEN/output: Discussed in Section 3.2.5, “Locations of model-ready output files for base and growth/control cases”

  • run_$ESCEN/scenario: Contains the intermediate hourly emissions files and other time-dependent files. The intermediate files in this directory include:

    • ATMP, MTMP, PTMP: The area/nonroad, mobile, and point hourly emissions created by the Temporal program.

    • ATSUP, MTSUP, PTSUP: The area/nonroad, mobile, and point temporal allocation supplementary files.

    • PLAY: The point-source hourly layer fraction for each source.

    • PLAY_EX: The point-source hourly layer fractions for explicit plume rise sources when processing for UAM or CAMX.

  • run_$ESCEN/static: Contains the matrices and other time-independent files. The intermediate files in this directory include:

    • ACMAT, MCMAT, PCMAT: The area/nonroad, mobile, and point multiplicative control matrices.

    • AGMAT, MGMAT, PGMAT: The area/nonroad, mobile, and point gridding matrices.

    • AGSUP, MGSUP: The area/nonroad and mobile supplementary gridding files.

    • APMAT, MPMAT, PPMAT: The area/nonroad, mobile, and point growth matrices.

    • ARMAT, MRMAT, PRMAT: The area/nonroad, mobile, and point reactivity control matrices.

    • ARSUP, MRSUP, MRSUP: The area/nonroad, mobile, and point reactivity supplementary files.

    • ASMAT_L, MSMAT_L, PSMAT_L: The area/nonroad, mobile, and point mole-based speciation matrices.

    • ASMAT_S, MSMAT_S, PSMAT_S: The area/nonroad, mobile, and point mass-based speciation matrices.

    • ASSUP, MSSUP, PSSUP: The area/nonroad, mobile, and point supplementary speciation files.

    • PELV: The point-source elevated- and PinG-source selection file

    • $LOGS: Contains the log files created when the SMOKE programs are run

3.2.4.2. Advanced configuration for base case

Instead of using the basic configuration technique of setting the scenario name variables (ASCEN, BSCEN, MSCEN, PSCEN, and ESCEN) all to the same value (Section 3.2.4.1, “Basic configuration for base case”), you can set up an Assigns file to use different values for one or more of these variable. In this more advanced configuration, separate directories are created and used for intermediate and output files for each source category (examples of when this would be useful are given in the bullets below). Figure 3.5, “Locations of intermediate and output files for SMOKE base case, advanced configuration” illustrates the directory structure resulting from this approach; however, for simplicity’s sake, we have not included all of the files in this structure. The files are the same as in Figure 3.4, “Locations of intermediate and output files for SMOKE base case, basic configuration”, with the exception that files specific to a source category go to their category-specific directories, based on the values given to ASCEN, BSCEN, MSCEN, and/or PSCEN. Note that the nonpoint (stationary area) and nonroad mobile sources would need to use the same scenario name, even if they are processed separately, because the nonroad mobile static and scenario directories are set using the same ASCEN variable as for other area sources in the default Assigns files. Having separate source-category-specific directories does not change the number of intermediate or output files, it just rearranges the files and results into fewer intermediate, output, and/or report files in each directory.

This approach is particularly useful in the following cases:

  • Using toxic inventories for some source categories but not others: In this case, different scenario names (ASCEN, MSCEN, PSCEN, and ESCEN) can be used to distinguish each case and the final-merged files (though it is not required to do this). For example, if you were running toxics for on-road mobile sources only, MSCEN could be set to “case1_tox”, while ASCEN and PSCEN could be set to just “case1” and ESCEN could be “case1_all”. If you would prefer instead to name all of these “case1” and simply remember that on-road mobile sources include toxics, then that would be fine as well.

  • Using the Mrggrid program to combine model-ready files from several previously run scenarios: For example, you might want to combine the future-year base case for all source categories except nonroad with a future-year control case for nonroad, as part of an evaluation of the impact of the nonroad control case. If three previous Assigns files were set up using the basic structure for three different control cases (case1, case2, and case3), and a new case is needed that uses area sources from case1, on-road mobile sources from case2, and point sources from case3, you could set up a new Assigns file that sets ASCEN to case1, MSCEN to case2, and PSCEN to case3. When you invoke that new Assigns file, all of the environment variables needed by Mrggrid for combining the model-ready files from the three different cases would be set: AGTS_L would be based on case1, MGTS_L would be based on case2, and PGTS3D_L would be based on case3. See Section 3.2.5, “Locations of model-ready output files for base and growth/control cases” for more information on the model-ready files.

Figure 3.5. Locations of intermediate and output files for SMOKE base case, advanced configuration

Locations of intermediate and output files for SMOKE base case, advanced configuration

3.2.4.3. Configuration for growth and/or control case

The directory structure changes for growth and control cases. The default growth and control scripts have additional settings that impact the intermediate directories when running SMOKE. These settings are described in more detail in Chapter 4, How to Use SMOKE, but we introduce them here because they are closely linked to the directory structures used by SMOKE. The default configuration of SMOKE uses different directories for files impacted by growth and control so that they will be separated from the base-year files; this helps keep users from accidentally confusing their base and grown and/or controlled files.

The key script environment variables that impact the directory structures are:

  • CNTLCASE: Sets the name of the control case that will impact the directory names. Also is used by the scripts to set the required name of the GCNTL files containing the packets for defining growth and controls for the Cntlmat program.

  • FYEAR: Sets the future year with a four-digit year. The last two digits of the year are used to set the internal variable fyr2. For example, if FYEAR is set to 2018, fyr2 will be 18. FYEAR is also used by the scripts to set the required name of the GCNTL files containing the packets for defining growth and controls for the Cntlmat program.

  • SMK_FUTURE_YN: When set to Y, this setting causes the Assigns file to change the SMOKE intermediate inventory file names by inserting $fyr2 into the individual file names. The Assigns file also changes the intermediate and output paths by appending $fyr2 to $ASCEN, $MSCEN, $PSCEN, and $ESCEN (affecting the $STATIC and $SCENARIO directories and file names of intermediate files). This is illustrated in Figure 3.6, “Locations of intermediate and output files for SMOKE future-/past-year case”.

  • SMK_CONTROL_YN: When set to Y, this setting causes the Assigns file to change the SMOKE intermediate inventory file names by inserting $CNTLCASE into the individual file names. The Assigns file also changes the intermediate and output paths by appending $CNTLCASE to $ASCEN, $MSCEN, $PSCEN, and $ESCEN (affecting the $STATIC and $SCENARIO directories and file names of intermediate files).

Figure 3.6. Locations of intermediate and output files for SMOKE future-/past-year case

Locations of intermediate and output files for SMOKE future-/past-year case

The $SCENARIO directory for the future case is now a subdirectory of data/run_$ESCEN_$fyr2. The ATMP, MTMP, and PTMP files are stored in this directory, because these depend on the future-year emissions inventory. Although the temporal profile assignments stored in the ATSUP, MTSUP, and PTSUP files may not have changed from the base case, these files are written out for the future-/past-year case to be consistent with the output files created by Temporal for the base case.

The $STATIC directory for the future case is now a subdirectory of data/run_$ESCEN_$fyr2. However, unlike Figure 3.4, “Locations of intermediate and output files for SMOKE base case, basic configuration”, Figure 3.6, “Locations of intermediate and output files for SMOKE future-/past-year case” indicates that only the PELV file is stored in this directory. This is because SMOKE permits reusing the base-year gridding matrices and speciation matrices for growth and control cases. The growth and control matrices will also be stored in the base-year $STATIC directory. Therefore, the only file that is stored in the future-year $STATIC directory is the PELV file, which can depend on the emissions values in the future year. For example, if the elevated-source selection criteria were based on the future-year daily maximum emissions, then this PELV file would be different than the base-year file. It is therefore most safely stored in a directory that is named with the future-year (or control case) information.

When using controls only (no growth), $SCENARIO and $STATIC will be subdirectories of data/run_$ESCEN_$CNTLCASE. For the case of growth and controls, the directory will be named data/run_$ESCEN_$fyr2_$CNTLCASE.