4.3. Running the SMOKE test case

As mentioned in Section 4.1, “Introduction”, the first step in working with SMOKE is invoking the Assigns file. In this section, we will go beyond that first step to actually running the scripts for the nctox case. But first, we will review the essential steps for running SMOKE each and every time you start to work with the SMOKE system.

First, the SMK_HOME environment variable needs to be defined. In Section 12.3, “Installing SMOKE”, we explain that you can configure your UNIX system to set this automatically each time you log into your computer. If you have not done that, then you will need to set the SMK_HOME variable manually before invoking an Assigns file:

setenv SMK_HOME <directory in which you installed SMOKE>

Second, you must invoke the Assigns file for the case that you want to run. This will make available all of the environment variables that you can use to navigate through the SMOKE directory structure. There is a different Assigns file for each case, so we provide this instruction with the case-specific documentation below. Of course, when you develop an Assigns file for your case, you will use that instead.

NOTE: All of the SMOKE scripts assume that you are running a variant of the C-shell (either csh or tcsh). The scripts will not work with other shells such as bash. If your shell is not csh or tcsh, you will need to change into an appropriate shell before running any SMOKE scripts.

To run the nctox test case, you must first source the Assigns file using the commands below:

cd $SMK_HOME/subsys/smoke/assigns (change to the assigns directory)

source ASSIGNS.nctox.cmaq.cb05_soa.us12-nc (set up for the nctox case)

Next, you’ll run the base-year nctox scripts. These scripts process the stationary area, biogenic, nonroad mobile, and point emissions for the base year. The commands to run the scripts are below:

cd $SCRIPTS/run (change to the run scripts directory)

smk_area_nctox.csh (invoke the stationary area run script)

smk_bg_nctox.csh (invoke the BEIS3 biogenic run script)

smk_nonroad_nctox.csh (invoke the nonroad mobile run script)

smk_point_nctox.csh (invoke the point run script)

smk_rateperdistance_nctox.csh (invoke the MOVES mobile sources on-roadway rate-per-distance (RPD) run script for all processes)

smk_ratepervehicle_nctox.csh (invoke the MOVES mobile sources off-network rate-per-vehicle (RPV) run script)

smk_rateperprofile_nctox.csh (invoke the MOVES mobile sources off-network rate-per-profile (RPP) run script)

smk_rateperhour_nctox.csh (invoke the MOVES mobile sources off-network rate-per-hour (RPH) run script)

smk_mrgall_nctox.csh (invoke the all-sources merge script)

To verify that the nctox scripts have run correctly, go to the log file directory and look for errors by using:

cd $LOGS (change to the log file directory for the test case)

grep ERROR *

If there are no errors, the next step is to run a QA script to be sure that the answers match.

cd $SCRIPTS/install (change to the install directory)

check_smk_install (invoke the smoke install quality assurance script)