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
. 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”.
$SMK_HOME/data
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_
directory is the same as the $ESCEN
run_
, $ASCEN
run_
, $BSCEN
run_
, and $MSCEN
run_
directories. In the figure, this single directory is shown simply as $PSCEN
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_
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.
$BSCEN
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/
: 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
$INVEN
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.
and $INVOP
.txtnroad.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.
and $INVOP
.txtNSCC.
(e.g., $INVOP
.txtASCC.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.
. The additional inventory files are named $INVOP
.txtmobl.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.
. The additional inventory files are named $INVOP
.txtpnts.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_
: 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.
$BSCEN
/output/$SPC
run_
: Discussed in Section 3.2.5, “Locations of model-ready output files for base and growth/control cases”$ESCEN
/output
run_
: Contains the intermediate hourly emissions files and other time-dependent files. The intermediate files in this directory
include:
$ESCEN
/scenario
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_
: Contains the matrices and other time-independent files. The intermediate files in this directory include:
$ESCEN
/static
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
: Contains the log files created when the SMOKE programs are run
$LOGS
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.
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, Using SMOKE Scripts, 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).
The $SCENARIO
directory for the future case is now a subdirectory of data/run_
. The $ESCEN
_$fyr2
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_
. 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 $ESCEN
_$fyr2
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_
. For the case of growth and controls, the directory will be named $ESCEN
_$CNTLCASE
data/run_
.
$ESCEN
_$fyr2
_$CNTLCASE