2.4. Input and output file types

2.4.1. ASCII files
2.4.2. I/O API files
2.4.3. Model-ready files

Before we describe more about the SMOKE processing, we first need to explain the types of files you will encounter in this documentation. SMOKE primarily uses two types of file formats: ASCII files and I/O API files. In addition, the output file format for the UAM-based air quality model is a Fortran binary file format. Chapter 6, SMOKE Input Files, Chapter 7, SMOKE Intermediate Files, and Chapter 8, SMOKE Output Files describe all input, intermediate, and output files, including the file format for each one. Input files are files that are read by at least one core SMOKE program (listed in Chapter 4, SMOKE Core Programs), but are not written by a core program. Intermediate files are files that are written by a core program and read by at least one other core program. Output files are files output by a SMOKE core program but not read by any of them; these files include reports, log files, and the model-ready files to be input to an air quality model. (Exception: one intermediate file [used by a core program] is also an output file [used by an AQM]: the STACK_GROUPS file, described in Section 7.3.2, “STACK_GROUPS.) In this section, we further describe the ASCII and I/O API files, and then provide information about the two approaches for formatting the model-ready output files produced by SMOKE (the CMAQ/Models-3 approach and the UAM-based approach).

SMOKE’s input files are primarily ASCII files, although a few I/O API files are used. The intermediate files in SMOKE are primarily I/O API files, although there are several important ACSII files as well. The output files from SMOKE are primarily I/O API files and Fortran binary files for model-ready emissions files, and ASCII files for reports and logs.

2.4.1. ASCII files

ASCII files are simply the text files with which most computer users are familiar. The ASCII files input by SMOKE come in two structures: column-specific and list-directed.

2.4.1.1. Column-specific ASCII files

In column-specific files, the fields in the files must appear in certain columns in the file. Each character on a line represents a single column. The lines below represent a column-specific ASCII data file:

TEST 1 2 3

Additional data

The letters TEST are in columns 1 through 4 of the file and the numbers 1, 2, and 3 are in columns 6, 8, and 10 respectively:

123456789012345
TEST 1 2 3

Additional data

2.4.1.2. List-directed ASCII files

In list-directed files, the exact positioning of the fields on a line is not important, but the order of the fields on that line is crucial. The fields must be delimited (separated) by special characters called delimiters; in SMOKE, valid delimiters are spaces, commas, or semicolons. If a particular field happens to contain any of these delimiters within it, then that field must be surrounded by single or double quotes in the input file.