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 $ASSIGNS/set_case.scr file also resets FYINV as follows:
setenv FYINV ${FYINV}_${CNTLCASE}
This setting is also used for automatic naming of the GCNTL file input to Cntlmat. See Section 4.5.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 $SCRIPTS/make directory.
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 $ASSIGNS/set_case.scr script:
setenv ASCEN ${ASCEN}-${fyr2} setenv MSCEN ${MSCEN}-${fyr2} setenv PSCEN ${PSCEN}-${fyr2} setenv ESCEN ${ESCEN}-${fyr2} setenv FYIOP ${INVOP}-${fyr2} setenv EF_YEAR $FYEAR
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 $ASSIGNS/set_case.scr script makes the follows settings regardless of the value of SMK_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.5.11, “Use projection”.
GROUP_TYPE: [ daily | weekly | monthly | episode ] Controls which meteorology averaging files will be used for a run of the Emisfac program. This can be used in the on-road mobile source scripts only.
G_STDATE_ADVANCE: The value should be set to the number of days for 1 run of the Temporal, Laypoint, and Smkmerge programs. The default 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 $SCENARIO/ntmp.ncf instead of $SCENARIO/atmp.ncf. Also, the AREA 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 $ASSIGNS/set_case.scr script. When QA_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 $SCRIPTS/run directory.
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.5.21, “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, Mbsetup, Premobl, Cntlmat, Grwinven | Smkinven, Spcmat, Grdmat, Cntlmat, Grwinven |
RUN_PART2 | Temporal | Tmpbio, Tmpbeis3 | Temporal | Temporal |
RUN_PART3 | Emisfac | Elevpoint | ||
RUN_PART4 | Smkmerge, Mrggrid, Smk2emis | Mrggrid, Smk2emis | Smkmerge, 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.5.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 CB4 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 and EF_YEAR variables 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.