AIRS SRF File Format (Archived)

S. Hannon, H. Motteler, L. Strow

26 July 2006

Abstract

We define an HDF 4 data format for AIRS spectral response functions (SRFs). The use of HDF makes the data portable and to some extent self-documenting, as HDF attributes are used to include version, author, general comments, and descriptions of the individual data objects in the file. The format is relatively simple, and the data can be read directly with the HDF library routines, or extracted in binary or ASCII formats with simple HDF utilities. Forthcoming documents will describe how these SRFs were measured and provide estimates of their accuracy.

1  The SRF File Format

AIRS has 2378 spectral channels, so the SRF file contains 2378 distinct spectral response functions, currently tabulated at 471 points. The SRF file contains a set of data arrays and descriptive attributes, including both general comments and a short description of each data array. The data arrays can be summarized as

   chanid    2378 x 1      int16     AIRS channel ID's
freq 2378 x 1 float64 SRF center frequencies
fwgrid 1 x 471 float32 SRF tabulation points
srfval 2378 x 471 float32 SRF values
width 2378 x 1 float32 SRF widths

HDF 4 stores data in row order; for languages which store data in column order, such as Fortran or Matlab, the dimension lists will be reversed, so that, e.g., srfval will be a 471 x 2378 element array. A more detailed description of the arrays is as follows.

chanid
is an integer array that contains the spectral channel identities as referenced in the AIRS HDF product files. Note that these are not the Lockheed Martin channel IDs used during AIRS calibration.
freq
is the frequency of the nominal center points of the SRFs, i.e., the wavenumber for fwgrid = 0, see equation 1, below. These nominal center values are from an intermediate stage of the SRF modeling, and may not correspond exactly to peaks, integral centers, or midpoints of the line through the full width at half max of the tabulated SRFs.
fwgrid
is a scaled frequency grid for tabulation of the SRFs, in units of the full width at half max. The grid extends far enough into the wings of the SRF for accurate radiative transfer calculations. fwgrid is not tabulated at a regular spacing; points are spaced closer together where the SRFs have greater variability.
srfval
are the values of the SRFs peak-normalized to unity
width
are the full widths at half max of the SRFs, in wavenumbers

The fwgrid vector can be converted to a frequency grid in wavenumbers,
freqgrid = ( fwgrid ×width ) + freq
(1)
The resulting freqgrid will not be at a regular spacing; if desired, srfval can be linearly interpolated to a finer, regular grid. Do not extrapolate the SRF beyond the endpoints of fwgrid.

The SRF file includes unit attributes for each array, and the following general attributes.

author
gives contact information for questions about the SRFs
version
is the version number we have assigned to the SRFs in the file
comment
is a short description on how to construct the SRFs in a form usable for convolutions with monochromatic radiance or transmittance data

2  Reading the SRF File

The HDF SRF data can be read in several ways. The data format used for the SRFs is relatively simple, and the data can be read with the HDF ``SD'' library routines without too much difficulty, either directly, in C or Fortran, or via HDF library call wrappers, as provided by Matlab and IDL.

A Matlab SRF reader, h4sdread.m, is available; it needs an auxiliary function sdsid2mat.m, both of which are part of a high-level toolkit for reading and writing HDF 4 from Matlab. The function h4sd2mat.m is a general purpose procedure for reading HDF SD data which can be used to read the AIRS SRFs. (links appear dead)

As an alternative to reading the files directly, the HDF 4 utility ``hdp'', available as part of the HDF distribution, can be used to dump the array data in ASCII or binary formats. For example, to extract the srfval array from the sample SRF HDF file in binary format, the command would be

    hdp dumpsds -b -n srfval srftablesV10.hdf > srfval.bin

The same array can be dumped in ASCII format with the command

    hdp dumpsds -dx -n srfval srftablesV10.hdf > srfval.asc

The ASCII representation will result in a larger file, and may be less accurate; but there are times when it might be convenient. After the dump, data in either format can be read as usual; for example, the ASCII data can be read in Fortran with the following statements. Note that from Fortran we read the data with the dimension list flipped.

    real srf(471,2378)
read *, srf

The hdp utility can also be used to examine dimensions and attributes; the command for this, for the example SRF file, would be

    hdp dumpsds -h srftablesV10.hdf

A pre-compiled version of the hdp program is available for most popular operating systems from the HDF 4 home page, http://hdf.ncsa.uiuc.edu/hdf4.html

In the HDF representation, arrays in the file should be accessed by their names, as given above, rather than by their SDS indices. It is the name that is bound to the desired data, not any particular SDS index, which simply reflects the order in which the arrays were written. (It is OK to use an SDS index if it is gotten from a name, e.g. by the HDF routine sdnametoindex.)

3  The Latest AIRS SRF File

The latest AIRS SRF file is available at http://asl.umbc.edu/pub/airs/srf/srftables_051118v4.hdf This file contains the SRFs used in the official DAAC version5 AIRS fast model. These SRFs differ from the previous version (srftables_031115v3.hdf) by a 1.5% FWHM shift to the channel frequencies in module 12 (ID=1 to 130).

4  Other AIRS SRF Files

The original pre-launch AIRS SRF file http://asl.umbc.edu/pub/airs/srf/srftablesV10.hdf

20 July 2002 observations were used for a preliminary analysis of AIRS before the instrument was fully operational. http://asl.umbc.edu/pub/airs/srf/srftables-020720v2.hdf contains the SRF appropriate for that day (including an estimate of the entrance filter fringes).

AIRS went through a de-frost cycle in August 2002, and afterwards the instrument temperature was re-adjusted to a value that can be held for a long time period. The AIRS instrument was declared fully operational on 30 August 2002. The first SRF file using the actual channel frequencies was http://asl.umbc.edu/pub/airs/srf/srftables-020818v1.hdf. A later version with revised fringes for some channels http://asl.umbc.edu/pub/airs/srf/srftables-020818v2.hdf was used in the official DAAC version 3 AIRS fast model.

AIRS was shut down in late October 2003 as a precaution due to a an extreme solar storm. AIRS was off long enough to warm up, and it took a couple weeks to cool down and stabilize and dial in the same channel frequencies. This was accomplished, but the relative position of the fringes with respect to the channel frequencies were shifted. Another SRF file was generated for the post shut-off fringe positions http://asl.umbc.edu/pub/airs/srf/srftables_031115v3.hdf. These SRFs also include a 3% FWHM shift in the position of the M5 (ID=609 to 769) channels based upon our analysis of the first year of AIRS data. This SRF table was used in the official DAAC version 4 fast model.

5  Links