Chapter 4. How to Use SMOKE

4.1. Introduction
4.2. Test case descriptions
4.3. Running the SMOKE test case
4.4. How to use SMOKE

4.1. Introduction

In this chapter, we provide information about using the UNIX scripts that come with SMOKE to run the test cases and adapting the scripts to run any case. There are several features of these scripts that specifically support SMOKE v1.5 and later, and using scripts developed for earlier versions of SMOKE will not work without adaptations. We provide a section in this document that explains what changes need to be made to users’ existing scripts to allow them to work with SMOKE. Alternatively, current users can adapt the new example scripts to their case. New users are advised to create their scripts based on the example scripts, following the instructions included in Section 4.4, “How to use SMOKE” this chapter.

For all SMOKE users, a critical file to use and know about is the Assigns file. If you have followed the SMOKE installation instructions, then your Assigns file will be located in the directory: $SMK_HOME/subsys/smoke/assigns where the SMK_HOME directory is set in your .cshrc file in your home directory, during the SMOKE installation process.

When using SMOKE, the first thing that you should do is go to the Assigns directory and invoke the Assigns file for the case that you will be working with. This step needs to be taken in every UNIX window from which you intend to run SMOKE.

To invoke the Assigns file, use the following commands:

cd $SMK_HOME/subsys/smoke/assigns (this changes to the correct directory)

source ASSIGNS.nctox.cmaq.cb05_soa.us12-nc (this invokes the default assigns file)

Doing this will set a large number of environment variables that you will then have available for navigating the SMOKE directory structure. Table 4.1, “Variable in Assigns file for naming files and directories” and Table 4.2, “Variables in Assigns file for controlling time period and grid of processing” in Section 4.4.1, “Change Assigns file to set scenario names, grid names, and other case-specific configuration information” list those environment variables. The environment variables used to build some of the directory names are also set by the user in the Assigns file and described in that section.