N.B. This is a BADC copy of the original document sitting in the SOLVE archive at http://cloud1.arc.nasa.gov/solve/archiv/archive.tutorial.html.




Format Specification for Data Exchange

 

By

 

Steven E. Gaines    R. Stephen Hipskind

 

 

Version 1.3

18 June 1998

 

 

Version 1: 16 May 1990
Version 1.1: 6 February 1992
Version 1.2: 12 January 1998
R.S.H.
Voice: 650/604-5076
FAX: 650/604-3625
Email: hipskind@cloud1.arc.nasa.gov

S.E.G.
Voice: 650/604-4546
FAX: 650/604-3625
Email: gaines@cloud1.arc.nasa.gov

 

Contents

 

  1. Preface to Version 1.3
  2. Preface to Version 1.2
  3. Preface
  1. Introduction
  2. Concepts and Structures
  3. Implementation Considerations
  4. Notation
  5. Definitions
  6. ASCII File Format Specifications
    1. 1 Summary of data record formats
  7. Examples

 

 

Preface to Version 1.3

The file format standards defined in Version 1.3 are the same as those in previous versions. The main change in this version is the elimination of the Section on file naming conventions, and the renumbering of the remaining Sections and pages. The file formats are independent of any particular file naming scheme, so the description of the file naming convention has been moved to a separate document.

 

Preface to Version 1.2

The file format standards defined in Version 1.2 are the same as those in the two previous versions. The major changes in this version are to emphasize the requirement that independent variables be monotonic, and to slightly change the notation for several parameters to show their dependence on the unbounded independent variable. In previous versions those dependencies have been implied, and shown by examples, but not clearly stated.

Other minor changes have been made throughout the text to help clarify the concepts and requirements of the format standards, and variable definitions in some of the examples have been condensed. We appreciate the feedback we have received from users of the exchange files, and have used it as a guide for clarifying the standards.

 

Preface

This document specifies format standards to be used to facilitate data exchange for aircraft missions managed by the Earth Science Division at NASA Ames Research Center. It is intended as a reference document for creating experimental datasets. The standards should be adhered to in all exchange files being contributed to the project archive, including instrumental measurements, theoretical calculations and operational data. It is important that the person responsible for actually generating a given dataset refer to this document when determining the format for that dataset. It is the responsibility of the principal investigator or team leader to make sure that the appropriate people have access to this document and that their data conform to the format standards.

The specifications described in this document grew out of an effort beginning with the 1987 Stratosphere Troposphere Exchange Project (STEP) to put the experimental aircraft data on a medium and in a format that would be accessible to all experiment participants during the field experiment. Flight planning could then take into account the data from a previous flight, increasing the likelihood of meeting the overall goals and objectives of a given campaign. The standards developed for STEP were also used in the 1987 Airborne Antarctic Ozone Experiment (AAOE) and the 1989 Airborne Arctic Stratospheric Expedition (AASE). The basic premise in specifying format standards was to create self-descriptive datasets using a prescribed header structure to contain information about the data in a given file.

The STEP experiment used only the ER-2 aircraft and consisted primarily of in situ, time series data. It was this single dimensional data for which the original format specification was written. The use of remote sensing instruments on both the DC-8 and ER-2, and the generation of model output files creates multi-dimensional data which do not fit well into that original format. To better account for the variety of data, we have formalized some of the original concepts and have extended the requirements for header information to more adequately characterize the data. The file header now must include explicit specification of data dimensionality. We have also allowed for a more flexible specification of the data structure by the use of a file format index, described in the text.

In writing this new format specification, a conscious effort was made to retain much of the progress made in past experiments towards creating an environment of free data exchange. We have tried to build a logical extension to the original concepts rather than making a radical departure from them. Those with experience in the previous experiments (STEP, AAOE and AASE) should recognize that, in many cases, the format for their exchange files will remain much the same under these new specifications with only relatively minor, but important, changes to the header entries.

We want to acknowledge the fact that this document is the product of interactions between the authors and the experiment participants; indeed, the idea of data exchange standards was originally driven by a consensus of the participants, not by the "data managers". We appreciate the feedback that we have received, both written and oral, and have incorporated many of the suggestions into the final document. We also want to encourage everyone to feel free to contact us if they have any questions, problems or suggestions.

 

 

1

Introduction

This document describes a conceptual framework for specifying exchange data formats, and then gives a detailed description of the standard formats (although there are very important distinctions between measured quantities and those resulting from mathematical model calculations, for simplicity, the two will often be loosely termed "data"). Those considering writing exchange files must review the format options presented in this document and determine the format most suitable for recording their data. If none are deemed suitable, consult with the project archive manager to define a new format option. New file formats will be circulated to project participants as addenda to this document.

The primary goal of instituting format standards for data exchange is to promote accessibility and ease of use of a variety of datasets from different instruments, platforms and numerical models. The specific goals of the proposed system are:

The complexity of any system of standards increases with increasing generality. This standard represents a compromise between simplicity and generality. The generality of the proposed system stems from the incorporation of a file format index which, by referencing pre-defined format options, defines the format of both the file header and the data records. Thus, new file formats can be incorporated at a future time without changing those defined in this document. The complexity of this system increases with the number of file formats, so an attempt has been made to minimize the number of format options while at the same time accommodate the existing standard data formats from previous experiments; the file header formats are, however, different from the older standards.

An additional advantage of standardized file formats is that the data files can more easily be checked for format errors. Plans for future field experiments include computer programs to check the format of each data file as part of the procedure for submittal to the data archive.

The system described here assumes that all exchange files are in ASCII, because ASCII coded files are the most universally readable across computer systems from different vendors. It is anticipated that the same standards can be extended to include binary files as well. However, before that can be done, a convention for external data representation must be agreed upon due to the differences in internal representation on different machines. A special naming convention for binary files would also have to be adopted.

Section 2 describes the basic structure of the data files, the types of variables, and how they regulate the format specifications. Section 3 describes some precautionary measures to ensure readable files. The array and implied loop notation used to specify the formats are defined in Section 4, and a collection of definitions of the variables and terminology is contained in Section 5. The file format specifications are given in Section 6, with a summary of data record formats at the end of the Section. An example of each standard format is given in Section 7. Since any particular format option can accommodate a variety of types of data, the concepts, terminology, and format specifications are first presented in an abstract manner so not to bias or narrow their definition. The examples in Section 7 are included to provide a tangible link between the abstract definitions and actual exchange data files. It will, therefore, be useful to refer to these examples while (or before) reading the rest of this document.

 

2

Concepts and Structures

The reason for writing an exchange file is to convey some measured, calculated, or otherwise derived quantity, which will be called the PRIMARY variable. There may be more than one PRIMARY variable in a given exchange file. In addition, there may be some ancillary information concerning the measurement, calculation, or interpretation of the PRIMARY variables or the data records containing their values. These secondary quantities will be referred to as AUXILIARY variables. Usually the inclusion of AUXILIARY variables is optional, but there are some format options in which they are required because they provide information about the ensuing data records. Both PRIMARY and AUXILIARY variables are considered as dependent variables, and are always recorded with reference to at least one INDEPENDENT variable. INDEPENDENT variables can be time, spatial coordinates, index values, or any other monotonic quantity that can be used to uniquely identify a particular PRIMARY variable value. Each INDEPENDENT variable represents a dimension on which the PRIMARY variables are dependent. PRIMARY variables are considered as discrete functions of the INDEPENDENT variables, whereas AUXILIARY variables are associated with an explicitly recorded INDEPENDENT variable.

The information recorded within exchange files is of two types, either numeric or character string. Character strings may contain any printable ASCII character (ASCII decimal values between 32 and 126 inclusive), whereas numeric values are restricted to characters 0 through 9, the plus sign, the minus sign, the period, and the letter E used in exponential notation. Except for the purpose noted in Section 3, an exchange file must not contain non-printable ASCII characters. The non-printable characters have ASCII decimal values of 0 through 31, and values greater than 126.

Each exchange file has a file header which conveys information about the PRIMARY, AUXILIARY, and INDEPENDENT variables, and the order in which they are recorded in the file. Rather than attempt to pre-define a single file header format which accounts for all existing data formats, as well as any future formats, a File Format Index (FFI) is used to uniquely define the exchange file format. By reference to pre-defined format options, the value of the FFI determines the number of INDEPENDENT variables, whether the values of the INDEPENDENT and dependent variables are numeric or character string, the format of the file header, and the format of the data records.

Included in the file header are descriptions and/or units of measure for the INDEPENDENT, PRIMARY, and AUXILIARY variables. All variables must be defined in the records in which they are expected to appear, and cannot be omitted or have blank spaces substituted for their values. Associated with each PRIMARY and AUXILIARY variable is a "missing" value to denote missing or erroneous data values. These missing values must be larger than any "good" data values recorded within the file so that a simple test on the magnitude of a data value will determine if it represents missing or usable data. A scale factor is associated with each numeric PRIMARY and AUXILIARY variable. The scale factors are included to encourage recording of the data as scaled whole numbers, without a decimal point or exponential notation, and thus reduce the size of the file. There are no scale factors or missing values for the INDEPENDENT variables.

The order in which the PRIMARY and AUXILIARY variables are defined in the file header is the same order in which they are recorded in the data records. The order in which the INDEPENDENT variables are defined in the file header determines the dependence of the PRIMARY variables on the INDEPENDENT variables and, therefore, the manner in which the PRIMARY variables are recorded. The recorded dependence of the PRIMARY variables on the INDEPENDENT variables is such that, from the point of view of writing the data records, the most rapidly varying dimension is listed first in the file header, and the most slowly varying dimension is listed last.

If the number of values in the most slowly varying dimension is not pre-determined (as with the time dimension in many cases) then it is termed the unbounded dimension. Of necessity, only one dimension, or INDEPENDENT variable, can be unbounded, while the others, if any, must be bounded. The number of values in the bounded dimensions are defined in either the file header or the data records. Values of the unbounded INDEPENDENT variable are explicitly recorded at pre-determined locations within the data records and are termed INDEPENDENT VARIABLE MARKS. The AUXILIARY variables, if any, are specified immediately after the INDEPENDENT VARIABLE MARKS, either within the same record or the subsequent records. The unbounded INDEPENDENT variable must be a monotonic quantity. The bounded INDEPENDENT variables, for a given INDEPENDENT VARIABLE MARK, must also be monotonic.

As an illustration, consider airborne lidar measurements of ozone, recorded as a time sequence of vertical profiles of ozone. For this example, ozone number density is the PRIMARY variable, altitude above Earth's surface is the bounded INDEPENDENT variable, and a monotonic measure of time is the unbounded INDEPENDENT variable. The same records which contain time may also contain AUXILIARY variables. Since ozone values at all recorded altitudes are read for each time mark, the dependence on altitude is considered the more rapidly varying dependence, so altitude is the first INDEPENDENT variable defined in the file header; time is defined second in the file header. An examination of the standard formats in Section 6 reveals that there are several file formats which could accommodate the data in this example, the selection of the most appropriate format depends on the nature of the altitude measurements. If the values of altitude are constant then FFI 2010 could be used, with the monotonic, constant altitudes defined in the file header. In this instance, AUXILIARY variables are optional, but one may wish to include additional information, say, aircraft longitude and latitude, in the AUXILIARY variable list. If the altitude values are variable, but the interval between the altitudes is constant, then FFI 2310 is more appropriate. In this instance the number of altitudes, base altitude value, and altitude increment are supplied in the AUXILIARY variable list. If the altitude values and the intervals between altitudes are variable then FFI 2110 is the most appropriate option, with the number of altitudes given in the AUXILIARY variable list, and the altitude values read from the records containing the ozone values. In these last two instances (FFI 2310, 2110), the indicated AUXILIARY variables are required, in the sense that they provide necessary information for reading subsequent data records, but one still has the option to include additional AUXILIARY variables. Also, the values of the bounded INDEPENDENT variable (altitude) in FFI 2110 and 2310 can be different for each INDEPENDENT VARIABLE MARK (time mark) and, therefore, are dependent on the unbounded INDEPENDENT VARIABLE. For each time mark the altitude values must be monotonic.

The file header also contains information on the originators of the exchange file and their affiliations, the source of the PRIMARY variables, the mission which the data supports, and (by popular demand) the number of lines in the file header. The originators will often be the principal investigators for a particular instrument or model simulation, and the instrument and platform, or model, will be the source. At the beginning of each mission, a mission name will be decided upon and used in all exchange files.

Also included, are the date for which the data applies, the date the data was reduced or revised (not necessarily the date the file was written, although the two may be the same), the volume number for the exchange file, and the total number of volumes required to record the complete dataset. For large datasets requiring more than one volume of the medium on which they are written (diskette, etc.), the data are continued in a new file, on a new volume, and after a file header with an incremented volume counter (see IVOL, NVOL in Section 5).

There are allowances for three types of comments in the file header. Two of these comment types have reserved locations within the file header, and are associated with counters defining the number of lines occupied by each type of comment. The first type is for more complete descriptions of the variables, instrument, or other comments that apply in general to all of a particular kind of dataset; these are called normal comments. The second type, called special comments, are reserved to note special problems or circumstances concerning the data within a specific exchange file. If the exchange file is a revised dataset then it is recommended that the special comments describe how it differs from the previous version of the dataset. The third type of comments are merely annotations which may follow numeric values; these comments must be contained on the same line as, and separated by at least one space from the last numeric value expected in the record. They should not be included in lines containing character values because the annotations can not easily be separated from the character string values.

The data records immediately follow the file header records and continue to the end of the file. One or more spaces (ASCII decimal value 32) delimit successive numeric values within a line in both the file header and the data records.

 

3

Implementation Considerations

Even though an ASCII file is the most universally readable type of file, there are differences in the way different operating systems define the end of a line for ASCII text files. Therefore, some consideration must be given to the way in which files are transferred between machines with different operating systems.

MS DOS uses the ASCII characters for carriage return and line-feed to terminate each line, Macintosh uses just carriage return, Unix uses just line-feed, whereas VAX/VMS has control words at the beginning of each line which give the number of characters in the line. It is, therefore, impracticable to write an ASCII file which will appear as a native to every operating system. If inter-system file transfers are performed using some of the "standard" file transfer software (Kermit, FTP, DECnet-DOS, etc.) then the conversion to the appropriate end-of-line designator is done automatically during the file transfer, assuming it is not a bit for bit (binary) transfer. But if the file is written to some storage medium (diskette, tape, compact disc, etc.) under one operating system, and read from the medium by another operating system, then it may be necessary to rewrite or edit the file to a form with the appropriate end-of-line designator. Analogous to the end-of-line designator, the end-of-file designator differs with different operating systems, but is appropriately converted using standard file transfer software.

There is currently no convenient solution to the above stated dilemma. It is mentioned mainly to alert originators and users of exchange files to the potential problems with transferring ASCII files between different operating systems. In the past, the MS DOS designators have been the convention for transferring files via diskette and compact disc, but this may change as technology and industry standards change. In any case, prior to each mission, the mode of file transfer, and the acceptable end-of-line and end-of-file designators, will be decided upon and communicated to the project participants.

Except for the purpose of preparing a file for use on a different operating system, there must not be any extraneous non-printable ASCII characters within an exchange file. The non-printable characters have ASCII decimal values of 0 through 31, and values greater than 126. For similar reasons, exchange files must not be Fortran output files with Fortran carriage control characters embedded within the file.

Programming languages impose limitations on record length, magnitudes of integer and real numbers, and precision of real numbers. To comply with limitations in the most commonly used environments, the maximum record length in exchange files is 32766 characters. It is suggested that all numeric values be limited to seven significant digits within the magnitude range of 1.0E-38 to 1.0E+38.

For numeric data, there should be an adequate number of digits to resolve the anticipated precision, but in the interest of minimizing the file size, the number of digits should not be larger than necessary. Also, unnecessary records of missing values should not be used to pad the beginning or end of the data section of an exchange file. If, for example, the data from an airborne instrument begins 10 minutes after takeoff, and terminates 10 minutes before landing, it is unnecessary to include 10 minutes of missing values before the data begins and after it terminates.

 

4

Notation

The array and implied loop notation, used to generalize the exchange file format definitions given in Section 6, will now be explained. The notation is merely a convenient means of specifying the file formats, and not intended to indicate useful or desirable array structures in computer programs.

Quantities enclosed in square brackets [ ] are read with one "read" statement and, therefore, the quantities occupy one record which may exceed one line. One or more quantities appearing in a line, and not enclosed in square brackets, are read as one record and constitute one line in the exchange file. Similar comments apply to writing the records, but the descriptions which follow in this Section are from the perspective of reading the records.

The indices act merely as counters to indicate the dependence of some variable, but several indices are consistently used for special purposes. The index m is always used to count independent variable marks, and the implied loop over m is unbounded. The index s is the counter for the independent variables (dimensions), n for the primary variables, and a for the auxiliary variables. The usage of other indices (i,j,k) is less consistent, but usually they are counters for the bounded independent variable values.

Consider the array X, which contains values of the independent variables on which the primary variables are dependent. To reference a specific array element we write X(2,1). To reference a general array element we write X(i,s), where i and s can assume any allowable values. To indicate the allowable range of values for i and s we write X(i,s), i=1,NX(s), s=1,NIV; which states that s may take on integer values of 1 to NIV, and i may assume integer values of 1 to NX(s), the value of NX depending on the value of s. NIV is the number of independent variables, and NX(s) is the number of values for the s-th independent variable.

Now consider the array V(X,n), which contains values of the primary variables as functions of two independent variables. Since NIV=2, V(X,n) may also be expressed as V(X(i,1),X(m,2),n), or simply as V(i,m,n). To completely specify the contents of V we write V(i,m,n), i=1,NX(1), n=1,NV, where NV is the number of primary variables, and NX(1) is the number of bounded independent variable values. It is implied that m can pertain to any independent variable mark within the file.

For reading data records, the implied loop notation has a slightly different meaning, because then it implies that during the read operation the loop index will sequentially take on the values dictated by the loop limits. If the terminal value of a loop is smaller than the initial value, the implication is that the loop is not executed. Let the general expression for the data format be:

[ X(m,2) ( A(m,a), a=1,NAUXV ) ]
[ V(i,m,n), i=1,NX(1) ] n=1,NV

In the above expressions X(m,2) represents the m-th independent variable mark for the unbounded independent variable; A(m,a) is the value of the a-th auxiliary variable at the m-th independent variable mark; and V(i,m,n) is the value of the n-th primary variable at the m-th independent variable mark and i-th bounded independent variable value. NAUXV is the number of auxiliary variables.

The square brackets enclosing the first line of the expression indicate that an independent variable mark and NAUXV auxiliary variables are read as one record which may span more than one line. The second line of the expression is to be interpreted to mean that for the m-th independent variable mark there are NV records of primary variables, which will be read with n starting at a value of 1, incrementing by one for each record, and ending with a value of NV for the last record. The notation within the square brackets indicates that, for each record, NX(1) values of the n-th primary variable at the m-th independent variable mark are read. In this case, the constant values of the bounded independent variable (X(i,1), i=1,NX(1)) are read from the file header.

To be more specific, assume there are three auxiliary variables (NAUXV=3), two primary variables (NV=2), and four values for the bounded independent variable (NX(1)=4). Given these values for the loop limits, the general expressions for the data format imply the following record structure (the intra-record spacing between values is merely for clarity):

[ X(m,2) A(m,1) A(m,2) A(m,3) ]
[ V(1,m,1) V(2,m,1) V(3,m,1) V(4,m,1) ]
[ V(1,m,2) V(2,m,2) V(3,m,2) V(4,m,2) ]
[ X(m+1,2) A(m+1,1) A(m+1,2) A(m+1,3) ]
[ V(1,m+1,1) V(2,m+1,1) V(3,m+1,1) V(4,m+1,1) ]
[ V(1,m+1,2) V(2,m+1,2) V(3,m+1,2) V(4,m+1,2) ]
[ X(m+2,2) A(m+2,1) A(m+2,2) A(m+2,3) ]
etc., etc.

If, for the sake of illustration, NAUXV=0 then according to the loop limits in the general expressions for the data format given above, the terminal value of the loop would be smaller than the initial value. The implication would then be that no auxiliary variables were present in the file and, therefore, none would be read from the file. The data records would remain the same as those in the above example, with the exception that there would be no auxiliary variables in the records containing the independent variable marks.

 

5

Definitions

A(m,a):
value of the a-th auxiliary variable at the m-th independent variable mark (a=1,NAUXV). If A(m,a) is real, the use of scaled whole numbers is encouraged.
AMISS(a):
a quantity indicating missing or erroneous data for the a-th auxiliary variable. The value of AMISS(a) must be larger than any "good" value of A(m,a) recorded in the file. The value of AMISS(a) defined in the file header is the same value that appears in the data records for missing/bad values of A(m,a).
ANAME(a):
a character string specifying the name and/or description of the a-th auxiliary variable, on one line and not exceeding 132 characters. Include units of measure the data will have after multiplying by the a-th scale factor, ASCAL(a). The order in which the auxiliary variable names are listed in the file header is the same order in which the auxiliary variables are read from the data records, and the same order in which the auxiliary variable scale factors and missing values are read from the file header records.
ASCAL(a):
scale factor (real) by which one multiplies recorded values of the a-th auxiliary variable to convert them to the units specified in ANAME(a).
character string:
a string of at most 132 printable ASCII characters occupying one line of an exchange file. The printable ASCII characters have ASCII decimal values between 32 and 126 inclusive.
DATE:
UT date at which the data within the exchange file begins. For aircraft data files DATE is the UT date of takeoff. DATE is in the form YYYY MM DD (year, month, day) with each integer value separated by at least one space. For example: 1989 1 16 or 1989 01 16 for 16 January 1989.
DX(s):
interval (real) between values of the s-th independent variable, X(i,s), i=1,NX(s); in the same units as specified in XNAME(s). DX(s) is zero for a non-uniform interval. DX(s) is non-zero for a constant interval. If DX(s) is non-zero then it is required that NX(s) = (X(NX(s),s)-X(1,s)) / DX(s) + 1. For some file formats the value of DX also depends on the unbounded independent variable and is expressed as DX(m,s).
FFI:
file format index (integer). The FFI uniquely defines the file header and data formats. It is the second value recorded on the first line of an exchange file. The first (left-most) digit in the FFI gives the number of independent variables listed in the file header, the second digit gives the number of required (in the sense that they are necessary for reading the subsequent data records) auxiliary variables. The remaining digits are used to loosely associate file formats with similar characteristics.
independent variable mark:
a value of the unbounded independent variable which is explicitly recorded in the data records. Independent variable marks must be monotonic.
integer:
a whole number written without a decimal point. Leading zeros are insignificant.
IVOL:
volume number (integer) of the total number of volumes required to store a complete dataset, assuming only one file per volume. To be used in conjunction with NVOL to allow data exchange of large datasets requiring more than one volume of the exchange medium (diskette, etc.).
LENA(a):
integer number of characters used to record auxiliary variable A(m,a) when A(m,a) is represented as a character string. The value of LENA(a) must be less than 133.
LENX(s):
integer number of characters used to record independent variable X(i,s) when X(i,s) is represented as a character string. The value of LENX(s) must be less than 133.
line:
refers to a string of printable ASCII characters within an exchange file, terminated by the appropriate end-of-line (or new line) designator for the operating system on which the file resides. The maximum number of printable characters per line is 132.
MNAME:
a character string specifying the mission which the data is supporting, on one line and not exceeding 132 characters. The appropriate value for MNAME will be decided upon prior to the start of the mission.
NAUXC:
number of auxiliary variables (integer) whose values are recorded as character strings. If NAUXC=0 then no auxiliary variables are recorded as character strings.
NAUXV:
number of auxiliary variables (integer). If NAUXV=0 then no auxiliary variables are recorded and no missing values, scale factors, or names for the auxiliary variables are present in the file header.
NCOM(k):
a character string containing the k-th normal comment line (k=1,NNCOML).
NIV:
number of independent variables (integer) on which the primary variables are dependent.
NLHEAD:
number of lines (integer) composing the file header. NLHEAD is the first recorded value on the first line of an exchange file.
NNCOML:
number of normal comment lines (integer) within the file header, including blank lines and data column headers, etc. Normal comments are those which apply to all of a particular kind of dataset, and can be used to more completely describe the contents of the file. If NNCOML=0 then there are no normal comment lines.
NSCOML:
number of special comment lines (integer) within the file header. Special comments are reserved to note special problems or circumstances concerning the data within a specific exchange file so they may easily be found and flagged by those reading the file. If NSCOML=0 then there are no special comment lines.
NV:
number of primary variables in the exchange file (integer).
NVOL:
total number of volumes (integer) required to store the complete dataset, assuming one file per volume. If NVOL>1 then each volume must contain a file header with an incremented value for IVOL, and continue the data records with monotonic independent variable marks.
NVPM(s):
integer number of independent variable values between independent variable marks, for the s-th independent variable. NVPM(s) = (X(m+1,s)-X(m,s)) / DX(s).
NX(s):
number of values (integer) for the s-th independent variable. If NX(s) is defined in the file header then it represents the constant number of values for the s-th independent variable. Otherwise, NX=NX(m,s) is defined in the data records and its values can vary with the independent variable marks. In the case of an unbounded independent variable, NX(NIV) is never specified in the file but the values of X(m,NIV) are read from the data records (independent variable marks).
NXDEF(s):
number of values (integer) of the s-th independent variable which are explicitly defined in the file header. If NXDEF(s)=NX(s) then all values of X(i,s), i=1,NX(s) are recorded in the file header. If NXDEF(s)=1 then only the first value, X(1,s), is recorded in the file header and the remaining values of X(i,s) are calculated as X(i,s) = X(1,s) + (i-1) * DX(s) for i=2,NX(s).
ONAME:
a character string specifying the name(s) of the originator(s) of the exchange file, last name first. On one line and not exceeding 132 characters.
ORG:
character string specifying the organization or affiliation of the originator of the exchange file. Can include address, phone number, email address, etc. On one line and not exceeding 132 characters.
RDATE:
date of data reduction or revision, in the same form as DATE.
real:
a real valued number that may include a decimal point or be written in exponential notation. It is preferred that the values of real numbers be limited to seven significant digits within the magnitude range of 1.0E-38 to 1.0E+38.
record:
a logical record to be read by one "read" statement. The maximum record length is 32766 characters with a maximum of 132 characters per line. The first character of a record is also the first character of a line.
SCOM(k):
a character string containing the k-th special comment line (k=1,NSCOML).
SNAME:
a character string specifying the source of the measurements or model results which compose the primary variables, on one line and not exceeding 132 characters. Can include instrument name, measurement platform, etc.
V(X,n):
value of n-th primary variable (n=1,NV) at specified values of independent variables X. If V is real then the use of scaled whole numbers, without decimal points, is encouraged.
VMISS(n):
a quantity indicating missing or erroneous data values for the n-th primary variable. VMISS(n) must be larger than any "good" data value, of the n-th primary variable, recorded in the file. The value of VMISS(n) defined in the file header is the same value that appears in the data records for missing/bad values of V(X,n).
VNAME(n):
a character string giving the name and/or description of the n-th primary variable, on one line and not exceeding 132 characters. Include units of measure the data will have after multiplying by the n-th scale factor, VSCAL(n). The order in which the primary variable names are listed in the file header is the same order in which the primary variables are read from the data records, and the same order in which scale factors and missing values for the primary variables are read from the file header records.
VSCAL(n):
scale factor (real) by which one multiplies recorded values of the n-th primary variable to convert them to the units specified in VNAME(n).
X(i,s):
i-th value of the s-th independent variable (X(i,s), i=1,NX(s), s=1,NIV). For some file formats the values of a bounded independent variable may also depend on the unbounded independent variable, and in those cases we will denote the bounded independent variable as X(i,m,s), with sXNAME(s):
a character string giving the name and/or description of the s-th independent variable, on one line and not exceeding 132 characters. Include units of measure and order the independent variable names such that, when reading primary variables from the data records, the most rapidly varying independent variable is listed first and the most slowly varying independent variable is listed last.

 

6

ASCII File Format Specifications

The file format specifications, ordered by increasing file format index, FFI, are given in this Section. Refer to the definitions in Section 5 for explanations of the variables. A brief description of the variables and file format is followed by the format of the file header, and the general expression for the data records. Occasionally, lower case characters, preceded by several periods, are used to annotate certain variables.

FFI = 1001:
One real, unbounded independent variable (NIV=1).
Primary variables are real.
No auxiliary variables.
Independent and primary variables are recorded in the same record.

       NLHEAD   1001
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1)
XNAME(1)
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,1) ( V(m,n), n=1,NV ) ]

 

FFI = 1010:
One real, unbounded independent variable (NIV=1).
Primary variables are real.
Auxiliary variables are real.
The independent and auxiliary variables are in the same record.
All primary variables for a given independent variable mark are
recorded in the same record.

       NLHEAD   1010
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1)
XNAME(1)
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,1) ( A(m,a), a=1,NAUXV ) ]
[ V(m,n), n=1,NV ]

 

FFI = 1020:
One real, constant increment, unbounded independent variable with
implied values between independent variable marks (NIV=1).
Primary variables are real.
Auxiliary variables are real.
The independent and auxiliary variables are in the same record.
A record of primary variable values at implied independent
variable values is recorded for each primary variable.

       NLHEAD   1020
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1) ..............DX(1) not equal to zero
NVPM(1)
XNAME(1)
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,1) ( A(m,a), a=1,NAUXV ) ]
[ V(i,n), i=1+(m-1)*NVPM(1),m*NVPM(1) ] n=1,NV

 

FFI = 2010:
Two real independent variables, one unbounded and one bounded with
constant values (NIV=2).
Primary variables are real.
Auxiliary variables are real.
Independent variable mark and auxiliary variables are in the same
record.
For each primary variable is a record of its values at the bounded
independent variable values.

       NLHEAD   2010
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1) DX(2)
NX(1)
NXDEF(1)
[ X(i,1), i=1,NXDEF(1) ]
[ XNAME(s) ] s=1,2
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,2) ( A(m,a), a=1,NAUXV ) ]
[ V(i,m,n), i=1,NX(1) ] n=1,NV

 

FFI = 2110:
Two real independent variables, one unbounded and one bounded with
its values recorded in the data records (NIV=2).
Primary variables are real.
The first auxiliary variable is NX(m,1), other auxiliary variables
are real.
The values of X(i,m,1) are included in the records with the primary
variables.
If DX(2) is non-zero then X(m,2) must be recorded at a constant
interval of DX(2). For this case, if NX(m,1)=AMISS(1) or NX(m,1)=0
then the implication is that the records containing values of the
bounded independent variable and primary variables are omitted, and
the next record contains the succeeding independent variable mark
and auxiliary variables.

       NLHEAD   2110
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1) DX(2)
[ XNAME(s) ] s=1,2
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV .................The first auxiliary variable is NX(m,1)
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,2) NX(m,1) ( A(m,a), a=2,NAUXV ) ]
[ X(i,m,1) ( V(i,m,n), n=1,NV ) ] i=1,NX(m,1)

 

FFI = 2160:
Two independent variables; the unbounded independent variable is a
character string of length LENX(2); the bounded independent
variable is real with its values recorded in the data records
(NIV=2).
Primary variables are real.
The independent variable mark is in a separate record from the
auxiliary variables.
The first auxiliary variable is NX(m,1).
NAUXC is the number of auxiliary variables recorded as character
strings, which follow the real-valued auxiliary variables, and
have lengths LENA(a), a=NAUXV-NAUXC+1,NAUXV. Therefore,
AMISS(a), a=NAUXV-NAUXC+1,NAUXV are also character strings of
length LENA(a).
The values of X(i,m,1) are included in the records with the
primary variables.

       NLHEAD   2160
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1)
LENX(2)
[ XNAME(s) ] s=1,2
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV ........................first auxiliary variable is NX(m,1)
NAUXC
[ ASCAL(a), a=1,NAUXV-NAUXC ]
[ AMISS(a), a=1,NAUXV-NAUXC ] ...................these are real
[ LENA(a), a=NAUXV-NAUXC+1,NAUXV ]
[ AMISS(a) ] a=NAUXV-NAUXC+1,NAUXV ..........these are strings
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,2) ] .....................................character string
[ NX(m,1) ( A(m,a), a=2,NAUXV-NAUXC ) ]
[ A(m,a) ] a=NAUXV-NAUXC+1,NAUXV ..............character strings
[ X(i,m,1) ( V(i,m,n), n=1,NV ) ] i=1,NX(m,1)

 

FFI = 2310:
Two real independent variables, one unbounded and one bounded with
its number of constant increment values, base value, and increment
defined in the auxiliary variable list (NIV=2).
Primary variables are real.
The first three auxiliary variables are NX(m,1), X(1,m,1), and
DX(m,1); the other auxiliary variables are real.
If DX(2) is non-zero then X(m,2) must be recorded at a constant
interval of DX(2). For this case, if NX(m,1)=AMISS(1) or NX(m,1)=0
then the implication is that the records containing values of the
primary variables are omitted, and the next record contains the
succeeding independent variable mark and auxiliary variables.
For each primary variable is a record of its values at the bounded
independent variable values.
The bounded independent variable values are
X(i,m,1) = X(1,m,1) + (i-1) * DX(m,1) for i=1,NX(m,1).

       NLHEAD   2310
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(2)
[ XNAME(s) ] s=1,2
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV ............first 3 auxil. var. are NX(m,1),X(1,m,1),DX(m,1)
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,2) NX(m,1) X(1,m,1) DX(m,1) ( A(m,a), a=4,NAUXV ) ]
[ V(i,m,n), i=1,NX(m,1) ] n=1,NV

 

FFI = 3010:
Three real independent variables, one unbounded and two bounded
with constant values defined in the file header (NIV=3).
Primary variables are real.
Auxiliary variables are real.
The independent variable marks and auxiliary variables are in the
same record.
For each primary variable and value of the second independent
variable, is a record of primary variable values at values of the
first independent variable.

       NLHEAD   3010
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1) DX(2) DX(3)
NX(1) NX(2)
NXDEF(1) NXDEF(2)
[ X(i,1), i=1,NXDEF(1) ]
[ X(j,2), j=1,NXDEF(2) ]
[ XNAME(s) ] s=1,3
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,3) ( A(m,a), a=1,NAUXV ) ]
[ V(i,j,m,n), i=1,NX(1) ] j=1,NX(2) n=1,NV

 

FFI = 4010:
Four real independent variables, one unbounded and three bounded
with constant values defined in the file header (NIV=4).
Primary variables are real.
Auxiliary variables are real.
The independent variable marks and auxiliary variables are in the
same record.
For each primary variable and value of the third and second
independent variables, is a record of primary variable values, at
values of the first independent variable.

       NLHEAD   4010
ONAME
ORG
SNAME
MNAME
IVOL NVOL
DATE RDATE
DX(1) DX(2) DX(3) DX(4)
NX(1) NX(2) NX(3)
NXDEF(1) NXDEF(2) NXDEF(3)
[ X(i,1), i=1,NXDEF(1) ]
[ X(j,2), j=1,NXDEF(2) ]
[ X(k,3), k=1,NXDEF(3) ]
[ XNAME(s) ] s=1,4
NV
[ VSCAL(n), n=1,NV ]
[ VMISS(n), n=1,NV ]
[ VNAME(n) ] n=1,NV
NAUXV
[ ASCAL(a), a=1,NAUXV ]
[ AMISS(a), a=1,NAUXV ]
[ ANAME(a) ] a=1,NAUXV
NSCOML
[ SCOM(k) ] k=1,NSCOML
NNCOML
[ NCOM(k) ] k=1,NNCOML
[ X(m,4) ( A(m,a), a=1,NAUXV ) ]
[ V(i,j,k,m,n), i=1,NX(1) ] j=1,NX(2) k=1,NX(3) n=1,NV

 

 

6.1

Summary of data record formats

       FFI=1001:  [ X(m,1)  ( V(m,n), n=1,NV ) ]


       FFI=1010:  [ X(m,1)  ( A(m,a), a=1,NAUXV ) ]
                  [ V(m,n), n=1,NV ]


       FFI=1020:  [ X(m,1)  ( A(m,a), a=1,NAUXV ) ]
                  [ V(i,n), i=1+(m-1)*NVPM(1),m*NVPM(1) ]  n=1,NV


       FFI=2010:  [ X(m,2)  ( A(m,a), a=1,NAUXV ) ]
                  [ V(i,m,n), i=1,NX(1) ]  n=1,NV


       FFI=2110:  [ X(m,2)  NX(m,1)  ( A(m,a), a=2,NAUXV ) ]
                  [ X(i,m,1)  ( V(i,m,n), n=1,NV ) ]  i=1,NX(m,1)


       FFI=2160:  [ X(m,2) ] ................................... string
                  [ NX(m,1)  ( A(m,a), a=2,NAUXV-NAUXC ) ]
                  [ A(m,a) ]  a=NAUXV-NAUXC+1,NAUXV ............ strings
                  [ X(i,m,1)  ( V(i,m,n), n=1,NV ) ]  i=1,NX(m,1)


       FFI=2310:  [ X(m,2) NX(m,1) X(1,m,1) DX(m,1) (A(m,a),a=4,NAUXV) ]
                  [ V(i,m,n), i=1,NX(m,1) ]  n=1,NV


       FFI=3010:  [ X(m,3)  ( A(m,a), a=1,NAUXV ) ]
                  [ V(i,j,m,n), i=1,NX(1) ]  j=1,NX(2)  n=1,NV


       FFI=4010:  [ X(m,4)  ( A(m,a), a=1,NAUXV ) ]
                  [ V(i,j,k,m,n), i=1,NX(1) ]  j=1,NX(2)  k=1,NX(3)  n=1,NV

 

7

Examples

Examples of the file formats, ordered by increasing file format index, are given in this Section. These are fictitious examples and any similarity with existing exchange files is purely a manifestation of the author's lack of imagination. For each example is a file header, followed by a sample of the data records. Numeric constants in the file headers have been annotated with comments enclosed by { }. The annotations are included here as references and need not appear in exchange files. The data records in some of the examples have also been annotated, but those are solely for illustration since annotations should not appear in the data records of exchange files.

 

       22  1001                   {NLHEAD  FFI}
       MERTZ, FRED
       PACIFIC UNIV.
       WIND DATA FROM ER-2 METEOROLOGICAL MEASUREMENT SYSTEM (MMS)
       TAHITI OZONE PROJECT
        1  3                      {IVOL  NVOL}
       1991  1 16   1991  1 16    {DATE  RDATE}
       0                          {DX(1)=0 for non-uniform time intervals}
       TIME (UT SECONDS) from 00 HOURS ON LAUNCH DATE
       3                          {NV=number of primary variables}
       0.1  0.1   0.1             {primary variable scale factors}
       999  9999  999             {primary variable missing values}
       HORIZONTAL WIND SPEED (m/s)
       HORIZONTAL WIND DIRECTION (deg); TRUE DIRECTION FROM WHICH IT BLOWS.
       VERTICAL WIND SPEED + up (m/s)
       1                          {NSCOML=number of special comment lines}
       Pilot experienced CAT between the times 50300-50400.
       4                          {NNCOML=number of normal comment lines}
       Preliminary wind data
       1Hz desampled from 5Hz
       OMEGA used for calc = 0.06280  RAD/SEC
         UTs      Spd  Direc Vert Wind
         30446.9  305  2592   22
         30447.9  304  2596   22
         30448.9  305  2601  999
         30449.9  306  2603  999
         30450.9  307  2606   25
         30451.8  307  2607   27
         30452.8  309  2610   29
         30453.8  310  2610   29
         30454.8  312  2621   32

 

       41  1010               {NLHEAD  FFI}
       Mertz, Fred
       Pacific University
       DC-8 Mark IV Interferometer
       TAHITI OZONE PROJECT
       1  1                       {IVOL  NVOL}
       1991  1 16   1991  2 15    {DATE  RDATE}
       0                          {DX(1)=0 for nonuniform time intervals}
       UT fractional day number of year given in DATE
       8                          {NV=number of primary variables}
       1.0E+17 1.0E+14 1.0E+13 1.0E+14 1.0E+14 1.0E+13 1.0E+13 1.0E+18
       999 999 9999 9999 999 9999 9999 9999        {VMISS}
       O3 column density (molecules/cm**2)
       NO column density (molecules/cm**2)
       NO2 column density (molecules/cm**2)
       HNO3 column density (molecules/cm**2)
       ClNO3 column density (molecules/cm**2)
       HCl column density (molecules/cm**2)
       HF column density (molecules/cm**2)
       H2O column density (molecules/cm**2)
       10                         {NAUXV=number of auxiliary variables}
       1.0 1.0 1.0 1.0 0.1 0.1 0.1 1.0 1.0 1.0      {ASCAL}
       99 99 99 99 9999 99999 9999 999 999 999      {AMISS}
       UT Month
       UT Day
       UT Hour
       UT Minutes
       Latitude of DC-8 (degrees)
       Longitude of DC-8 (degrees)
       Solar zenith angle (degrees) reckoned from DC-8
       Air temperature (Celsius)
       Static pressure (millibars)
       Potential temperature (Kelvin)
       0                          {NSCOML}
       6                          {NNCOML}
       NOTE 1: This is a single file for the entire mission, which will
       be updated after each flight during the mission.  See line 7 of
       header for date of last update.
       NOTE 2: All these column values will change when analyses are
       repeated.

        16.521  1 16 12 30  -59 -1250  884 -56 237 328
         80  24   75  142  12  240   72   47
        16.538  1 16 12 55  -60 -1211  885 -57 237 328
         70  19   82  121  12  243   72   56
        16.558  1 16 13 24  -64 -1277  889 -57 237 327
         71  16   78  118  10  237   56   49
        19.530  1 19 12 43  -60 -1250  882 -56 315 330
        105  24   85  241  26  390  106   61
        19.633  1 19 15 11  -58 -1266  882 -50 329 304

 

       29  1020                   {NLHEAD  FFI}
       MERTZ, FRED
       PACIFIC UNIVERSITY
       ER-2 LYMAN-ALPHA HYGROMETER
       TAHITI OZONE PROJECT
       1  1                       {IVOL  NVOL}
       1991 01 16  1991 01 16     {DATE  RDATE}
       1.0                        {DX(1), constant time interval}
       30               {NVPM(1)=number of implied times per marked time}
       TIME (UT SECONDS) FROM 00 HOURS ON LAUNCH DATE
       1                      {NV=number of primary variables}
       0.01                   {scale factor for primary variable}
       999999                 {missing value for primary variable}
       WATER VAPOR VOLUME MIXING RATIO IN PARTS PER MILLION
       4                      {NAUXV=number of auxiliary variables}
       1.0 1.0 1.0 1.0        {scale factors for auxiliary variables}
       99 99 99 99999         {missing values for auxiliary variables}
       UT HOURS
       UT MINUTES
       UT SECONDS
       OBSERVATION COUNT STARTING FROM TIME COMPUTER IS TURNED ON.
       0                      {NSCOML}
       6                      {NNCOML}
       This is PRELIMINARY data
       08:05:01 COMPUTER ON
       CALB 8.525E+13    4.829E+7     T =  3.000E+2    DltP =  0.000E+0
       NOB  2.799E+2    -1.471E-3    -7.641E+22
       OHB  1.279E+2     5.113E-4    -7.641E+22

        29301.0   08 08 21     200
        999999 999999 999999 999999 999999 999999 999999 999999
        999999 999999 999999 999999 999999 999999 999999 999999
        999999 999999  87166  84175  76721  80130  81401  79359
         79887  84339  89955  97811  95614  91508
        29331.0   08 08 51     230
         88126  86236  79440  81826  82911  90481  92042  91391
         94605  93040  87099  85103  87131  87423  82418  75260
         64485  59903  63633  68262  72430  75216  78814  77879
         72445  69610  66126  60302  55169  48993
        29361.0   08 09 21     260
         39742  39137  38357  38002  36171  35267  36094  38442
         40786  41725  42796  43492  44009  43589  42926  43308

 

       31  2010               {NLHEAD  FFI}
       Mertz, Fred
       Pacific University
       NMC analyzed grid data interpolated to DC-8 flight path
       TAHITI OZONE PROJECT
       1  1                       {IVOL  NVOL}
       1991 01 16   1991 01 16    {DATE  RDATE}
       0.0  30.0                  {DX(1), DX(2)}
       8                          {NX(1)}
       8                          {NXDEF(1)}
       250 200 150 100 70 50 30 10     {X(i,1)}
       Pressure levels (mb)
       Time (UT seconds) from 00 hours on launch date
       3                      {NV=number of primary variables}
       1.0   0.1  1.0E-09     {primary variable scale factors}
       99999 9999 9999999     {primary variable missing values}
       Geopotential height (gpm)
       Temperature (K)
       Potential vorticity (K m**2/(kg s))
       2                      {NAUXV=number of auxiliary variables}
       1.0 0.1                {auxiliary variable scale factors}
       99999 9999             {auxiliary variable missing values}
       Geopotential height (gpm) of the DC-8
       Temperature (K) at DC-8's position
       0                      {NSCOML}
       5                      {NNCOML}
       The geopotential height, temperature, and potential vorticity
       values were interpolated from NMC analyses to a vertical cross-
       section along the DC-8 flight path.
       NOTE: PRELIMINARY data.
            250mb   200mb   150mb   100mb    70mb    50mb    30mb    10mb
         3350  1127 2682
             9994   11395   13219   15762   17970   20000   23016   29411
             2150    2154    2156    2115    2082    2042    1991    2021
             4119    7050    8030   11300   16200   23500   50300  386000
         3380  1289 2671
             9992   11393   13217   15760   17968   19998   23013   29408
             2151    2154    2156    2115    2081    2041    1990    2020
             4128    7050    8040   11300   16200   23500   50400  386000
         3410  1479 2653
             9990   11392   13215   15759   17966   19996   23010   29404
             2151    2154    2156    2115    2081    2041    1990    2020
             4138    7060    8050   11400   16200   23500   50500  386000

 

       38  2110               {NLHEAD  FFI}
       Mertz, Fred
       Pacific University
       ER-2 Microwave Temperature Profiler (MTP)
       TAHITI OZONE PROJECT
       1  1                       {IVOL  NVOL}
       1991  1 16  1991  1 16     {DATE  RDATE}
       0.0  0.0                   {DX(1), DX(2)}
       Remote sensing "applicable altitude" (meters)
       Elapsed UT seconds from 0 hours on day given in DATE
       2                      {NV=number of primary variables}
       0.1 0.1                {scale factors for primary variables}
       9999 9999              {missing values for primary variables}
       Brightness temperature (C)
       Potential temperature (K)
       15                     {NAUXV=number of auxiliary variables}
       1.0 1.0 1.0 1.0 1.0 0.1 1.0 0.1 0.1 0.01 0.001 0.1 0.1 1.0 1.0
       99 99 99 99 99999 999 999 9999 9999 9999 99999 999 999 999 999
       Number of "applicable altitudes" recorded in subsequent data records
       Hours (UT)
       Minutes (UT)
       Seconds (UT)
       Pressure altitude of ER-2 (ft)
       Aircraft pitch (deg)
       Aircraft roll (deg)
       Horizon brightness temperature (C), ave. of Chan 1 & 2 brightness temp.
       Potential temperature (K) from above horizon temp. and ER-2 press.alt.
       dT/dz (K/km), from Chan 1 & 2 blended Temperature profile
       dTHETA/dp (K/mb); THETA is potential temperature
       dT/dz (K/km) from Chan 1
       dT/dz (K/km) from Chan 2
       Peak downward acceleration (centi-G's)
       Peak upward acceleration (centi-G's)
       0                      {NSCOML}
       3                      {NNCOML}
       The brightness temperatures are approximately equal to air
       temperatures at ER-2 altitudes.

         29589  5  8 13  9 44890  24   1 -728 3459
         440   996  49  34  53   9
        14060 -729 3516
        13940 -728 3499
        13810 -731 3474
        13680 -728 3459
        13560 -740 3421
         29603 15  8 13 23 45170  24   2 -712 3500
         -17  -679 -11  -4  56  10
        15030 -721 3688
        14780 -719 3650

 

       37  2160                    {NLHEAD  FFI}
       Mertz, Fred
       Pacific University
       WMO coded teletype transmission of upper air soundings
       AASE
       1  1                        {IVOL  NVOL}
       1989  1 16   1989  1 16     {DATE  RDATE}
       0                           {DX(1)}
       5                           {LENX(2)}
       Pressure level (hPa)
       Radiosonde station identifier (BBSSS), BB=block #, SSS=station code.
       5                           {NV=number of primary variables}
       1.0 0.1 0.1 1.0 0.1         {VSCAL}
       99999 9999 999 999 9999     {VMISS}
       Geopotential height(gpm)
       Air temperature (C)
       Dew-point depression (C)
       Wind direction (degrees)
       Wind speed (knots)
       9                                      {NAUXV}
       1                                      {NAUXC}
       1.0 1.0 1.0 1.0 1.0 0.01 0.01 1.0      {ASCAL}
       999 99 99 99 99 99999 9999 9999        {AMISS}
       30                                     {LENA(9)}
       zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
       Number of pressure levels in the sounding.
       Year of sounding, last two digits (UT).
       Month of year (UT).
       Day of month (UT).
       Hour of day (UT).
       East longitude of station (deg).
       Latitude of station (deg).
       Elevation of station above MSL (m)
       Station name
       0                      {NSCOML}
       1                      {NNCOML}
       Ship stations are in block 99.
       71082
         4  89  1 16 12  -6233  8250   66
       Alert/Ellesmere Island
        850.0   1136  -331   48  235   330
        700.0   3498  -363   36  999  9999
        500.0   4770  -467   50  235   420
        400.0   6230  -541   60  235   490
       99C7C
        14  89  1 16 12  -3550  5270    0
       zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
       1014.0      0    16   39  270   290
       1000.0    118     6   27  280   210

 

       33  2310               {NLHEAD  FFI}
       Mertz, Fred
       Pacific Univ.
       DC-8 DIAL ozone number densities
       TAHITI OZONE PROJECT
       2  7                                       {IVOL  NVOL}
       1991  1 16   1991  2 20                    {DATE  RDATE}
       0.0                                        {DX(2)}
       Geometric altitude of observation (m)
       Time (UT seconds) from 00 hours on launch date
       1                                               {NV}
       1.0E+09                                         {VSCAL}
       99999                                           {VMISS}
       Ozone number density (#/cc)
       9                                               {NAUXV}
       1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.01 0.01           {ASCAL}
       999 99999 999 99999 99 99 99 99999 9999         {AMISS}
       Number of altitudes for current time mark
       Geometric altitude (m) at which data begins
       Altitude increment (m)
       Geometric altitude of aircraft (m)
       UT Hour
       UT Minutes
       UT Seconds
       East longitude of aircraft (deg)
       Latitude of aircraft (deg)
       0                            {NSCOML}
       5                            {NNCOML}
       VERTICAL AVERAGING INTERVAL: 975 METERS AT 1-7 KM ABOVE AIRCRAFT
                                    2025 METERS > 7 KM ABOVE AIRCRAFT
                         (TRANSITION RANGE VARIES WITH SIGNAL STRENGTH)
       HORIZONTAL AVERAGING INTERVAL:   60 KM

        30335   26 12819  75 10389  8 25 35 -13324  -945
         1340  1519  1660  1779  1868  1939  1973  1992  1989  1955
         1934  1897  1817  1721  1619  1514  1434  1343  1258  1203
         1140  1088  1037   956   892   878
        30360   22 12819  75 10383  8 26  0 -13322  -993
         1351  1523  1658  1774  1860  1930  1962  1974  1966  1932
         1909  1877  1803  1706  1600  1493  1407  1310 99999 99999
         1094  1045
        30384   93 12744  75 10378  8 26 24 -13312 -1031
          934  1378  1541  1673  1782  1862  1925  1950  1956  1946
         1912  1884  1843  1765  1667  1565  1457  1375  1279  1194

 

       23  3010               {NLHEAD  FFI}
       Mertz, Fred
       Pacific University
       NOAA/NMC grid point analyses
       AASE
       1  1                       {IVOL  NVOL}
       1989  1 16   1989  1 16    {DATE  RDATE}
       5.0  2.5  12.0             {DX(1), DX(2), DX(3)}
       8    3                     {NX(1), NX(2)}
       1    1                     {NXDEF(1), NXDEF(2)}
       -25                   {X(1,1); X(i,1) = -25 -20 -15 -10 -5 0 5 10}
       60.0                  {X(1,2); X(j,2) = 60.0 62.5 65.0}
       East longitude (deg)
       Latitude (deg)
       Time (UT hours) from 00 hours on day given by DATE
       2                      {NV=number of primary variables}
       1.0E-08  0.1           {scale factors for primary variables}
       99999 9999             {missing values for primary variables}
       Potential vorticity (K m**2/(kg s)) on 400 K isentropic surface
       Temperature (K) on 400 K isentropic surface
       0                      {NAUXV=number of auxiliary variables}
       0                      {NSCOML}
       0                      {NNCOML}
          0
          1604   1597   1589   1578   1570   1578   1584   1589  {PV rec}
          1598   1583   1561   1534   1506   1478   1447   1446  {PV rec}
          1440   1439   1442   1469   1493   1512   1527   1537  {PV rec}
        2234 2251 2259 2250 2247 2200 2194 2187                  { T rec}
        2194 2151 2159 2150 2147 2166 2175 2165                  { T rec}
        2121 2136 2140 2140 2138 2127 2111 2104                  { T rec}
         12
          1532   1522   1509   1492   1472   1467   1459   1450  {PV rec}
          1419   1433   1448   1465   1483   1503   1525   1567  {PV rec}
          1670   1691   1711   1724   1737   1744   1745   1743  {PV rec}
        2224 2241 2249 2240 2237 2200 2184 2177                  { T rec}
        2184 2141 2149 2140 2137 2156 2165 2155                  { T rec}
        2111 2126 2130 2130 2128 2117 2101 2101                  { T rec}
         24
          1587   1578   1569   1558   1546   1533   1641   1626

 

       24  4010               {NLHEAD  FFI}
       Mertz, Fred
       Pacific University
       NOAA/NMC grid point analyses
       AASE
       1  1                       {IVOL  NVOL}
       1989  1 16   1989  1 16    {DATE  RDATE}
       5.0  2.5  40.0  0.0        {DX(1), DX(2), DX(3), DX(4)}
       8    3     2               {NX(1), NX(2), NX(3)}
       1    1     2               {NXDEF(1), NXDEF(2), NXDEF(3)}
       -25                    {X(1,1); X(i,1)= -25 -20 -15 -10 -5 0 5 10}
       60.0                   {X(1,2); X(j,2)= 60.0 62.5 65.0}
       400 440                {X(k,3)}
       East longitude (deg)
       Latitude (deg)
       Potential temperature (K)
       Time (UT hours) from 00 hours on day given by DATE
       1                      {NV=number of primary variables}
       1.0E-08                {scale factor for primary variable}
       99999                  {missing value for primary variable}
       Potential vorticity (K m**2/(kg s))
       0                      {NAUXV=number of auxiliary variables}
       0                      {NSCOML}
       0                      {NNCOML}
          0
          1604  1597  1589  1578  1570  1578  1584  1589
          1598  1583  1561  1534  1506  1478  1447  1446
          1440  1439  1442  1469  1493  1512  1527  1537 {last 400K rec}
          3135  3151  3175  3198  3220  3240  3260  3278
          3326  3348  3369  3389  3409  3428  3446  3465
          3498  3492  3485  3476  3468  3459  3464  3446 {last 440K rec}
         12
          1532  1522  1509  1492  1472  1467  1459  1450
          1419  1433  1448  1465  1483  1503  1525  1567
          1670  1691  1711  1724  1737  1744  1745  1743 {last 400K rec}
          3424  3419  3409  3396  3379  3354  3327  3297
          3193  3158  3125  3095  3065  3037  3011  2998
          2956  2938  2920  2914  2909  2906  2905  2906 {last 440K rec}
         36
          1587  1578  1569  1558  1546  1533  1641  1626