The SMOKE scripts have many environment variables that users can set based on the program documentation in Chapter 6, SMOKE Core Programs, as well as environment variables that control the scripts. The variables that control the behavior of the scripts are described in this section. The settings are listed in alphabetical order.
Note that using upper case for the names of these settings in the scripts is required. Any values that are Y or N settings must also be upper case.
For documentation on the A_SPC_OVERRIDE
, N_SPC_OVERRIDE
, B_SPC_OVERRIDE
, M_SPC_OVERRIDE
, and P_SPC_OVERRIDE
settings, please refer to the SPC_OVERRIDE
description.
AUTO_DELETE
: [Y | N] When set to Y, will delete all SMOKE intermediate and output I/O API files automatically. It will not delete intermediate
and output ASCII files or reports.
AUTO_DELETE_LOG
: [Y | N] When set to Y, SMOKE log files will be automatically deleted. Otherwise, the files will be automatically renamed
by appending a number to the end. The first time the a log file needs to be overwritten, but AUTO_DELETE_LOG
is N, the file will be renamed to a file name with an “_1” appended to the original name. If the same file needs to be moved on a subsequent rerun and the “_1” file is already there, then a “_2” file will be created.
CNTLCASE
: When this is defined to a name of the control case and the SMK_CONTROL_YN
setting is Y, the following changes are made to the naming environment variables by the
:
$ASSIGNS
/set_case.scr file
setenv ASCEN ${ASCEN}_${CNTLCASE} setenv MSCEN ${MSCEN}_${CNTLCASE} setenv PSCEN ${PSCEN}_${CNTLCASE} setenv ESCEN ${ESCEN}_${CNTLCASE} setenv FYIOP ${FYIOP}_${CNTLCASE}
When the CNTLCASE
name is set, regardless of the SMK_CONTROL_YN
setting, the
file also resets $ASSIGNS
/set_case.scrFYINV
as follows:
setenv FYINV ${FYINV}_${CNTLCASE}
This setting is also used for automatic naming of the GCNTL
file input to Cntlmat. See Section 4.4.11, “Use projection”.
DEBUG_EXE
: Should be set to the name of the fortran debugger (e.g., dbx) to use when running with DEBUGMODE
set to Y.
DEBUGMODE
: [Y | N] When set to Y, the scripts will try to invoke the debug versions of the SMOKE executables. These will only be available
to be used if the debug versions of the executables have been created using the Makeall debug command in the
directory.
$SCRIPTS
/make
FYEAR
: The 4-digit future year value is used for renaming files and directories when the SMK_FUTURE_YN
setting is Y. When this is true, the following changes are made to the naming environment variables by the
script:
$ASSIGNS
/set_case.scr
setenv ASCEN ${ASCEN}-${fyr2} setenv MSCEN ${MSCEN}-${fyr2} setenv PSCEN ${PSCEN}-${fyr2} setenv ESCEN ${ESCEN}-${fyr2} setenv FYIOP ${INVOP}-${fyr2}
where ${fyr2}
is the last two digits of the FYEAR
value. These 2 digits are inserted into the output file names for Smkinven output files when SMK_FUTURE_YN
is set to Y.
In addition, when FYEAR
is defined, the
script makes the follows settings regardless of the value of $ASSIGNS
/set_case.scrSMK_FUTURE_YN
.
setenv FYINV ${FYINV}_${fyr2} setenv BYFYR ${BYFYR}_${fyr2}
This setting is also used for automatic naming of the GCNTL
file input to Cntlmat. See Section 4.4.11, “Use projection”.
G_STDATE_ADVANCE
: The value should be set to the number of days for 1 run of the Temporal, Laypoint, and Smkmerge programs. The example scripts have this set by the NDAYS
environment variable in the Assigns file. When this value is set, the Assigns file will automatically increment the ESDATE
and G_STDATE
environment variables (that control SMOKE file names and time-dependent programs, respectively) to the next day. This feature
is unable to cross from one year to the next.
INVTABLE_OVERRIDE
: Sets a file name for the INVTABLE
file in the Assigns file that overrides whatever value is actually inside the Assigns file. The Assigns file invokes the
override mechanism when this environment variable is defined, so to not use this scripting feature, the variable must not be defined. In other words, it is not acceptable to set this to a blank value.
MRG_GRDOUT_UNIT
: While this setting is primarily a setting for the Smkmerge program, it is also used by the SMOKE scripts to determine whether Smkmerge should use mole-based or mass-based speciation matrices and biogenic model-ready files. When the variable is set with the
first four letters to “mole”, for example moles/hr, mole/s, or moles/day, the Smkmerge program will be provided by the scripts the correct input files. The implementation of this feature currently means that
units of “gm mole” will not work properly.
NONROAD
: [Y | N] When set to Y, the Assigns file will automatically rename all of the SMOKE area-source intermediate and output files
using the “n” prefix on file names instead of the “a” prefix. For example, the ATMP
file is set to
instead of $SCENARIO
/ntmp.ncf
. Also, the $SCENARIO
/atmp.ncfAREA
file coming out of Smkinven changes to be a different name and use a different map-file directory.
PROMPTFLAG
: [Y | N] When set to Y, users will be prompted for all SMOKE file names. This option should not be set to Y for non-interactive
processing. In fact, there is little need for this to ever be set to Y.
QA_LABEL
: Users can label their Smkreport log files and QA reports using this label. Typically, the QA report names are named using the $FYIOP
variable or $ESCEN
variable set in the
script. When $ASSIGNS
/set_case.scrQA_LABEL
is set to something, the log files and reports are labeled with $FYIOP
.$QA_LABEL
or $ESCEN
.$QA_LABEL
. This renaming is done in the qa_run.csh
helper script in the
directory.
$SCRIPTS
/run
QA_TYPE
: [none | all | part1 | part2 | part3 | part4 or custom]. This setting controls the qa_run.csh
helper script and causes different reports to be written. The QA_TYPE
settings will cause the script to use different REPCONFIG
files for input to Smkreport, and the REPCONFIG
files determine which reports are generated. Section 4.4.23, “Change reports” explains these default settings and how to change them to create the reports that you need.
RUN_PART1
, RUN_PART2
, RUN_PART3
, RUN_PART4
: These settings should not have to be changed by most users. They are included for the convenience of those who want to more
easily rearrange their SMOKE processing. Each source category has its own parts for processing as follows:
Area | Biogenic | Mobile | Point | |
---|---|---|---|---|
RUN_PART1 |
Smkinven, Spcmat, Grdmat, Cntlmat, Grwinven | Rawbio, Normbeis3, Metscan | Smkinven, Spcmat, Grdmat, Cntlmat, Grwinven | Smkinven, Spcmat, Grdmat, Cntlmat, Grwinven |
RUN_PART2 |
Temporal | Tmpbio, Tmpbeis3 | Temporal | Temporal |
RUN_PART3 |
Elevpoint | |||
RUN_PART4 |
Smkmerge, Mrggrid, Smk2emis | Mrggrid, Smk2emis | Movesmrg, Mrggrid, Smk2emis | Laypoint, Smkmerge, Mrggrid, Smk2emis |
RUN_<Program Name>
: [Y | N] The collection of RUN_<Program Name>
variables control whether a program is going to be run during a given script run. These can be set to N if the program is
not needed for some reason (e.g., the REMSAD model does not need the Laypoint program run). How these settings should be set is described in Section 4.4.6, “Change which programs are run”.
SMK_FUTURE_YN
: [Y | N] When set to Y, the file names and output directories are changed to use the FYEAR
variable setting in the names. See the FYEAR
documentation for more information on how the naming variables are set. This setting is needed only in scripts for processing
future-year cases.
SPC_OVERRIDE
: Sets a value for the SPC
variable in the Assigns file that overrides whatever value is actually inside the Assigns file. The Assigns file invokes
the override mechanism when this environment variable is defined, so to not use this scripting feature, the variable must
not be defined. In other words, it is not acceptable to set this to a blank value.
In addition, the merge scripts that run the Mrggrid program can also use the A_SPC_OVERRIDE
, N_SPC_OVERRIDE
, B_SPC_OVERRIDE
, M_SPC_OVERRIDE
, and P_SPC_OVERRIDE
settings. These settings override the SPC
variable used only for the definition of the A_OUT
, N_OUT
, B_OUT
, M_OUT
, and P_OUT
directories that contain the hourly, gridded, and speciated SMOKE output files. These settings can be used to pull multiple
chemical mechanisms (such as toxics and non-toxics) into a single model-ready file. The user must determine which multiple
mechanisms are appropriate to combine. It is acceptable to combine toxics-integrated and criteria-only current CB5 mechanisms,
but inappropriate to combine CB4 and RADM mechanisms.
SRCABBR
: Sets the source category abbreviation name for use in naming log files. The typical settings are ar (area sources), nr (nonroad
sources), mb (mobile sources), bg (biogenic sources), and pt (point sources).
YEAR_OVERRIDE
: Sets a value for the YEAR
variable in the Assigns file that overrides whatever value is actually inside the Assigns file. The Assigns file invokes
the override mechanism when this environment variable is defined, so to not use this scripting feature, the variable must
not be defined. In other words, it is not acceptable to set this to a blank value.