Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

AN-MODIS_ICD_v0

VIEWS: 6 PAGES: 141

									JPL Document No. D-23139



CloudSat Project
A NASA Earth System Science Pathfinder Mission



Cloudsat AN-MODIS Ancillary Data
Interface Control Document
Version: DRAFT
Date: 15 April 2002




Prepared by:




________________________________________
T. Logan, Data Processing System Engineer




Jet Propulsion Laboratory
California Institute of Technology
4800 Oak Grove Drive
Pasadena, California 91109-8099
                                     Approvals




                            Date
Graeme Stephens
Project Scientist




                            Date
Mark Rokey
Ground System Manager




                            Date
Donald Reinke
Data Products Manager




Questions concerning this document and proposed changes should be addressed to:

                              Thomas L. Logan, Ph.D.
                                   818-354-4032
                              tom.logan@jpl.nasa.gov




                                          2
                                                          Contents

Contents....................................................................................................................3

1.         Introduction..................................................................................................4
1.1        Overview......................................................................................................4
1.2        Applicable Documents.................................................................................4
2.         GES DAAC Distribution of MODIS Products to Cloudsat.........................5
3.         AN-MODIS Data Description......................................................................7
3.1        MOD02_L1B Radiances Product.................................................................7
3.2        MOD35_L2 Cloud Mask Product...............................................................10
3.3        MOD03 Geolocation Product.....................................................................14
3.4        MOD04_L2 Aerosol Product......................................................................15
3.5        MOD05_L2 Solar and IR Precipitable Water Product................................17
3.6        MOD06_L2 Cloud Product.........................................................................19
3.7        MOD07_L2 Atmospheric Profiles Product.................................................21
4.         Acronym List...............................................................................................23

Appendix A:         MOD02_1KM_L1B Radiance File Specification............................24
Appendix B:         MOD02_QKM_L1B Radiance File Specification...........................48
Appendix C:         MOD35_L2 Cloud Mask File Specification.....................................61
Appendix D:         MOD03 Geolocation File Specification...........................................71
Appendix E:         MOD04_L2 Aerosol Product File Specification...............................82
Appendix F:         MOD05_L2 Precipitable Water File Specification..........................101
Appendix G:         MOD06_L2 Cloud Properties File Specification............................109
Appendix H:         MOD07_L2 Atmospheric Profile File Specification.......................125




                                                                   3
1. Introduction

1.1.   Overview

AN-MODIS is the Cloudsat Project name for a set of ancillary data files derived from the
Aqua/MODIS (MODerate-resolution Imaging Spectroradiometer) instrument. A selected
set of the AN-MODIS files are used directly in the preparation of Level 1 and Level 2
Cloudsat products while others are provided to support subsequent research by the
scientific community. The ancillary files are subsets of the standard MODIS products
prepared at the Goddard Space Flight Center (GSFC), and prepared for Cloudsat through
a special agreement with the Goddard Earth Sciences (GES) DAAC. The ancillary data
include geolocated measurements of radiance, aerosol optical thickness, infrared and
solar precipitable water, cloud top properties, optical depth, particle size, ozone, and
includes a variety of cloud masks. AN-MODIS ancillary files are re-processed at the
CIRA Ground Data Processing Center to the Cloudsat ground track and provided to users
via the Cloudsat Project’s MODIS-AUX data product.

This document provides the interface control for defining and accessing AN-MODIS
products by Cloudsat MODIS-AUX software, including agreements between the GES
DAAC and the Cloudsat Project, a description of the MODIS file specifications, where to
find the MODIS Algorithm Theoretical Basis Documents (ATBD), and related
information.

1.2.   Applicable Documents

       • Cloudsat MODIS-AUX Auxiliary Data Process Description and Interface
         Control Document, 22FEB02.
       • Cloudsat Data Processing Center System Description and Data Processing Plan,
         29MAY01.
       • End-to-End Information System (EEIS), 19APR01.
       • Science Ground Data Processing Verification and Validation Test Plan, JPL
         D-20753, 18JUN01.
       • MODIS Science Support Documents are available at:
         http://ltpwww.gsfc.nasa.gov/MODIS/SDST/docs.html




                                           4
2. GES DAAC Distribution of MODIS Products to Cloudsat

A preliminary agreement was signed in JUL01 with the GES DAAC to provide specific
subsetted MODIS products to the Cloudsat Project’s Ground Data Processing Center at
the Colorado State University (CSU) Cooperative Institute for Research in the
Atmosphere (CIRA). While the final technical details are yet to be defined, the current
specification agreement includes:

       • Start Time of Data Distibution: Cloudsat launch date (April 2004 est).
       • Duration of Data Distribution: Two years.
       • Cloudsat Receipt Site: CIRA/CSU; POC: Don Reinke (reinke@cira.colostate.edu)
       • Data Transmittal: ftp ‘push’ of five minute granules, as data is processed and
          becomes available from GES, but not later than one week after preparation.
          (Note, depending upon the final volume of requested AN-MODIS data, it may
          be necessary for the data to be shipped to CIRA on magnetic tape cartridge.)
       • Data Format: HDF-EOS.
       • Special Processing: Data subsetted +/-35km of MODIS nadir. Geolocation,
          core, archive, and swath metadata, and quality assurance and cloud mask
          information will be updated to reflect the subsetting. Any Vdata table structures
         (in addition to normal SDS arrays) will also be updated. (Note, the subset size
          will be revised (tbd) to between +/-135 and +/-200km to accomodate formation
          flying with CALIPSO and pending sun glint avoidance requirements.)
       • Requested 5 Minute Granule Data:
            • MOD02_1KM_L1B, 1 km resolution
               - Radiances: Bands 1-7, 17-20, 26-36
            • MOD02_QKM_L1B, 0.25 km resolution
               - Radiances: Band 1
            • MOD03, 1 km resolution
               - Geolocation: Latitude, Longitude, Solar and Azimuth Angles
            • MOD35_L2, 1 km resolution
               - Cloud Mask: 6 Layers
            • MOD04_L2, 10 km resolution
               - Aerosol Optical Thickness
            • MOD05_L2, 5 km resolution
               - IR Precipitable Water
            • MOD05_L2, 1 km resolution
               - Solar Precipitable Water
            • MOD06_L2, 5 km resolution
               - Cloud Top Properties: Temp, Height, Emissivity, Phase, Fraction
            • MOD06_L2, 1 km resolution
               - Optical Depth and Particle Size
            • MOD07_L2, 5 km resolution
               - Total Ozone Burden




                                            5
The GES DAAC will prepare two Product Generation Executives (PGEs), one for the L1B
data, and one for the L2 data. The PGEs will subset the Aqua/MODIS data as it arrives at the
DAAC, and archive the subsetted data as separate Earth Science Data Types (ESDTs). The
Cloudsat Project will receive the data through a normal subscription to the DAAC from the
appropriate ESDTs.




                                           6
3. AN-MODIS DATA DESCRIPTION

The following sub-sections describe the incoming MODIS data that will be contained
within the AN-MODIS file, including where to find the appropriate Algorithm
Theoretical Basis Document (ATBD), and the Appendix (in this document) containing
the data’s File Specification. Note that the File Specification describes the complete
Terra/MODIS product (not just the Cloudsat subsetted version). Aqua versions of the File
Specifications are not currently available, and while they should not differ significantly
from the Terra version, some variance should be anticipated.

3.1    MOD02_L1B Radiances Product

       3.1.1 Algorithm Theoretical Basis

The algorithm theoretical basis for preparation of the MOD02_L1B 1km and 250m
calibrated radiances are described in the following document:

       • Barbieri, R., etal, 1997. Draft of the MODIS Level 1B Algorithm Theoretical
       Basis Document Version 2.0; Reference ATBD-MOD-01, 70 pages.

This document can be found on the internet at:

       • http://eospso.gsfc.nasa.gov/ftp_ATBD/REVIEW/MODIS
       /ATBD-MOD-01/atbd-mod-01.pdf

MODIS disclaimers (based on the Terra experience) can be found on the internet at:

       • http://daac.gsfc.nasa.gov/CAMPAIGN_DOCS/MODIS/modis_disclaimers.shtml


       3.1.2 MODIS Spectral Bands

The following overview of the MODIS instrument and its spectral bands are an edited
extraction from the MODIS L1B ATBD document (referenced above).

MODIS is a passive, imaging spectro-radiometer carrying 490 detectors, arranged in 36
spectral bands that cover the visible and infrared portions of the electromagnetic
spectrum. It is a high signal-to-noise instrument designed to satisfy a diverse set of
oceanographic, terrestrial, and atmospheric science observational needs. It makes global
moderate-resolution narrow-band radiance observations over 36 spectral regions by using
a continuously rotating, double-sided scan mirror which views the earth, internal
calibrators, and space at 20.3 rpm (i.e., one side of the mirror traverses 360 degrees every
1.477 seconds). The 22 MODIS spectral bands identified for Cloudsat include:




                                             7
Band   WaveLength     IFOV            Bandwidth      Example Usage
1      645nm          250m            50nm           Veg. Chlorophyll Absorp.
2      858nm          250m            35nm           Cloud/Veg. Land Cover
3      469nm          500m            20nm           Soil & Veg. Differences
4      555nm          500m            20nm           Green Vegetation
5      1240nm         500m            20nm           Leaf/Canopy Differences
6*     1640nm         500m            24.6nm         Snow/Cloud Differences
7      2130nm         500m            50nm           Land/Cloud Properties
17     905nm          1000m           30nm           Cloud/Atmos Properties
18     936nm          1000m           10nm           Cloud/Atmos Properties
19     940nm          1000m           50nm           Cloud/Atmos Properties
20     3.75µm         1000m           0.18µm         Sea Surface Temp Fraction
26     1375nm         1000m           30nm           Cinfraredrus Cloud Detect
27     6.72µm         1000m           0.36µm         Mid-Tropospheric Humidity
28     7.33µm         1000m           0.30µm         Upper-Tropospheric Humidity
29     8.55µm         1000m           0.30µm         Surface Temperature
30     9.73µm         1000m           0.30µm         Total Ozone
31     11.03µm        1000m           0.50µm         Cloud/Surface Temp
32     12.02µm        1000m           0.50µm         Cloud Height & Surface Temp
33     13.34µm        1000m           0.30µm         Cloud Height & Fraction
34     13.64µm        1000m           0.30µm         Cloud Height & Fraction
35     13.94µm        1000m           0.30µm         Cloud Height & Fraction
36     14.24µm        1000m           0.30µm         Cloud Height & Fraction

*Aqua/MODIS Band 6 failed before launch.


       3.1.3 Calibration Software and L1B Components

The following overview of MODIS L1B software is an edited extraction from the internet
presentation located at: http://mcstweb.gsfc.nasa.gov/L1B_sw.html.

The MODIS Level 1B in-granule software was developed to implement the calibration
algorithms for the reflective and emissive bands. The software was developed in
accordance with the Software Engineering Institute (SEI) Level 2+ standards.

The level 1B software transforms raw science data, organized into five minute granules
by the level 1A software system, into calibrated data products. Specifically, the level 1B
software performs the following functions:
        • Corrects raw detector counts sent to the ground for the following effects:
               • Electronic offsets
               • Instrument self-radiation
               • Effect of temperature variations of the instrument on detector response
               • Scan angle variations
        • Transforms the corrected digital signals to calibrated radiance and reflectance
        products.



                                             8
       • Calculates the uncertainties in the calibrated products.
       • Transforms engineering data to scientific data
       • Performs quality assurance on the calibrated data. This includes reporting
       quantities such as the percentage of saturated data per band, reporting noise in
       temperature measures, etc.
       • Reports instrument status information; e.g. whether the instrument is
       undergoing a maneuver.

Input data used by the L1B software include:

       •   Uncalibrated DNs, metadata, etc. from PGE01.
       •   Geolocation file from PGE03.
       •   Reflective Solar Bands Lookup Tables.
       •   Thermal Emissive Bands Lookup Tables.
       •   Quality Assurance Lookup Tables.

Output L1B products:

       • Earth-view data: Corrected digital signals for reflected solar bands, and
       coefficients to convert them to radiances and reflectances and radiances for
       thermal emissive bands. Separate output files are written for:
               • 250m resolution bands.
               • 1km resolution bands (250m bands aggregated to 1km).
       • On-board Calibrator (OBC) Raw Data for:
               • Black-body (BB).
               • Space-view (SV).
               • Spectroradiometric calibration assembly (SRCA).
               • Solar diffuser (SD).
               • Engineering data.
               • Metadata needed to support analysis of calibration sector data.

Tables for converting L1B reflectance values to Solar Irradiances based on the Terra
experience can be found on the internet at:

       • http://mcstweb.gsfc.nasa.gov/Esun_B-D_Tables.html


       3.1.4 MOD02 File Specification and Format

The file specification and format description of the MOD02 calibrated radiances,
including all HDF Scientific Data Sets and local attributes can be found in this document
as Appendix A (1km) and Appendix B (250m), and on the web at:

       • http://mcstweb.gsfc.nasa.gov/documents/MOD021KM_v302.fs.txt

       • http://mcstweb.gsfc.nasa.gov/documents/MOD02QKM-fs.txt



                                            9
3.2    MOD35_L2 Cloud Mask Product

       3.2.1 Algorithm Theoretical Basis

The algorithm theoretical basis for preparation of the MOD35_L2 Cloud Mask is
described in the following document:

       • Ackerman, S., etal, 1997. Discriminating Clear-Sky From Cloud With MODIS -
       Algorithm Theoretical Basis Document (MOD35); Reference ATBD-MOD-06,
       129 pages.

This document can be found on the internet at:

       • http://ltpwww.gsfc.nasa.gov/MODIS-Atmosphere/_docs/atbd_mod06.pdf


       3.2.2 Cloud Mask Overview

The following overview and Cloud Mask preparation discussion is an edited extraction
from the MODIS website: http://modis-atmos.gsfc.nasa.gov/MOD35_L2/index.html.

The MODIS Cloud Mask product (MOD35_L2) is a daily, global Level 2 product
generated at 1-km and 250-m (at nadir) spatial resolutions. The algorithm employs a
series of visible and infrared threshold and consistency tests to specify confidence that an
unobstructed view of the Earth’s surface is observed. An indication of shadows affecting
the scene is also provided. Radiometrically accurate radiances are required, so holes in
the Cloud Mask will appear wherever the input radiances are incomplete or of poor
quality.

The MODIS cloud-mask algorithm employs a battery of spectral tests, which use
methodology applied from the AVHRR Processing scheme Over cLoudy Land and
Ocean (APOLLO), International Satellite Cloud Climatology Project (ISCCP), CLoud
Advanced Very high resolution Radiometer (CLAVR), and Support of Environmental
Requirements for Cloud Analysis and Archive (SERCAA) to identify cloudy FOVs.
From these a clear-sky confidence level (high confident clear, probably clear, undecided,
cloudy) is assigned to each FOV. For inconclusive results, spatial- and temporal-
variability tests are applied. The spectral tests rely on radiance (temperature) thresholds
in the infrared and reflectance thresholds in the visible and near-infrared. Thresholds vary
with surface type, atmospheric conditions (moisture, aerosol, etc.), and viewing
geometry. Along with MOD02 calibrated radiances, a 1-km land/water mask, DEM,
ecosystem analysis, snow/ice cover map, NCEP analysis of surface temperature and wind
speed, and an estimate of precipitable water are required as inputs. A summary of the
input and output files associated with the MOD35 product include:




                                             10
• Input MODIS Files:
       • One granule of 1 kilometer Level-1B data (required).
       • One granule of the geolocation product, MOD03 (required).
       • One granule of 250 meter Level-1B data (optional).

• Input Ancillary Files (Optional):
       • NCEP daily global sea ice concentration from SSM/I on 0.5 degree grid in
       GRIB format.
       • NCEP GDAS1 6-hourly global meteorological data on a 1 degree grid in GRIB
       format.
       • NCEP daily global total ozone from TOVS on a 1 degree grid in GRIB format.
       • NCEP weekly global Reynolds sea surface temperatures on a 1 degree grid in
       ASCII format).
       • NSIDC daily global ice concentration and snow extent from SSM/I on 721x721
       N/S Hemisphere azimuthal grids in HDF/EOS format.

       (Note: GRIB files are available four times per day, with the closest time period to
       the data being staged. If the data is not available, the process is run without it.)

• Input Static Files:
       • 1km Olson global ecosystem map (required)
       • MOD_PR35 thresholds.dat file, which contain the processing path spectral test
       thresholds which are the heart of the cloud mask processing software (required).

       (Note: Since processing cannot be initiated until these files are staged, the 10
       minute global ecosystem map is used as a backup to the 1km Olson global file.)

• Output Product Files:
      • MODIS Cloud Mask Product (MOD35_L2) in Hierarchical Data Format (HDF).
      • Quality Control file in ASCII format.
      • Granule-based clear radiance file in Hierarchical Data Format (HDF).

Cloud-mask validation is conducted using MODIS Airborne Simulator (MAS) data from
several field campaigns, all-sky cameras, comparison with NOAA operational
instruments, and potentially other Terra instruments (e.g. ASTER).


       3.2.3 MOD35 File Specification and Format

The file specification and format description of the MOD35_L2 Cloud Mask, including
all HDF Scientific Data Sets and local attributes can be found in Appendix C, and at:

       • http://modis-atmos.gsfc.nasa.gov/_specs/MOD35_L2.CDL.fs

The following file specification and format overview discussion is an edited extraction
from the MODIS website: http://modis-atmos.gsfc.nasa.gov/MOD35_L2/index.html.



                                            11
Level-2 Cloud Mask Product (MOD35_L2) parameters are produced at a spatial
resolution of either a 1 by 1 kilometer or a 5 by 5 kilometer (at nadir) pixel array. Each
MOD35_L2 product file covers a five-minute time interval (based on the start time of
each MODIS Level-1B granule). This means that for 5km resolution parameters (time,
location, and viewing geometry arrays), the output grid is 270 pixels in width by 406
pixels in length for nine consecutive granules. Every tenth granule has an output grid size
of 270 by 408 pixels. For 1km resolution parameters (Cloud Mask and Quality
Assurance), the output grid is 1354 pixels in width by 2030 pixels in length for nine
consecutive granules. Every tenth granule has an output grid size of 1354 by 2040 pixels.

MOD35_L2 product files are stored in Hierarchical Data Format (HDF). HDF is a multi-
object file format for sharing scientific data in multi-platform distributed environments. It
is recommended that HDF files only be accessed through HDF library subroutine and
function calls, which can be downloaded from the HDF web site (http://hdf.ncsa.uiuc.edu).
Each of the nine gridded parameters listed below are stored as a Scientific Data Set (SDS)
within the HDF file. The Cloud Mask and Quality Assurance SDS's are stored at 1
kilometer pixel resolution. All other SDS's (those relating to time, geolocation, and viewing
geometry) are stored at 5 kilometer pixel resolution.

• Geolocation and Time Parameters:
       • Latitude SDS
         - Description: Geodetic Latitude.
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)
         - Valid Range: -90 to +90 degrees north.
       • Longitude SDS
         - Description: Geodetic Longitude.
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)
         - Valid Range: -180 to +180 degrees east.
       • Scan_Start_Time SDS
         - Description: International Atomic Time at Start of Scan replicated across the
           Swath.
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)
         - Valid Range: 0.0 to 3.1558E+9 seconds since 1 January 1993 00:00:00.
• Solar and Viewing Geometry Parameters
       • Solar_Zenith SDS
         - Description: Solar Zenith Angle, Cell to Sun.
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)
         - Valid Range: 0 to +180 degrees.
       • Solar_Azimuth SDS
         - Description: Solar Azimuth Angle, Cell to Sun.
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)
         - Valid Range: -180 to +180 degrees.
       • Sensor_Zenith SDS
         - Description: Sensor Zenith Angle, Cell to Sensor.
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)



                                            12
         - Valid Range: 0 to 180 degrees.
       • Sensor_Azimuth SDS
         - Description: Sensor Azimuth Angle, Cell to Sensor
         - Dimensions: (Cell_Along_Swath_5km, Cell_Across_Swath_5km)
         - Valid Range: -180 to 180 degrees.
• Science Parameters
       • Cloud_Mask SDS
         - Description: MODIS Cloud Mask and Spectral Test Results.
         - Dimensions: (Byte_Segment, Cell_Along_Swath_1km,
           Cell_Across_Swath_1km)
         - Valid Range: bit field.
       • Quality_Assurance SDS
         - Description: Quality Assurance for Cloud Mask.
         - Dimensions: (Cell_Along_Swath_1km, Cell_Across_Swath_1km,
           QA_Dimension)
         - Valid Range: bit field.

      (Note: Each pixel in the Cloud_Mask SDS is assigned a 6 byte (48 bit) array, and
      each pixel in the Quality_Assurance SDS is assigned a 10 byte (80 bit) array.
      Individual bits or groups of bits are set to denote various quality run-time
      characteristics for that pixel.)




                                         13
3.3      MOD03 Geolocation Product

         3.3.1 Geolocation Summary

The MODIS Geolocation file (MOD03) provides a geographic description of the MODIS
ground track with associated look angles and concurrent sun, moon, and satellite
positions. Relevant portions of this information are also included with each MODIS
product, but the complete geolocation package is provided in this file. The MOD03
product includes:

         • Geodetic position (latitude, longitude, and height above the geoid) for the center
         of each MODIS ground pixel according to the World Geodetic System of 1984
         (WGS84).
         • Sun and satellite sensor bearings, including zenith and azimuth.
         • Land and sea mask values for each pixel.
         • Sun and Moon positions with respect to the MODIS scan.
         • Other instrument parameter information sufficient to identify sub-pixel location.


      3.3.2 MOD03 File Specification and Format

The file specification and format description of the MOD03 Geolocation file can be
found in Appendix D, and obtained on the internet at:

         • ftp://modis-xl.nascom.nasa.gov/pub/stig_temp/mlinda/www/LatestFilespecs/
         MOD03.geolocation.fs.txt




                                             14
3.4    MOD04_L2 Aerosol Product

       3.4.1 Algorithm Theoretical Basis

The algorithm theoretical basis for preparation of the MOD04_L2 Aerosol Product is
described in the following document:

       • Kaufman, Y.J, and T. Didier, 1998. Algorithm for Remote Sensing of
       Tropospheric Aerosol From MODIS; Reference ATBD-MOD-02, 85 pages.

This document can be found on the internet at:

       • http://ltpwww.gsfc.nasa.gov/MODIS-Atmosphere/_docs/atbd_mod02.pdf


       3.4.2 Aerosol Product Overview

The following overview and Cloud Mask preparation discussion is an edited extraction
from the MODIS website: http://modis-atmos.gsfc.nasa.gov/MOD04_L2/index.html.

The MODIS Aerosol Product (MOD04_L2) monitors the ambient aerosol optical
thickness over the oceans globally and over a portion of the continents. Further, the
aerosol size distribution is derived over the oceans, and the aerosol type is derived over
the continents. Daily Level 2 data are produced at the spatial resolution of a 10 x 10 1-km
(at nadir)-pixel array. Each MOD04_L2 product file covers a five-minute time interval
(based on the start time of each MODIS Level-1B granule), which means the MOD04_L2
output grid is 135 10-km (at nadir) pixels in width and 203 10-km (nadir) pixels in length
for nine consecutive granules. Every tenth granule has an output grid size of 135 by 204
pixels.

Aerosols are one of the greatest sources of uncertainty in climate modeling. Aerosols
modify cloud microphysics by acting as cloud condensation nuclei (CCN), and as a
result, impact cloud radiative properties and climate. Aerosols scatter back to space and
absorb solar radiation. The MODIS aerosol product can be used to study aerosol
climatology, sources and sinks of specific aerosol types (e.g., sulfates and biomass-
burning aerosol), interaction of aerosols with clouds, and atmospheric corrections of
remotely sensed surface reflectance over the land.

The MODIS aerosol preparation algorithm uses MODIS radiance bands 1 through 7 and
20, and the MODIS cloud mask to pre-screen the data. Over land, the dynamic aerosol
models are derived from ground-based sky measurements and used in the net retrieval
process. Over the ocean, three parameters that describe the aerosol loading and size
distribution are retrieved. Pre-assumptions on the general structure of the size distribution
are used in the inversion of MODIS data, and the volume-size distribution are described
with two log-normal modes: a single mode to describe the accumulation mode particles
(radius < 0.5 µm) and a single coarse mode to describe dust and/or salt particles (radius >


                                             15
1.0 µm). The retrieved aerosol parameters are: the ratio between the two modes, the
spectral optical thickness, and the mean particle size. The quality control of these
products is based on comparison with ground stations and climatology.


       3.4.3 MOD04 File Specification and Format

The file specification and format description of the MOD04_L2 Aerosol product,
including all HDF Scientific Data Sets and local attributes can be found in Appendix E,
and at:

       • http://modis-atmos.gsfc.nasa.gov/_specs/MOD04_L2.CDL.fs




                                           16
3.5    MOD05_L2 Solar and IR Precipitable Water Product

       3.5.1 Algorithm Theoretical Basis

The algorithm theoretical basis for preparation of the MOD05_L2 Precipitable Water
Product is described in the following document:

       • Kaufman, Y.J, and B-C. Gao, 1998. The MODIS Near-IR Water Vapor
       Algorithm; Reference ATBD-MOD-03, 25 pages.

This document can be found on the internet at:

       • http://ltpwww.gsfc.nasa.gov/MODIS-Atmosphere/_docs/atbd_mod03.pdf


       3.5.2 Precipitable Water Product Overview

The following overview and Precipitable Water preparation discussion is an edited extraction
from the MODIS website: http://modis-atmos.gsfc.nasa.gov/MOD05_L2/index.html.

The MODIS Precipitable Water product (MOD05_L2) consists of column water-vapor
amounts. During the daytime, a near-infrared algorithm is applied over clear land areas of
the globe and above clouds over both land and ocean. Over clear ocean areas, water-
vapor estimates are provided over the extended glint area. An infrared algorithm for
deriving atmospheric profiles is also applied both day and night for Level 2. The Level 2
data are generated at the 1-km spatial resolution of the MODIS instrument using the near-
infrared algorithm during the day, and at 5 x 5 1-km pixel resolution both day and night
using the infra-red algorithm when at least nine FOVs are cloud free. The infrared-
derived precipitable water vapor is generated as one component of product MOD07, and
simply added to product MOD05 for convenience. The solar retrieval algorithm relies on
observations of water-vapor attenuation of reflected solar radiation in the near-infrared
MODIS channels so that the product is produced only over areas where there is a
reflective surface in the near IR.

The solar-column water-vapor parameter is derived from the attenuation by water vapor
of near-IR solar radiation. Techniques employing ratios of water-vapor-absorbing
channels 17, 18, and 19 with the atmospheric window channels 2 and 5 are used. The
ratios remove partially the effects of variation of surface reflectance with wavelength and
result in the atmospheric water-vapor transmittances. The column-water-vapor amounts
are derived from the transmittances based on theoretical radiative-transfer calculations
and using look-up-table procedures. The thermal column water-vapor parameter is
derived by integrating the moisture profile through the atmospheric column. Data
validation is conducted by comparing calculated data with water-vapor measurements
from the National Weather Service (NWS) radiosonde network, from ground-based
upward-looking microwave radiometers, from a ground-based GPS network, and from a



                                            17
ground-based sunphotometer network. Quality control is performed in two dimensions.
The first is a comparison of specific validation sites across as many different climatic and
geographic regions as possible. The second is a statistical analysis of the entire data set.

The MODIS Water Vapor (MOD05_L2) product contains data that has a spatial
resolution (pixel size) of 1 x 1 kilometers (at nadir) or 5 x 5 kilometers (at nadir). Each
MOD05_L2 product file covers a five-minute time interval (based on the start time of
each MODIS Level-1B granule), which means the MOD05_L2 output grid is 1350 1-km
pixels in width and 2030 1-km pixels in length (or 270 by 406 5-km pixels) for nine
consecutive granules. Every tenth granule has an output grid size of 1350 by 2040 pixels
(or 270 by 408).


       3.5.3 MOD05 File Specification and Format

The file specification and format description of the MOD05_L2 Precipitable Water
product, including all HDF Scientific Data Sets and local attributes can be found in
Appendix F, and at:

       • http://modis-atmos.gsfc.nasa.gov/_specs/MOD05_L2.CDL.fs




                                            18
3.6    MOD06_L2 Cloud Product

       3.6.1 Algorithm Theoretical Basis

The algorithm theoretical basis for preparation of the MOD06_L2 Cloud Product is
described in the following two documents:

       • Menzel, P. and K. Strabala, 1997. Cloud Top Properties and Cloud Phase
       Algorithm Theoretical Basis Document; Version V, 56 pages.

       • King, M.D., etal., 1997. Cloud Retrieval Algorithms for MODIS: Optical
       Thickness, Effective Particle Radius, and Thermodynamic Phase; Version V,
       Reference ATBD-MOD-05, 83 pages.

These documents can be found on the internet at:

       • http://ltpwww.gsfc.nasa.gov/MODIS-Atmosphere/_docs/ as:
       atbd_mod04.pdf (Menzel and Strabala)
       atbd_mod05.pdf (King, etal)


       3.6.2 Cloud Top Properties Product Overview

The following overview and Cloud Properties preparation discussion is an edited extraction
from the MODIS website: http://modis-atmos.gsfc.nasa.gov/MOD06_L2/index.html.

The MODIS Cloud Product (MOD06_L2) combines infrared and visible techniques to
determine both physical and radiative cloud properties. Daily global Level 2 data are
provided. Cloud-particle phase (ice vs. water, clouds vs. snow), effective cloud-particle
radius, and cloud optical thickness are derived using the MODIS visible and near-infrared
channel radiances. An indication of cloud shadows affecting the scene is also provided.
Cloud-top temperature, height, effective emissivity, phase (ice vs. water, opaque vs. non-
opaque), and cloud fraction are produced by the infrared retrieval methods both day and
night at 5 x 5 1-km-pixel resolution. Finally, the MODIS Cloud Product includes the
cirrus reflectance in the visible at the 1-km-pixel resolution, which is useful for removing
cirrus scattering effects from the land-surface reflectance product.

A thorough description of global cloudiness and its associated properties is essential to
the MODIS mission for two reasons. First, clouds play a critical role in the radiative
balance of the Earth and must be accurately described in order to assess climate and
potential climate change accurately. In addition, the presence or absence of cloudiness
must be accurately determined in order to retrieve properly many atmospheric and
surface parameters. For many of these retrievals, cloud cover, even thin cirrus, represent
contamination. Key radiative properties of clouds such as phase, optical thickness, and
temperature may be retrieved using MODIS instruments with unprecedented resolution.



                                            19
The determination of cloud-top properties requires the use of MODIS bands 29 and 31-
36, along with the cloud-mask product (MOD35), to screen for clouds. In addition, NCEP
or DAO global model analyses of surface temperature and pressure, profiles of
temperature and moisture, and blended SST analyses are required in the calculation of
cloud forcing as a function of atmospheric pressure and emissivity. The Menzel cloud-
phase algorithm will require MODIS bands 29, 31, and 32, and analyses of surface
emissivity.

The validation of cloud-top heights is conducted through comparisons with stereo
determinations of cloud heights from GOES and lidar estimates and aircraft observations
of cirrus heights. Cloud emissivity is compared to lidar-determined values. These interim
products are used in concert with field campaigns with the MAS instrument. The Menzel
cloud-phase parameter is validated using HIRS/AVHRR data and by comparison to the
King cloud-phase parameter.

The King cloud-phase algorithm requires MOD 02 calibrated multispectral radiances.
Cloud-particle size and optical thickness require these radiances plus the cloud-top
parameters within MOD06 and the Menzel cloud-phase parameter. In addition, these
parameters require MODIS product MOD43 (surface reflectance) and the NCEP or DAO
analyses and profiles described above. The validation and quality control of these
products is performed primarily through the use of in situ measurements obtained during
field campaigns and with the use of the MAS instrument.

Level-2 Cloud Product (MOD06_L2) parameters are produced at a spatial resolution of
either a 1 by 1 kilometer or a 5 by 5 kilometer (at nadir) pixel array. Each MOD06_L2
product file covers a five-minute time interval (based on the start time of each MODIS
Level-1B granule). This means that for 5km resolution parameters, the output grid is 270
pixels in width by 406 pixels in length for nine consecutive granules. Every tenth granule
has an output grid size of 270 by 408 pixels. For 1km resolution parameters, the output
grid is 1354 pixels in width by 2030 pixels in length for nine consecutive granules. Every
tenth granule has an output grid size of 1354 by 2040 pixels


       3.6.3 MOD06 File Specification and Format

The file specification and format description of the MOD06_L2 Cloud Properties
product, including all HDF Scientific Data Sets and local attributes can be found in
Appendix G, and at:

       • http://modis-atmos.gsfc.nasa.gov/_specs/MOD06_L2.CDL.fs




                                            20
3.7    MOD07_L2 Atmospheric Profiles Product

       3.7.1 Algorithm Theoretical Basis

The algorithm theoretical basis for preparation of the MOD07_L2 Atmospheric Profiles
Product is described in the following document:

       • Menzel, W.P. and L. Gumley, 1998. MODIS Atmospheric Profile Retrieval
       Algorithm Theoretical Basis Document; Version 4, Reference ATBD-MOD-07,
       38 pages.


This document can be found on the internet at:

       • http://ltpwww.gsfc.nasa.gov/MODIS-Atmosphere/_docs/atbd_mod07.pdf


       3.7.2 Atmospheric Profiles Product Overview

The following overview and Atmospheric Profiles discussion is an edited extraction from the
MODIS website: http://modis-atmos.gsfc.nasa.gov/MOD07_L2/index.html.

The MODIS Atmospheric Profiles product (MOD07_L2) consists of several parameters:
total-ozone burden, atmospheric stability, temperature and moisture profiles, and
atmospheric water vapor. All of these parameters are produced day and night for Level 2
at 5 x 5 1-km pixel resolution when at least 9 FOVs are cloud free.

The MODIS total-ozone burden is an estimate of the total-column tropospheric and
stratospheric ozone content. The MODIS atmospheric stability consists of three daily
Level 2 atmospheric stability indices. The Total Totals (TT), the Lifted Index (LI), and
the K index (K) are each computed using the infrared temperature- and moisture-profile
data, also derived as part of MOD07. The MODIS temperature and moisture profiles are
produced at 20 vertical levels. A simultaneous direct physical solution to the infrared
radiative- transfer equation in a cloudless sky is used. The MODIS atmospheric water-
vapor product is an estimate of the total tropospheric column water vapor made from
integrated MODIS infrared retrievals of atmospheric moisture profiles in clear scenes.
The MODIS ozone-retrieval method uses a first-guess perturbation method and
radiances from MODIS channel 30 (9.6 µm) to solve the radiative-transfer equation. The
perturbations are with respect to a priori conditions that are estimated from climatology,
regression and/or analysis or forecast numerical models. The MODIS cloud-mask
product (MOD35_L2) is used to screen for clouds. Atmospheric-stability estimates are
derived from the MODIS temperature and moisture retrievals contained in this product.
Layer temperature and moisture values are used to estimate the temperature lapse rate of
the lower troposphere and the low-level moisture concentration. Temperature and
moisture profile retrieval algorithms are adapted from the International TOVS Processing
Package (ITPP), taking into account MODIS’ lack of stratospheric channels and far



                                           21
higher horizontal resolution. The profile retrieval algorithm requires calibrated,
navigated, and coregistered 1-km FOV radiances from MODIS channels 20, 22-25, 27-
29, and 30-36. The MODIS cloud mask (MOD35_L2) is used for cloud screening. The
algorithm also requires NCEP model analyses of temperature and moisture profiles as a
first guess and an NCEP analysis of surface temperature and pressure.

The MODIS Atmosphere Profile (MOD07_L2) product contains data that has a spatial
resolution (pixel size) of 5 x 5 kilometers (at nadir). Each MOD07_L2 product file covers
a five-minute time interval (based on the start time of each MODIS Level-1B granule),
which means the MOD07_L2 output grid is 270 5-km pixels in width and 406 5-km
pixels in length for nine consecutive granules. Every tenth granule has an output grid size
of 270 by 408 pixels.


       3.7.3 MOD07 File Specification and Format

The file specification and format description of the MOD07_L2 Atmospheric Profile
product, including all HDF Scientific Data Sets and local attributes can be found in
Appendix H, and at:

       • http://modis-atmos.gsfc.nasa.gov/_specs/MOD07_L2.CDL.fs




                                            22
4. Acronym List

ASTER       Advanced Spaceborne Thermal Emission and Reflection Radiometer
ATBD        Algorithm Theoretical Basis Document
AQUA        NASA spacecraft platform containing the second MODIS instrument
ASCII       Text format
AVHRR       Advanced Very High Resolution Radiometer
CIRA        Cooperative Institute for Research in the Atmosphere
CPR         Cloud Profiling Radar
CSU         Colorado State University
DAAC        Distributive Active Archive Center
DN          Digital Number
DPEAS       Data Processing and Error Analysis System
EEIS        End-to-End Information System
EOS         Earth Observing System
ESDT        Earth Science Data Type
FOV         Field of View
GES         Goddard Earth Sciences (DAAC)
GRIB        GRid In Binary (file format)
GSFC        Goddard Space Flight Center
HDF         Hierarchical Data Format
JPL         Jet Propulsion Laboratory
MAS         MODIS Airborne Simulator
MODIS       MOderate-Resolution Imaging Spectroradiometer
NASA        National Aeronautics and Space Administration
NCEP        National Center for Environmental Prediction
NOAA        National Oceanic and Atmospheric Administration
NSIDCNational Snow and Ice Data Center
PGE         Product Generation Executive
QA          Quality Assurance
SDS         Scientific Data Set
TERRA       NASA spacecraft platform containing the first MODIS instrument




                                      23
    Appendix A: MOD02_1KM_L1B Radiance File Specification
http://mcstweb.gsfc.nasa.gov/documents/MOD021KM_v302.fs.txt
+=============================================================================+
|                                                                             |
|                 TERRA L1B EV 1km File Specification                         |
|                           V3.0.0, 4/01/2001                                 |
|                                                                             |
+=============================================================================+

   This document specifies the format for the MODIS Level 1B 1km
   earth-view (EV) product. The product is implemented in an HDF file.

   DETECTOR ORDER CONVENTION FOR DETECTOR DEPENDENT DATA:
   The "SBRS" detector order convention refers to the numbering of detectors
   on each focal plane assembly as defined by the manufacturer. In this
   convention, the numbering of detectors is opposite in direction from the
   satellite track direction. The "product" detector order convention is the
   reverse of the SBRS convention. The product detector order convention was
   defined to allow consecutive scans to be laid down on an image with the
   last detector of one scan abutting the first detector of the next scan.
   ALL DATA ITEMS WITHIN THIS FILE FOLLOW THE "PRODUCT" DETECTOR ORDER
   CONVENTION.

  +=====================================================================+
  |                                                                     |
  | Contents:                                                           |
  |                                                                     |
  |       I) Global Metadata                                            |
  |                                                                     |
  |      II) Instrument and Uncertainty SDSs                            |
  |                                                                     |
  |     III) Band-Subsetting SDSs                                       |
  |                                                                     |
  |      IV) Geolocation SDSs                                           |
  |                                                                     |
  +=====================================================================+

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ | I) Global Metadata                                        | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

   Description:
     This section contains granule-level metadata (i.e. ECS metadata, product
     granule metadata, QA granule metadata, HDF-EOS swath metadata, and
     L1B swath metadata).

   Contents:
     1.1) ECS Standard Core Granule Metadata
     1.2) ECS Standard Archive Granule Metadata
     1.3) MODIS Level 1B Product Granule Metadata
     1.4) MODIS Level 1B QA Granule Metadata
          1.4.1) QA Granule Metadata stored as global attributes
          1.4.2) QA Granule Metadata stored as SDSs
     1.5) Level 1B HDF-EOS SWATH Metadata
     1.6) Level 1B Swath Metadata

   For attributes dimensioned 38 (number of bands), the band order is:
       1, 2, 3, .. , 13lo, 13hi, 14lo, 14hi, 15, .. , 36.
   For the reflective bands, total of 22, the order is:
       1, 2, 3, .. , 13lo, 13hi, 14lo, 14hi, .. , 19, 26.
   The order of the 490 detectors follows the order of the 38 bands described
   earlier. Within each band, the order of detectors is product order.

+=============================================================================+
|                                                                             |
| 1.1) ECS Standard Core Granule Metadata                                     |



                                           24
|       Stored (as One ECS PVL String) in global attribute: CoreMetadata.0    |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                                        Example                         |
+-----------------------------------------------------------------------------+
| LOCALGRANULEID                              "MOD021KM.A1996218.1555.002.    |
|                                             1998152115306.hdf" (Terra)      |
|                                             "MYD021KM.A2001103.1555.002.    |
|                                             2001108115306.hdf" (Aqua)       |
+-----------------------------------------------------------------------------+
| PRODUCTIONDATETIME                          "1998-06-01T15:53:08.000Z"      |
+-----------------------------------------------------------------------------+
| DAYNIGHTFLAG                                "Day" or "Night" or "Both"      |
+-----------------------------------------------------------------------------+
| REPROCESSINGACTUAL                          "processed once"                |
+-----------------------------------------------------------------------------+
| REPROCESSINGPLANNED                         "no further update anticipated" |
+-----------------------------------------------------------------------------+
| SIZEMBECSDATAGRANULE                        (set by "DSS")                  |
+-----------------------------------------------------------------------------+
| AUTOMATICQUALITYFLAGEXPLANATION.1           "not being investigated"        |
+-----------------------------------------------------------------------------+
| AUTOMATICQUALITYFLAG.1                      "Passed"                        |
+-----------------------------------------------------------------------------+
| OPERATIONALQUALITYFLAGEXPLANATION.1         (set by "DAAC")                 |
+-----------------------------------------------------------------------------+
| OPERATIONALQUALITYFLAG.1                    (set by "DAAC")                 |
+-----------------------------------------------------------------------------+
| SCIENCEQUALITYFLAGEXPLANATION.1             (set by "DP")                   |
+-----------------------------------------------------------------------------+
| SCIENCEQUALITYFLAG.1                        "Not Investigated"              |
+-----------------------------------------------------------------------------+
| QAPERCENTMISSINGDATA.1                      0                               |
+-----------------------------------------------------------------------------+
| QAPERCENTINTERPOLATEDDATA.1                 0                               |
+-----------------------------------------------------------------------------+
| QAPERCENTOUTOFBOUNDSDATA.1                  0                               |
+-----------------------------------------------------------------------------+
| PARAMETERNAME.1                             "EV_1KM_RefSB"                  |
+-----------------------------------------------------------------------------+
| AUTOMATICQUALITYFLAGEXPLANATION.2           "not being investigated"        |
+-----------------------------------------------------------------------------+
| AUTOMATICQUALITYFLAG.2                      "Passed"                        |
+-----------------------------------------------------------------------------+
| OPERATIONALQUALITYFLAGEXPLANATION.2         (set by "DAAC")                 |
+-----------------------------------------------------------------------------+
| OPERATIONALQUALITYFLAG.2                    (set by "DAAC")                 |
+-----------------------------------------------------------------------------+
| SCIENCEQUALITYFLAGEXPLANATION.2             (set by "DP")                   |
+-----------------------------------------------------------------------------+
| SCIENCEQUALITYFLAG.2                        "Not Investigated"              |
+-----------------------------------------------------------------------------+
| QAPERCENTMISSINGDATA.2                      0                               |
+-----------------------------------------------------------------------------+
| QAPERCENTINTERPOLATEDDATA.2                 0                               |
+-----------------------------------------------------------------------------+
| QAPERCENTOUTOFBOUNDSDATA.2                  0                               |
+-----------------------------------------------------------------------------+
| PARAMETERNAME.2                             "EV_1KM_Emissive"               |
+-----------------------------------------------------------------------------+
| EQUATORCROSSINGDATE.1                       "1996-08-05"                    |
+-----------------------------------------------------------------------------+
| EQUATORCROSSINGTIME.1                       "15:55:45.854788"               |
+-----------------------------------------------------------------------------+
| ORBITNUMBER.1                               88                              |
+-----------------------------------------------------------------------------+
| EQUATORCROSSINGLONGITUDE.1                  -73.021282                      |
+-----------------------------------------------------------------------------+
| VERSIONID                                   1                               |
+-----------------------------------------------------------------------------+



                                           25
| SHORTNAME                                   "MOD021KM"   (Terra)            |
|                                             "MYD021KM"   (Aqua)             |
+-----------------------------------------------------------------------------+
| INPUTPOINTER                                "L1A_v2_10scans_0.L1A",         |
|                                             "L1A_v2_10scans_1.L1A",         |
|                                             "L1A_v2_10scans_2.L1A",         |
|                                             "Reflective_Lookup_Tables_file",|
|                                             "Emissive_Lookup_Tables_file", |
|                                             "QA_Lookup_Tables_file"         |
+-----------------------------------------------------------------------------+
| GRINGPOINTLONGITUDE.1                       (-86.567558, -59.389000,        |
|                                              -59.836601, -86.653564)        |
+-----------------------------------------------------------------------------+
| GRINGPOINTLATITUDE.1                        (41.644032, 37.729759,          |
|                                              36.824055, 40.686016)          |
+-----------------------------------------------------------------------------+
| GRINGPOINTSEQUENCENO.1                      (1, 2, 3, 4)                    |
+-----------------------------------------------------------------------------+
| EXCLUSIONGRINGFLAG.1                        "N"                             |
+-----------------------------------------------------------------------------+
| RANGEENDINGDATE                             "1996-08-05"                    |
+-----------------------------------------------------------------------------+
| RANGEENDINGTIME                             "15:56:00.626488"               |
+-----------------------------------------------------------------------------+
| RANGEBEGINNINGDATE                          "1996-08-05"                    |
+-----------------------------------------------------------------------------+
| RANGEBEGINNINGTIME                          "15:55:45.854788"               |
+-----------------------------------------------------------------------------+
| PGEVERSION                                  "2.1.1"                         |
+-----------------------------------------------------------------------------+
| ANCILLARYINPUTPOINTER.1                     "Geoloc_v2_10scans.GEO"         |
+-----------------------------------------------------------------------------+
| ANCILLARYINPUTTYPE.1                        "Geolocation"                   |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.1                   "AveragedBlackBodyTemperature" |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.1                            "268.90"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.2                   "AveragedMirrorTemperature"     |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.2                            "250.27"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.3                   "AveragedFocalPlane1Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.3                            "361.42"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.4                   "AveragedFocalPlane2Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.4                            "363.21"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.5                   "AveragedFocalPlane3Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.5                            "118.25"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.6                   "AveragedFocalPlane4Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.6                            "85.94"                         |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.7                   "CalibrationQuality"            |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.7                            "marginal"                      |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.8                   "MissionPhase"                  |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.8                            "A&E"                           |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.9                   "NadirPointing"                 |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.9                            "Y"                             |
+-----------------------------------------------------------------------------+
| ASSOCIATEDPLATFORMSHORTNAME.1               "Terra" or "Aqua"               |



                                           26
+-----------------------------------------------------------------------------+
| ASSOCIATEDINSTRUMENTSHORTNAME.1             "MODIS"                         |
+-----------------------------------------------------------------------------+
| ASSOCIATEDSENSORSHORTNAME.1                 "MODIS"                         |
+=============================================================================+


+=============================================================================+
|                                                                             |
| 1.2) ECS Standard Archive Granule Metadata                                  |
|       Stored (as HDF ECS PVL string) in global attribute: ArchiveMetadata.0 |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                                        Example                         |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGEACCEPTANCEDATE              "1998-04-01"                    |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGEMATURITYCODE                "pre-launch"                    |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGENAME                        "MODIS Level 1B Algorithm       |
|                                              Package"                       |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGEVERSION                     "2.3.0.0"                       |
+-----------------------------------------------------------------------------+
| INSTRUMENTNAME                              "Moderate-Resolution Imaging    |
|                                              SpectroRadiometer"             |
+-----------------------------------------------------------------------------+
| PROCESSINGCENTER                            "GSFC"                          |
+-----------------------------------------------------------------------------+
| EASTBOUNDINGCOORDINATE                      40.000000                       |
+-----------------------------------------------------------------------------+
| WESTBOUNDINGCOORDINATE                      15.000000                       |
+-----------------------------------------------------------------------------+
| NORTHBOUNDINGCOORDINATE                     25.000000                       |
+-----------------------------------------------------------------------------+
| SOUTHBOUNDINGCOORDINATE                     10.000000                       |
+-----------------------------------------------------------------------------+
| DESCRREVISION                               "1.0"                           |
+-----------------------------------------------------------------------------+
| PRODUCTIONHISTORY                           (for future use)                |
+=============================================================================+


+=============================================================================+
|                                                                             |
| 1.3) MODIS Level 1B Product Granule Metadata                                |
|       Stored as global attributes.                                          |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                               | Type    |Count| Example                |
+------------------------------------+---------+-----+------------------------+
| Number of Scans                    | int32   |   1 | 203 (see note 1)       |
+------------------------------------+---------+-----+------------------------+
| Number of Day mode scans           | int32   |   1 | 203                    |
+------------------------------------+---------+-----+------------------------+
| Number of Night mode scans         | int32   |   1 | 0                      |
+------------------------------------+---------+-----+------------------------+
| Incomplete Scans                   | int32   |   1 | 14                     |
+------------------------------------+---------+-----+------------------------+
| Max Earth View Frames              | int32   |   1 | 1354                   |
+------------------------------------+---------+-----+------------------------+
| %Valid EV Observations             | float32 | 38 | 98.2, 87.1, ...         |
+------------------------------------+---------+-----+------------------------+
| %Saturated EV Observations         | float32 | 38 | 1.4, 0.2, ...           |
+------------------------------------+---------+-----+------------------------+
| Electronics Redundancy Vector      | uint32 |    2 | (see table 1 below)    |
+------------------------------------+---------+-----+------------------------+
| Electronics Configuration Change   | uint32 |    2 | (see table 1 below)    |
+------------------------------------+---------+-----+------------------------+



                                           27
| Reflective LUT Serial Number and   | char8   | 21 | "R001 1998:01:28:12:00"|
| Date of Last Change                |         |     | (RNNN YYYY:MM:DD:HH:MM)|
+------------------------------------+---------+-----+------------------------+
| Emissive LUT Serial Number and     | char8   | 21 | "E001 1998:01:28:12:00"|
| Date of Last Change                |         |     | (ENNN YYYY:MM:DD:HH:MM)|
+------------------------------------+---------+-----+------------------------+
| QA LUT Serial Number and           | char8   | 21 | "Q001 1998:01:28:12:00"|
| Date of Last Change                |         |     | (QNNN YYYY:MM:DD:HH:MM)|
+------------------------------------+---------+-----+------------------------+
| Focal Plane Set Point State        | int8    |   1 | 0=Running uncontrolled |
|                                    |         |     | 1=Set Point is 83 deg |
|                                    |         |     | 2=Set Point is 85 deg |
|                                    |         |     | 3=Set Point is 88 deg |
+=============================================================================+
Note 1. Usage of "Number of Scans": The value of the global attribute
          "Number of Scans" is used in the dimensioning of many of the data
          items within this product. In later descriptions of the dimensions
          of data items, the shortened string "nscans" is used to represent
          the value of the attribute "Number of Scans". This value will
          typically be 203 or 204 during operations.
          However, the file format supports any value greater than zero.

+============================================================================+
| Table 1.                                                                   |
| "Electronics Redundancy Vector" and "Electronics Configuration Change"     |
|    (bit 0 is the least significant bit in the uint32 word)                 |
| The Electronics Redundancy Vector gives the final valid value for          |
|    the corresponding telemetry point within the granule.                   |
|    Values are 0=OFF and 1=ON.                                              |
| The Electronics Configuration Change identifies if any change occurred     |
|    within the granule for the corresponding telemetry point.               |
|    Values are 0 = no change, 1 = change.                                   |
+----------------------------------------------------------------------------+
| Word | Bit |             System                        | Telemetry point   |
+======+=====+===========================================+===================+
| 0    | 0 | BB - Blackbody A                            | CR_BB_A_PWR_ON    |
| 0    | 1 | BB - Blackbody B                            | CR_BB_B_PWR_ON    |
| 0    | 2 | CE - Calibrator Electronics A               | CR_CE_A_ON        |
| 0    | 3 | CE - Calibrator Electronics B               | CR_CE_B_ON        |
| 0    | 4 | CP - Command & Telemetry Processor A        | CR_CP_A_ON_M      |
| 0    | 5 | CP - Command & Telemetry Processor B        | CR_CP_B_ON_M      |
| 0    | 6 | FI - FDDI Formatter A                       | CR_FI_A_ON        |
| 0    | 7 | FI - FDDI Formatter B                       | CR_FI_B_ON        |
| 0    | 8 | FO - FIFO Memory, Block 1                   | CR_FO_BLK1_ON     |
| 0    | 9 | FO - FIFO Memory, Block 2                   | CR_FO_BLK2_ON     |
| 0    | 10 | FO - FIFO Memory, Block 3                  | CR_FO_BLK3_ON     |
| 0    | 11 | FO - FIFO Memory, Block 4                  | CR_FO_BLK4_ON     |
| 0    | 12 | FR - Formatter A                           | CR_FR_A_ON        |
| 0    | 13 | FR - Formatter B                           | CR_FR_B_ON        |
| 0    | 14 | FR - PC DCR                                | CS_FR_PC_DCR_ON   |
| 0    | 15 | FR - PV DCR                                | CS_FR_PV_DCR_ON   |
| 0    | 16 | PC - PC Bands ADCs A                       | CR_PCLW_A_ON      |
| 0    | 17 | PC - PC Bands ADCs B                       | CR_PCLW_B_ON      |
| 0    | 18 | PV - PV FPA, LWIR ADCs A                   | CR_PVLW_A_ON      |
| 0    | 19 | PV - PV FPA, LWIR ADCs B                   | CR_PVLW_B_ON      |
| 0    | 20 | PV - PV FPA, SMIR ADCs A                   | CR_PVSM_A_ON      |
| 0    | 21 | PV - PV FPA, SMIR ADCs B                   | CR_PVSM_B_ON      |
| 0    | 22 | PV - PV FPA, NIR ADCs A                    | CR_PVNIR_A_ON     |
| 0    | 23 | PV - PV FPA, NIR ADCs B                    | CR_PVNIR_B_ON     |
| 0    | 24 | PV - PV FPA, VIS ADC A                     | CR_PVVIS_A_ON     |
| 0    | 25 | PV - PV FPA, VIS ADC B                     | CR_PVVIS_B_ON     |
| 0    | 26 | PV - PV LWIR ECAL A                        | CR_PVLWA_ECAL_ON |
| 0    | 27 | PV - PV LWIR ECAL B                        | CR_PVLWB_ECAL_ON |
| 0    | 28 | PV - PV NIR ECAL A                         | CR_PVNIRA_ECALON |
| 0    | 29 | PV - PV NIR ECAL B                         | CR_PVNIRB_ECALON |
| 0    | 30 | PV - PV SMIR ECAL A                        | CR_PVSMA_ECAL_ON |
| 0    | 31 | PV - PV SMIR ECAL B                        | CR_PVSMB_ECAL_ON |
+------+-----+-------------------------------------------+-------------------+
| 1    | 0 | PV - PV VIS ECAL A                          | CR_PVVISA_ECALON |
| 1    | 1 | PV - PV VIS ECAL B                          | CR_PVVISB_ECALON |
| 1    | 2 | RC - SMIR Temp. Control Heater              | CR_RC_SMHTR_ON    |



                                           28
| 1    | 3 | RC - LWIR Temp. Control Heater              | CR_RC_LWHTR_ON    |
| 1    | 4 | SA - Scan Mirror Assembly A                 | CR_SA_A_SCAN_ON   |
| 1    | 5 | SA - Scan Mirror Assembly B                 | CR_SA_B_SCAN_ON   |
| 1    | 6 | SM - SD Stability Monitor A                 | CR_SM_SDSM_A_ON   |
| 1    | 7 | SM - SD Stability Monitor B                 | CR_SM_SDSM_B_ON   |
| 1    | 8 | SR - Spectroradiometric Assy (SRCA) A       | CR_SR_A_ON        |
| 1    | 9 | SR - Spectroradiometric Assy (SRCA) B       | CR_SR_B_ON        |
| 1    | 10 | TG - Timing Generator A                    | CR_TG_A_ON        |
| 1    | 11 | TG - Timing Generator B                    | CR_TG_B_ON        |
+------+-----+-------------------------------------------+-------------------+
| 1    |12-31| (Unused)                                                      |
+============================================================================+
Note: When the most significant bit of the second word is set to 1, this
denotes that at least one of the telemetry fields had no valid values found.

+=============================================================================+
|                                                                             |
| 1.4) MODIS Level 1B QA Granule Metadata                                     |
|                                                                             |
+=============================================================================+

+=============================================================================+
|                                                                             |
| 1.4.1) MODIS Level 1B QA Granule Metadata                                   |
|         stored as global attributes.                                        |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                                     | Type |Count| Example             |
+------------------------------------------+-------+-----+--------------------+
| Doors and Screens Configuration          | int8 |    1 | 2                  |
+------------------------------------------+-------+-----+--------------------+
| Reflective Bands With Bad Data           | int8 | 22 | 1,0,0,1...           |
+------------------------------------------+-------+-----+--------------------+
| Emissive Bands With Bad Data             | int8 | 16 | 1,0,0,1...           |
+------------------------------------------+-------+-----+--------------------+
| Noise in Black Body Thermistors          | uint8 | 12 | 10                  |
+------------------------------------------+-------+-----+--------------------+
| Noise in Average BB Temperature          | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in LWIR FPA Temperature            | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in MWIR FPA Temperature            | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Scan Mirror Thermistor #1       | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Scan Mirror Thermistor #2       | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Scan Mirror Thermistor Average | uint8 |    1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Instrument Temperature          | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Cavity Temperature              | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Temperature of NIR FPA          | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Noise in Temperature of Vis FPA          | uint8 |   1 | 10                 |
+------------------------------------------+-------+-----+--------------------+
| Dead Detector List                       | int8 | 490 | 1=True or 0=False |
+------------------------------------------+-------+-----+--------------------+
| Noisy Detector List                      | int8 | 490 | 1=True or 0=False |
+------------------------------------------+-------+-----+--------------------+
| Detector Quality Flag                    | uint8 | 490 | (See table below) |
+------------------------------------------+-------+-----+--------------------+
| Earth-Sun Distance                       |float32|   1 | 1.0045             |
+------------------------------------------+-------+-----+--------------------+
| Solar Irradiance on RSB Detectors over pi|float32| 330 | 511.459,511.46,... |
+------------------------------------------+-------+-----+--------------------+
| % L1A EV All Scan Data are Missing       |float32|   1 | 1.301              |
+------------------------------------------+-------+-----+--------------------+
| % L1A EV RSB DN Not in Day Mode          |float32| 490 | 1.301, 0.012, ... |



                                           29
+------------------------------------------+-------+-----+--------------------+
| % L1A EV DN Missing Within Scan          |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % Dead Detector EV Data                  |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % Sector Rotation EV Data                |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % Saturated EV Data                      |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % TEB EV Data With Moon in SVP           |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % EV Data Where Cannot Compute BG DN     |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % RSB EV Data With dn** Below Scale      |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % EV Data Where Nadir Door Closed        |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % EV Data Not Calibrated                 |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| Bit QA Flags Last Value                  | uint32|   1 | 0                  |
+------------------------------------------+-------+-----+--------------------+
| Bit QA Flags Change                      | uint32|   1 | 0                  |
+------------------------------------------+-------+-----+--------------------+
| Granule Average QA Values                |float32| 50 | 290.004,289.984,...|
+=============================================================================+

+================================================================+
| Detector Quality Flag                                          |
| bitmask, each bit has value: 1=True or 0=False                 |
|                                                                |
| Bit |                        Meaning                           |
|======+=========================================================+
|   0 |                     Noisy Detector                       |
| (LSB)|   (same value as in attribute "Noisy Detector List")    |
|------+---------------------------------------------------------+
|   1 |                      Dead Detector                       |
|      |   (same value as in attribute "Dead Detector List")     |
|------+---------------------------------------------------------+
|   2 |                   Out-of-Family Gain                     |
|------+---------------------------------------------------------+
|   3 |                      Dynamic Range                       |
|------+---------------------------------------------------------+
|   4 |         Detector saturates on calibration source         |
|------+---------------------------------------------------------+
|   5 |              High calibration fit residuals              |
|------+---------------------------------------------------------+
|   6 |                  Electrical Crosstalk                    |
|------+---------------------------------------------------------+
|   7 |                           TBD                            |
+======+=========================================================+

+=============================================================================+
|                                                                             |
| 1.4.2) MODIS Level 1B QA Granule Metadata                                   |
|         stored as SDSs.                                                     |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                               | Type | Dimensions         | Example    |
+------------------------------------+--------+------------------+------------+
| Noise in Thermal Detectors         | uint8 | [16][10]          | 8,6,4... |
+------------------------------------+--------+------------------+------------+
| Change in relative responses of    |        |                  |            |
| thermal detectors                  | uint8 | [16][10]          | 10,6,8... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Thermal Bands| int8 | [nscans][16][10] | 0,0,1 ... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Reflective   |        |                  |            |
| 250m Bands                         | int8 | [nscans][2][40] | 0,0,1... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Reflective   |        |                  |            |



                                           30
| 500m Bands                         | int8 | [nscans][5][20] | 0,0,1... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Reflective   |        |                  |            |
| 1km Bands                          | int8 | [nscans][15][10] | 0,0,1... |
+=============================================================================+


+=============================================================================+
|                                                                              |
| 1.5) Level 1B HDF-EOS SWATH Metadata                                         |
|        Stored as global attribute: StructMetadata.0                          |
|                                                                              |
+=============================================================================+
|                                                                              |
|GROUP=SwathStructure                                                          |
| GROUP=SWATH_1                                                                |
|                                                                              |
| SwathName="MODIS_SWATH_Type_L1B"                                             |
|                                                                              |
|   GROUP=Dimension                                                            |
|   +-------------+---------------------+-----------------+                    |
|   | Object      | DimensionName       | Size             |                   |
|   +-------------+---------------------+-----------------+                    |
|   | Dimension_1 | "Band_250M"         | 2                |                   |
|   | Dimension_2 | "Band_500M"         | 5                |                   |
|   | Dimension_3 | "Band_1KM_RefSB"    | 15               |                   |
|   | Dimension_4 | "Band_1KM_Emissive" | 16               |                   |
|   | Dimension_5 | "10*nscans"         | 10*nscans        |                   |
|   | Dimension_6 | "Max_EV_frames"     | 1354             |                   |
|   | Dimension_7 | "2*nscans"          | 2*nscans         |                   |
|   | Dimension_8 | "1KM_geo_dim"       | 271              |                   |
|   +-------------+---------------------+-----------------+                    |
|   Note: Dimension_8, "1KM_geo_dim", is computed as Max_EV_Frames/5+1         |
|                                                                              |
|   GROUP=DimensionMap                                                         |
|   +----------------+---------------------+-----------------+--------+------+|
|   | Object         | GeoDimension         | DataDimension   | Offset | Inc. ||
|   +----------------+---------------------+-----------------+--------+------+|
|   | DimensionMap_1 | "2*nscans"          | "10*nscans"      |   2    | 5    ||
|   | DimensionMap_2 | "1KM_geo_dim"        | "Max_EV_frames" |   2     | 5   ||
|   +----------------+---------------------+-----------------+--------+------+|
|                                                                              |
|   GROUP=GeoField                                                             |
|   +-----------+------------+--------------+--------------------------------+|
|   |Object     |GeoFieldName| DataType      | DimList                        ||
|   +-----------+------------+--------------+--------------------------------+|
|   |GeoField_1 |"Latitude" | DFNT_FLOAT32 |("2*nscans","1KM_geo_dim")        ||
|   |GeoField_2 |"Longitude" | DFNT_FLOAT32 |("2*nscans","1KM_geo_dim")       ||
|   +-----------+------------+--------------+--------------------------------+|
|                                                                              |
|   GROUP=DataField                                                            |
|   +-------------+-----------------------+-------------+--------------------+|
|   | Object      | DataFieldName         | DataType     | DimList            ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_1 | "EV_1KM_RefSB"        | DFNT_UINT16 |("Band_1KM_RefSB", ||
|   |             |                       |              | "10*nscans",       ||
|   |             |                       |              | "Max_EV_frames")   ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_2 | "EV_1KM_RefSB_        | DFNT_UINT8 |("Band_1KM_RefSB", ||
|   |             | Uncert_Indexes"       |              | "10*nscans",       ||
|   |             |                       |              | "Max_EV_frames")   ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_3 | "EV_1KM_Emissive"     | DFNT_UINT16 | ("Band_1KM_         ||
|   |             |                       |              |       Emissive",   ||
|   |             |                       |              | "10*nscans",       ||
|   |             |                       |              | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_4 | "EV_1KM_Emissive_     | DFNT_UINT8 | ("Band_1KM_          ||
|   |             | Uncert_Indexes"       |              |       Emissive",   ||
|   |             |                       |              | "10*nscans",       ||
|   |             |                       |              | "Max_EV_frames") ||



                                            31
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_5 | "EV_250_Aggr1km_RefSB"| DFNT_UINT16 | ("Band_250M",      ||
|   |             |                       |             | "10*nscans",       ||
|   |             |                       |             | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_6 | "EV_250_Aggr1km_      | DFNT_UINT8 | ("Band_250M",       ||
|   |             | RefSB_Uncert_Indexes"|              | "10*nscans",       ||
|   |             |                       |             | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_7 | "EV_250_Aggr1km_      | DFNT_INT8   | ("Band_250M",      ||
|   |             | RefSB_Samples_Used" |               | "10*nscans",       ||
|   |             |                       |             | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_8 | "EV_500_Aggr1km_RefSB"| DFNT_UINT16 | ("Band_500M",      ||
|   |             |                       |             | "10*nscans",       ||
|   |             |                       |             | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_9 | "EV_500_Aggr1km_      | DFNT_UINT8 | ("Band_500M",       ||
|   |             | RefSB_Uncert_Indexes"|              | "10*nscans",       ||
|   |             |                       |             | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_10| "EV_500_Aggr1km_      | DFNT_INT8   | ("Band_500M",      ||
|   |             | RefSB_Samples_Used" |               | "10*nscans",       ||
|   |             |                       |             | "Max_EV_frames") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_11| "Height"              | DFNT_INT16 |("2*nscans",         ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_12| "SensorZenith"        | DFNT_INT16 |("2*nscans",         ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_13| "SensorAzimuth"       | DFNT_INT16 |("2*nscans",         ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_14| "Range"               | DFNT_UINT16 |("2*nscans",        ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_15| "SolarZenith"         | DFNT_INT16 |("2*nscans",         ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_16| "SolarAzimuth"        | DFNT_INT16 |("2*nscans",         ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_17| "gflags"              | DFNT_UINT8 |("2*nscans",         ||
|   |             |                       |             | "1KM_geo_dim")     ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_18| "Band_250M"           | DFNT_FLOAT32| ("Band_250M")      ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_19| "Band_500M"           | DFNT_FLOAT32| ("Band_500M")      ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_20| "Band_1KM_RefSB"      | DFNT_FLOAT32|("Band_1KM_RefSB") ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_21| "Band_1KM_Emissive"   | DFNT_FLOAT32| ("Band_1KM_        ||
|   |             |                       |             |       Emissive")   ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_22| "EV_Band26"           | DFNT_UINT16 |("10*nscans",       ||
|   |             |                       |             | "Max_EV_frames"    ||
|   +-------------+-----------------------+-------------+--------------------+|
|   | DataField_23| "EV_Band26_           | DFNT_UINT8 |("10*nscans",        ||
|   |             | Uncert_Indexes"       |             | "Max_EV_frames"    ||
|   +-------------+-----------------------+-------------+--------------------+|
|                                                                             |
+=============================================================================+

+=============================================================================+
|                                                                             |
| 1.6) Level 1B Swath Metadata                                                |
|                                                                             |
| These data are stored as a single HDF Vdata table having the name           |
| "Level 1B Swath Metadata". The number of records is equal to nscans         |
| (determined by the "Number of Scans" global attribute). The table           |



                                           32
| below describes the fields of this Vdata object.                            |
|                                                                             |
+=============================================================================+
|                                                                             |
| Field Name                     | Type    |Order| Range                      |
+--------------------------------+---------+-----+----------------------------+
| Scan Number                    | int32 | 1 | 1 to 204                       |
+--------------------------------+---------+-----+----------------------------+
| Complete Scan Flag             | int32 | 1 | 1=Complete, 0=Incomplete       |
+--------------------------------+---------+-----+----------------------------+
| Scan Type                      | char8 | 4 | "D        "=day,               |
|                                |         |     | "N   "=night,              |
|                                |         |     | "M   "=mixed,              |
|                                |         |     | "O    "=other              |
+--------------------------------+---------+-----+----------------------------+
| Mirror Side                    | int32   | 1 | 0 or 1                       |
+--------------------------------+---------+-----+----------------------------+
| EV Sector Start Time           | float64 | 1 | TAI time (number of sec.     |
|                                |         |     |            since 1/1/93)   |
+--------------------------------+---------+-----+----------------------------+
| EV_Frames                      | int32   | 1 | 1354       (constant)        |
+--------------------------------+---------+-----+----------------------------+
| Nadir_Frame_Number             | int32   | 1 | 677        (constant)        |
+--------------------------------+---------+-----+----------------------------+
| Latitude of Nadir Frame        | float32 | 1 | -90.0 to 90.0 degrees        |
+--------------------------------+---------+-----+----------------------------+
| Longitude of Nadir Frame       | float32 | 1 | -180.0 to 180.0 degrees      |
+--------------------------------+---------+-----+----------------------------+
| Solar Azimuth of Nadir Frame | float32 | 1 | -180.0 to 180.0 degrees        |
+--------------------------------+---------+-----+----------------------------+
| Solar Zenith of Nadir Frame    | float32 | 1 | 0.0 to 180.0 degrees         |
+--------------------------------+---------+-----+----------------------------+
| No. OBC BB thermistor outliers| int32    | 1 | 0 to 12                      |
+--------------------------------+---------+-----+----------------------------+
| Bit QA Flags                   | uint32 | 1 | (see table below)             |
+--------------------------------+---------+-----+----------------------------+
| Sector Rotation Angle          | float32 | 1 | 0.0 to 360.0 degrees         |
+================================+=========+=====+============================+

  Notes
    1. Scan Type has the three "extra" characters to make it a 32 bit field
       (to make reading the Vdata structure easier).

    2. Bit QA Flags are as follows (bit 0 is the least significant
       bit in the word):
       +========+==========================================+
       | bit # |    flag name/desciption (1=True, 0=False) |
       +========+==========================================+
       | bit 0 |    Moon within defined limits of SVP      |
       +--------+------------------------------------------+
       | bit 1 |    Spacecraft Maneuver                    |
       +--------+------------------------------------------+
       | bit 2 |    Sector Rotation                        |
       +--------+------------------------------------------+
       | bit 3 |    Negative Radiance Beyond Noise Level   |
       +--------+------------------------------------------+
       | bit 4 |    PC Ecal on                             |
       +--------+------------------------------------------+
       | bit 5 |    PV Ecal on                             |
       +--------+------------------------------------------+
       | bit 6 |    SD Door Open                           |
       +--------+------------------------------------------+
       | bit 7 |    SD Screen Down                         |
       +--------+------------------------------------------+
       | bit 8 |    NAD closed                             |
       +--------+------------------------------------------+
       | bit 9 |    SDSM On                                |
       +--------+------------------------------------------+
       | bit 10 |   Radcooler Heaters On                   |
       +--------+------------------------------------------+
       | bit 11 |   Day mode bands telemetered at night    |



                                           33
       +--------+------------------------------------------+
       | bit 12 |   Linear Emissive Calibration            |
       +--------+------------------------------------------+
       | bit 13 |   DC Restore Change                      |
       +--------+------------------------------------------+
       | bit 14 |   (Unused)                               |
       +--------+------------------------------------------+
       | bit 15 |   BB Heater On                           |
       +--------+------------------------------------------+
       | bit 16 |   Missing Previous Granule               |
       +--------+------------------------------------------+
       | bit 17 |   Missing Subsequent Granule             |
       +--------+------------------------------------------+
       |        |   SRCA calibration mode                  |
       | bits   |       +--------+--------+-------------+ |
       | 18-19 |        | bit 18 | bit 19 | Meaning     | |
       |        |       +--------+--------+-------------+ |
       |        |       |    0   |    0   | Radiometric | |
       |        |       |    0   |    1   | Spatial     | |
       |        |       |    1   |    0   | Spectral    | |
       |        |       |    1   |    1   | undetermined| |
       |        |       +--------+--------+-------------+ |
       +--------+------------------------------------------+
       | bit 20 |   moon in keep out box, any RSB          |
       +--------+------------------------------------------+
       | bit 21 |   moon in keep out box, any TEB          |
       +--------+------------------------------------------+
       | bit 22 |   All SV data are bad for any RSB        |
       +--------+------------------------------------------+
       | bit 23 |   All BB data are bad for any RSB        |
       +--------+------------------------------------------+
       | bit 24 |   (Remaining bits reserved for           |
       | ... 31 |    future use)                           |
       +========+==========================================+

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ |   II) Instrument and Uncertainty SDSs                     | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

   Description:
     This section contains the scientific data sets (SDSs) in which the
     "corrected count" data (scaled to 16 bit integers) is stored, the
     corresponding uncertainty indices, and the number of samples used
     to do aggregation.

   SDS Indexing:
     Each SDS is an array through a space of five parameters: band, detector,
     scan, frame and sample. However, the SDS is written as a 3-D array so
     that it can be added to the HDF-EOS "SWATH" data structure:

        SDS_name[band_index, scan_and_detect_index, frame_and_sample_index]

     Where "band_index" represents an index through the bands represented in
     the SDS, "scan_and_detect_index" represents a double index through all
     detectors and scans, and "frame_and_sample_index" represents a double
     index through all frames and samples in a frame. In this discussion,
     an "index" assumes a convention of 0 to N-1. The following formula can
     be used to obtain the scan_and_detect_index from the detector index and
     the scan index:

        scan_and_det_index   =   scan_index * num_detectors_at_resolution
                                 + detector_index

     where num_detectors_at_resolution = 10 for SDSs in the 1km product.
     Similarly, to obtain the frame_and_sample_index from the frame and
     sample indices:

        frame_and_sample_index = frame_index * num_samples_at_resolution



                                            34
                                 + sample_index

     where num_samples_at_resolution = 1 for SDSs in the 1km product.

   Specific Data Values:
     Generally, any scaled integer (SI) value above 32767 represents unusable
     data. The following values are reserved for the scaled integer and the
     uncertainty index (UI) to signal the reason why data are unusable:

              Reason for unusable data                      SI        UI
     ----------------------------------------------       -----      ----
     Fill Value (includes reflective band data
       at night and completely missing L1A scans)         65535      255
     L1A DN is missing within a scan                      65534       15
     Detector is saturated                                65533       15
     Cannot compute zero point DN                         65532       15
     Detector is dead                                     65531*      15
     RSB dn** below the minimum of the scaling range      65530       15
     TEB radiance or RSB dn** exceeds the
       maximum of the scaling range                       65529      15
     Aggregation algorithm failure                        65528      15
     Rotation of Earth-View Sector from
       nominal science collection position                65527      15
     (reserved for future use)                         65501-65526   15
     NAD closed upper limit                               65500      15

     * The "Dead Detector List" attribute (Section 1.4.1) identifies those
     detectors that are declared non-functional (cannot be calibrated).
     If possible, a valid SI value will be interpolated from the nearest
     functional detectors within the same scan. If not possible, the value
     will be set at 65531.

     For the case of nadir-aperture door (NAD) closed, the SI value will be
     set to a value > 32767 (denoting unusable data). First, if appropriate,
     a specific unusable data value above will be assigned. If one of the
     specific reasons does not apply, then the SI value will be calculated
     normally and then the most significant bit will be flipped, resulting
     in a value > 32767. If the resulting scaled integer value exceeds the
     value of NAD closed upper limit, the value will be set to that value.

     Also, for any uncertainty value other than fill-value (255), the
     uncertainty is written into the 4 least significant bits of the 8-bit
     UI value (hence, 15 is the maximum 4-bit number).

     To compute uncertainty in percent from the uncertainty index (UI), use
     the specified_uncertainty and scaling_factor for the given band in:

         % uncertainty = specified_uncertainty * exp(UI/scaling_factor)

     The band-dependent values of specified_uncertainty and scaling_factor
     are attached as attributes to each uncertainty index SDS.

   Contents:
     2.1) EV_250_Aggr1km_RefSB
     2.2) EV_250_Aggr1km_RefSB_Uncert_Indexes
     2.3) EV_250_Aggr1km_RefSB_Samples_Used
     2.4) EV_500_Aggr1km_RefSB
     2.5) EV_500_Aggr1km_RefSB_Uncert_Indexes
     2.6) EV_500_Aggr1km_RefSB_Samples_Used
     2.7) EV_1KM_RefSB
     2.8) EV_1KM_RefSB_Uncert_Indexes
     2.9) EV_1KM_Emissive
     2.10) EV_1KM_Emissive_Uncert_Indexes
     2.11) EV_Band26
     2.12) EV_Band26_Uncert_Indexes


+=============================================================================+
| 2.1) EV_250_Aggr1km_RefSB                                                   |
|                                                                             |
| SDS Name                  Data Type   Dimensions                            |



                                           35
+-----------------------------------------------------------------------------+
| "EV_250_Aggr1km_RefSB"    uint16      (Band_250M, 10*nscans, Max_EV_frames) |
|                                                                             |
|    Description:                                                             |
|      16 bit scaled integer array containing the 250m Earth View data,        |
|      aggregated to 1km resolution.                                          |
|                                                                             |
|    SDS Attributes:                                                           |
|      +-----------------------------+---------+-----+------------------------+
|      | Attribute Name              | Type    |Count| Attribute Value        |
|      +-----------------------------+---------+-----+------------------------+
|      | units                       | string | 1 | "none"                    |
|      +-----------------------------+---------+-----+------------------------+
|      | valid_range                 | uint16 | 2 | 0, 32767                  |
|      +-----------------------------+---------+-----+------------------------+
|      | _FillValue                  | uint16 | 1 | 65535                     |
|      +-----------------------------+---------+-----+------------------------+
|      | long_name                   | string | 1 |"Earth View 250M Aggrega|
|      |                             |         |     |ted 1km Reflective Solar|
|      |                             |         |     |Bands Scaled Integers" |
|      +-----------------------------+---------+-----+------------------------+
|      | band_names                  | string | 1 | "1, 2"                    |
|      +-----------------------------+---------+-----+------------------------+
|      | radiance_scales             | float32 | 2 | x.f, x.f                  |
|      +-----------------------------+---------+-----+------------------------+
|      | radiance_offsets            | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | radiance_units              | string | 1 |"Watts/m^2/micrometer/st|
|      |                             |         |     | eradian"               |
|      +-----------------------------+---------+-----+------------------------+
|      | reflectance_scales          | float32 | 2 | x.f, x.f                  |
|      +-----------------------------+---------+-----+------------------------+
|      | reflectance_offsets         | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | reflectance_units           | string | 1 | "none"                    |
|      +-----------------------------+---------+-----+------------------------+
|      | corrected_counts_scales     | float32 | 2 | x.f, x.f                  |
|      +-----------------------------+---------+-----+------------------------+
|      | corrected_counts_offsets    | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | corrected_counts_units      | string | 1 | "counts"                  |
|      +-----------------------------+---------+-----+------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.2) EV_250_Aggr1km_RefSB_Uncert_Indexes                                    |
|                                                                             |
| SDS Name                                 Data Type   Dimensions             |
+-----------------------------------------------------------------------------+
| "EV_250_Aggr1km_RefSB_Uncert_Indexes"    uint8       (Band_250M, 10*nscans, |
|                                                       Max_EV_frames)        |
|                                                                             |
|    Description:                                                             |
|      8 bit unsigned integer array containing the uncertainty index values   |
|      corresponding to the aggregated 250m Earth View data stored            |
|      in the "EV_250_Aggr1km_RefSB" SDS. The uncertainty index values are    |
|      calculated from the percent uncertainty in the reflectance product.    |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 250M Aggregated |
|      |                          |        |     | 1km Reflective Solar Bands |
|      |                          |        |     | Uncertainty Indexes"       |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+



                                            36
|      | valid_range              | uint8 | 2 | 0, 15                         |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint8 | 1 | 255                           |
|      +--------------------------+--------+-----+----------------------------+
|      | specified_uncertainty    | float32| 2 | x.f, x.f                     |
|      +--------------------------+--------+-----+----------------------------+
|      | scaling_factor           | float32| 2 | x.f, x.f                     |
|      +--------------------------+--------+-----+----------------------------+
|      | uncertainty_units        | string | 1 | "percent"                     |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.3) EV_250_Aggr1km_RefSB_Samples_Used                                      |
|                                                                             |
| SDS Name                               Data Type   Dimensions               |
+-----------------------------------------------------------------------------+
| "EV_250_Aggr1km_RefSB_Samples_Used"    int8        (Band_250M, 10*nscans,   |
|                                                     Max_EV_frames)          |
|                                                                             |
|    Description:                                                             |
|      8 bit integer array containing the number of samples used in           |
|      the 250m Earth View data to aggregate to 1km resolution (which is      |
|      stored in the "EV_250_Aggr1km_RefSB" SDS).                             |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 250M Aggregated |
|      |                          |        |     | 1km Reflective Solar Bands |
|      |                          |        |     | Number of Samples Used in |
|      |                          |        |     | Aggregation"               |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int8 | 2 | 0, 28                          |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int8 | 1 | -1                             |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 2.4) EV_500_Aggr1km_RefSB                                                   |
|                                                                             |
| SDS Name                   Data Type             Dimensions                 |
+-----------------------------------------------------------------------------+
| "EV_500_Aggr1km_RefSB"     uint16     (Band_500M, 10*nscans, Max_EV_frames) |
|                                                                             |
|    Description:                                                             |
|      16 bit scaled integer array containing the 500m Earth View data,       |
|      aggregated to 1km resolution.                                          |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint16 | 2 | 0, 32767                     |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint16 | 1 | 65535                        |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 500M Aggregated |
|      |                          |        |     | 1km Reflective Solar Bands |
|      |                          |        |     | Scaled Integers"           |
|      +--------------------------+--------+-----+----------------------------+



                                            37
|      | band_names               | string | 1 | "3, 4, 5, 6, 7"              |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_scales          | float32| 5 | x.f, x.f, x.f, x.f, x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_offsets         | float32| 5 | x.f, x.f, x.f, x.f, x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_units           | string | 1 |"Watts/m^2/micrometer/stera |
|      |                          |        |     | dian"                      |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_scales       | float32| 5 | x.f, x.f, x.f, x.f, x.f       |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_offsets      | float32| 5 | x.f, x.f, x.f, x.f, x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_units        | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_scales | float32| 5 | x.f, x.f, x.f, x.f, x.f       |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_offsets | float32| 5 | x.f, x.f, x.f, x.f, x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_units   | string | 1 | "counts"                      |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.5) EV_500_Aggr1km_RefSB_Uncert_Indexes                                    |
|                                                                             |
| SDS Name                               Data Type   Dimensions               |
+-----------------------------------------------------------------------------+
| "EV_500_Aggr1km_RefSB_Uncert_Indexes" uint8        (Band_500M, 10*nscans,   |
|                                                     Max_EV_frames)          |
|                                                                              |
|    Description:                                                             |
|      8 bit unsigned integer array containing the uncertainty index values   |
|      corresponding to the aggregated 500m Earth View data stored             |
|      in the "EV_500_Aggr1km_RefSB" SDS. The uncertainty index values are    |
|      calculated from the percent uncertainty in the reflectance product.    |
|                                                                              |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value             |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 500M Aggregated |
|      |                          |        |     | 1km Reflective Solar Bands |
|      |                          |        |     | Uncertainty Indexes"       |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint8 | 2 | 0, 15                         |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint8 | 1 | 255                            |
|      +--------------------------+--------+-----+----------------------------+
|      | specified_uncertainty    | float32| 5 | x.f, x.f, x.f, x.f, x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | scaling_factor           | float32| 5 | x.f, x.f, x.f, x.f, x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | uncertainty_units        | string | 1 | "percent"                     |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.6) EV_500_Aggr1km_RefSB_Samples_Used                                      |
|                                                                             |
| SDS Name                               Data Type   Dimensions               |
+-----------------------------------------------------------------------------+
| "EV_500_Aggr1km_RefSB_Samples_Used"    int8        (Band_500M, 10*nscans,   |



                                            38
|                                                      Max_EV_frames)         |
|                                                                             |
|    Description:                                                             |
|      8 bit integer array containing the number of samples used in           |
|      the 500m Earth View data to aggregate to 1km resolution (which is      |
|      stored in the "EV_500_Aggr1km_RefSB" SDS).                             |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 500M Aggregated |
|      |                          |        |     | 1km Reflective Solar Bands |
|      |                          |        |     | Number of Samples Used in |
|      |                          |        |      | Aggregation"              |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int8 | 2 | 0, 6                           |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int8 | 1 | -1                             |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 2.7) EV_1KM_RefSB                                                           |
|                                                                             |
| SDS Name            Data Type     Dimensions                                |
+-----------------------------------------------------------------------------+
| "EV_1KM_RefSB"      uint16       (Band_1KM_RefSB, 10*nscans, Max_EV_frames) |
|                                                                             |
|    Description:                                                             |
|      16 bit unsigned integer array containing the scaled integer            |
|      representations of the Earth view 1km reflective band corrected        |
|      counts (DN star).                                                      |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type    |Count| Attribute Value           |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint16 | 2 | 0, 32767                     |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint16 | 1 | 65535                        |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 1KM Reflective |
|      |                          |         |     | Solar Bands Scaled        |
|      |                          |         |     | Integers"                 |
|      +--------------------------+--------+-----+----------------------------+
|      | band_names               | string | 1 | "8, 9, 10, 11, 12, 13lo,     |
|      |                          |         |     | 13hi, 14lo, 14hi, 15, 16, |
|      |                          |         |     | 17, 18, 19, 26"           |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_scales          | float32| 15 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_offsets         | float32| 15 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_units           | string | 1 | "Watts/m^2/micrometer/ster |
|      |                          |         |     | adian"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_scales       | float32| 15 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_offsets      | float32| 15 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_units        | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_scales | float32| 15 | x.f, x.f, x.f, ..., x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_offsets | float32| 15 | x.f, x.f, x.f, ..., x.f     |



                                           39
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_units   | string | 1 | "counts"                     |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.8) EV_1KM_RefSB_Uncert_Indexes                                             |
|                                                                             |
| SDS Name                           Data Type    Dimensions                  |
+-----------------------------------------------------------------------------+
| "EV_1KM_RefSB_Uncert_Indexes"      uint8       (Band_1KM_RefSB, 10*nscans, |
|                                                              Max_EV_frames) |
|                                                                              |
|    Description:                                                             |
|      8 bit unsigned integer array containing the uncertainty indexes        |
|      corresponding to the corrected counts in the Earth view 1km reflective |
|      band SDS: "EV_1KM_RefSB". The uncertainty index values are             |
|      calculated from the percent uncertainty in the reflectance product.    |
|                                                                             |
|    SDS Attributes:                                                           |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 1KM Reflective |
|      |                          |        |     | Solar Bands Uncertainty    |
|      |                          |        |     | Indexes"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint8 | 2 | 0, 15                         |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint8 | 1 | 255                           |
|      +--------------------------+--------+-----+----------------------------+
|      | specified_uncertainty    | float32| 15 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | scaling_factor           | float32| 15 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | uncertainty_units        | string | 1 | "percent"                    |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.9) EV_1KM_Emissive                                                        |
|                                                                             |
| SDS Name            Data Type Dimensions                                    |
+-----------------------------------------------------------------------------+
| "EV_1KM_Emissive"   uint16     (Band_1KM_Emissive, 10*nscans, Max_EV_frames)|
|                                                                             |
|    Description:                                                             |
|      16 bit unsigned integer array containing the scaled integer            |
|      representations of the Earth view 1km emissive band radiances.         |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint16 | 2 | 0, 32767                     |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint16 | 1 | 65535                        |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 1KM Emissive      |
|      |                          |        |     | Bands Scaled Integers"     |
|      +--------------------------+--------+-----+----------------------------+



                                            40
|      | band_names               | string | 1 | "20, 21, 22, 23, 24, 25,      |
|      |                          |        |     | 27, 28, 29, 30, 31, 32,    |
|      |                          |        |     | 33, 34, 35, 36"            |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_scales          | float32| 16 | x.f, x.f, x.f, ..., x.f     |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_offsets         | float32| 16 | x.f, x.f, x.f, ..., x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_units           | string | 1 | "Watts/m^2/micrometer/ster |
|      |                          |        |     | adian"                      |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.10) EV_1KM_Emissive_Uncert_Indexes                                         |
|                                                                              |
| SDS Name                            Data Type    Dimensions                  |
+-----------------------------------------------------------------------------+
| "EV_1KM_Emissive_Uncert_Indexes"    uint8        (Band_1KM_Emissive,         |
|                                                   10*nscans, Max_EV_frames) |
|                                                                              |
|    Description:                                                              |
|      8 bit unsigned integer array containing the uncertainty indexes         |
|      corresponding to the radiances in the Earth view 1km emissive           |
|      band SDS: "EV_1KM_Emissive".                                            |
|                                                                              |
|    SDS Attributes:                                                           |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type    |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                 | string | 1 |"Earth View 1KM Emissive      |
|      |                          |         |     | Bands Uncertainty Indexes" |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                        |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint8 | 2 | 0, 15                          |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint8 | 1 | 255                            |
|      +--------------------------+--------+-----+----------------------------+
|      | specified_uncertainty    | float32| 16 | x.f, x.f, x.f, ..., x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | scaling_factor           | float32| 16 | x.f, x.f, x.f, ..., x.f      |
|      +--------------------------+--------+-----+----------------------------+
|      | uncertainty_units        | string | 1 | "percent"                     |
|      +--------------------------+--------+-----+----------------------------+
|                                                                              |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.11) EV_Band26                                                             |
|                                                                             |
| SDS Name            Data Type    Dimensions                                 |
+-----------------------------------------------------------------------------+
| "EV_Band26"         uint16       (10*nscans, Max_EV_frames)                 |
|                                                                             |
|    Description:                                                             |
|      16 bit unsigned integer array containing the scaled integer            |
|      representations of the Earth view Band 26 corrected                    |
|      counts (DN star). This SDS is always written, regardless of            |
|      whether scans are type "Day" or "Night". In Day Mode, these data       |
|      are replicated in the reflective bands SDS                             |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+



                                            41
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint16 | 2 | 0, 32767                     |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint16 | 1 | 65535                         |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View Band 26           |
|      |                          |        |     | Scaled Integers"           |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_scales          | float32| 1 | x.f                          |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_offsets         | float32| 1 | x.f                           |
|      +--------------------------+--------+-----+----------------------------+
|      | radiance_units           | string | 1 | "Watts/m^2/micrometer/ster |
|      |                          |        |     | adian"                      |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_scales       | float32| 1 | x.f                          |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_offsets      | float32| 1 | x.f                          |
|      +--------------------------+--------+-----+----------------------------+
|      | reflectance_units        | string | 1 | "none"                        |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_scales | float32| 1 | x.f                           |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_offsets | float32| 1 | x.f                          |
|      +--------------------------+--------+-----+----------------------------+
|      | corrected_counts_units   | string | 1 | "counts"                     |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.12) EV_Band26_Uncert_Indexes                                               |
|                                                                             |
| SDS Name                           Data Type    Dimensions                  |
+-----------------------------------------------------------------------------+
| "EV_Band26_Uncert_Indexes"         uint8       (10*nscans, Max_EV_frames)   |
|                                                                             |
|    Description:                                                             |
|      8 bit unsigned integer array containing the uncertainty indexes        |
|      corresponding to the corrected counts in the Earth view, Band 26,      |
|      data: "EV_Band26". The uncertainty index values are                    |
|      calculated from the percent uncertainty in the reflectance product.     |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View Band 26            |
|      |                          |        |     | Uncertainty Indexes"       |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint8 | 2 | 0, 15                         |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint8 | 1 | 255                           |
|      +--------------------------+--------+-----+----------------------------+
|      | specified_uncertainty    | float32| 1 | x.f                          |
|      +--------------------------+--------+-----+----------------------------+
|      | scaling_factor           | float32| 1 | x.f                          |
|      +--------------------------+--------+-----+----------------------------+
|      | uncertainty_units        | string | 1 | "percent"                     |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

   ______



                                            42
    /\     \ +---------------------------------------------------------------+
/    \     \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\     \_____\ |   III) Band-Subsetting SDSs                               | |
    \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
     \/_____/+---------------------------------------------------------------+

     Description:
       This section contains the scientific data sets (SDSs) which hold
       the information used to accomplish band subsetting.

     Contents:
       3.1 Band_250M
       3.2 Band_500M
       3.3 Band_1KM_RefSB
       3.4 Band_1KM_Emissive

+=============================================================================+
| 3.1) Band_250M                                                              |
|                                                                             |
| SDS Name                  Data Type        Dimensions                       |
+-----------------------------------------------------------------------------+
| "Band_250M"                float32         (Band_250M)                      |
|                                                                             |
|    Description:                                                             |
|      float32 array containing the band numbers used for band subsetting.    |
|      The values are: 1.0, 2.0                                               |
|                                                                             |
|    SDS Attributes:                                                          |
|      +-----------------+---------+-----+------------------------------------+
|      | Attribute Name | Type     |Count| Attribute Value                    |
|      +-----------------+---------+-----+------------------------------------+
|      | long_name       | string | 1 | "250M Band Numbers for Subsetting" |
|      +-----------------+---------+-----+------------------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 3.2) Band_500M                                                              |
|                                                                             |
| SDS Name                  Data Type        Dimensions                       |
+-----------------------------------------------------------------------------+
| "Band_500M"                float32         (Band_500M)                      |
|                                                                             |
|    Description:                                                             |
|      float32 array containing the band numbers used for band subsetting.    |
|      The values are: 3.0, 4.0, 5.0, 6.0, 7.0                                |
|                                                                             |
|    SDS Attributes:                                                          |
|      +-----------------+---------+-----+------------------------------------+
|      | Attribute Name | Type     |Count| Attribute Value                    |
|      +-----------------+---------+-----+------------------------------------+
|      | long_name       | string | 1 | "500M Band Numbers for Subsetting" |
|      +-----------------+---------+-----+------------------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 3.3) Band_1KM_RefSB                                                         |
|                                                                             |
| SDS Name                  Data Type        Dimensions                       |
+-----------------------------------------------------------------------------+
| "Band_1KM_RefSB"           float32         (Band_1KM_RefSB)                 |
|                                                                             |
|    Description:                                                             |
|      float32 array containing the band numbers used for band subsetting.    |
|      The values are: 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 13.5, 14.0, 14.5,    |
|                       15.0, 16.0, 17.0, 18.0, 19.0, 26.0                    |
|                                                                             |
|    SDS Attributes:                                                          |
|      +-----------------+---------+-----+------------------------------------+
|      | Attribute Name | Type     |Count| Attribute Value                    |



                                             43
|      +-----------------+---------+-----+------------------------------------+
|      | long_name       | string | 1 | "1KM Reflective Solar Band            |
|      |                 |         |     | Numbers for Subsetting"            |
|      +-----------------+---------+-----+------------------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 3.4) Band_1KM_Emissive                                                      |
|                                                                             |
| SDS Name                  Data Type        Dimensions                       |
+-----------------------------------------------------------------------------+
| "Band_1KM_Emissive"        float32         (Band_1KM_Emissive)              |
|                                                                             |
|    Description:                                                             |
|      float32 array containing the band numbers used for band subsetting.    |
|      The values are: 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 27.0, 28.0,        |
|                       29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0        |
|                                                                             |
|    SDS Attributes:                                                          |
|      +-----------------+---------+-----+------------------------------------+
|      | Attribute Name | Type     |Count| Attribute Value                    |
|      +-----------------+---------+-----+------------------------------------+
|      | long_name       | string | 1 | "1KM Emissive Band                    |
|      |                 |         |     | Numbers for Subsetting"            |
|      +-----------------+---------+-----+------------------------------------+
|                                                                             |
+=============================================================================+

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ | IV) Geolocation SDSs                                      | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

   Description:
     This section contains information about the geodetic position
     (latitude, longitude, and height) for the center of each 1 km
     MODIS Earth View observation, as well as sun and satellite
     ("sensor") bearings for each 1 km MODIS Earth View observation.

   Contents:
     4.1) Latitude
     4.2) Longitude
     4.3) Height
     4.4) SensorZenith
     4.5) SensorAzimuth
     4.6) Range
     4.7) SolarZenith
     4.8) SolarAzimuth
     4.9) gflags

+=============================================================================+
| 4.1) Latitude                                                               |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "Latitude"                   float32      (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      32 bit signed floating point array containing the geodetic latitudes   |
|      for the center of the corresponding 1km Earth view frames.             |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | float32| 2 | -90.0, 90.0                  |



                                           44
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | float32| 1 | -999.9                       |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.2) Longitude                                                              |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "Longitude"                  float32      (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      32 bit signed floating point array containing the geodetic longitudes |
|      for the center of the corresponding 1km Earth view frames.             |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | float32| 2 | -180.0, 180.0                |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | float32| 1 | -999.9                       |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.3) Height                                                                 |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "Height"                     int16        (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      16 bit signed integer array containing the geodetic heights above      |
|      geoid for the center of the corresponding 1km Earth view frames.       |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "meters"                     |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int16 | 2 | -400, 10000                   |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int16 | 1 | -32767                        |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.4) SensorZenith                                                           |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+



                                           45
| "SensorZenith"               int16        (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      16 bit signed integer array containing the sensor (spacecraft) zenith |
|      angles for the corresponding 1km Earth view frames.                    |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int16 | 2 | 0, 18000                      |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int16 | 1 | -32767                        |
|      +--------------------------+--------+-----+----------------------------+
|      | scale_factor             | float64| 1 | 0.01                         |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.5) SensorAzimuth                                                          |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "SensorAzimuth"              int16        (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      16 bit signed integer array containing the sensor (spacecraft)         |
|      azimuth angles for the corresponding 1km Earth view frames.            |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int16 | 2 | -18000, 18000                 |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int16 | 1 | -32767                        |
|      +--------------------------+--------+-----+----------------------------+
|      | scale_factor             | float64| 1 | 0.01                         |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.6) Range                                                                  |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "Range"                      uint16       (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      16 bit unsigned integer array containing the slant ranges              |
|      (to spacecraft) for the corresponding 1km Earth view frames.           |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "meters"                     |



                                           46
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint16 | 2 | 27000, 65535                 |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint16 | 1 | 0                            |
|      +--------------------------+--------+-----+----------------------------+
|      | scale_factor             | float64| 1 | 25.0                         |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.7) SolarZenith                                                            |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "SolarZenith"                int16        (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      16 bit signed integer array containing the solar zenith                |
|      angles for the corresponding 1km Earth view frames.                    |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int16 | 2 | 0, 18000                      |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int16 | 1 | -32767                        |
|      +--------------------------+--------+-----+----------------------------+
|      | scale_factor             | float64| 1 | 0.01                         |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.8) SolarAzimuth                                                           |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "SolarAzimuth"               int16        (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      16 bit signed integer array containing the solar azimuth               |
|      angles for the corresponding 1km Earth view frames.                    |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | int16 | 2 | -18000, 18000                 |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | int16 | 1 | -32767                        |
|      +--------------------------+--------+-----+----------------------------+
|      | scale_factor             | float64| 1 | 0.01                         |
|      +--------------------------+--------+-----+----------------------------+
|      | line_numbers             | string | 1 | "3, 8"                       |
|      +--------------------------+--------+-----+----------------------------+
|      | frame_numbers            | string | 1 | "3, 8, 13,..."               |
|      +--------------------------+--------+-----+----------------------------+



                                           47
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.9) gflags                                                                 |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "gflags"                     uint8        (2*nscans, Max_EV_frames/5+1)     |
|                                                                             |
|    Description:                                                             |
|      8 bit unsigned integer array containing the geolocation flag values    |
|      for the corresponding 1km Earth view frames.                           |
|                                                                             |
|    SDS Attributes:                                                          |
|      +---------------+--------+-----+---------------------------------+     |
|      | Attribute Name| Type   |Count| Attribute Value                 |     |
|      +---------------+--------+-----+---------------------------------+     |
|      | _FillValue    | uint8 | 1 | 255                                |     |
|      +---------------+--------+-----+---------------------------------+     |
|      | Bit 7(MSB)    | string | 1 | "1 = invalid input data"          |     |
|      +---------------+--------+-----+---------------------------------+     |
|      | Bit 6         | string | 1 | "1 = no ellipsoid intersection" |       |
|      +---------------+--------+-----+---------------------------------+     |
|      | Bit 5         | string | 1 | "1 = no valid terrain data"       |     |
|      +---------------+--------+-----+---------------------------------+     |
|      | Bit 4         | string | 1 | "1 = DEM missing or of inferior |       |
|      |               |        |     | quality"                        |     |
|      +---------------+--------+-----+---------------------------------+     |
|      | Bit 3         | string | 1 | "1 = invalid sensor range"        |     |
|      +---------------+--------+-----+---------------------------------+     |
|                                                                             |
+=============================================================================+




                                           48
   Appendix B: MOD02_QKM_L1B Radiance File Specification
http://mcstweb.gsfc.nasa.gov/documents/MOD02QKM_v302.fs.txt
+=============================================================================+
|                                                                             |
|                   TERRA L1B EV 250m File Specification                      |
|                           V3.0.0, 4/01/2001                                 |
|                                                                             |
+=============================================================================+

   This document specifies the format for the MODIS Level 1B 250m
   earth-view (EV) product. The product is implemented in an HDF file.

   DETECTOR ORDER CONVENTION FOR DETECTOR DEPENDENT DATA:
   The "SBRS" detector order convention refers to the numbering of detectors
   on each focal plane assembly as defined by the manufacturer. In this
   convention, the numbering of detectors is opposite in direction from the
   satellite track direction. The "product" detector order convention is the
   reverse of the SBRS convention. The product detector order convention was
   defined to allow consecutive scans to be laid down on an image with the
   last detector of one scan abutting the first detector of the next scan.
   ALL DATA ITEMS WITHIN THIS FILE FOLLOW THE "PRODUCT" DETECTOR ORDER
   CONVENTION.

  +=====================================================================+
  |                                                                     |
  | Contents:                                                           |
  |                                                                     |
  |       I) Global Metadata                                            |
  |                                                                     |
  |      II) Instrument and Uncertainty SDSs                            |
  |                                                                     |
  |     III) Band-Subsetting SDSs                                       |
  |                                                                     |
  |      IV) Geolocation SDSs                                           |
  |                                                                     |
  +=====================================================================+

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ | I) Global Metadata                                        | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

   Description:
     This section contains granule-level metadata (i.e. ECS metadata, product
     granule metadata, QA granule metadata, HDF-EOS swath metadata, and
     L1B swath metadata).

   Contents:
     1.1) ECS Standard Core Granule Metadata
     1.2) ECS Standard Archive Granule Metadata
     1.3) MODIS Level 1B Product Granule Metadata
     1.4) MODIS Level 1B QA Granule Metadata
          1.4.1) QA Granule Metadata stored as global attributes
          1.4.2) QA Granule Metadata stored as SDSs
     1.5) Level 1B HDF-EOS SWATH Metadata
     1.6) Level 1B Swath Metadata

   For attributes dimensioned 38 (number of bands), the band order is:
       1, 2, 3, .. , 13lo, 13hi, 14lo, 14hi, 15, .. , 36.
   For the reflective bands, total of 22, the order is:
       1, 2, 3, .. , 13lo, 13hi, 14lo, 14hi, .. , 19, 26.
   The order of the 490 detectors follows the order of the 38 bands described
   earlier. Within each band, the order of detectors is product order.

+=============================================================================+
|                                                                             |




                                           49
| 1.1) ECS Standard Core Granule Metadata                                     |
|       Stored (as One ECS PVL String) in global attribute: CoreMetadata.0    |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                                        Example                         |
+-----------------------------------------------------------------------------+
| LOCALGRANULEID                              "MOD02QKM.A1996218.1555.002.    |
|                                             1998152115306.hdf" (Terra)      |
|                                             "MYD02QKM.A2001103.1555.002.    |
|                                             2001108115306.hdf" (Aqua)       |
+-----------------------------------------------------------------------------+
| PRODUCTIONDATETIME                          "1998-06-01T15:53:08.000Z"      |
+-----------------------------------------------------------------------------+
| DAYNIGHTFLAG                                "Day" or "Night" or "Both"      |
+-----------------------------------------------------------------------------+
| REPROCESSINGACTUAL                          "processed once"                |
+-----------------------------------------------------------------------------+
| REPROCESSINGPLANNED                         "no further update anticipated" |
+-----------------------------------------------------------------------------+
| SIZEMBECSDATAGRANULE                        (set by "DSS")                  |
+-----------------------------------------------------------------------------+
| AUTOMATICQUALITYFLAGEXPLANATION.1           "not being investigated"        |
+-----------------------------------------------------------------------------+
| AUTOMATICQUALITYFLAG.1                      "Passed"                        |
+-----------------------------------------------------------------------------+
| OPERATIONALQUALITYFLAGEXPLANATION.1         (set by "DAAC")                 |
+-----------------------------------------------------------------------------+
| OPERATIONALQUALITYFLAG.1                    (set by "DAAC")                 |
+-----------------------------------------------------------------------------+
| SCIENCEQUALITYFLAGEXPLANATION.1             (set by "DP")                   |
+-----------------------------------------------------------------------------+
| SCIENCEQUALITYFLAG.1                        "Not Investigated"              |
+-----------------------------------------------------------------------------+
| QAPERCENTMISSINGDATA.1                      0                               |
+-----------------------------------------------------------------------------+
| QAPERCENTINTERPOLATEDDATA.1                 0                               |
+-----------------------------------------------------------------------------+
| QAPERCENTOUTOFBOUNDSDATA.1                  0                               |
+-----------------------------------------------------------------------------+
| PARAMETERNAME.1                             "EV_250_RefSB"                  |
+-----------------------------------------------------------------------------+
| EQUATORCROSSINGDATE.1                       "1996-08-05"                    |
+-----------------------------------------------------------------------------+
| EQUATORCROSSINGTIME.1                       "15:55:45.854788"               |
+-----------------------------------------------------------------------------+
| ORBITNUMBER.1                               88                              |
+-----------------------------------------------------------------------------+
| EQUATORCROSSINGLONGITUDE.1                  -73.021282                      |
+-----------------------------------------------------------------------------+
| VERSIONID                                   1                               |
+-----------------------------------------------------------------------------+
| SHORTNAME                                   "MOD02QKM"    (Terra)           |
|                                             "MYD02QKM"    (Aqua)            |
+-----------------------------------------------------------------------------+
| INPUTPOINTER                                "L1A_v2_10scans_0.L1A",         |
|                                             "L1A_v2_10scans_1.L1A",         |
|                                             "L1A_v2_10scans_2.L1A",         |
|                                             "Reflective_Lookup_Tables_file",|
|                                             "Emissive_Lookup_Tables_file", |
|                                             "QA_Lookup_Tables_file"         |
+-----------------------------------------------------------------------------+
| GRINGPOINTLONGITUDE.1                       (-86.567558, -59.389000,        |
|                                               -59.836601, -86.653564)       |
+-----------------------------------------------------------------------------+
| GRINGPOINTLATITUDE.1                        (41.644032, 37.729759,          |
|                                               36.824055, 40.686016)         |
+-----------------------------------------------------------------------------+
| GRINGPOINTSEQUENCENO.1                      (1, 2, 3, 4)                    |
+-----------------------------------------------------------------------------+
| EXCLUSIONGRINGFLAG.1                        "N"                             |



                                           50
+-----------------------------------------------------------------------------+
| RANGEENDINGDATE                             "1996-08-05"                    |
+-----------------------------------------------------------------------------+
| RANGEENDINGTIME                             "15:56:00.626488"               |
+-----------------------------------------------------------------------------+
| RANGEBEGINNINGDATE                          "1996-08-05"                    |
+-----------------------------------------------------------------------------+
| RANGEBEGINNINGTIME                          "15:55:45.854788"               |
+-----------------------------------------------------------------------------+
| PGEVERSION                                  "2.1.1"                         |
+-----------------------------------------------------------------------------+
| ANCILLARYINPUTPOINTER.1                     "Geoloc_v2_10scans.GEO"         |
+-----------------------------------------------------------------------------+
| ANCILLARYINPUTTYPE.1                        "Geolocation"                   |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.1                   "AveragedBlackBodyTemperature" |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.1                            "268.90"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.2                   "AveragedMirrorTemperature"     |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.2                            "250.27"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.3                   "AveragedFocalPlane1Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.3                            "361.42"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.4                   "AveragedFocalPlane2Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.4                            "363.21"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.5                   "AveragedFocalPlane3Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.5                            "118.25"                        |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.6                   "AveragedFocalPlane4Temperature"|
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.6                            "85.94"                         |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.7                   "CalibrationQuality"            |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.7                            "marginal"                      |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.8                   "MissionPhase"                  |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.8                            "A&E"                           |
+-----------------------------------------------------------------------------+
| ADDITIONALATTRIBUTENAME.9                   "NadirPointing"                 |
+-----------------------------------------------------------------------------+
| PARAMETERVALUE.9                            "Y"                             |
+-----------------------------------------------------------------------------+
| ASSOCIATEDPLATFORMSHORTNAME.1               "Terra" or "Aqua"               |
+-----------------------------------------------------------------------------+
| ASSOCIATEDINSTRUMENTSHORTNAME.1             "MODIS"                         |
+-----------------------------------------------------------------------------+
| ASSOCIATEDSENSORSHORTNAME.1                 "MODIS"                         |
+=============================================================================+


+=============================================================================+
|                                                                             |
| 1.2) ECS Standard Archive Granule Metadata                                  |
|       Stored (as HDF ECS PVL string) in global attribute: ArchiveMetadata.0 |
|                                                                             |
+=============================================================================+
|                                                                             |
| Name                                        Example                         |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGEACCEPTANCEDATE              "1998-04-01"                    |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGEMATURITYCODE                "pre-launch"                    |



                                           51
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGENAME                        "MODIS Level 1B Algorithm       |
|                                              Package"                       |
+-----------------------------------------------------------------------------+
| ALGORITHMPACKAGEVERSION                     "2.3.0.0"                       |
+-----------------------------------------------------------------------------+
| INSTRUMENTNAME                              "Moderate-Resolution Imaging    |
|                                              SpectroRadiometer"             |
+-----------------------------------------------------------------------------+
| PROCESSINGCENTER                            "GSFC"                          |
+-----------------------------------------------------------------------------+
| EASTBOUNDINGCOORDINATE                      40.000000                       |
+-----------------------------------------------------------------------------+
| WESTBOUNDINGCOORDINATE                      15.000000                       |
+-----------------------------------------------------------------------------+
| NORTHBOUNDINGCOORDINATE                     25.000000                       |
+-----------------------------------------------------------------------------+
| SOUTHBOUNDINGCOORDINATE                     10.000000                       |
+-----------------------------------------------------------------------------+
| DESCRREVISION                               "1.0"                           |
+-----------------------------------------------------------------------------+
| PRODUCTIONHISTORY                           (for future use)                |
+=============================================================================+


+=============================================================================+
|                                                                             |
| 1.3) MODIS Level 1B Product Granule Metadata                                |
|       Stored as global attributes.                                          |
|                                                                             |
+=============================================================================+
|                                    |         |     |                        |
| Name                               | Type    |Count| Example                |
+------------------------------------+---------+-----+------------------------+
| Number of Scans                    | int32   |   1 | 203 (see note 1)       |
+------------------------------------+---------+-----+------------------------+
| Number of Day mode scans           | int32   |   1 | 203                    |
+------------------------------------+---------+-----+------------------------+
| Number of Night mode scans         | int32   |   1 | 0                      |
+------------------------------------+---------+-----+------------------------+
| Incomplete Scans                   | int32   |   1 | 14                     |
+------------------------------------+---------+-----+------------------------+
| Max Earth View Frames              | int32   |   1 | 1354                   |
+------------------------------------+---------+-----+------------------------+
| %Valid EV Observations             | float32 | 38 | 98.2, 87.1, ...         |
+------------------------------------+---------+-----+------------------------+
| %Saturated EV Observations         | float32 | 38 | 1.4, 0.2, ...           |
+------------------------------------+---------+-----+------------------------+
| Electronics Redundancy Vector      | uint32 |    2 | (see table 1 below)    |
+------------------------------------+---------+-----+------------------------+
| Electronics Configuration Change   | uint32 |    2 | (see table 1 below)    |
+------------------------------------+---------+-----+------------------------+
| Reflective LUT Serial Number and   | char8   | 21 | "R001 1998:01:28:12:00"|
| Date of Last Change                |         |     | (RNNN YYYY:MM:DD:HH:MM)|
+------------------------------------+---------+-----+------------------------+
| Emissive LUT Serial Number and     | char8   | 21 | "E001 1998:01:28:12:00"|
| Date of Last Change                |         |     | (ENNN YYYY:MM:DD:HH:MM)|
+------------------------------------+---------+-----+------------------------+
| QA LUT Serial Number and           | char8   | 21 | "Q001 1998:01:28:12:00"|
| Date of Last Change                |         |     | (QNNN YYYY:MM:DD:HH:MM)|
+------------------------------------+---------+-----+------------------------+
| Focal Plane Set Point State        | int8    |   1 | 0=Running uncontrolled |
|                                    |         |     | 1=Set Point is 83 deg |
|                                    |         |     | 2=Set Point is 85 deg |
|                                    |         |     | 3=Set Point is 88 deg |
+=============================================================================+
Note 1. Usage of "Number of Scans": The value of the global attribute
          "Number of Scans" is used in the dimensioning of many of the data
          items within this product. In later descriptions of the dimensions
          of data items, the shortened string "nscans" is used to represent
          the value of the attribute "Number of Scans". This value will



                                           52
         typically be 203 or 204 during operations.
         However, the file format supports any value greater than zero.

+============================================================================+
| Table 1.                                                                   |
| "Electronics Redundancy Vector" and "Electronics Configuration Change"     |
|    (bit 0 is the least significant bit in the uint32 word)                 |
| The Electronics Redundancy Vector gives the final valid value for          |
|    the corresponding telemetry point within the granule.                   |
|    Values are 0=OFF and 1=ON.                                              |
| The Electronics Configuration Change identifies if any change occurred     |
|    within the granule for the corresponding telemetry point.               |
|    Values are 0 = no change, 1 = change.                                   |
+----------------------------------------------------------------------------+
| Word | Bit |             System                        | Telemetry point   |
+======+=====+===========================================+===================+
| 0    | 0 | BB - Blackbody A                            | CR_BB_A_PWR_ON    |
| 0    | 1 | BB - Blackbody B                            | CR_BB_B_PWR_ON    |
| 0    | 2 | CE - Calibrator Electronics A               | CR_CE_A_ON        |
| 0    | 3 | CE - Calibrator Electronics B               | CR_CE_B_ON        |
| 0    | 4 | CP - Command & Telemetry Processor A        | CR_CP_A_ON_M      |
| 0    | 5 | CP - Command & Telemetry Processor B        | CR_CP_B_ON_M      |
| 0    | 6 | FI - FDDI Formatter A                       | CR_FI_A_ON        |
| 0    | 7 | FI - FDDI Formatter B                       | CR_FI_B_ON        |
| 0    | 8 | FO - FIFO Memory, Block 1                   | CR_FO_BLK1_ON     |
| 0    | 9 | FO - FIFO Memory, Block 2                   | CR_FO_BLK2_ON     |
| 0    | 10 | FO - FIFO Memory, Block 3                  | CR_FO_BLK3_ON     |
| 0    | 11 | FO - FIFO Memory, Block 4                  | CR_FO_BLK4_ON     |
| 0    | 12 | FR - Formatter A                           | CR_FR_A_ON        |
| 0    | 13 | FR - Formatter B                           | CR_FR_B_ON        |
| 0    | 14 | FR - PC DCR                                | CS_FR_PC_DCR_ON   |
| 0    | 15 | FR - PV DCR                                | CS_FR_PV_DCR_ON   |
| 0    | 16 | PC - PC Bands ADCs A                       | CR_PCLW_A_ON      |
| 0    | 17 | PC - PC Bands ADCs B                       | CR_PCLW_B_ON      |
| 0    | 18 | PV - PV FPA, LWIR ADCs A                   | CR_PVLW_A_ON      |
| 0    | 19 | PV - PV FPA, LWIR ADCs B                   | CR_PVLW_B_ON      |
| 0    | 20 | PV - PV FPA, SMIR ADCs A                   | CR_PVSM_A_ON      |
| 0    | 21 | PV - PV FPA, SMIR ADCs B                   | CR_PVSM_B_ON      |
| 0    | 22 | PV - PV FPA, NIR ADCs A                    | CR_PVNIR_A_ON     |
| 0    | 23 | PV - PV FPA, NIR ADCs B                    | CR_PVNIR_B_ON     |
| 0    | 24 | PV - PV FPA, VIS ADC A                     | CR_PVVIS_A_ON     |
| 0    | 25 | PV - PV FPA, VIS ADC B                     | CR_PVVIS_B_ON     |
| 0    | 26 | PV - PV LWIR ECAL A                        | CR_PVLWA_ECAL_ON |
| 0    | 27 | PV - PV LWIR ECAL B                        | CR_PVLWB_ECAL_ON |
| 0    | 28 | PV - PV NIR ECAL A                         | CR_PVNIRA_ECALON |
| 0    | 29 | PV - PV NIR ECAL B                         | CR_PVNIRB_ECALON |
| 0    | 30 | PV - PV SMIR ECAL A                        | CR_PVSMA_ECAL_ON |
| 0    | 31 | PV - PV SMIR ECAL B                        | CR_PVSMB_ECAL_ON |
+------+-----+-------------------------------------------+-------------------+
| 1    | 0 | PV - PV VIS ECAL A                          | CR_PVVISA_ECALON |
| 1    | 1 | PV - PV VIS ECAL B                          | CR_PVVISB_ECALON |
| 1    | 2 | RC - SMIR Temp. Control Heater              | CR_RC_SMHTR_ON    |
| 1    | 3 | RC - LWIR Temp. Control Heater              | CR_RC_LWHTR_ON    |
| 1    | 4 | SA - Scan Mirror Assembly A                 | CR_SA_A_SCAN_ON   |
| 1    | 5 | SA - Scan Mirror Assembly B                 | CR_SA_B_SCAN_ON   |
| 1    | 6 | SM - SD Stability Monitor A                 | CR_SM_SDSM_A_ON   |
| 1    | 7 | SM - SD Stability Monitor B                 | CR_SM_SDSM_B_ON   |
| 1    | 8 | SR - Spectroradiometric Assy (SRCA) A       | CR_SR_A_ON        |
| 1    | 9 | SR - Spectroradiometric Assy (SRCA) B       | CR_SR_B_ON        |
| 1    | 10 | TG - Timing Generator A                    | CR_TG_A_ON        |
| 1    | 11 | TG - Timing Generator B                    | CR_TG_B_ON        |
+------+-----+-------------------------------------------+-------------------+
| 1    |12-31| (Unused)                                                      |
+============================================================================+
Note: When the most significant bit of the second word is set to 1, this
denotes that at least one of the telemetry fields had no valid values found.

+=============================================================================+
|                                                                             |
| 1.4) MODIS Level 1B QA Granule Metadata                                     |
|                                                                             |



                                           53
+=============================================================================+

+=============================================================================+
|                                                                             |
| 1.4.1) MODIS Level 1B QA Granule Metadata                                   |
|         stored as global attributes.                                        |
|                                                                             |
+=============================================================================+
|                                         |        |     |                    |
| Name                                     | Type |Count| Example             |
+------------------------------------------+-------+-----+--------------------+
| Doors and Screens Configuration          | int8 |     1 | 2                 |
+------------------------------------------+-------+-----+--------------------+
| Reflective Bands With Bad Data           | int8 | 22 | 1,0,0,1...           |
+------------------------------------------+-------+-----+--------------------+
| Emissive Bands With Bad Data             | int8 | 16 | 1,0,0,1...           |
+------------------------------------------+-------+-----+--------------------+
| Noise in Black Body Thermistors          | uint8 | 12 | 10                  |
+------------------------------------------+-------+-----+--------------------+
| Noise in Average BB Temperature          | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in LWIR FPA Temperature             | uint8 |   1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in MWIR FPA Temperature            | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Scan Mirror Thermistor #1       | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Scan Mirror Thermistor #2       | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Scan Mirror Thermistor Average | uint8 |     1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Instrument Temperature          | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Cavity Temperature              | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Temperature of NIR FPA          | uint8 |    1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Noise in Temperature of Vis FPA           | uint8 |   1 | 10                |
+------------------------------------------+-------+-----+--------------------+
| Dead Detector List                       | int8 | 490 | 1=True or 0=False |
+------------------------------------------+-------+-----+--------------------+
| Noisy Detector List                      | int8 | 490 | 1=True or 0=False |
+------------------------------------------+-------+-----+--------------------+
| Detector Quality Flag                    | uint8 | 490 | (See table below) |
+------------------------------------------+-------+-----+--------------------+
| Earth-Sun Distance                       |float32|    1 | 1.0045            |
+------------------------------------------+-------+-----+--------------------+
| Solar Irradiance on RSB Detectors over pi|float32| 330 | 511.459,511.46,... |
+------------------------------------------+-------+-----+--------------------+
| % L1A EV All Scan Data are Missing       |float32|    1 | 1.301             |
+------------------------------------------+-------+-----+--------------------+
| % L1A EV RSB DN Not in Day Mode          |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % L1A EV DN Missing Within Scan           |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % Dead Detector EV Data                  |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % Sector Rotation EV Data                |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % Saturated EV Data                      |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % TEB EV Data With Moon in SVP           |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % EV Data Where Cannot Compute BG DN     |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % RSB EV Data With dn** Below Scale      |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % EV Data Where Nadir Door Closed        |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+
| % EV Data Not Calibrated                  |float32| 490 | 1.301, 0.012, ... |
+------------------------------------------+-------+-----+--------------------+



                                           54
| Bit QA Flags Last Value                  | uint32|   1 | 0                  |
+------------------------------------------+-------+-----+--------------------+
| Bit QA Flags Change                      | uint32|   1 | 0                  |
+------------------------------------------+-------+-----+--------------------+
| Granule Average QA Values                |float32| 50 | 290.004,289.984,...|
+=============================================================================+

+================================================================+
| Detector Quality Flag                                          |
| bitmask, each bit has value: 1=True or 0=False                 |
|                                                                |
| Bit |                        Meaning                           |
|======+=========================================================+
|   0 |                     Noisy Detector                       |
| (LSB)|   (same value as in attribute "Noisy Detector List")    |
|------+---------------------------------------------------------+
|   1 |                      Dead Detector                       |
|      |   (same value as in attribute "Dead Detector List")     |
|------+---------------------------------------------------------+
|   2 |                   Out-of-Family Gain                     |
|------+---------------------------------------------------------+
|   3 |                      Dynamic Range                       |
|------+---------------------------------------------------------+
|   4 |         Detector saturates on calibration source         |
|------+---------------------------------------------------------+
|   5 |              High calibration fit residuals              |
|------+---------------------------------------------------------+
|   6 |                  Electrical Crosstalk                    |
|------+---------------------------------------------------------+
|   7 |                           TBD                            |
+======+=========================================================+

+=============================================================================+
|                                                                             |
| 1.4.2) MODIS Level 1B QA Granule Metadata                                   |
|         stored as SDSs.                                                     |
|                                                                             |
+=============================================================================+
|                                    |        |                  |            |
| Name                               | Type | Dimensions         | Example    |
+------------------------------------+--------+------------------+------------+
| Noise in Thermal Detectors         | uint8 | [16][10]          | 8,6,4... |
+------------------------------------+--------+------------------+------------+
| Change in relative responses of    |        |                  |            |
| thermal detectors                  | uint8 | [16][10]          | 10,6,8... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Thermal Bands| int8 | [nscans][16][10] | 0,0,1 ... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Reflective   |        |                  |            |
| 250m Bands                         | int8 | [nscans][2][40] | 0,0,1... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Reflective   |        |                  |            |
| 500m Bands                         | int8 | [nscans][5][20] | 0,0,1... |
+------------------------------------+--------+------------------+------------+
| DC Restore Change for Reflective   |        |                  |            |
| 1km Bands                          | int8 | [nscans][15][10] | 0,0,1... |
+=============================================================================+


+=============================================================================+
|                                                                             |
| 1.5) Level 1B HDF-EOS SWATH Metadata                                        |
|        Stored as global attribute: StructMetadata.0                         |
|                                                                             |
+=============================================================================+
|                                                                             |
|GROUP=SwathStructure                                                         |
| GROUP=SWATH_1                                                               |
|                                                                             |
| SwathName="MODIS_SWATH_Type_L1B"                                            |
|                                                                             |



                                           55
|   GROUP=Dimension                                                           |
|    +-------------+---------------------+-----------------+                  |
|    | Object      | DimensionName       | Size            |                  |
|    +-------------+---------------------+-----------------+                  |
|    | Dimension_1 | "Band_250M"         | 2               |                  |
|    | Dimension_2 | "40*nscans"         | 40*nscans       |                  |
|    | Dimension_3 | "4*Max_EV_frames"   | 5416            |                  |
|    | Dimension_4 | "10*nscans"         | 10*nscans       |                  |
|    | Dimension_5 | "Max_EV_frames"     | 1354            |                  |
|    +-------------+---------------------+-----------------+                  |
|                                                                             |
|   GROUP=DimensionMap                                                        |
|    +----------------+-----------------+-------------------+--------+------+ |
|    | Object         | GeoDimension    | DataDimension     | Offset | Inc. | |
|    +----------------+-----------------+-------------------+--------+------+ |
|    | DimensionMap_1 | "10*nscans"     | "40*nscans"        |  0    | 4    | |
|    | DimensionMap_2 | "Max_EV_frames" | "4*Max_EV_frames" |   0    | 4    | |
|    +----------------+-----------------+-------------------+--------+------+ |
|                                                                             |
|   GROUP=GeoField                                                            |
|    +------------+-------------+--------------+------------------------------+
|    | Object     | GeoFieldName| DataType     | DimList                      |
|    +------------+-------------+--------------+------------------------------+
|    | GeoField_1 | "Latitude" | DFNT_FLOAT32 |("10*nscans","Max_EV_frames") |
|    | GeoField_2 | "Longitude" | DFNT_FLOAT32 |("10*nscans","Max_EV_frames") |
|    +------------+-------------+--------------+------------------------------+
|                                                                             |
|   GROUP=DataField                                                           |
|    +-------------+-----------------------+-------------+------------------+ |
|    | Object      | DataFieldName         | DataType    | DimList          | |
|    +-------------+-----------------------+-------------+------------------+ |
|    | DataField_1 | "EV_250_RefSB"        | DFNT_UINT16 |("Band_250M",     | |
|    |             |                       |             | "40*nscans",     | |
|    |             |                       |             |"4*Max_EV_frames")| |
|    +-------------+-----------------------+-------------+------------------+ |
|    | DataField_2 | "EV_250_RefSB_        | DFNT_UINT8 |("Band_250M",      | |
|    |             | Uncert_Indexes"       |             | "40*nscans",     | |
|    |             |                       |             |"4*Max_EV_frames")| |
|    +-------------+-----------------------+-------------+------------------+ |
|    | DataField_3 | "Band_250M"           | DFNT_FLOAT32| ("Band_250M")    | |
|    +-------------+-----------------------+-------------+------------------+ |
|                                                                             |
+=============================================================================+


+=============================================================================+
|                                                                             |
| 1.6) Level 1B Swath Metadata                                                |
|                                                                             |
| These data are stored as a single HDF Vdata table having the name           |
| "Level 1B Swath Metadata". The number of records is equal to nscans         |
| (determined by the "Number of Scans" global attribute). The table           |
| below describes the fields of this Vdata object.                            |
|                                                                             |
+=============================================================================+
|                                |         |     |                            |
| Field Name                     | Type    |Order| Range                      |
+--------------------------------+---------+-----+----------------------------+
| Scan Number                    | int32 | 1 | 1 to 204                       |
+--------------------------------+---------+-----+----------------------------+
| Complete Scan Flag             | int32 | 1 | 1=Complete, 0=Incomplete       |
+--------------------------------+---------+-----+----------------------------+
| Scan Type                      | char8 | 4 | "D       "=day,                |
|                                |         |     | "N   "=night,              |
|                                |         |     | "M   "=mixed,              |
|                                |         |     | "O    "=other              |
+--------------------------------+---------+-----+----------------------------+
| Mirror Side                    | int32   | 1 | 0 or 1                       |
+--------------------------------+---------+-----+----------------------------+
| EV Sector Start Time           | float64 | 1 | TAI time (number of sec.     |
|                                |         |     |            since 1/1/93)   |



                                           56
+--------------------------------+---------+-----+----------------------------+
| EV_Frames                      | int32   | 1 | 1354      (constant)         |
+--------------------------------+---------+-----+----------------------------+
| Nadir_Frame_Number             | int32   | 1 | 677       (constant)         |
+--------------------------------+---------+-----+----------------------------+
| Latitude of Nadir Frame        | float32 | 1 | -90.0 to 90.0 degrees        |
+--------------------------------+---------+-----+----------------------------+
| Longitude of Nadir Frame       | float32 | 1 | -180.0 to 180.0 degrees      |
+--------------------------------+---------+-----+----------------------------+
| Solar Azimuth of Nadir Frame | float32 | 1 | -180.0 to 180.0 degrees        |
+--------------------------------+---------+-----+----------------------------+
| Solar Zenith of Nadir Frame    | float32 | 1 | 0.0 to 180.0 degrees         |
+--------------------------------+---------+-----+----------------------------+
| No. OBC BB thermistor outliers| int32    | 1 | 0 to 12                      |
+--------------------------------+---------+-----+----------------------------+
| Bit QA Flags                   | uint32 | 1 | (see table below)             |
+--------------------------------+---------+-----+----------------------------+
| Sector Rotation Angle          | float32 | 1 | 0.0 to 360.0 degrees         |
+================================+=========+=====+============================+

  Notes
    1. Scan Type has the three "extra" characters to make it a 32 bit field
       (to make reading the Vdata structure easier).

    2. Bit QA Flags are as follows (bit 0 is the least significant
       bit in the word):
       +========+==========================================+
       | bit # |    flag name/desciption (1=True, 0=False) |
       +========+==========================================+
       | bit 0 |    Moon within defined limits of SVP      |
       +--------+------------------------------------------+
       | bit 1 |    Spacecraft Maneuver                    |
       +--------+------------------------------------------+
       | bit 2 |    Sector Rotation                        |
       +--------+------------------------------------------+
       | bit 3 |    Negative Radiance Beyond Noise Level   |
       +--------+------------------------------------------+
       | bit 4 |    PC Ecal on                             |
       +--------+------------------------------------------+
       | bit 5 |    PV Ecal on                             |
       +--------+------------------------------------------+
       | bit 6 |    SD Door Open                           |
       +--------+------------------------------------------+
       | bit 7 |    SD Screen Down                         |
       +--------+------------------------------------------+
       | bit 8 |    NAD closed                             |
       +--------+------------------------------------------+
       | bit 9 |    SDSM On                                |
       +--------+------------------------------------------+
       | bit 10 |   Radcooler Heaters On                   |
       +--------+------------------------------------------+
       | bit 11 |   Day mode bands telemetered at night    |
       +--------+------------------------------------------+
       | bit 12 |   Linear Emissive Calibration            |
       +--------+------------------------------------------+
       | bit 13 |   DC Restore Change                      |
       +--------+------------------------------------------+
       | bit 14 |   (Unused)                               |
       +--------+------------------------------------------+
       | bit 15 |   BB Heater On                           |
       +--------+------------------------------------------+
       | bit 16 |   Missing Previous Granule               |
       +--------+------------------------------------------+
       | bit 17 |   Missing Subsequent Granule             |
       +--------+------------------------------------------+
       |        |   SRCA calibration mode                  |
       | bits   |       +--------+--------+-------------+ |
       | 18-19 |        | bit 18 | bit 19 | Meaning     | |
       |        |       +--------+--------+-------------+ |
       |        |       |    0   |    0   | Radiometric | |
       |        |       |    0   |    1   | Spatial     | |



                                           57
       |        |       |    1   |    0   | Spectral    | |
       |        |       |    1   |    1   | undetermined| |
       |        |       +--------+--------+-------------+ |
       +--------+------------------------------------------+
       | bit 20 |   moon in keep out box, any RSB          |
       +--------+------------------------------------------+
       | bit 21 |   moon in keep out box, any TEB          |
       +--------+------------------------------------------+
       | bit 22 |   All SV data are bad for any RSB        |
       +--------+------------------------------------------+
       | bit 23 |   All BB data are bad for any RSB        |
       +--------+------------------------------------------+
       | bit 24 |   (Remaining bits reserved for           |
       | ... 31 |    future use)                           |
       +========+==========================================+

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ |   II) Instrument and Uncertainty SDSs                     | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

   Description:
     This section contains the scientific data sets (SDSs) in which the
     "corrected count" data (scaled to 16 bit integers) is stored and the
     corresponding uncertainty indices.

   SDS Indexing:
     Each SDS is an array through a space of five parameters: band, detector,
     scan, frame and sample. However, the SDS is written as a 3-D array so
     that it can be added to the HDF-EOS "SWATH" data structure:

        SDS_name[band_index, scan_and_detect_index, frame_and_sample_index]

     Where "band_index" represents an index through the bands represented in
     the SDS, "scan_and_detect_index" represents a double index through all
     detectors and scans, and "frame_and_sample_index" represents a double
     index through all frames and samples in a frame. In this discussion,
     an "index" assumes a convention of 0 to N-1. The following formula can
     be used to obtain the scan_and_detect_index from the detector index and
     the scan index:

        scan_and_det_index   =   scan_index * num_detectors_at_resolution
                                 + detector_index

     where num_detectors_at_resolution = 40 for SDSs in the 250m product.
     Similarly, to obtain the frame_and_sample_index from the frame and
     sample indices:

        frame_and_sample_index = frame_index * num_samples_at_resolution
                                 + sample_index

     where num_samples_at_resolution = 4 for SDSs in the 250m product.

   Specific Data Values:
     Generally, any scaled integer (SI) value above 32767 represents unusable
     data. The following values are reserved for the scaled integer and the
     uncertainty index (UI) to signal the reason why data are unusable:

              Reason for unusable data                        SI      UI
     ----------------------------------------------         -----    ----
     Fill Value (includes reflective band data
       at night and completely missing L1A scans)          65535    255
     L1A DN is missing within a scan                       65534     15
     Detector is saturated                                 65533     15
     Cannot compute zero point DN                          65532     15
     Detector is dead                                      65531*    15
     RSB dn** below the minimum of the scaling range       65530     15
     TEB radiance or RSB dn** exceeds the
       maximum of the scaling range                        65529     15



                                            58
     Aggregation algorithm failure                        65528      15
     Rotation of Earth-View Sector from
       nominal science collection position                65527      15
     (reserved for future use)                         65501-65526   15
     NAD closed upper limit                               65500      15

     * The "Dead Detector List" attribute (Section 1.4.1) identifies those
     detectors that are declared non-functional (cannot be calibrated).
     If possible, a valid SI value will be interpolated from the nearest
     functional detectors within the same scan. If not possible, the value
     will be set at 65531.

     For the case of nadir-aperture door (NAD) closed, the SI value will be
     set to a value > 32767 (denoting unusable data). First, if appropriate,
     a specific unusable data value above will be assigned. If one of the
     specific reasons does not apply, then the SI value will be calculated
     normally and then the most significant bit will be flipped, resulting
     in a value > 32767. If the resulting scaled integer value exceeds the
     value of NAD closed upper limit, the value will be set to that value.

     Also, for any uncertainty value other than fill-value (255), the
     uncertainty is written into the 4 least significant bits of the 8-bit
     UI value (hence, 15 is the maximum 4-bit number).

     To compute uncertainty in percent from the uncertainty index (UI), use
     the specified_uncertainty and scaling_factor for the given band in:

         % uncertainty = specified_uncertainty * exp(UI/scaling_factor)

     The band-dependent values of specified_uncertainty and scaling_factor
     are attached as attributes to each uncertainty index SDS.

   Contents:
     2.1) EV_250_RefSB
     2.2) EV_250_RefSB_Uncert_Indexes

+=============================================================================+
| 2.1) EV_250_RefSB                                                           |
|                                                                             |
| SDS Name                  Data Type   Dimensions                            |
+-----------------------------------------------------------------------------+
| "EV_250_RefSB"            uint16    (Band_250M, 40*nscans, 4*Max_EV_frames) |
|                                                                             |
|    Description:                                                             |
|      16 bit scaled integer array containing the 250m Earth View data.       |
|                                                                             |
|    SDS Attributes:                                                          |
|      +-----------------------------+---------+-----+------------------------+
|      | Attribute Name              | Type    |Count| Attribute Value        |
|      +-----------------------------+---------+-----+------------------------+
|      | units                       | string | 1 | "none"                    |
|      +-----------------------------+---------+-----+------------------------+
|      | valid_range                 | uint16 | 2 | 0, 32767                  |
|      +-----------------------------+---------+-----+------------------------+
|      | _FillValue                  | uint16 | 1 | 65535                     |
|      +-----------------------------+---------+-----+------------------------+
|      | long_name                   | string | 1 |"Earth View 250M Reflect|
|      |                             |         |     |ive Solar Bands Scaled |
|      |                             |         |     |Integers"               |
|      +-----------------------------+---------+-----+------------------------+
|      | band_names                  | string | 1 | "1, 2"                    |
|      +-----------------------------+---------+-----+------------------------+
|      | radiance_scales             | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | radiance_offsets            | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | radiance_units              | string | 1 |"Watts/m^2/micrometer/st|
|      |                             |         |     | eradian"               |
|      +-----------------------------+---------+-----+------------------------+
|      | reflectance_scales          | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+



                                             59
|      | reflectance_offsets         | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | reflectance_units           | string | 1 | "none"                    |
|      +-----------------------------+---------+-----+------------------------+
|      | corrected_counts_scales     | float32 | 2 | x.f, x.f                  |
|      +-----------------------------+---------+-----+------------------------+
|      | corrected_counts_offsets    | float32 | 2 | x.f, x.f                 |
|      +-----------------------------+---------+-----+------------------------+
|      | corrected_counts_units      | string | 1 | "counts"                  |
|      +-----------------------------+---------+-----+------------------------+
|                                                                              |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

+=============================================================================+
| 2.2) EV_250_RefSB_Uncert_Indexes                                            |
|                                                                             |
| SDS Name                                 Data Type   Dimensions              |
+-----------------------------------------------------------------------------+
| "EV_250_RefSB_Uncert_Indexes"            uint8       (Band_250M, 40*nscans, |
|                                                       4*Max_EV_frames)       |
|                                                                             |
|    Description:                                                             |
|      8 bit unsigned integer array containing the uncertainty index values    |
|      corresponding to the 250m Earth View data stored in the "EV_250_RefSB" |
|      SDS. The uncertainty index values are calculated from the percent      |
|      uncertainty in the reflectance product.                                 |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | long_name                | string | 1 |"Earth View 250M Reflective |
|      |                          |        |     | Solar Bands Uncertainty     |
|      |                          |        |     | Indexes"                   |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "none"                        |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | uint8 | 2 | 0, 15                         |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | uint8 | 1 | 255                           |
|      +--------------------------+--------+-----+----------------------------+
|      | specified_uncertainty    | float32| 2 | x.f, x.f                      |
|      +--------------------------+--------+-----+----------------------------+
|      | scaling_factor           | float32| 2 | x.f, x.f                     |
|      +--------------------------+--------+-----+----------------------------+
|      | uncertainty_units        | string | 1 | "percent"                    |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+
   Note: "x.f" means the value of the attribute is variable (may change from
         granule to granule). The values of all other attributes are constant.

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ |   III) Band-Subsetting SDSs                               | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

    Description:
      This section contains the scientific data sets (SDSs) which hold
      the information used to accomplish band subsetting. For the 250M
      product, there is 1 band-subsetting SDS.

+=============================================================================+
| Band_250M                                                                   |
|                                                                             |
| SDS Name                  Data Type        Dimensions                       |
+-----------------------------------------------------------------------------+



                                            60
| "Band_250M"                float32         (Band_250M)                      |
|                                                                             |
|    Description:                                                             |
|      float32 array containing the band numbers used for band subsetting.    |
|      The values are: 1.0, 2.0                                               |
|                                                                             |
|    SDS Attributes:                                                          |
|      +-----------------+---------+-----+------------------------------------+
|      | Attribute Name | Type     |Count| Attribute Value                    |
|      +-----------------+---------+-----+------------------------------------+
|      | long_name       | string | 1 | "250M Band Numbers for Subsetting" |
|      +-----------------+---------+-----+------------------------------------+
|                                                                             |
+=============================================================================+

   ______
  /\     \ +---------------------------------------------------------------+
/ \      \| +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
\   \_____\ | IV) Geolocation SDSs                                      | |
  \ /      / +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ |
   \/_____/+---------------------------------------------------------------+

   Description:
     This section contains information about the geodetic position
     (latitude and longitude) used for visualization.

   Contents:
     4.1) Latitude
     4.2) Longitude

+=============================================================================+
| 4.1) Latitude                                                               |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "Latitude"                   float32      (10*nscans, Max_EV_frames)        |
|                                                                             |
|    Description:                                                             |
|      32 bit signed floating point array containing the geodetic latitudes   |
|      for the center of the corresponding 1km Earth view frames. Given the   |
|      offset and increment defined in the DimensionMap of Section 1.5, the   |
|      latitude points map to the following detector and sample numbers:      |
|      detector numbers: 1,5,9,13,17,21,25,29,33,37                           |
|      frame-sample numbers: 1,5,9, ... 4*Max_EV_frames-3                     |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | float32| 2 | -90.0, 90.0                  |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | float32| 1 | -999.9                       |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+

+=============================================================================+
| 4.2) Longitude                                                              |
|                                                                             |
| SDS Name                     Data Type    Dimensions                        |
+-----------------------------------------------------------------------------+
| "Longitude"                  float32      (10*nscans, Max_EV_frames)        |
|                                                                             |
|    Description:                                                             |
|      32 bit signed floating point array containing the geodetic longitudes |
|      for the center of the corresponding 1km Earth view frames. Given the   |
|      offset and increment defined in the DimensionMap of Section 1.5, the   |
|      longitude points map to the following detector and sample numbers:     |
|      detector numbers: 1,5,9,13,17,21,25,29,33,37                           |



                                           61
|      frame-sample numbers: 1,5,9, ... 4*Max_EV_frames-3                     |
|                                                                             |
|    SDS Attributes:                                                          |
|      +--------------------------+--------+-----+----------------------------+
|      | Attribute Name           | Type   |Count| Attribute Value            |
|      +--------------------------+--------+-----+----------------------------+
|      | units                    | string | 1 | "degrees"                    |
|      +--------------------------+--------+-----+----------------------------+
|      | valid_range              | float32| 2 | -180.0, 180.0                |
|      +--------------------------+--------+-----+----------------------------+
|      | _FillValue               | float32| 1 | -999.9                       |
|      +--------------------------+--------+-----+----------------------------+
|                                                                             |
+=============================================================================+




                                           62
         Appendix C: MOD35_L2 Cloud Mask File Specification
http://modis-atmos.gsfc.nasa.gov/_specs/MOD35_L2.CDL.fs
----------------------------------------------------------------------------
// MODIS HDF File Specification MOD35_L2: MODIS Level 2 Cloud Mask Product
//              at 1 km and 250 m spatial resolutions
//
// This file specification document is written mainly in the network Common
// Data Form Language (CDL) to define HDF dimension names and sizes, and to
// declare attributes and arrays in terms of the dimensions. Other HDF
// objects not representable in CDL constructs (e.g. Vdata, Vgroups and ECS
// metadata) are described within comment blocks (any line or lines beginning
// with the characters "//").
//
// Array indexing is described in terms of the C programming language which
// is row dominant.
//----------------------------------------------------------------------------

netcdf MOD35_L2 {

dimensions:

         Cell_Across_Swath_1km:mod35 = 1354 ;      //   typical   size
         Cell_Across_Swath_5km:mod35 = 270 ;       //   typical   size
         Cell_Along_Swath_1km:mod35 = 2030 ;       //   typical   size
         Cell_Along_Swath_5km:mod35 = 406 ;        //   typical   size
         Byte_Segment:mod35 = 6 ;
         QA_Dimension:mod35 = 10 ;

variables:

         :Number_of_Instrument_Scans = 203 ;      // typical value
         :Maximum_Number_of_1km_Frames = 1354 ;   // typical value
         :title = "MODIS Level 2 Cloud Mask" ;
         :history = "$Id: MOD35.V2.CDL,v 1.1.2.2 2000/09/28 18:13:06 gumley Exp $" ;

//   The first SDS below, Byte_Segment, is represented here as a 1-dimensional
//   array, even though it is actually implemented as a HDF Vdata object, or
//   table, in the MOD35 product file. The description of this object in terms
//   of Vdata parameters is provided in the vdata section below.

         long Byte_Segment(Byte_Segment:mod35) ;


         double Scan_Start_Time(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;
                 Scan_Start_Time:long_name = "TAI time at start of scan replicated across the swath" ;
                 Scan_Start_Time:units = "seconds since 1993-1-1 00:00:00.0 0" ;
                 Scan_Start_Time:valid_range = 0.0d, 3.1558e9d ;
                 Scan_Start_Time:_FillValue = -999.9d ;
                 Scan_Start_Time:scale_factor = 1.0d ;
                 Scan_Start_Time:add_offset = 0.0d ;
                 Scan_Start_Time:Parameter_Type = "MODIS Input" ;
                 Scan_Start_Time:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Scan_Start_Time:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Scan_Start_Time:Geolocation_Pointer = "Internal geolocation arrays" ;


         float Latitude(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;
                 Latitude:long_name = "Geodetic Latitude" ;
                 Latitude:units = "degrees_north" ;
                 Latitude:valid_range = -90.0f, 90.0f ;
                 Latitude:_FillValue = -999.99f ;
                 Latitude:scale_factor = 1.0d ;
                 Latitude:add_offset = 0.0d ;
                 Latitude:Parameter_Type = "MODIS Input" ;
                 Latitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Latitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Latitude:Geolocation_Pointer = "Internal geolocation arrays" ;

         float Longitude(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;




                                             63
       Longitude:long_name = "Geodetic Longitude" ;
       Longitude:units = "degrees_east" ;
       Longitude:valid_range = -180.0f, 180.0f ;
       Longitude:_FillValue = -999.99f ;
       Longitude:scale_factor = 1.0d ;
       Longitude:add_offset = 0.0d ;
       Longitude:Parameter_Type = "MODIS Input" ;
       Longitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
       Longitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
       Longitude:Geolocation_Pointer = "Internal geolocation arrays" ;

short Solar_Zenith(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;
        Solar_Zenith:long_name = "Solar Zenith Angle, Cell to Sun" ;
        Solar_Zenith:units = "degrees" ;
        Solar_Zenith:valid_range = 0s, 18000s ;
        Solar_Zenith:_FillValue = -9999s ;
        Solar_Zenith:scale_factor = 0.01d ;
        Solar_Zenith:add_offset = 0.0d ;
        Solar_Zenith:Parameter_Type = "MODIS Input" ;
        Solar_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
        Solar_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
        Solar_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;

short Solar_Azimuth(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;
        Solar_Azimuth:long_name = "Solar Azimuth Angle, Cell to Sun" ;
        Solar_Azimuth:units = "degrees" ;
        Solar_Azimuth:valid_range = -18000s, 18000s ;
        Solar_Azimuth:_FillValue = -9999s ;
        Solar_Azimuth:scale_factor = 0.01d ;
        Solar_Azimuth:add_offset = 0.0d ;
        Solar_Azimuth:Parameter_Type = "MODIS Input" ;
        Solar_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
        Solar_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
        Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;

short Sensor_Zenith(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;
        Sensor_Zenith:long_name = "Sensor Zenith Angle, Cell to Sensor" ;
        Sensor_Zenith:units = "degrees" ;
        Sensor_Zenith:valid_range = 0s, 18000s ;
        Sensor_Zenith:_FillValue = -9999s ;
        Sensor_Zenith:scale_factor = 0.01d ;
        Sensor_Zenith:add_offset = 0.0d ;
        Sensor_Zenith:Parameter_Type = "MODIS Input" ;
        Sensor_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
        Sensor_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
        Sensor_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;

short Sensor_Azimuth(Cell_Along_Swath_5km:mod35,Cell_Across_Swath_5km:mod35) ;
        Sensor_Azimuth:long_name = "Sensor Azimuth Angle, Cell to Sensor" ;
        Sensor_Azimuth:units = "degrees" ;
        Sensor_Azimuth:valid_range = -18000s, 18000s ;
        Sensor_Azimuth:_FillValue = -9999s ;
        Sensor_Azimuth:scale_factor = 0.01d ;
        Sensor_Azimuth:add_offset = 0.0d ;
        Sensor_Azimuth:Parameter_Type = "MODIS Input" ;
        Sensor_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
        Sensor_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
        Sensor_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;

byte Cloud_Mask(Byte_Segment:mod35,Cell_Along_Swath_1km:mod35,Cell_Across_Swath_1km:mod35) ;
        Cloud_Mask:long_name = "MODIS Cloud Mask and Spectral Test Results" ;
        Cloud_Mask:units = "none" ;
        Cloud_Mask:valid_range = '\0', '\377' ;
        Cloud_Mask:_FillValue = '\0' ;
        Cloud_Mask:scale_factor = 1.0d ;
        Cloud_Mask:add_offset = 0.0d ;
        Cloud_Mask:Parameter_Type = "Output" ;
        Cloud_Mask:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
        Cloud_Mask:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
        Cloud_Mask:Geolocation_Pointer = "External MODIS geolocation product" ;
        Cloud_Mask:description = "\n",



                                   64
"                                                                            \n",
"   Bit fields within each byte are numbered from the left:                  \n",
"   7, 6, 5, 4, 3, 2, 1, 0.                                                  \n",
"   The left-most bit (bit 7) is the most significant bit.                   \n",
"   The right-most bit (bit 0) is the least significant bit.                 \n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                             ---              \n",
"                                                                            \n",
"   0               Cloud Mask Flag                      0 = Not determined \n",
"                                                        1 = Determined      \n",
"                                                                            \n",
"   2, 1            Unobstructed FOV Quality Flag        00 = Cloudy         \n",
"                                                        01 = Uncertain      \n",
"                                                        10 = Probably Clear \n",
"                                                        11 = Confident Clear\n",
"                   PROCESSING PATH                                          \n",
"                   ---------------                                          \n",
"   3               Day or Night Path                    0 = Night / 1 = Day \n",
"   4               Sunglint Path                        0 = Yes   / 1 = No \n",
"   5               Snow/Ice Background Path             0 = Yes   / 1 = No \n",
"   7, 6            Land or Water Path                   00 = Water          \n",
"                                                        01 = Coastal        \n",
"                                                        10 = Desert         \n",
"                                                        11 = Land           \n",
"   ____ END BYTE 1 _________________________________________________________\n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                             ---              \n",
"                                                                            \n",
"                   ADDITIONAL INFORMATION                                   \n",
"                   ----------------------                                   \n",
"   0               Non-cloud obstruction Flag              0 = Yes / 1 = No \n",
"   1               Thin Cirrus Detected (Solar)            0 = Yes / 1 = No \n",
"   2               Shadow Found                            0 = Yes / 1 = No \n",
"   3               Thin Cirrus Detected (Infrared)         0 = Yes / 1 = No \n",
"   4               Adjacent Cloud Detected **              0 = Yes / 1 = No \n",
"                   ** Implemented Post Launch to                            \n",
"                      Indicate cloud found within                           \n",
"                      surrounding 1 km pixels *                             \n",
"                                                                            \n",
"                   1-km CLOUD FLAGS                                         \n",
"                   ----------------                                         \n",
"   5               Cloud Flag - IR Threshold               0 = Yes / 1 = No \n",
"   6               High Cloud Flag - CO2 Test              0 = Yes / 1 = No \n",
"   7               High Cloud Flag - 6.7 micron Test       0 = Yes / 1 = No \n",
"   ____ END BYTE 2 _________________________________________________________\n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                             ---              \n",
"                                                                            \n",
"   0               High Cloud Flag - 1.38 micron Test      0 = Yes / 1 = No \n",
"   1               High Cloud Flag - 3.7-12 micron Test    0 = Yes / 1 = No \n",
"   2               Cloud Flag - IR Temperature             0 = Yes / 1 = No \n",
"                                Difference                                  \n",
"   3               Cloud Flag - 3.7-11 micron Test         0 = Yes / 1 = No \n",
"   4               Cloud Flag - Visible Reflectance Test   0 = Yes / 1 = No \n",
"   5               Cloud Flag - Visible Reflectance        0 = Yes / 1 = No \n",
"                                Ratio Test                                  \n",
"   6               Cloud Flag - .935/.87 Reflectance Test 0 = Yes / 1 = No \n",
"   7               Cloud Flag - 3.7-3.9 micron Test        0 = Yes / 1 = No \n",
"   ____ END BYTE 3 _________________________________________________________\n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                             ---              \n",
"                                                                            \n",
"                   ADDITIONAL TESTS                                         \n",
"                   ----------------                                         \n",
"   0               Cloud Flag - Temporal Consistency       0 = Yes / 1 = No \n",
"   1               Cloud Flag - Spatial Variability        0 = Yes / 1 = No \n",
"   2               Final Confidence Confirmation Test      0 = Yes / 1 = No \n",



                                             65
"   3              Cloud Flag - Night Water                 0 = Yes / 1 = No \n",
"                               Spatial Variability                          \n",
"   4              Suspended Dust Flag                      0 = Yes / 1 = No \n",
"                                                                            \n",
"   5-7             Spares                                                   \n",
"   ____ END BYTE 4 _________________________________________________________\n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                             ---              \n",
"                                                                            \n",
"                   250-m Cloud Flag - Visible Tests                         \n",
"                   --------------------------------                         \n",
"   0               Element(1,1)                            0 = Yes / 1 = No \n",
"   1               Element(1,2)                            0 = Yes / 1 = No \n",
"   2               Element(1,3)                            0 = Yes / 1 = No \n",
"   3               Element(1,4)                            0 = Yes / 1 = No \n",
"   4               Element(2,1)                            0 = Yes / 1 = No \n",
"   5               Element(2,2)                            0 = Yes / 1 = No \n",
"   6               Element(2,3)                            0 = Yes / 1 = No \n",
"   7               Element(2,4)                            0 = Yes / 1 = No \n",
"   ____ END BYTE 5 _________________________________________________________\n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ----------      -----------                             ---              \n",
"                                                                            \n",
"   0               Element(3,1)                            0 = Yes / 1 = No \n",
"   1               Element(3,2)                            0 = Yes / 1 = No \n",
"   2               Element(3,3)                            0 = Yes / 1 = No \n",
"   3               Element(3,4)                            0 = Yes / 1 = No \n",
"   4               Element(4,1)                            0 = Yes / 1 = No \n",
"   5               Element(4,2)                            0 = Yes / 1 = No \n",
"   6               Element(4,3)                            0 = Yes / 1 = No \n",
"   7               Element(4,4)                            0 = Yes / 1 = No \n",
"   ____ END BYTE 6 _________________________________________________________\n" ;


        byte
Quality_Assurance(Cell_Along_Swath_1km:mod35,Cell_Across_Swath_1km:mod35,QA_Dimension:mod35) ;
                Quality_Assurance:long_name = "Quality Assurance for Cloud Mask" ;
                Quality_Assurance:units = "none" ;
                Quality_Assurance:valid_range = '\0', '\377' ;
                Quality_Assurance:_FillValue = '\0' ;
                Quality_Assurance:scale_factor = 1.0d ;
                Quality_Assurance:add_offset = 0.0d ;
                Quality_Assurance:Parameter_Type = "Output" ;
                Quality_Assurance:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Quality_Assurance:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Quality_Assurance:Geolocation_Pointer = "External MODIS geolocation product" ;
                Quality_Assurance:description = "\n",
"        Product Run Time QA Flags                                   \n",
" QA Flag Name    Number of Bits Bit Value    Description            \n",
" -------------------------------------------------------------      \n",
" Cloud Mask QA        1             0       not useful              \n",
"   (1km)                            1       useful                  \n",
"                                                                    \n",
" Cloud Mask           3            0-7      8 confidence levels     \n",
"   Confidence QA                                                    \n",
"   (1km)                                                            \n",
"                                                                    \n",
" Spares               4                                             \n",
" -------- ( 1 byte total ) --------------------------------         \n",
"                                                                    \n",
" Optional run time QA flags - Individual test application           \n",
"                                                                    \n",
" QA Flag Name    Number of Bits Bit Value    Description            \n",
" -------------------------------------------------------------      \n",
" NCO test             1             0       Not Applied             \n",
"                                    1       Applied                 \n",
"                                                                    \n",
" Thin Cirrus          1             0       Not Applied             \n",
"   test (Solar)                     1       Applied                 \n",



                                             66
"                                                                 \n",
"   Shadow Tests          1           0       Not Applied         \n",
"                                     1       Applied             \n",
"                                                                 \n",
"   Thin Cirrus           1           0       Not Applied         \n",
"     test(IR)                        1       Applied             \n",
"                                                                 \n",
"   Cloud Adjancency      1           0       Not Applied         \n",
"     test(IR)                        1       Applied             \n",
"                                                                 \n",
"   IR Threshold          1           0       Not Applied         \n",
"     test                            1       Applied             \n",
"                                                                 \n",
"   High Cloud            1           0       Not Applied         \n",
"     Test (CO2)                      1       Applied             \n",
"                                                                 \n",
"   High Cloud            1           0       Not Applied         \n",
"     Test (6.7)                      1       Applied             \n",
"                                                                 \n",
"   High Cloud            1           0       Not Applied         \n",
"     Test (1.38)                     1       Applied             \n",
"                                                                 \n",
"   High Cloud            1           0       Not Applied         \n",
"     Test (3.7-12um)                 1       Applied             \n",
"                                                                 \n",
"   IR Temperature        1           0       Not Applied         \n",
"     Difference Tests                1       Applied             \n",
"                                                                 \n",
"   3.7-11um Test         1           0       Not Applied         \n",
"                                     1       Applied             \n",
"                                                                 \n",
"   .68 Reflectance       1           0       Not Applied         \n",
"     Test                            1       Applied             \n",
"                                                                 \n",
"   Visible Ratio         1           0       Not Applied         \n",
"     Test                            1       Applied             \n",
"                                                                 \n",
"   Near IR               1           0       Not Applied         \n",
"     Reflectance                     1       Applied             \n",
"     Ratio Test                                                  \n",
"                                                                 \n",
"   3.7-3.9mm             1           0       Not Applied         \n",
"     Test                            1       Applied             \n",
"                                                                 \n",
"   Temporal              1           0       Not Applied         \n",
"     Consistency                     1       Applied             \n",
"     Test                                                        \n",
"                                                                 \n",
"   Spatial               1           0       Not Applied         \n",
"     Variability Test                1       Applied             \n",
"                                                                 \n",
"   Final Confidence      1           0       Not Applied         \n",
"     Confirmation Test               1       Applied             \n",
"                                                                 \n",
"   Night Water          1            0       Not Applied         \n",
"     Spatial Variability             1       Applied             \n",
"                                                                 \n",
"   Suspended Dust Test   1           0       Not Applied         \n",
"                                     1       Applied             \n",
"                                                                 \n",
"   Spares                3                                       \n",
"                                                                 \n",
"   250 m Visible      1(16)           0       Not Applied        \n",
"     Tests                            1       Applied            \n",
"     (16 times as (line1,element1),(line1, element2),...         \n",
"     (line4,element4))                                           \n",
"                                                                 \n",
"   -------- ( 5 bytes total ) --------------------------------   \n",
"                                                                 \n",
"   Optional run time QA flags - data information flags           \n",
"                                                                 \n",



                                             67
"   QA Flag Name    Number of Bits Bit Value    Description            \n",
"    -------------------------------------------------------------     \n",
"   Number of            2             0       None                    \n",
"     bands used to                    1       1-7                     \n",
"     generate                         2       8-14                    \n",
"     cloud mask                       3       15-21                   \n",
"                                                                      \n",
"   Number of            2             0       None                    \n",
"     spectral                         1       1-3                     \n",
"     tests used to                    2       4-6                     \n",
"     generate                         3       7-9                     \n",
"     cloud mask                                                       \n",
"                                                                      \n",
"   Spares               4                                             \n",
"                                                                      \n",
"    -------- ( 1 byte total ) --------------------------------        \n",
"                                                                      \n",
"   Optional run time QA flags - data resource flags                      \n",
"                                                                         \n",
"   QA Flag Name    Number of Bits Bit Value    Description               \n",
"   -------------------------------------------------------------         \n",
"   Clear                2             0       MOD35                      \n",
"     Radiance                         1       Model forward calculation \n",
"     Origin                           2       Other                      \n",
"                                      3       Not used                   \n",
"                                                                         \n",
"   Surface              2             0       NCEP GDAS                  \n",
"     Temperature                      1       DAO                        \n",
"     Over Land                        2       MOD11                      \n",
"                                      3       Other                      \n",
"                                                                         \n",
"   Surface              2             0       Reynolds blended           \n",
"     Temperature                      1       DAO                        \n",
"     Over Ocean                       2       MOD28                      \n",
"                                      3       Other                      \n",
"                                                                         \n",
"   Surface Winds        2             0       NCEP GDAS                  \n",
"                                      1       DAO                        \n",
"                                      2       Other                      \n",
"                                      3       Not used                   \n",
"                                                                         \n",
"   Ecosystem Map        2             0       Loveland NA 1km            \n",
"                                      1       Olson Ecosystem            \n",
"                                      2       MOD12                      \n",
"                                      3       Other                      \n",
"                                                                         \n",
"   Snow mask            2             0       MOD33                      \n",
"                                      1       SSMI Product               \n",
"                                      2       Other                      \n",
"                                      3       Not used                   \n",
"                                                                         \n",
"   Ice cover            2             0       MOD42                      \n",
"                                      1       SSMI product               \n",
"                                      2       Other                      \n",
"                                      3       Not used                   \n",
"                                                                         \n",
"   Land/Sea Mask        2             0       USGS 1 km 6 level          \n",
"                                      1       USGS 1 km binary           \n",
"                                      2       Other                      \n",
"                                      3       Not used                   \n",
"                                                                         \n",
"   Digital              1             0       EOS DEM                    \n",
"     Elevation                        1       Not used                   \n",
"     Model                                                               \n",
"                                                                         \n",
"   Precipitable         2             0       NCEP GDAS                  \n",
"     Water                            1       DAO                        \n",
"                                      2       MOD07                      \n",
"                                      3       Other                      \n",
"                                                                         \n",
"   Spare                5                                                \n",



                                             68
"                                                                       \n",
"   -------- ( 3 bytes total ) --------------------------------         \n",
"                                                                       \n" ;

data:

        Byte_Segment = 1, 2, 3, 4, 5, 6 ;


//---------------------------------------------------------------------------------------
//                              ECS Inventory Metadata
//
// ECS Inventory Metadata are stored in the HDF attribute "CoreMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                   ECS     Number Of   Typical Value
//   ECS Core Attribute Name                      Data Type    Values      or Comment
//   -----------------------                      --------- ---------    --------------
//      SHORTNAME                                  STRING        1       "MOD35_L2"
//      VERSIONID                                  INTEGER       1       2
//      REPROCESSINGACTUAL                         STRING        1       "processed once"
//      REPROCESSINGPLANNED                        STRING        1       "further update anticipated"
//      LOCALGRANULEID                             STRING        1       variable
//      LOCALVERSIONID                             STRING        1       "001"
//      DAYNIGHTFLAG                               STRING        1       "Day/Night/Both"
//      PRODUCTIONDATETIME                         DATETIME      1       variable
//      PGEVERSION                                 STRING        1       "2"
//      INPUTPOINTER                               STRING        25 (Max) all input URs
//
//    RangeDateTime
//    -------------
//      RANGEBEGINNINGTIME                         TIME          1       variable
//      RANGEENDINGTIME                            TIME          1       variable
//      RANGEBEGINNINGDATE                         DATE          1       variable
//      RANGEENDINGDATE                            DATE          1       variable
//
//    Bounding Rectangle
//    ------------------
//      EASTBOUNDINGCOORDINATE                     DOUBLE        1       variable
//      WESTBOUNDINGCOORDINATE                     DOUBLE        1       variable
//      NORTHBOUNDINGCOORDINATE                    DOUBLE        1       variable
//      SOUTHBOUNDINGCOORDINATE                    DOUBLE        1       variable
//
//    OrbitCalculatedSpatialDomain
//    ----------------------------
//      ORBITNUMBER.1                              INTEGER       1       variable
//      EQUATORCROSSINGLONGITUDE.1                 DOUBLE        1       variable
//      EQUATORCROSSINGDATE.1                      DATE          1       variable
//      EQUATORCROSSINGTIME.1                      TIME          1       variable
//
//    MeasuredParameter
//    -----------------
//      PARAMETERNAME.1                            STRING        1       "Cloud_Mask"
//      AUTOMATICQUALITYFLAG.1                     STRING        1       "Passed" or "Failed"
//      AUTOMATICQUALITYFLAGEXPLANATION.1          STRING        1       "Passed if useable, Failed
if not useable"
//      QAPERCENTMISSINGDATA.1                     INTEGER       1       0
//
//    Additional Attributes (Inventory PSAs)
//    --------------------------------------
//      ADDITIONALATTRIBUTENAME.1                  STRING        1       "SuccessfulRetrievalPct"
//      ADDITIONALATTRIBUTENAME.2                  STRING        1       "VeryHighConfidentClearPct"
//      ADDITIONALATTRIBUTENAME.3                  STRING        1       "HighConfidentClearPct"
//      ADDITIONALATTRIBUTENAME.4                  STRING        1       "UncertainConfidentClearPct"
//      ADDITIONALATTRIBUTENAME.5                  STRING        1       "LowConfidentClearPct"
//      ADDITIONALATTRIBUTENAME.6                  STRING        1       "CloudCoverPct250m"
//      ADDITIONALATTRIBUTENAME.7                  STRING        1       "ClearPct250m"
//      ADDITIONALATTRIBUTENAME.8                  STRING        1       "DayProcessedPct"
//      ADDITIONALATTRIBUTENAME.9                  STRING        1       "NightProcessedPct"
//      ADDITIONALATTRIBUTENAME.10                 STRING        1       "SunglintProcessedPct"



                                            69
//      ADDITIONALATTRIBUTENAME.11                 STRING        1
"Snow_IceSurfaceProcessedPct"
//      ADDITIONALATTRIBUTENAME.12                 STRING        1       "LandProcessedPct"
//      ADDITIONALATTRIBUTENAME.13                 STRING        1       "WaterProcessedPct"
//      ADDITIONALATTRIBUTENAME.14                 STRING        1       "ShadowFoundPct"
//      ADDITIONALATTRIBUTENAME.15                 STRING        1       "ThinCirrusSolarFoundPct"
//      ADDITIONALATTRIBUTENAME.16                 STRING        1       "ThinCirrusIR_FoundPct"
//      ADDITIONALATTRIBUTENAME.17                 STRING        1
"NonCloudObstructionFoundPct"
//      ADDITIONALATTRIBUTENAME.18                 STRING        1       "MaxSolarZenithAngle"
//      ADDITIONALATTRIBUTENAME.19                 STRING        1       "MinSolarZenithAngle"
//
//      PARAMETERVALUE.1                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.2                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.3                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.4                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.5                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.6                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.7                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.8                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.9                           STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.10                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.11                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.12                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.13                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.14                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.15                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.16                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.17                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.18                          STRING        1       "   54.25", an F8.2
formatted floating point number
//      PARAMETERVALUE.19                          STRING        1       "   54.25", an F8.2
formatted floating point number
//
//    Ancillary Input Granule
//    -----------------------
//      ANCILLARYINPUTTYPE.1                       STRING        1       "Geolocation"
//      ANCILLARYINPPUTPOINTER.1                   STRING        1       UR of geolocation granule
//
//    AssociatedPlatformInstrumentSensor
//    ----------------------------------
//      ASSOCIATEDPLATFORMSHORTNAME.1              STRING        1       "AM-1"
//      ASSOCIATEDINSTRUMENTSHORTNAME.1            STRING        1       "MODIS"
//      ASSOCIATEDSENSORSHORTNAME.1                STRING        1       "CCD"
//
//
//---------------------------------------------------------------------------------------
//                              ECS Archive Metadata
//
// ECS Archive Metadata are stored in the HDF attribute "ArchiveMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                   ECS     Number Of   Typical Value



                                           70
//   ECS Core Attribute Name                      Data Type    Values      or Comment
//   -----------------------                      --------- ---------    --------------
//      DESCRREVISION                             STRING         1        "1.1"
//
//   Algorithm Package
//   -----------------
//      ALGORITHMPACKAGEACCEPTANCEDATE            STRING         1       "June 1997"
//      ALGORITHMPACKAGEMATURITYCODE              STRING         1       "at-launch"
//      ALGORITHMPACKAGENAME                      STRING         1       "ATBD-MOD-06"
//      ALGORITHMPACKAGEVERSION                   STRING         1       "2"
//      INSTRUMENTNAME                            STRING         1       "Moderate Resolution
//                                                                        Imaging Spectroradiometer"
//      LOCALINPUTGRANULEID                        STRING        10(Max) MODIS product input file
//                                                                        names in MODIS naming
//                                                                        convention
//      LONGNAME                                  STRING         1       "MODIS Cloud Mask and
//                                                                        Spectral Test Results"
//
//   GPolygon
//   --------
//      EXCLUSIONGRINGFLAG                        STRING         M,1     variable
//      GRINGPOINTLATITUDE                        DOUBLE         M,4     variable
//      GRINGPOINTLONGITUDE                       DOUBLE         M,4     variable
//      GRINGPOINTSEQUENCENO                      INTEGER        M,4     variable
//
//   Product Specific
//   ----------------
//      Cloud_Mask_Algorithm_Version_Number       STRING          1      '1'
//
//
//M - indicates that multiple instances of these fields may be written to the
//    file in the ECS "CLASS" format. In this format, separate instances of
//    the field are identified by field name and an attached suffix of the form:
//    .1, .2, .3 etc. "M,4" means, for example, that an array of 4 corner point
//    latitudes is written to the file with each occurrence of field
//    GRINGPOINTLATITUDE. The first instance is specified as
//    GRINGPOINTLATITUDE.1. Only one occurrence of this field, and the
//    associated fields EXCLUSIONGRINGFLAG, GRINGPOINTLONGITUDE and
//    GRINGPOINTSEQUENCENO, are ever anticipated for MODIS.
//
//
//---------------------------------------------------------------------------------------
//                              ECS Structural Metadata
//
// ECS Structural Metadata are stored in the HDF attribute "StructMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//GROUP=SwathStructure
//
//   GROUP=SWATH_1
//      SwathName="mod35"
//
//      GROUP=Dimension
//         Cell_Along_Swath_1km = 2030        typical size
//         Cell_Across_Swath_1km = 1354       typical size
//         Cell_Along_Swath_5km = 406         typical size
//         Cell_Across_Swath_5km = 270        typical size
//         Byte_Segment = 6
//         QA_Dimension = 10
//
//      GROUP=DimensionMap (GeoDimension, DataDimension, Offset, Increment)
//         Cell_Across_Swath_5km, Cell_Across_Swath_1km, 2, 5
//         Cell_Along_Swath_5km, Cell_Along_Swath_1km, 2, 5
//
//      GROUP=IndexDimensionMap
//         None
//
//      GROUP=GeoField
//         DFNT_FLOAT32 Longitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//         DFNT_FLOAT32 Latitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km")



                                           71
//
//      GROUP=DataField
//         DFNT_FLOAT64 Scan_Start_Time("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//         DFNT_INT16 Byte_Segment("Byte_Segment")
//         DFNT_INT16 Solar_Zenith("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//         DFNT_INT16 Solar_Azimuth("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//         DFNT_INT16 Sensor_Zenith("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//         DFNT_INT16 Sensor_Azimuth("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//         DFNT_INT8 Cloud_Mask("Byte_Segment","Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//         DFNT_INT8 Quality Assurance("Cell_Along_Swath_1km","Cell_Across_Swath_1km","QA_Dimension")
//
//      GROUP=MergedFields
//         None
//
//GROUP=GridStructure
//   None
//
//GROUP=PointStructure
//   None
//
//-----------------------------------------------------------------------------
//                     Vdatas
//-----------------------------------------------------------------------------
//
//Vdata = Byte_Segment
//   Class =
//   Number of Records = 6
//   Number of Fields = 1
//   Field Descriptions:
//
//   Vdata Attributes:   None
//
//
//   Field Descriptions: Number            Type              Order      Name
//                         ------          ----              -----      -----
//                           0             DFNT_INT8           1        Band_Number
}




                                           72
          Appendix D: MOD03 Geolocation File Specification
ftp://modis-xl.nascom.nasa.gov/pub/stig_temp/mlinda/www/LatestFilespecs/
MOD03.geolocation.fs.txt
                   MODIS GEOLOCATION VERSION 2 PRODUCT FORMAT
                                 Version 3.0.0
                                March 28, 2001


This document specifies the MODIS geolocation product (MOD03, MYD03) format.
The product is stored as a Hierararchical Data Format (HDF) file for
each granule of MODIS data. It contains

        Geodetic position (latitude, longitude, and height above geoid)
                for the center of each 1 kilometer MODIS Earth View
                observation, according to the World Geodetic System of 1984.

        Sun and satellite ('sensor') bearings for each 1 kilometer
                MODIS Earth View observation.

        EOS land/sea mask values for the center of each 1 kilometer
                MODIS Earth View observation.

        Sun and Moon positions with respect to the MODIS for each
                scan.

        Instrument parameter information sufficient to permit
                geolocation for specific bands and sub-pixel ground
                location.

The specification is organized into four sections: Global Metadata;
Processing and Geometric Parameters; Scan Data; and Vgroups. The
Metadata are intended to satisfy both the ECS requirements for
organizing, ingesting, cataloging, and searching data products; and
the user's needs for product documentation. In this document the global
metadata are subdivided into ECS granule core, product-specific, and
structural metadata and MODIS-specific metadata. The Parameters section
includes, for reference purposes, instrument-related parameters which
were used in the geolocation processing. The Scan Data include scan-
level metadata, spacecraft ephemeris, and spatial element geolocation
values. The Vgroups organize the spatial element geolocation data into
data groups for the HDF-EOS Swath data structure.

The baseline HDF implementation of this product is as follows. ECS
granule metadata are stored in the ECS-defined format of large PVL text
blocks in HDF global attributes.   All other global metadata are stored
in individual HDF Attributes. The remaining file-level parameters are
stored as HDF scientific data sets (SDSs) with the dimensions specified.
Any exceptions to this baseline are noted for the individual field.

The scan data are stored as SDSs. Multi-dimensional fields are stored
with the scan dimension varying slowest. There are three categories of
scan data: scan-level metadata, scan-level navigation data, and spatial
element geolocation data. The HDF dimension names and nominal dimension
lengths used for each category are listed at the start of the section.
The spatial element geolocation fields are all defined as two-dimensional
arrays with the dimensions corresponding to the along-track and along-
scan dimensions.

The array indexing is row dominant, consistent with HDF convention.


1.      Global Metadata

1.1   ECS Granule Metadata

These metadata elements will be stored using the ECS metadata tools as
PVL text blocks in accordance with ECS standards. The inventory fields
will be stored in an HDF attribute named CoreMetadata.0 and the archive




                                           73
fields in an attribute named ArchiveMetadata.0. All of these fields are
defined in detail in the V2 MODIS Metadata Dictionary. The data type
field listed below is relevant for I/O of these fields only, since each
set of metadata is stored as a single PVL text block. The supported
data types for ECS metadata are STRING, DOUBLE, and INTEGER.


1.1.1   ECS Granule Inventory (Core and Product) Metadata
        stored in one ECS PVL string in HDF global attribute
        "CoreMetadata.0".

Metadata Name                  Data Type         Example
-------------                  --------          ---------

SHORTNAME                      STRING            "MOD03" or "MYD03"

VERSIONID                      INTEGER            0

PGEVERSION                     STRING            "2.1.1"

LOCALVERSIONID                 STRING            "2.10.0"

RANGEBEGINNINGDATE             STRING            "1995-01-01"
                               "YYYY-MM-DD"

RANGEBEGINNINGTIME             STRING          "00:00:00.000000"
                               "HH:MM:SS.SSSSSS"

RANGEENDINGDATE                STRING            "1995-01-01"
                               "YYYY-MM-DD"

RANGEENDINGTIME                STRING          "00:02:30.000000"
                               "HH:MM:SS.SSSSSS"

DAYNIGHTFLAG                   STRING            "Day", "Night", "Both", or "NA"

ORBITNUMBER.1                  INTEGER           256

EQUATORCROSSINGLONGITUDE.1     DOUBLE            90.000

EQUATORCROSSINGDATE.1          STRING            "1995-01-01"
                               "YYYY-MM-DD"

EQUATORCROSSINGTIME.1          STRING          "00:02:30.000000"
                               "HH:MM:SS.SSSSSS"

EXCLUSIONGRINGFLAG.1           STRING            "N"

GRINGPOINTLATITUDE.1           DOUBLE(4)         (25., 20., 10., 15.)

GRINGPOINTLONGITUDE.1          DOUBLE(4)         (20., 40., 35., 15.)

GRINGPOINTSEQUENCENO.1         INTEGER(4)        (1, 2, 3, 4)

ADDITIONALATTRIBUTENAME.1      STRING            "GRANULENUMBER"

PARAMETERVALUE.1               STRING            "1"

ADDITIONALATTRIBUTENAME.2      STRING            "SCI_STATE"

PARAMETERVALUE.2               STRING            "0" = instrument test during one
                                                     or more scans
                                                 "1" = instrument status normal
                                                     or unknown during all scans

ADDITIONALATTRIBUTENAME.3      STRING            "SCI_ABNORM"

PARAMETERVALUE.3               STRING            "0" = spacecraft in unusual
                                                     state (i.e., maneuver)
                                                     during one or more scans
                                                 "1" = spacecraft state normal or



                                            74
                                                        unknown during all scans

ADDITIONALATTRIBUTENAME.4       STRING           "GEO_EST_RMS_ERROR"

PARAMETERVALUE.4                STRING           "100"   (meters)
                                                 Estimated RMS error in
                                                 geolocation (-1 indicates that
                                                 the error size is unknown)

ADDITIONALATTRIBUTENAME.5       STRING           "PROCESSVERSION"

PARAMETERVALUE.5                STRING           "2.2.1"

PRODUCTIONDATETIME              STRING          "1995-01-01T00:00:00.000Z"
                                CCSDS ASCII Time Code A

REPROCESSINGACTUAL              STRING           "processed once"

INPUTPOINTER                    STRING(2)
       "UR:10:DsShESDTUR:UR:15DsShSciServerUR:8:cheyenne:21:Science.MOD01:6185"
       "UR:10:DsShESDTUR:UR:15DsShSciServerUR:8:cheyenne:21:Science.MOD03LUT:1"

LOCALGRANULEID                  STRING
                                     "MYD03.A1995001.0000.001.1995002000000.hdf"

AUTOMATICQUALITYFLAG.1          STRING           "Failed" - if processing of the
                                                 granule caused the process to
                                                 exit with a FAIL status.
                                                 "Passed" - otherwise

AUTOMATICQUALITYFLAGEXPLANATION.1
                                STRING           "Set to 'Failed' if processing
                                                  error occurred, set to 'Passed'
                                                  otherwise"

PARAMETERNAME.1                 STRING           "Geolocation"

QAPERCENTMISSINGDATA.1          INTEGER          The percent of pixels in the
                                                 granule for which there was
                                                 insufficient data to perform
                                                 geolocation.

QAPERCENTOUTOFBOUNDSDATA.1      INTEGER          The percent of pixels in the
                                                 granule which were determined
                                                 to have data off of the earth.

ASSOCIATEDPLATFORMSHORTNAME.1   STRING           "Terra" for MOD03 files, and
                                                 "Aqua" for MYD03 files.

ASSOCIATEDINSTRUMENTSHORTNAME.1 STRING           "MODIS"

ASSOCIATEDSENSORSHORTNAME.1     STRING           "MODIS"

1.2   ECS Granule Archive Metadata
        stored in one ECS PVL string in HDF global attribute
        "ArchiveMetadata.0".

Metadata Name                   Data Type        Example
-------------                   --------         ---------

LOCALINPUTGRANULEID             STRING
                                     "MOD01.A1995001.0000.001.1995002000000.hdf"

EASTBOUNDINGCOORDINATE          DOUBLE           40.0

NORTHBOUNDINGCOORDINATE         DOUBLE           25.0

SOUTHBOUNDINGCOORDINATE         DOUBLE           10.0

WESTBOUNDINGCOORDINATE          DOUBLE           15.0




                                            75
DESCRREVISION                   STRING           "1.0"
                                                 Version of the ESDT description

PRODUCTIONHISTORY              STRING            "MOD03:<2.10.0> MOD01:<2.2.1>"


1.1.3   HDF-EOS Swath Structural Metadata
        stored in one ECS PVL string in HDF global attribute
        "StructMetadata.0".

SwathStructure:        SwathName
                       MODIS_Swath_Type_GEO

Dimensions:
                       DimensionName     Size (maximum)
        Dimension_1    nscans*10         2200
        Dimension_2    mframes           1354

DimensionMaps:         None.
IndexDimensionMaps:    None.

GeoFields:
        Location: internal.
                        GeoFieldName     DataType         DimList
        GeoField_1      Latitude         DFNT_FLOAT32     (nscans*10,mframes)
        GeoField_2      Longitude        DFNT_FLOAT32     (nscans*10,mframes)

DataFields:
                       DataFieldName     DataType         DimList
        DataField_1    Height            DFNT_INT16       (nscans*10,mframes)
        DataField_2    SensorZenith      DFNT_INT16       (nscans*10,mframes)
        DataField_3    SensorAzimuth     DFNT_INT16       (nscans*10,mframes)
        DataField_4    Range             DFNT_UINT16      (nscans*10,mframes)
        DataField_5    SolarZenith       DFNT_INT16       (nscans*10,mframes)
        DataField_6    SolarAzimuth      DFNT_INT16       (nscans*10,mframes)
        DataField_7    Land/SeaMask      DFNT_UINT8       (nscans*10,mframes)
        DataField_8    gflags            DFNT_UINT8       (nscans*10,mframes)

MergedFields:          None.




1.2     MODIS Geolocation Specific Granule Metadata

These fields will be stored as individual HDF attributes.

Attribute Name                 Format            Example
--------------                 --------          ---------

Number of Scans                int32             100

Max Earth Frames               int32             1354
  (per scan)

Max SD Frames                  int32             50
  (per scan)

Max SV Frames                  int32             50
  (per scan)

Incomplete Scans               int32             0
  (in granule)

Missing Packets                int32             0
  (in granule)

Packets with bad CRC           int32             0
  (in granule)

Discarded Packets              int32             0



                                            76
 (in granule)

Ephemeris/Attitude Source       String               "MODIS Packet" or "SDP Toolkit"
  (in granule)

Parameter Version               String          "2.1"
  Version number of the geolocation parameter file used.

GEO_EST_RMS_ERROR               float32              100
  Estimated geolocation RMS error (meters).          (-1 - error unknown)

Cumulated gflags                uint32(8)       2682
  For each bit in gflags, a count of the number of pixels with that bit set.
  The least significant bit is cumulated in the first element.

utcpole File Header             String
example:
"File updated: 1999-10-22T00:00:02Z, using USNO ser7 finals.data file of Oct 21"
                                                The first line of the
                                                utcpole.dat file

Polar Motion                    float64(3)           (0.061000, 0.51000, -0.043200)
                                                     Polar wander and the difference
                                                     of UT1 and UTC
                                                     0 Pole position x (arc sec)
                                                     1 Pole position y (arc sec)
                                                     2 UT1-UTC (sec)


2.0   Processing and Geometric Parameters

These are instrument model parameters which are all defined in the
MODIS Earth Location ATBD (version 2.0, April 1995).

HDF Dimension Names:

Name             Description                                           Length
----             -----------                                           -----
vecdim           Cartesian vector dimension                              3
numbands         MODIS bands dimension                                  37
                 (bands 1-36; band 0 is the 'ideal' band)



SDS Name           Description                              Format
--------           -------------                            --------
Focal_length       Focal length for detectors               float64(numbands)
                   SDS Attributes:
                   Attribute Name        Format             Example
                   --------------        ------             -------

                   units                    String           "meters"

band_position      Scan IFOV Offsets of band trailing       float64(numbands)
                   edges with respect to the Optical
                   Center
                   SDS Attributes:
                   Attribute Name        Format              Example
                   --------------        ------              -------

                   units                 String             "frame sample time"

detector_space     Nominal detector spacing in the          float64(numbands)
                   cross-scan direction
                   SDS Attributes:
                   Attribute Name        Format             Example
                   --------------        ------             -------

                   units                 String             "meters"

detector_offsets   Offsets of detector positions from       float64(numbands,2)



                                               77
                      nominal locations on the focal plane
                      (scan,track)
                      SDS Attributes:
                      Attribute Name        Format           Example
                      --------------        ------           -------

                      units                String            "meters"
                      scandim              uint32            0
                      trackdim             uint32            1

T_offset              Offsets of the first sample for a      float64(numbands)
                      a band to time of 1km frame.
                      SDS Attributes:
                      Attribute Name        Format           Example
                      --------------        ------           -------

                      units                String            "frame sample time"

num_samples           Number of samples per frame for each   uint16(numbands)
                      band.



3.0       Scan Data



3.1       Scan-level Metadata

HDF Dimension Names:

Name             Description                                           Length
----             -----------                                           -----
nscans           MODIS scans                                            ~200
vecdim           Elements in a cartesian vector                            3
numenc           Mirror encoder data values per scan                      25
numqual          Quality values per scan                                   4


SDS Name         Description                                 Format
--------         -------------                               --------
Scan number      Scan number in granule                      int16(nscans)

EV frames        Number of Earth view frames in scan         uint16(nscans)
                 SDS Attributes:
                 Attribute Name        Format                Example
                 --------------        ------                -------

                 valid_range               int16(2)          0, 1400

SD frames        Number of solar diffuser frames in scan uint16(nscans)

SV frames        Number of space view frames in scan         uint16(nscans)

EV start time    Earth view start time (TAI)                 float64(nscans)
                 SDS Attributes:
                 Attribute Name        Format                Example
                 --------------        ------                -------

                 units                   String              "seconds"

SD start time    Solar diffuser view start time (TAI)        float64(nscans)
                 SDS Attributes:
                 Attribute Name        Format                Example
                 --------------        ------                -------

                 units                   String              "seconds"

SV start time    Space view start time (TAI)                 float64(nscans)
                 SDS Attributes:
                 Attribute Name        Format                Example



                                               78
                  --------------        ------            -------

                  units                String            "seconds"

SD Sun zenith     Sun vector zenith angle in SD frame     float32(nscans)
                    (with respect to SD Z axis)
                  SDS Attributes:
                  Attribute Name        Format           Example
                  --------------        ------           -------

                  units                String            "radians"

SD Sun azimuth    Sun vector azimuth angle in SD frame    float32(nscans)
                    (counter-clockwise rotation about SD Z axis
                     with respect to SD X axis)
                  SDS Attributes:
                  Attribute Name        Format            Example
                  --------------        ------            -------

                  units                String            "radians"

Moon Vector       Moon unit vector in instrument frame    float32(nscans,vecdim)

sun_ref           Unit Sun vector in ECR frame           float32(nscans,vecdim)
                   at scan center time
                  SDS Attributes:
                  Attribute Name        Format           Example
                  --------------        ------           -------

                  valid_range          float32(2)         -1., 1.

Mirror side       Mirror side                            uint16(nscans)
                  SDS Attributes:
                  Attribute Name       Format            Example
                  --------------       ------            -------

                  valid_range          uint16(2)         0, 1

num_impulse       Number of mirror encoder samples for   uint8(nscans)
                   this scan
                  SDS Attributes:
                  Attribute Name        Format           Example
                  --------------        ------           -------

                  valid_range          uint8(2)          0, numenc.

impulse_enc       Mirror angles from encoder data.       float64(nscans,numenc)
                  SDS Attributes:
                  Attribute Name        Format           Example
                  --------------        ------           -------

                  units                String            "encoder pulses"
                  valid_range          float64(2)        0., 16384.

impulse_time      Mirror encoder sample times from       float64(nscans,numenc)
                   start of scan
                  SDS Attributes:
                  Attribute Name        Format           Example
                  --------------        ------           -------

                  units                String            "seconds"
                  valid_range          float64(2)        0., 1.5.

L1 scan quality    L1A scan quality flags                 int32(nscans,numqual)
                     element 0:   Scan data presence = 0, no valid data within
                                                          scan
                                                     = 1, scan contains some
                                                          valid data
                     element 1:   Missing Packets in scan
                     element 2:   Packets with bad CRC in scan
                     element 3:   Discarded Packets in scan



                                             79
Geo scan quality   Geolocation scan quality flags        int8(nscans,numqual)
                    element 0:   = 0, valid mirror encoder data for scan
                                 = 1, no valid encoder data for scan
                    element 1:   = 0, spacecraft in unusual state
                                         (i.e., maneuver)
                                 = 1, spacecraft normal
                                 = -127, fill value for SCI_ABNORM in input file
                    element 2:   = 0, MODIS test mode
                                 = 1, MODIS normal
                                 = -127, fill value for SCI_STATE in input file
                    elements 3: reserved for future use

Scan Type        "Day", "Night", "Other"                  char8(nscans,10)



3.2   Scan-level Navigation Data

HDF Dimension Names:

Name             Description                                        Length
----             -----------                                        -----
nscans           MODIS scans                                         ~200
vecdim           Elements in a cartesian vector                         3


SDS Name         Description                              Format
--------         -------------                            --------
EV center time   Earth view center frame time (TAI)       float64(nscans)
                 SDS Attributes:
                 Attribute Name        Format             Example
                 --------------        ------             -------

                 units                String              "seconds"

orb_pos          ECR orbit position at scan center time   float64(nscans,vecdim)
                 SDS Attributes:
                 Attribute Name        Format             Example
                 --------------        ------             -------

                 units                String              "meters"
                 valid_range          float64(2)           -7200000., 7200000.

orb_vel          ECR orbit velocity at scan center time   float64(nscans,vecdim)
                 SDS Attributes:
                 Attribute Name        Format             Example
                 --------------        ------             -------

                 units                String              "meters per second"
                 valid_range          float64(2)          -7600., 7600

T_inst2ECR       instrument-to-ECR frame transformation   float64(nscans,vecdim,vecdim)
                  matrix at scan center time
                 SDS Attributes:
                 Attribute Name        Format             Example
                 --------------        ------             -------

                 valid_range          float64(2)          -1., 1.

attitude_angles Spacecraft attitude at scan center        float64(nscans,vecdim)
                 time expressed in the Orbital
                 Reference frame (roll, pitch, yaw)
                SDS Attributes:
                Attribute Name        Format              Example
                --------------        ------              -------

                 units                String              "radians"
                 roll_element         uint32              0
                 pitch_element        uint32              1
                 yaw_element          uint32              2



                                            80
3.3      Spatial Element Geolocation Data

HDF Dimension Names:

Name                                    Description                       Length
----                                    -----------                       -----
nscans*10:MODIS_Swath_Type_GEO          MODIS scan-lines                  ~2000
mframes:MODIS_Swath_Type_GEO            Earth view frames per scan        ~1354


SDS Name        Description                               Format
--------        -------------                             --------
Longitude       Geodetic longitude                 float32
                                                   (nscans*10:MODIS_Swath_Type_GEO,
                                                    mframes:MODIS_Swath_Type_GEO)
                SDS Attributes:
                Attribute Name        Format              Example
                --------------        ------              -------

                units                 String              "degrees"
                valid_range           float32(2)          -180., 180.
                _FillValue            float32             -999.0

Latitude        Geodetic latitude                  float32
                                                   (nscans*10:MODIS_Swath_Type_GEO,
                                                    mframes:MODIS_Swath_Type_GEO)
                SDS Attributes:
                Attribute Name        Format              Example
                --------------        ------              -------

                units                 String              "degrees"
                valid_range           float32(2)          -90., 90.
                _FillValue            float32             -999.0

Height          Height above geoid                 int16
                                                   (nscans*10:MODIS_Swath_Type_GEO,
                                                    mframes:MODIS_Swath_Type_GEO)
                SDS Attributes:
                Attribute Name        Format              Example
                --------------        ------              -------

                units                 String              "meters"
                valid_range           int16(2)            -400,10000
                _FillValue            int16               -32767

SensorZenith    Sensor (spacecraft) zenith         int16
                 angle.                            (nscans*10:MODIS_Swath_Type_GEO,
                                                    mframes:MODIS_Swath_Type_GEO)
                SDS Attributes:
                Attribute Name        Format              Example
                --------------        ------              -------

                units                 String              "degrees"
                scale_factor          float64             0.01
                valid_range           int16(2)            0, 18000
                _FillValue            int16               -32767

SensorAzimuth   Sensor (spacecraft) azimuth        int16
                 angle.                            (nscans*10:MODIS_Swath_Type_GEO,
                                                    mframes:MODIS_Swath_Type_GEO)
                SDS Attributes:
                Attribute Name        Format              Example
                --------------        ------              -------

                units                 String              "degrees"
                scale_factor          float64             0.01
                valid_range           int16(2)            -18000, 18000
                _FillValue            int16               -32767




                                              81
Range          Slant range (to spacecraft)             uint16
                                                       (nscans*10:MODIS_Swath_Type_GEO,
                                                        mframes:MODIS_Swath_Type_GEO)
               SDS Attributes:
               Attribute Name             Format              Example
               --------------             ------              -------

               units                      String              "meters"
               scale_factor               float64             25.
               valid_range                uint16(2)           27000,65535
               _FillValue                 uint16              0

SolarZenith    Solar zenith angle                      int16
                                                       (nscans*10:MODIS_Swath_Type_GEO,
                                                        mframes:MODIS_Swath_Type_GEO)
               SDS Attributes:
               Attribute Name             Format              Example
               --------------             ------              -------

               units                      String              "degrees"
               scale_factor               float64             0.01
               valid_range                int16(2)            0, 18000
               _FillValue                 int16               -32767

SolarAzimuth   Solar azimuth angle                     int16
                                                       (nscans*10:MODIS_Swath_Type_GEO,
                                                        mframes:MODIS_Swath_Type_GEO)
               SDS Attributes:
               Attribute Name             Format              Example
               --------------             ------              -------

               units                      String              "degrees"
               scale_factor               float64             0.01
               valid_range                int16(2)            -18000, 18000
               _FillValue                 int16               -32767

Land/SeaMask   EOS Land/Sea Mask                       uint8
                                                       (nscans*10:MODIS_Swath_Type_GEO,
                                                        mframes:MODIS_Swath_Type_GEO)
               DN values:
               0:      Shallow Ocean (Ocean <5k from coast OR <50m deep).
               1:      Land (not anything else).
               2:      Ocean Coastlines and Lake Shorelines.
               3:      Shallow Inland Water (Inland Water < 5km from shore
                               OR < 50m deep).
               4:      Ephemeral (intermittent) Water.
               5:      Deep Inland Water (Inland water > 5km from shoreline
                               AND > 50m deep).
               6:      Moderate or Continental Ocean (Ocean > 5km from coast
                               AND > 50m deep AND < 500m deep).
               7:      Deep Ocean (Ocean > 500m deep).

               SDS Attributes:
               Attribute Name              Format              Example
               --------------              ------              -------

               _FillValue                 uint8               255

gflags         Geolocation flags                     uint8
                                                     (nscans*10:MODIS_Swath_Type_GEO,
                                                      mframes:MODIS_Swath_Type_GEO)
               Bit   7(MSB):     1   =   invalid input data
               Bit   6:          1   =   no ellipsoid intersection
               Bit   5:          1   =   no valid terrain data
               Bit   4:          1   =   DEM missing or of inferior quality
               Bit   3:          1   =   invalid sensor range
               Bit   2:          1   =   near limb of earth: sensor zenith>85 degrees

               SDS Attributes:
               Attribute Name             Format              Example
               --------------             ------              -------



                                                  82
                 _FillValue           uint8           255



4.0    Vgroups

       In addition to the standard Vgroups automatically stored in an
       HDF-formatted file, the MODIS geolocation product has Vgroups
       deliberately created by the MOD_PR03 process. These Vgroups are
       part of the HDF-EOS Swath structure.

Vgroup Name
-----------
MODIS_Swath_Type_GEO
        Class = "SWATH"
        Contents:
                Vgroup           Geolocation Fields
                Vgroup           Data Fields
                Vgroup           Swath Attributes

Geolocation Fields
        Class = "SWATH Vgroup"
        Contents:
                SDS              Latitude
                SDS              Longitude

Data Fields
        Class = "SWATH Vgroup"
        Contents:
                SDS              Height
                SDS              SensorZenith
                SDS              SensorAzimuth
                SDS              Range
                SDS              SolarZenith
                SDS              SolarAzimuth
                SDS              Land/SeaMask
                SDS              gflags

Swath Attributes
        Class = "SWATH Vgroup"
        Contents: None.




                                              83
    Appendix E: MOD04_L2 Aerosol Product File Specification
http://modis-atmos.gsfc.nasa.gov/_specs/MOD04_L2.CDL.fs
//----------------------------------------------------------------------------
// MODIS HDF File Specification MOD04_L2: MODIS Level 2 Aerosol Product
// at 10 km spatial resolution
//
// This file specification document is written mainly in the network Common
// Data Form Language (CDL) to define HDF dimension names and sizes, and to
// declare attributes and arrays in terms of the dimensions. Other HDF
// objects not representable in CDL constructs (e.g. Vdata, Vgroups and ECS
// metadata) are described within comment blocks (any line or lines beginning
// with the characters "//").
//
// Array indexing is described in terms of the C programming language which
// is row dominant.
//----------------------------------------------------------------------------
netcdf mod04 {

dimensions:
Cell_Along_Swath:mod04 = 203 ; // typical size
Cell_Across_Swath:mod04 = 135 ; // typical size
Solution_1_Land:mod04 = 2 ;
Solution_2_Land:mod04 = 3 ;
Solution_3_Land:mod04 = 3 ;
Solution_Ocean:mod04 = 2 ;
MODIS_Band_Land:mod04 = 5 ;
MODIS_Band_Ocean:mod04 = 7 ;
QA_Byte_Land:mod04 = 5 ;
QA_Byte_Ocean:mod04 = 5 ;
Solution_Index = 9

variables:
:Number_of_Instrument_Scans = 203 ; // typical size
:Maximum_Number_of_1km_Frames = 1354 ; // typical value
:Slope_and_Offset_Usage = "\n",
" The local SDS scale_factor and add_offset attributes are used for the \n",
" conversion of stored integer data to geophysical floating point numbers. \n",
" The implementation follows conventional HDF usage (See HDF Users Guide): \n",
" \n",
" float value = scale_factor*(stored integer - add_offset) \n",
" \n",
" The unit of the derived floating point value is indicated in the 'units' \n",
" local attribute which is also provide. \n";

:title = "\n",
//-------------------------------------------------------------------- ------------
" MODIS HDF File Specification MOD04_L2: MODIS Level 2 Aerosol over land and \n",
" Ocean Product \n" ;
//-------------------------------------------------------------------- ------------
// :history = "\n",
//-------------------------------------------------------------------- ------------
//" 20-3-1997 Allen Chu/GSFC \n",
//" Shana Mattoo/GSFC \n" ;
//-------------------------------------------------------------------- ------------
//-------------------------------------------------------------------- ------------------
-
// ECS Inventory Metadata
//
// ECS Inventory Metadata are stored in the HDF attribute "CoreMetadata.0" whose
// content is described immediately below.
//-------------------------------------------------------------------- ------------------
-
//
// ECS Number Of Typical Value
// ECS Core Attribute Name Data Type Values or Comment
// ----------------------- --------- --------- --------------
// SHORTNAME STRING 1 "MOD04_L2"
// VERSIONID INTEGER 1 1




                                           84
// REPROCESSINGACTUAL STRING 1 "processed once"
// REPROCESSINGPLANNED STRING 1 "further update is anticipated"
// LOCALGRANULEID STRING 1 file name in MODIS naming
// convention
// LOCALVERSIONID STRING 1 "001"
// DAYNIGHTFLAG STRING 1 "Day/Night/Both"
// PRODUCTIONDATETIME DATETIME 1 variable
// PGEVERSION STRING 1 "2.3.1"
// INPUTPOINTER STRING 30(Max) all input URs
//
// RangeDateTime
// -------------
// RANGEBEGINNINGTIME TIME 1 variable
// RANGEENDINGTIME TIME 1 variable
// RANGEBEGINNINGDATE DATE 1 variable
// RANGEENDINGDATE DATE 1 variable
//
// Bounding Rectangle
// ------------------
// EASTBOUNDINGCOORDINATE DOUBLE 1 variable
// WESTBOUNDINGCOORDINATE DOUBLE 1 variable
// NORTHBOUNDINGCOORDINATE DOUBLE 1 variable
// SOUTHBOUNDINGCOORDINATE DOUBLE 1 variable
//
// OrbitCalculatedSpatialDomain
// ----------------------------
// ORBITNUMBER.1 INTEGER 1 variable
// EQUATORCROSSINGLONGITUDE.1 DOUBLE 1 variable
// EQUATORCROSSINGDATE.1 DATE 1 variable
// EQUATORCROSSINGTIME.1 TIME 1 variable
//
// MeasuredParameter
// -----------------
// PARAMETERNAME.1 STRING 1 "Corrected_Optical_Depth_Land"
// AUTOMATICQUALITYFLAG.1 STRING 1 "Passed"/"Failed"/"Suspect"
// AUTOMATICQUALITYFLAGEXPLANATION.1 STRING 1 variable
// QAPERCENTMISSINGDATA.1 INTEGER 1 variable
//
// PARAMETERNAME.2 STRING 1 "Effective_Optical_Depth_Average_Ocean"
// AUTOMATICQUALITYFLAG.2 STRING 1 "Passed"/"Failed"/"Suspect"
// AUTOMATICQUALITYFLAGEXPLANATION.2 STRING 1 variable
// QAPERCENTMISSINGDATA.2 INTEGER 1 variable
//
// Additional Attributes (Inventory PSAs)
// --------------------------------------
// ADDITIONALATTRIBUTENAME.1 STRING 1 "SuccessfulRetrievalPct_Land"
// ADDITIONALATTRIBUTENAME.2 STRING 1 "SuccessfulRetrievalPct_Ocean"
// ADDITIONALATTRIBUTENAME.3 STRING 1 "LowConfidentClearPct"
// ADDITIONALATTRIBUTENAME.4 STRING 1 "DayProcessedPct"
// ADDITIONALATTRIBUTENAME.5 STRING 1 "NightProcessedPct"
// ADDITIONALATTRIBUTENAME.6 STRING 1 "SunglintProcessedPct"
// ADDITIONALATTRIBUTENAME.7 STRING 1 "Snow_IceSurfaceProcessedPct"
// ADDITIONALATTRIBUTENAME.8 STRING 1 "LandProcessedPct"
// ADDITIONALATTRIBUTENAME.9 STRING 1 "WaterProcessedPct"
// ADDITIONALATTRIBUTENAME.10 STRING 1 "ShadowFoundPct"
// ADDITIONALATTRIBUTENAME.11 STRING 1 "ThinCirrusSolarFoundPct"
// ADDITIONALATTRIBUTENAME.12 STRING 1 "ThinCirrusIR_FoundPct"
// ADDITIONALATTRIBUTENAME.13 STRING 1 "NonCloudObstructionFoundPct"
// ADDITIONALATTRIBUTENAME.14 STRING 1 "MaxSolarZenithAngle"
// ADDITIONALATTRIBUTENAME.15 STRING 1 "MinSolarZenithAngle"
//
// PARAMETERVALUE.1 STRING 1 " 97.12", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.2 STRING 1 " 67.12", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.3 STRING 1 " 80.98", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.4 STRING 1 " 96.17", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.5 STRING 1 " 5.87", an F8.2 formatted floating point number // sample
value



                                           85
// PARAMETERVALUE.6 STRING 1 " 2.56", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.7 STRING 1 " 16.27", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.8 STRING 1 " 67.45", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.9 STRING 1 " 15.28", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.10 STRING 1 " 22.76", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.11 STRING 1 " 8.36", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.12 STRING 1 " 6.51", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.13 STRING 1 " 64.76", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.14 STRING 1 " 45.82", an F8.2 formatted floating point number // sample
value
// PARAMETERVALUE.15 STRING 1 " 13.38", an F8.2 formatted floating point number // sample
value
//
// AssociatedPlatformInstrumentSensor
// ----------------------------------
// ASSOCIATEDPLATFORMSHORTNAME.1 STRING 1 "AM-1"
// ASSOCIATEDINSTRUMENTSHORTNAME.1 STRING 1 "MODIS"
// ASSOCIATEDSENSORSHORTNAME.1 STRING 1 "CCD"
//
//
//-------------------------------------------------------------------- ------------------
-
// ECS Archive Metadata
//
// ECS Archive Metadata are stored in the HDF attribute "ArchiveMetadata.0" whose
// content is described immediately below.
//-------------------------------------------------------------------- ------------------
-
//
// ECS Number Of Typical Value
// ECS Core Attribute Name Data Type Values or Comment
// ----------------------- --------- --------- --------------
// DESCRREVISION STRING 1 "1.0"
//
// Algorithm Package
// -----------------
// ALGORITHMPACKAGEACCEPTANCEDATE STRING 1 "June 1997"
// ALGORITHMPACKAGEMATURITYCODE STRING 1 "at-launch"
// ALGORITHMPACKAGENAME STRING 1 "ATBD-MOD-02"
// ALGORITHMPACKAGEVERSION STRING 1 "2"
// LOCALINPUTGRANULEID STRING 10(Max) MODIS product input file
// names in MODIS naming
// convention
// INSTRUMENTNAME STRING 1 "Moderate Resolution
// Imaging Spectroradiometer"
// GPolygon
// --------
// EXCLUSIONGRINGFLAG STRING M,1 variable
// GRINGPOINTLATITUDE DOUBLE M,4 variable
// GRINGPOINTLONGITUDE DOUBLE M,4 variable
// GRINGPOINTSEQUENCENO INTEGER M,4 variable
//
// Archive Product-Specific Attributes (PSAs)
// ------------------------------------------
// VeryGoodQualityDataPct_Land STRING 1 " 100.00", an F8.2 formatted floating point
number // sample value
// GoodQualityDataPct_Land STRING 1 " 74.25", an F8.2 formatted floating point number //
sample value
// MarginalQualityDataPct_Land STRING 1 " 14.25", an F8.2 formatted floating point number
// sample value
// BadQualityDataPct_Land STRING 1 " 54.25", an F8.2 formatted floating point number //
sample value




                                           86
// VeryGoodQualityDataPct_Ocean STRING 1 " 54.25", an F8.2 formatted floating point
number // sample value
// GoodQualityDataPct_Ocean STRING 1 " 54.25", an F8.2 formatted floating point number //
sample value
// MarginalQualityDataPct_Ocean STRING 1 " 54.25", an F8.2 formatted floating point
number // sample value
// BadQualityDataPct_Ocean STRING 1 " 54.25", an F8.2 formatted floating point number //
sample value
// AlgorithmSoftwareVersionLand STRING 1 version number
// AlgorithmSoftwareVersionOcean STRING 1 version number
//
//M - indicates that multiple instances of these fields may be written to the
// file in the ECS "CLASS" format. In this format, separate instances of
// the field are identified by field name and an attached suffix of the form:
// .1, .2, .3 etc. "M,4" means, for example, that an array of 4 corner point
// latitudes is written to the file with each occurrence of field
// GRINGPOINTLATITUDE. The first instance is specified as
// GRINGPOINTLATITUDE.1. Only one occurrence of this field, and the
// associated fields EXCLUSIONGRINGFLAG, GRINGPOINTLONGITUDE and
// GRINGPOINTSEQUENCENO, are ever anticipated for MODIS.
//
//
//-------------------------------------------------------------------- ------------------
-
// ECS Structural Metadata
//
// ECS Structural Metadata are stored in the HDF attribute "StructMetadata.0" whose
// content is described immediately below.
//-------------------------------------------------------------------- ------------------
-
//
//GROUP=SwathStructure
// GROUP=SWATH_1
// SwathName="mod04"
// GROUP=Dimension
// Cell_Along_Swath = 203 (typical size)
// Cell_Across_Swath = 135 (typical size)
// Solution_1_Land = 2
// Solution_2_Land = 3
// Solution_3_Land = 3
// Solution_Ocean = 2
// MODIS_Band_Land = 5
// MODIS_Band_Ocean = 7
// QA_Byte_Land = 5
// QA_Byte_Ocean = 5
// Solution_Index = 9
//
// GROUP=DimensionMap
// None
//
// GROUP=IndexDimensionMap
// None
//
// GROUP=GeoField
// DFNT_FLOAT32 Longitude("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_FLOAT32 Latitude("Cell_Along_Swath","Cell_Across_Swath")
//
// GROUP=DataField
// DFNT_FLOAT64 Scan_Start_Time("Cell_Along_Swath","Cell_Across _Swath")
// DFNT_INT16 Solar_Zenith("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Solar_Azimuth("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Sensor_Zenith("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Sensor_Azimuth("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT8 Cloud_Mask_QA("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Optical_Depth_Land_And_Ocean("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Mean_Reflectance_Land_All("Solution_3_Land","Cell_Along_Swath","Cell_A
cross_Swath")
// DFNT_INT16 Standard_Deviation_Reflectance_Land_All("Solution_3_Land","Cell_Along_
Swath","Cell_Across_Swath")
// DFNT_INT16 Path_Radiance_Land("Solution_1_Land","Cell_Along_Swath","Cell_Across_S
wath")



                                           87
// DFNT_INT16 Error_Path_Radiance_Land("Solution_1_Land","Cell_Along_Swath","Cell_Ac
ross_Swath")
// DFNT_INT16 Critical_Reflectance_Land("Solution_1_Land","Cell_Along_Swath","Cell_A
cross_Swath")
// DFNT_INT16 Error_Critical_Reflectance_Land("Solution_1_Land","Cell_Along_Swath","
Cell_Across_Swath")
// DFNT_INT16 QualityWeight_Path_Radiance_Land("Solution_1_Land","Cell_Along_Swath",
"Cell_Across_Swath")
// DFNT_INT16 QualityWeight_Critical_Reflectance_Land("Solution_1_Land","Cell_Along_
Swath","Cell_Across_Swath")
// DFNT_INT16 Aerosol_Type_Land("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Scattering_Angle("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Continental_Optical_Depth_Land("Solution_1_Land","Cell_Along_Swath","C
ell_Across_Swath")
// DFNT_INT16 Corrected_Optical_Depth_Land("Solution_2_Land","Cell_Along_Swath","Cel
l_Across_Swath")
// DFNT_INT16 Estimated_Uncertainty_Land("Solution_1_Land","Cell_Along_Swath","Cell_
Across_Swath")
// DFNT_FLOAT32 Mass_Concentration_Land("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Angstrom_Exponent_Land("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Reflected_Flux_Land("Solution_1_Land","Cell_Along_Swath","Cell_Across_
Swath")
// DFNT_INT16 Transmitted_Flux_Land("Solution_1_Land","Cell_Along_Swath","Cell_Acros
s_Swath")
// DFNT_INT16 Cloud_Fraction_Land("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Dust_Weighting_Factor_Land("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Number_Pixels_Percentile_Land("Solution_1_Land","Cell_Along_Swath","Ce
ll_Across_Swath")
// DFNT_INT16 Mean_Reflectance_Land("MODIS_Band_Land","Cell_Along_Swath","Cell_Acros
s_Swath")
// DFNT_INT16 STD_Reflectance_Land("MODIS_Band_Land","Cell_Along_Swath","Cell_Across
_Swath")
// DFNT_INT8 Quality_Assurance_Land("Cell_Along_Swath","Cell_Across_Swath","QA_Byte
_Land")
// DFNT_INT8 Quality_Assurance_Crit_Ref_Land("Cell_Along_Swath","Cell_Across_Swath"
,"QA_Byte_Land")
// DFNT_INT16 Solution_Index_Ocean_Small("Solution_Ocean","Cell_Along_Swath","Cell_A
cross_Swath")
// DFNT_INT16 Solution_Index_Ocean_Large("Solution_Ocean","Cell_Along_Swath","Cell_A
cross_Swath")
// DFNT_INT16 Effective_Optical_Depth_Best_Ocean("MODIS_Band_Ocean","Cell_Along_Swat
h","Cell_Across_Swath")
// DFNT_INT16 Effective_Optical_Depth_Average_Ocean("MODIS_Band_Ocean","Cell_Along_S
wath","Cell_Across_Swath")
// DFNT_INT16 Optical_Depth_Small_Best_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","
Cell_Across_Swath")
// DFNT_INT16 Optical_Depth_Small_Average_Ocean("MODIS_Band_Ocean","Cell_Along_Swath
","Cell_Across_Swath")
// DFNT_INT16 Optical_Depth_Large_Best_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","
Cell_Across_Swath")
// DFNT_INT16 Optical_Depth_Large_Average_Ocean("MODIS_Band_Ocean","Cell_Along_Swath
","Cell_Across_Swath")
// DFNT_FLOAT32 Mass_Concentration_Ocean("Solution_Ocean","Cell_Along_Swath","Cell_Acr
oss_Swath")
// DFNT_INT16 Effective_Radius_Ocean("Solution_Ocean","Cell_Along_Swath","Cell_Acros
s_Swath")
// DFNT_FLOAT32 Cloud_Condensation_Nuclei_Ocean("Solution_Ocean","Cell_Along_Swath","C
ell_Across_Swath")
// DFNT_INT16 Asymmetry_Factor_Best_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","Cel
l_Across_Swath")
// DFNT_INT16 Asymmetry_Factor_Average_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","
Cell_Across_Swath")
// DFNT_INT16 Backscattering_Ratio_Best_Ocean("MODIS_Band_Ocean","Cell_Along_Swath",
"Cell_Across_Swath")
// DFNT_INT16 Backscattering_Ratio_Average_Ocean("MODIS_Band_Ocean","Cell_Along_Swat
h","Cell_Across_Swath")
// DFNT_INT16 Angstrom_Exponent_1_Ocean("Solution_Ocean","Cell_Along_Swath","Cell_Ac
ross_Swath")
// DFNT_INT16 Angstrom_Exponent_2_Ocean("Solution_Ocean","Cell_Along_Swath","Cell_Ac
ross_Swath")




                                           88
// DFNT_INT16 Reflected_Flux_Best_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","Cell_
Across_Swath")
// DFNT_INT16 Reflected_Flux_Average_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","Ce
ll_Across_Swath")
// DFNT_INT16 Transmitted_Flux_Best_Ocean("MODIS_Band_Ocean",Cell_Along_Swath","Cell
_Across_Swath")
// DFNT_INT16 Transmitted_Flux_Average_Ocean("MODIS_Band_Ocean",Cell_Along_Swath","C
ell_Across_Swath")
// DFNT_INT16 Least_Squares_Error_Ocean("Solution_Ocean","Cell_Along_Swath","Cell_Ac
ross_Swath")
// DFNT_INT16 Optical_Depth_Ratio_Small_Ocean("Solution_Ocean","Cell_Along_Swath","C
ell_Across_Swath")
// DFNT_INT16 Optical_Depth_by_models_ocean("Solution_Index","Cell_Along_Swath","Cel
l_Across_Swath")
// DFNT_INT16 Cloud_Fraction_Ocean("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Number_Pixels_Used_Ocean("Cell_Along_Swath","Cell_Across_Swath")
// DFNT_INT16 Mean_Reflectance_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","Cell_Acr
oss_Swath")
// DFNT_INT16 STD_Reflectance_Ocean("MODIS_Band_Ocean","Cell_Along_Swath","Cell_Acro
ss_Swath")
// DFNT_INT8 Quality_Assurance_Ocean("Cell_Along_Swath","Cell_Across_Swath","QA_Byt
e_Ocean")
// DFNT_INT16 Solution_1_Land("Solution_1_Land")
// DFNT_INT16 Solution_2_Land("Solution_2_Land")
// DFNT_INT16 Solution_Ocean("Solution_Ocean")
// DFNT_INT16 MODIS_Band_Land("MODIS_Band_Land")
// DFNT_INT16 MODIS_Band_Ocean("MODIS_Band_Ocean")
//
// GROUP=MergedFields
// None
//
//GROUP=GridStructure
// None
//GROUP=PointStructure
// None

float Longitude(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Longitude:long_name = "Geodetic Longitude" ;
Longitude:units = "Degrees_east" ;
Longitude:scale_factor = 1.0d ;
Longitude:add_offset = 0.0d ;
Longitude:Parameter_Type = "MODIS Input" ;
Longitude:Cell_Across_Swath_Sampling = 5,1345,10 ;
Longitude:Cell_Along_Swath_Sampling = 5,2025,10 ;
Longitude:Geolocation_Pointer = "Geolocation data not applicable" ;
Longitude:_FillValue = -999.0f;
Longitude:valid_range = -180.f, 180.f ;

float Latitude(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Latitude:long_name = "Geodetic Latitude" ;
Latitude:units = "Degrees_north" ;
Latitude:scale_factor = 1.0d ;
Latitude:add_offset = 0.0d ;
Latitude:Parameter_Type = "MODIS Input" ;
Latitude:Cell_Across_Swath_Sampling = 5,1345,10 ;
Latitude:Cell_Along_Swath_Sampling = 5,2025,10 ;
Latitude:Geolocation_Pointer = "Geolocation data not applicable" ;
Latitude:_FillValue = -999.0f ;
Latitude:valid_range = -90.0f, 90.0f ;

double Scan_Start_Time(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Scan_Start_Time:long_name = "TAI Time at Start of Scan replicated across the swath" ;
Scan_Start_Time:units = "Seconds since 1993-1-1 00:00:00.0 0" ;
Scan_Start_Time:scale_factor = 1.0d ;
Scan_Start_Time:add_offset = 0.0d ;
Scan_Start_Time:Parameter_Type = "MODIS Input" ;
Scan_Start_Time:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Scan_Start_Time:Cell_Along_Swath_Sampling = 5,2025,10 ;
Scan_Start_Time:Geolocation_Pointer = "Internal geolocation arrays" ;
Scan_Start_Time:_FillValue = -999.0d ;
Scan_Start_Time:valid_range = 0.0d, 3.1558e9d ;



                                           89
short Solar_Zenith(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Solar_Zenith:long_name = "Solar Zenith Angle, Cell to Sun" ;
Solar_Zenith:units = "Degrees" ;
Solar_Zenith:scale_factor = 0.01d ;
Solar_Zenith:add_offset = 0.0d ;
Solar_Zenith:Parameter_Type = "MODIS Input" ;
Solar_Zenith:Cell_Across_Swath_Sampling = 5,1345,10 ;
Solar_Zenith:Cell_Along_Swath_Sampling = 5,2025,10 ;
Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
Solar_Zenith:_FillValue = -9999s ;
Solar_Zenith:valid_range = 0s, 18000s ;

short Solar_Azimuth(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Solar_Azimuth:long_name = "Solar_Azimuth Angle, Cell to Sun" ;
Solar_Azimuth:units = "Degrees" ;
Solar_Azimuth:scale_factor = 0.01d ;
Solar_Azimuth:add_offset = 0.0d ;
Solar_Azimuth:Parameter_Type = "MODIS Input" ;
Solar_Azimuth:Cell_Across_Swath_Sampling = 5,1345,10 ;
Solar_Azimuth:Cell_Along_Swath_Sampling = 5,2025,10 ;
Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
Solar_Azimuth:_FillValue = -9999s ;
Solar_Azimuth:valid_range = -18000s, 18000s ;

short Sensor_Zenith(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Sensor_Zenith:long_name = "Sensor_Zenith Angle, Cell to Sun" ;
Sensor_Zenith:units = "Degrees" ;
Sensor_Zenith:scale_factor = 0.01d ;
Sensor_Zenith:add_offset = 0.0d ;
Sensor_Zenith:Parameter_Type = "MODIS Input" ;
Sensor_Zenith:Cell_Across_Swath_Sampling = 5,1345,10 ;
Sensor_Zenith:Cell_Along_Swath_Sampling = 5,2025,10 ;
Sensor_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;
Sensor_Zenith:_FillValue = -9999s ;
Sensor_Zenith:valid_range = 0s, 18000s ;

short Sensor_Azimuth(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Sensor_Azimuth:long_name = "Sensor_Azimuth Angle, Cell to Sun" ;
Sensor_Azimuth:units = "Degrees" ;
Sensor_Azimuth:scale_factor = 0.01d ;
Sensor_Azimuth:add_offset = 0.0d ;
Sensor_Azimuth:Parameter_Type = "MODIS Input" ;
Sensor_Azimuth:Cell_Across_Swath_Sampling = 5,1345,10 ;
Sensor_Azimuth:Cell_Along_Swath_Sampling = 5,2025,10 ;
Sensor_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
Sensor_Azimuth:_FillValue = -9999s ;
Sensor_Azimuth:valid_range = -18000s, 18000s ;

byte Cloud_Mask_QA(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Cloud_Mask_QA:long_name = "Cloud Mask info on 10x10 km resolution" ;
Cloud_Mask_QA:units = "None" ;
Cloud_Mask_QA:scale_factor = 1.0d ;
Cloud_Mask_QA:add_offset = 0.0d ;
Cloud_Mask_QA:Parameter_Type = "MODIS Input" ;
Cloud_Mask_QA:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Cloud_Mask_QA:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Cloud_Mask_QA:description = "\n" ;
"Cloud_mask_QA flags: \n",
" \n",
" \n",
"QA Flag Name Number of Bit Value Description \n",
" Bits \n",
"--------------------------------------------------------------\n",
"Cloud Mask 1 0 Undetermined \n",
" 1 Determined \n",
" \n",
"Cloud Mask 2 0 0-25% Cloudy pixels \n",
"Quality Flag 1 25-50% cloudy pixels\n",
" 2 50-75% cloudy pixels\n",
" 3 75-100%cloudy pixels\n",



                                           90
" \n",
"Day/Night 1 0 Night \n",
"flag 1 Day \n",
" \n",
"Sun glint 1 0 Yes \n",
"flag 1 No \n",
" \n",
"Snow/Ice flag 1 0 Yes \n",
" 1 No \n",
" \n",
"Land/Water 2 0 Water (ocean) \n",
"flag 1 Coastal \n",
" 2 Desert \n",
" 3 Land \n",
"---------------------- 1 byte total --------------------------\n",
"" ;
Cloud_Mask_QA:Geolocation_Pointer = "Internal geolocation arrays" ;
Cloud_Mask_QA:_FillValue = '\0' ;
Cloud_Mask_QA:valid_range = '\0', '\377' ;

short Optical_Depth_Land_And_Ocean(Cell_Along_Swath:mod04,Cell_Across_Swath: mod04) ;
Optical_Depth_Land_And_Ocean:long_name = "AOT at 0.55 micron for both ocean (best) and
land (corrected)" ;
Optical_Depth_Land_And_Ocean:units = "None" ;
Optical_Depth_Land_And_Ocean:scale_factor = 0.001d ;
Optical_Depth_Land_And_Ocean:add_offset = 0.0d ;
Optical_Depth_Land_And_Ocean:Parameter_Type = "Output" ;
Optical_Depth_Land_And_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Optical_Depth_Land_And_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Optical_Depth_Land_And_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_Land_And_Ocean:_FillValue = -9999s ;
Optical_Depth_Land_And_Ocean:valid_range = 0s, 3000s ;

short Mean_Reflectance_Land_All(Solution_3_Land:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Mean_Reflectance_Land_All:long_name = "Average of Ref at 0.47, 0.66, and 2.1 micron after
cloud screening" ;
Mean_Reflectance_Land_All:units = "None" ;
Mean_Reflectance_Land_All:scale_factor = 0.0001 ;
Mean_Reflectance_Land_All:add_offset = 0. ;
Mean_Reflectance_Land_All:Parameter_Type = "Output" ;
Mean_Reflectance_Land_All:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Mean_Reflectance_Land_All:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Mean_Reflectance_Land_All:Geolocation_Pointer = "Internal geolocation arrays" ;
Mean_Reflectance_Land_All:_FillValue = -9999s ;
Mean_Reflectance_Land_All:valid_range = 0s, 10000s ;

short Standard_Deviation_Reflectance_Land_All(Solution_3_Land:mod04,
Cell_Along_Swath:mod04, Cell_Across_Swath:mod04) ;
Standard_Deviation_Reflectance_Land_All:long_name = "Std Dev of Ref at 0.47, 0.66, and
2.1 micron after cloud screening" ;
Standard_Deviation_Reflectance_Land_All:units = "None" ;
Standard_Deviation_Reflectance_Land_All:scale_factor = 0.0001 ;
Standard_Deviation_Reflectance_Land_All:add_offset = 0. ;
Standard_Deviation_Reflectance_Land_All:Parameter_Type = "Output" ;
Standard_Deviation_Reflectance_Land_All:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Standard_Deviation_Reflectance_Land_All:Cell_Along_Swath_Sampling = 5 , 2025, 10 ;
Standard_Deviation_Reflectance_Land_All:Geolocation_Pointer = "Internal geolocation
arrays" ;
Standard_Deviation_Reflectance_Land_All:_FillValue = -9999s ;
Standard_Deviation_Reflectance_Land_All:valid_range = 0s, 10000s ;

short Path_Radiance_Land(Solution_1_Land:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Path_Radiance_Land:long_name = "Path Radiance at 0.47, and 0.66 micron" ;
Path_Radiance_Land:units = "None" ;
Path_Radiance_Land:scale_factor = 0.0001 ;
Path_Radiance_Land:add_offset = 0. ;
Path_Radiance_Land:Parameter_Type = "Output" ;
Path_Radiance_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Path_Radiance_Land:Cell_Along_Swath_Sampling = 5, 2025, 10 ;



                                           91
Path_Radiance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Path_Radiance_Land:_FillValue = -9999s ;
Path_Radiance_Land:valid_range = 0s, 10000s ;

short Error_Path_Radiance_Land(Solution_1_Land:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Error_Path_Radiance_Land:long_name = "Uncertainty of the Path Radiance at 0.47, and 0.66
micron" ;
Error_Path_Radiance_Land:units = "None" ;
Error_Path_Radiance_Land:scale_factor = 0. ;
Error_Path_Radiance_Land:add_offset = 0.0001 ;
Error_Path_Radiance_Land:Parameter_Type = "Output" ;
Error_Path_Radiance_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Error_Path_Radiance_Land:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Error_Path_Radiance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Error_Path_Radiance_Land:_FillValue = -9999s ;
Error_Path_Radiance_Land:valid_range = 0s, 1000s ;

short Critical_Reflectance_Land(Solution_1_Land:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Critical_Reflectance_Land:long_name = "Critical_Reflectances at 0.47 and 0.66 micron" ;
Critical_Reflectance_Land:units = "None" ;
Critical_Reflectance_Land:scale_factor = 0.0001 ;
Critical_Reflectance_Land:add_offset = 0. ;
Critical_Reflectance_Land:Parameter_Type = "Output" ;
Critical_Reflectance_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Critical_Reflectance_Land:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Critical_Reflectance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Critical_Reflectance_Land:_FillValue = -9999s ;
Critical_Reflectance_Land:valid_range = 0s, 10000s ;

short Error_Critical_Reflectance_Land(Solution_1_Land:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Error_Critical_Reflectance_Land:long_name = "Uncertainty Critical_Reflectance of 0.47 and
0.66 micron" ;
Error_Critical_Reflectance_Land:units = "None" ;
Error_Critical_Reflectance_Land:scale_factor = 0.0001 ;
Error_Critical_Reflectance_Land:add_offset = 0. ;
Error_Critical_Reflectance_Land:Parameter_Type = "Output" ;
Error_Critical_Reflectance_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Error_Critical_Reflectance_Land:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Error_Critical_Reflectance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Error_Critical_Reflectance_Land:_FillValue = -9999s ;
Error_Critical_Reflectance_Land:valid_range = 0s, 1000s ;

short QualityWeight_Path_Radiance_Land(Solution_1_Land:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
QualityWeight_Path_Radiance_Land:long_name = "Quality Flag for Path Radiance based on the
Test for fits" ;
QualityWeight_Path_Radiance_Land:units = "None" ;
QualityWeight_Path_Radiance_Land:scale_factor = 1. ;
QualityWeight_Path_Radiance_Land:add_offset = 0. ;
QualityWeight_Path_Radiance_Land:Parameter_Type = "Output" ;
QualityWeight_Path_Radiance_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
QualityWeight_Path_Radiance_Land:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
QualityWeight_Path_Radiance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
QualityWeight_Path_Radiance_Land:_FillValue = -9999s ;
QualityWeight_Path_Radiance_Land:valid_range = -20s, 20s ;

short QualityWeight_Critical_Reflectance_Land(Solution_1_Land:mod04,
Cell_Along_Swath:mod04, Cell_Across_Swath:mod04) ;
QualityWeight_Critical_Reflectance_Land:long_name = "Quality Flag forCritical_Reflectance
based on the Test for fits" ;
QualityWeight_Critical_Reflectance_Land:units = "None" ;
QualityWeight_Critical_Reflectance_Land:scale_factor = 1. ;
QualityWeight_Critical_Reflectance_Land:add_offset = 0. ;
QualityWeight_Critical_Reflectance_Land:Parameter_Type = "Output" ;
QualityWeight_Critical_Reflectance_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
QualityWeight_Critical_Reflectance_Land:Cell_Along_Swath_Sampling = 5 , 2025, 10 ;
QualityWeight_Critical_Reflectance_Land:Geolocation_Pointer = "Internal geolocation
arrays" ;



                                           92
QualityWeight_Critical_Reflectance_Land:_FillValue = -9999s ;
QualityWeight_Critical_Reflectance_Land:valid_range = -20s, 20s ;

short Aerosol_Type_Land(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Aerosol_Type_Land:long_name = "Aerosol Type" ;
Aerosol_Type_Land:units = "None" ;
Aerosol_Type_Land:scale_factor = 1.0d ;
Aerosol_Type_Land:add_offset= 0.0d ;
Aerosol_Type_Land:Parameter_Type = "Output";
Aerosol_Type_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Aerosol_Type_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Aerosol_Type_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Aerosol_Type_Land:_FillValue = -9999s ;
Aerosol_Type_Land:valid_range = 0s, 3s;

short Scattering_Angle(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Scattering_Angle:long_name = "Scattering Angle" ;
Scattering_Angle:units = "Degrees" ;
Scattering_Angle:scale_factor = 0.01d ;
Scattering_Angle:add_offset = 0.0d ;
Scattering_Angle:Parameter_Type = "Output" ;
Scattering_Angle:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Scattering_Angle:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Scattering_Angle:Geolocation_Pointer = "Internal geolocation arrays" ;
Scattering_Angle:_FillValue = -9999s ;
Scattering_Angle:valid_range = 0s, 18000s ;

short Continental_Optical_Depth_Land(Solution_1_Land:mod04,Cell_Along_Swath:
mod04,Cell_Across_Swath:mod04) ;
Continental_Optical_Depth_Land:long_name = "Continental optical thickness at 0.47, and
0.66 micron" ;
Continental_Optical_Depth_Land:units = "None" ;
Continental_Optical_Depth_Land:scale_factor = 0.001d ;
Continental_Optical_Depth_Land:add_offset = 0.0d ;
Continental_Optical_Depth_Land:Parameter_Type = "Output" ;
Continental_Optical_Depth_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Continental_Optical_Depth_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Continental_Optical_Depth_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Continental_Optical_Depth_Land:_FillValue = -9999s ;
Continental_Optical_Depth_Land:valid_range = 0s, 3000s ;

short Corrected_Optical_Depth_Land(Solution_2_Land:mod04,Cell_Along_Swath:mo
d04,Cell_Across_Swath:mod04) ;
Corrected_Optical_Depth_Land:long_name = " Corrected optical thickness at 0.47",
"0.55 and 0.66 micron" ;
Corrected_Optical_Depth_Land:units = "None" ;
Corrected_Optical_Depth_Land:scale_factor = 0.001d ;
Corrected_Optical_Depth_Land:add_offset = 0.0d ;
Corrected_Optical_Depth_Land:Parameter_Type = "Output" ;
Corrected_Optical_Depth_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Corrected_Optical_Depth_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Corrected_Optical_Depth_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Corrected_Optical_Depth_Land:_FillValue = -9999s ;
Corrected_Optical_Depth_Land:valid_range = 0s, 3000s ;

short Estimated_Uncertainty_Land(Solution_1_Land:mod04,Cell_Along_Swath:mod0
4,Cell_Across_Swath:mod04) ;
Estimated_Uncertainty_Land:long_name = "Uncertainty of optical thickness at 0.47 and 0.66
micron" ;
Estimated_Uncertainty_Land:units = "None" ;
Estimated_Uncertainty_Land:scale_factor = 0.0001d ;
Estimated_Uncertainty_Land:add_offset = 0.0d ;
Estimated_Uncertainty_Land:Parameter_Type = "Output" ;
Estimated_Uncertainty_Land:Cell_Across_Swath_Sampling = 5,1345,10;
Estimated_Uncertainty_Land:Cell_Along_Swath_Sampling = 5,2025,10;
Estimated_Uncertainty_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Estimated_Uncertainty_Land:_FillValue = -9999s ;
Estimated_Uncertainty_Land:valid_range = 0s, 20000s ;

float Mass_Concentration_Land(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04 ) ;
Mass_Concentration_Land:long_name = "Mass concentration" ;



                                           93
Mass_Concentration_Land:units = "1.0e-6g/cm^2" ;
Mass_Concentration_Land:scale_factor = 1.0d ;
Mass_Concentration_Land:add_offset = 0.0d ;
Mass_Concentration_Land:Parameter_Type = "Output" ;
Mass_Concentration_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Mass_Concentration_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Mass_Concentration_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Mass_Concentration_Land:_FillValue = -999.0f ;
Mass_Concentration_Land:valid_range= 0.0f, 1000.0f ;

short Angstrom_Exponent_Land(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Angstrom_Exponent_Land:long_name = "Angstrom exponent for 0.47 and 0.67 micron" ;
Angstrom_Exponent_Land:units = "None" ;
Angstrom_Exponent_Land:scale_factor = 0.001d ;
Angstrom_Exponent_Land:add_offset = 0.0d ;
Angstrom_Exponent_Land:Parameter_Type = "Output" ;
Angstrom_Exponent_Land:Cell_Across_Swath_Sampling= 5,1345,10 ;
Angstrom_Exponent_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Angstrom_Exponent_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Angstrom_Exponent_Land:_FillValue = -9999s ;
Angstrom_Exponent_Land:valid_range = -500s, 3000s ;

short Reflected_Flux_Land(Solution_1_Land:mod04,Cell_Along_Swath:mod04,Cell_
Across_Swath:mod04) ;
Reflected_Flux_Land:long_name = "Normalized reflected flux at 0.47 and 0.66 microns" ;
Reflected_Flux_Land:units = "None" ;
Reflected_Flux_Land:scale_factor = 0.001d ;
Reflected_Flux_Land:add_offset = 0.0d ;
Reflected_Flux_Land:Parameter_Type = "Output" ;
Reflected_Flux_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Reflected_Flux_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Reflected_Flux_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Reflected_Flux_Land:_FillValue = -9999s ;
Reflected_Flux_Land:valid_range = 0s, 1000s ;

short Transmitted_Flux_Land(Solution_1_Land:mod04,Cell_Along_Swath:mod04,Cel
l_Across_Swath:mod04) ;
Transmitted_Flux_Land:long_name = "Normalized Transmitted flux at 0.47 and 0.66 microns"
;
Transmitted_Flux_Land:units = "None" ;
Transmitted_Flux_Land:scale_factor = 0.001d ;
Transmitted_Flux_Land:add_offset = 0.0d ;
Transmitted_Flux_Land:Parameter_Type = "Output" ;
Transmitted_Flux_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Transmitted_Flux_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Transmitted_Flux_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Transmitted_Flux_Land:_FillValue = -9999s ;
Transmitted_Flux_Land:valid_range = 0s, 1000s ;

short Cloud_Fraction_Land(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Cloud_Fraction_Land:long_name = "Cloud fraction (%)" ;
Cloud_Fraction_Land:units = "None" ;
Cloud_Fraction_Land:scale_factor = 1.0d ;
Cloud_Fraction_Land:add_offset = 0.0d ;
Cloud_Fraction_Land:Parameter_Type = "Output" ;
Cloud_Fraction_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Cloud_Fraction_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Cloud_Fraction_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Cloud_Fraction_Land:_FillValue = -9999s ;
Cloud_Fraction_Land:valid_range = 0s, 100s ;

short Dust_Weighting_Factor_Land(Cell_Along_Swath:mod04,Cell_Across_Swath:mo d04) ;
Dust_Weighting_Factor_Land:long_name = "Dust aerosol weighting factor" ;
Dust_Weighting_Factor_Land:units = "None" ;
Dust_Weighting_Factor_Land:scale_factor = 0.001d ;
Dust_Weighting_Factor_Land:add_offset = 0.0d;
Dust_Weighting_Factor_Land:Parameter_Type = "Output" ;
Dust_Weighting_Factor_Land:Cell_Across_Swath:mod04 = 5,1345,10 ;
Dust_Weighting_Factor_Land:Cell_Along_Swath:mod04 = 5,2025,10 ;
Dust_Weighting_Factor_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Dust_Weighting_Factor_Land:_FillValue = -9999s ;



                                           94
Dust_Weighting_Factor_Land:valid_range = 0s, 1000s;

short Number_Pixels_Percentile_Land(Solution_1_Land:mod04,Cell_Along_Swath:m
od04,Cell_Across_Swath:mod04) ;
Number_Pixels_Percentile_Land:long_name = "Number of pixels with desired percentile" ;
Number_Pixels_Percentile_Land:units = "None" ;
Number_Pixels_Percentile_Land:scale_factor = 1 ;
Number_Pixels_Percentile_Land:add_offset = 0;
Number_Pixels_Percentile_Land:Parameter_Type = "Output" ;
Number_Pixels_Percentile_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Number_Pixels_Percentile_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Number_Pixels_Percentile_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Number_Pixels_Percentile_Land:_FillValue = -9999 ;
Number_Pixels_Percentile_Land:valid_range = 0, 400;

short Mean_Reflectance_Land(MODIS_Band_Land:mod04,Cell_Along_Swath:mod04,Cel
l_Across_Swath:mod04) ;
Mean_Reflectance_Land:long_name = "Mean reflectance at five bands" ;
Mean_Reflectance_Land:units = "None" ;
Mean_Reflectance_Land:scale_factor = 0.0001d ;
Mean_Reflectance_Land:add_offset = 0.0d ;
Mean_Reflectance_Land:Parameter_Type = "Output" ;
Mean_Reflectance_Land:Cell_Across_Swath_Sampling = 5,1345,10;
Mean_Reflectance_Land:Cell_Along_Swath_Sampling = 5,2025,10;
Mean_Reflectance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Mean_Reflectance_Land:_FillValue = -9999s ;
Mean_Reflectance_Land:valid_range = 0s, 10000s ;

short STD_Reflectance_Land(MODIS_Band_Land:mod04,Cell_Along_Swath:mod04,Cell
_Across_Swath:mod04) ;
STD_Reflectance_Land:long_name = "Standard deviation of reflectance at five bands" ;
STD_Reflectance_Land:units = "None" ;
STD_Reflectance_Land:scale_factor = 0.0001d ;
STD_Reflectance_Land:add_offset = 0.0d ;
STD_Reflectance_Land:Parameter_Type = "Output" ;
STD_Reflectance_Land:Cell_Across_Swath_Sampling = 5,1345,10;
STD_Reflectance_Land:Cell_Along_Swath_Sampling = 5,2025,10;
STD_Reflectance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
STD_Reflectance_Land:_FillValue = -9999s ;
STD_Reflectance_Land:valid_range = 0s, 20000s ;

byte Quality_Assurance_Land(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04,
QA_Byte_Land:mod04) ;
Quality_Assurance_Land:long_name = "Runtime QA flags" ;
Quality_Assurance_Land:units = "None" ;
Quality_Assurance_Land:scale_factor = 1.0d ;
Quality_Assurance_Land:add_offset = 0.0d ;
Quality_Assurance_Land:Parameter_Type = "Output" ;
Quality_Assurance_Land:Cell_Across_Swath_Sampling = 5,1345,10 ;
Quality_Assurance_Land:Cell_Along_Swath_Sampling = 5,2025,10 ;
Quality_Assurance_Land:description = "see MODIS atmosphere QA plan for details" ;
Quality_Assurance_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Quality_Assurance_Land:_FillValue = '\0' ;
Quality_Assurance_Land:valid_range = '\0', '\377' ;

byte Quality_Assurance_Crit_Ref_Land(Cell_Along_Swath:mod04, Cell_Across_Swath:mod04,
QA_Byte_Land:mod04) ;
Quality_Assurance_Crit_Ref_Land:long_name = "Runtime QA flags" ;
Quality_Assurance_Crit_Ref_Land:units = "None" ;
Quality_Assurance_Crit_Ref_Land:scale_factor = 1. ;
Quality_Assurance_Crit_Ref_Land:add_offset = 0. ;
Quality_Assurance_Crit_Ref_Land:Parameter_Type = "Output" ;
Quality_Assurance_Crit_Ref_Land:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Quality_Assurance_Crit_Ref_Land:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Quality_Assurance_Crit_Ref_Land:Geolocation_Pointer = "Internal geolocation arrays" ;
Quality_Assurance_Crit_Ref_Land:_FillValue = '\0' ;
Quality_Assurance_Crit_Ref_Land:valid_range = '\0', '\377' ;

short Solution_Index_Ocean_Small(Solution_Ocean:mod04,Cell_Along_Swath:mod04
,Cell_Across_Swath:mod04) ;
Solution_Index_Ocean_Small:long_name = "Solution Number index small particles" ;



                                           95
Solution_Index_Ocean_Small:units = "None" ;
Solution_Index_Ocean_Small:scale_factor = 1.0d ;
Solution_Index_Ocean_Small:add_offset = 0.0d ;
Solution_Index_Ocean_Small:Parameter_Type = "Output" ;
Solution_Index_Ocean_Small:Cell_Across_Swath_Sampling = 5,1345,10 ;
Solution_Index_Ocean_Small:Cell_Along_Swath_Sampling = 5,2025,10 ;
Solution_Index_Ocean_Small:Geolocation_Pointer = "Internal geolocation arrays" ;
Solution_Index_Ocean_Small:_FillValue = -9999s ;
Solution_Index_Ocean_Small:valid_range = 1s , 5s ;

short Solution_Index_Ocean_Large(Solution_Ocean:mod04,Cell_Along_Swath:mod04
,Cell_Across_Swath:mod04) ;
Solution_Index_Ocean_Large:long_name = "Solution Number index large particles" ;
Solution_Index_Ocean_Large:units = "None" ;
Solution_Index_Ocean_Large:scale_factor = 1.0d ;
Solution_Index_Ocean_Large:add_offset = 0.0d ;
Solution_Index_Ocean_Large:Parameter_Type = "Output" ;
Solution_Index_Ocean_Large:Cell_Across_Swath_Sampling = 5,1345,10 ;
Solution_Index_Ocean_Large:Cell_Along_Swath_Sampling = 5,2025,10 ;
Solution_Index_Ocean_Large:Geolocation_Pointer = "Internal geolocation arrays" ;
Solution_Index_Ocean_Large:_FillValue = -9999s ;
Solution_Index_Ocean_Large:valid_range = 5s, 9s ;

short Effective_Optical_Depth_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_S
wath:mod04,Cell_Across_Swath:mod04) ;
Effective_Optical_Depth_Best_Ocean:long_name = "AOT at seven bands for best solution" ;
Effective_Optical_Depth_Best_Ocean:units = "None" ;
Effective_Optical_Depth_Best_Ocean:scale_factor = 0.001d ;
Effective_Optical_Depth_Best_Ocean:add_offset = 0.0d ;
Effective_Optical_Depth_Best_Ocean:Parameter_Type = "Output" ;
Effective_Optical_Depth_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Effective_Optical_Depth_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Effective_Optical_Depth_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Effective_Optical_Depth_Best_Ocean:_FillValue = -9999s ;
Effective_Optical_Depth_Best_Ocean:valid_range = 0s, 3000s ;

short Effective_Optical_Depth_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Alon
g_Swath:mod04,Cell_Across_Swath:mod04) ;
Effective_Optical_Depth_Average_Ocean:long_name = "AOT at seven bands for average
solution" ;
Effective_Optical_Depth_Average_Ocean:units = "None" ;
Effective_Optical_Depth_Average_Ocean:scale_factor = 0.001d ;
Effective_Optical_Depth_Average_Ocean:add_offset = 0.0d ;
Effective_Optical_Depth_Average_Ocean:Parameter_Type = "Output" ;
Effective_Optical_Depth_Average_Ocean:Cell_Across_Swath_Sampling = 5, 1345,10 ;
Effective_Optical_Depth_Average_Ocean:Cell_Along_Swath_Sampling = 5,2 025,10 ;
Effective_Optical_Depth_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays"
;
Effective_Optical_Depth_Average_Ocean:_FillValue = -9999s ;
Effective_Optical_Depth_Average_Ocean:valid_range = 0s, 3000s ;

short Optical_Depth_Small_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath
:mod04,Cell_Across_Swath:mod04) ;
Optical_Depth_Small_Best_Ocean:long_name = "AOT at 7 bands for small mode of best
solution" ;
Optical_Depth_Small_Best_Ocean:units = "None" ;
Optical_Depth_Small_Best_Ocean:scale_factor = 0.001d ;
Optical_Depth_Small_Best_Ocean:add_offset = 0.0d ;
Optical_Depth_Small_Best_Ocean:Parameter_Type = "Output" ;
Optical_Depth_Small_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Optical_Depth_Small_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Optical_Depth_Small_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_Small_Best_Ocean:_FillValue = -9999s ;
Optical_Depth_Small_Best_Ocean:valid_range = 0s, 3000s ;

short Optical_Depth_Small_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Sw
ath:mod04,Cell_Across_Swath:mod04) ;
Optical_Depth_Small_Average_Ocean:long_name = "AOT at 7 bands for small mode of average
solution" ;
Optical_Depth_Small_Average_Ocean:units = "None" ;
Optical_Depth_Small_Average_Ocean:scale_factor = 0.001d ;



                                           96
Optical_Depth_Small_Average_Ocean:add_offset = 0.0d ;
Optical_Depth_Small_Average_Ocean:Parameter_Type = "Output" ;
Optical_Depth_Small_Average_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Optical_Depth_Small_Average_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Optical_Depth_Small_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_Small_Average_Ocean:_FillValue = -9999s ;
Optical_Depth_Small_Average_Ocean:valid_range = 0s, 3000s ;

short Optical_Depth_Large_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath
:mod04,Cell_Across_Swath:mod04) ;
Optical_Depth_Large_Best_Ocean:long_name = "AOT at 7 bands for large mode of best
solution" ;
Optical_Depth_Large_Best_Ocean:units = "None" ;
Optical_Depth_Large_Best_Ocean:scale_factor = 0.001d ;
Optical_Depth_Large_Best_Ocean:add_offset = 0.0d ;
Optical_Depth_Large_Best_Ocean:Parameter_Type = "Output" ;
Optical_Depth_Large_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Optical_Depth_Large_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Optical_Depth_Large_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_Large_Best_Ocean:_FillValue = -9999s ;
Optical_Depth_Large_Best_Ocean:valid_range = 0s, 3000s ;

short Optical_Depth_Large_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Sw
ath:mod04,Cell_Across_Swath:mod04) ;
Optical_Depth_Large_Average_Ocean:long_name = "AOT at 7 bands for large mode of average
solution" ;
Optical_Depth_Large_Average_Ocean:units = "None" ;
Optical_Depth_Large_Average_Ocean:scale_factor = 0.001d ;
Optical_Depth_Large_Average_Ocean:add_offset = 0.0d ;
Optical_Depth_Large_Average_Ocean:Parameter_Type = "Output" ;
Optical_Depth_Large_Average_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Optical_Depth_Large_Average_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Optical_Depth_Large_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_Large_Average_Ocean:_FillValue = -9999s ;
Optical_Depth_Large_Average_Ocean:valid_range = 0s, 3000s ;

float Mass_Concentration_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:mod04,C
ell_Across_Swath:mod04) ;
Mass_Concentration_Ocean:long_name = "Mass_Concentration for best and average solutions"
;
Mass_Concentration_Ocean:units = "1.0e-6g/cm^2" ;
Mass_Concentration_Ocean:scale_factor = 1.0d ;
Mass_Concentration_Ocean:add_offset = 0.0d ;
Mass_Concentration_Ocean:Parameter_Type = "Output" ;
Mass_Concentration_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Mass_Concentration_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Mass_Concentration_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Mass_Concentration_Ocean:_FillValue = -999.0f ;
Mass_Concentration_Ocean:valid_range= 0.0f, 1000.0f ;

short Effective_Radius_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:mod04,Cel
l_Across_Swath:mod04) ;
Effective_Radius_Ocean:long_name = "Effective_Radius at 0.55 micron of both solutions" ;
Effective_Radius_Ocean:units = "micron" ;
Effective_Radius_Ocean:scale_factor = 0.001d ;
Effective_Radius_Ocean:add_offset = 0.0d ;
Effective_Radius_Ocean:Parameter_Type = "Output" ;
Effective_Radius_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Effective_Radius_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Effective_Radius_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Effective_Radius_Ocean:_FillValue = -9999s ;
Effective_Radius_Ocean:valid_range = 0s, 5000s ;

float Cloud_Condensation_Nuclei_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:
mod04,Cell_Across_Swath:mod04) ;
Cloud_Condensation_Nuclei_Ocean:long_name = "Column number of CCN at 0.55 micron of both
solutions" ;
Cloud_Condensation_Nuclei_Ocean:units = "CCN/cm^2" ;
Cloud_Condensation_Nuclei_Ocean:scale_factor =1.0d ;
Cloud_Condensation_Nuclei_Ocean:add_offset = 0.0d ;
Cloud_Condensation_Nuclei_Ocean:Parameter_Type = "Output" ;



                                           97
Cloud_Condensation_Nuclei_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Cloud_Condensation_Nuclei_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Cloud_Condensation_Nuclei_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Cloud_Condensation_Nuclei_Ocean:_FillValue = -999.0f ;
Cloud_Condensation_Nuclei_Ocean:valid_range = 0.0f, 10000000000.0f ;

short Asymmetry_Factor_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath:mo
d04,Cell_Across_Swath:mod04) ;
Asymmetry_Factor_Best_Ocean:long_name = "Asymmetry_Factor at 7 bands for best solution" ;
Asymmetry_Factor_Best_Ocean:units = "None" ;
Asymmetry_Factor_Best_Ocean:scale_factor = 0.001d ;
Asymmetry_Factor_Best_Ocean:add_offset = 0.0d ;
Asymmetry_Factor_Best_Ocean:Parameter_Type = "Output" ;
Asymmetry_Factor_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Asymmetry_Factor_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Asymmetry_Factor_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Asymmetry_Factor_Best_Ocean:_FillValue = -9999s ;
Asymmetry_Factor_Best_Ocean:valid_range = 0s, 3000s ;

short Asymmetry_Factor_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath
:mod04,Cell_Across_Swath:mod04) ;
Asymmetry_Factor_Average_Ocean:long_name = "Asymmetry_Factor at 7 bands for average
solution" ;
Asymmetry_Factor_Average_Ocean:units = "None" ;
Asymmetry_Factor_Average_Ocean:scale_factor = 0.001d ;
Asymmetry_Factor_Average_Ocean:add_offset = 0.0d ;
Asymmetry_Factor_Average_Ocean:Parameter_Type = "Output" ;
Asymmetry_Factor_Average_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Asymmetry_Factor_Average_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Asymmetry_Factor_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Asymmetry_Factor_Average_Ocean:_FillValue = -9999s ;
Asymmetry_Factor_Average_Ocean:valid_range = 0s, 3000s ;

short Backscattering_Ratio_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swat
h:mod04,Cell_Across_Swath:mod04) ;
Backscattering_Ratio_Best_Ocean:long_name = "Backscattering ratio at 7 bands of best
solution" ;
Backscattering_Ratio_Best_Ocean:units = "None" ;
Backscattering_Ratio_Best_Ocean:scale_factor = 0.001d ;
Backscattering_Ratio_Best_Ocean:add_offset = 0.0d ;
Backscattering_Ratio_Best_Ocean:Parameter_Type = "Output" ;
Backscattering_Ratio_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Backscattering_Ratio_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Backscattering_Ratio_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Backscattering_Ratio_Best_Ocean:_FillValue = -9999s ;
Backscattering_Ratio_Best_Ocean:valid_range = 0s, 3000s ;

short Backscattering_Ratio_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_S
wath:mod04,Cell_Across_Swath:mod04) ;
Backscattering_Ratio_Average_Ocean:long_name = "Backscattering ratio at 7 bands of
average solution" ;
Backscattering_Ratio_Average_Ocean:units = "None" ;
Backscattering_Ratio_Average_Ocean:scale_factor = 0.001d ;
Backscattering_Ratio_Average_Ocean:add_offset = 0.0d ;
Backscattering_Ratio_Average_Ocean:Parameter_Type = "Output" ;
Backscattering_Ratio_Average_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Backscattering_Ratio_Average_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Backscattering_Ratio_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Backscattering_Ratio_Average_Ocean:_FillValue = -9999s ;
Backscattering_Ratio_Average_Ocean:valid_range = 0s, 3000s ;

short Angstrom_Exponent_1_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Angstrom_Exponent_1_Ocean:long_name = "Angstrom Exponent for 0.550 and 0.865 miron" ;
Angstrom_Exponent_1_Ocean:units = "None" ;
Angstrom_Exponent_1_Ocean:scale_factor = 0.001d ;
Angstrom_Exponent_1_Ocean:add_offset = 0.0d ;
Angstrom_Exponent_1_Ocean:Parameter_Type = "Output" ;
Angstrom_Exponent_1_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Angstrom_Exponent_1_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Angstrom_Exponent_1_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;



                                           98
Angstrom_Exponent_1_Ocean:_FillValue = -9999s ;
Angstrom_Exponent_1_Ocean:valid_range = -500s, 3000s ;

short Angstrom_Exponent_2_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Angstrom_Exponent_2_Ocean:long_name = "Angstrom exponent for 0.865 and 2.130 micron" ;
Angstrom_Exponent_2_Ocean:units = "None" ;
Angstrom_Exponent_2_Ocean:scale_factor = 0.001d ;
Angstrom_Exponent_2_Ocean:add_offset = 0.0d ;
Angstrom_Exponent_2_Ocean:Parameter_Type = "Output" ;
Angstrom_Exponent_2_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Angstrom_Exponent_2_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Angstrom_Exponent_2_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Angstrom_Exponent_2_Ocean:_FillValue = -9999s ;
Angstrom_Exponent_2_Ocean:valid_range = -500s, 3000s ;

short Reflected_Flux_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath:mod0
4,Cell_Across_Swath:mod04) ;
Reflected_Flux_Best_Ocean:long_name = "Normalized reflected_flux at 7 bands of best
solution" ;
Reflected_Flux_Best_Ocean:units = "None" ;
Reflected_Flux_Best_Ocean:scale_factor = 0.001d ;
Reflected_Flux_Best_Ocean:add_offset = 0.0d ;
Reflected_Flux_Best_Ocean:Parameter_Type = "Output" ;
Reflected_Flux_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Reflected_Flux_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Reflected_flux_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Reflected_Flux_Best_Ocean:_FillValue = -9999s ;
Reflected_Flux_Best_Ocean:valid_range = 0s, 1000s ;

short Reflected_Flux_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath:m
od04,Cell_Across_Swath:mod04) ;
Reflected_Flux_Average_Ocean:long_name = "Normalized reflected_flux at 7 bands of average
solution" ;
Reflected_Flux_Average_Ocean:units = "None" ;
Reflected_Flux_Average_Ocean:scale_factor = 0.001d ;
Reflected_Flux_Average_Ocean:add_offset = 0.0d ;
Reflected_Flux_Average_Ocean:Parameter_Type = "Output" ;
Reflected_Flux_Average_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Reflected_Flux_Average_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Reflected_flux_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Reflected_Flux_Average_Ocean:_FillValue = -9999s ;
Reflected_Flux_Average_Ocean:valid_range = 0s, 1000s ;

short Transmitted_Flux_Best_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath:mo
d04,Cell_Across_Swath:mod04) ;
Transmitted_Flux_Best_Ocean:long_name = "Normalized Transmitted_flux at 7 bands of best
solution" ;
Transmitted_Flux_Best_Ocean:units = "None" ;
Transmitted_Flux_Best_Ocean:scale_factor = 0.001d ;
Transmitted_Flux_Best_Ocean:add_offset = 0.0d ;
Transmitted_Flux_Best_Ocean:Parameter_Type = "Output" ;
Transmitted_Flux_Best_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Transmitted_Flux_Best_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Transmitted_Flux_Best_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Transmitted_Flux_Best_Ocean:_FillValue = -9999s ;
Transmitted_Flux_Best_Ocean:valid_range = 0s, 1000s ;

short Transmitted_Flux_Average_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath
:mod04,Cell_Across_Swath:mod04) ;
Transmitted_Flux_Average_Ocean:long_name = "Normalized Transmitted_flux at 7 bands of
average solution" ;
Transmitted_Flux_Average_Ocean:units = "None" ;
Transmitted_Flux_Average_Ocean:scale_factor = 0.001d ;
Transmitted_Flux_Average_Ocean:add_offset = 0.0d ;
Transmitted_Flux_Average_Ocean:Parameter_Type = "Output" ;
Transmitted_Flux_Average_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Transmitted_Flux_Average_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Transmitted_Flux_Average_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Transmitted_Flux_Average_Ocean:_FillValue = -9999s ;
Transmitted_Flux_Average_Ocean:valid_range = 0s, 1000s ;



                                           99
short Least_Squares_Error_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Least_Squares_Error_Ocean:long_name = "Least square error estimated" ;
Least_Squares_Error_Ocean:units = "None" ;
Least_Squares_Error_Ocean:scale_factor = 0.001d ;
Least_Squares_Error_Ocean:add_offset = 0.0d ;
Least_Squares_Error_Ocean:Parameter_Type = "Output" ;
Least_Squares_Error_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Least_Squares_Error_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Least_Squares_Error_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Least_Squares_Error_Ocean:_FillValue = -9999s ;
Least_Squares_Error_Ocean:valid_range = 0s, 1000s ;

short Optical_Depth_Ratio_Small_Ocean(Solution_Ocean:mod04,Cell_Along_Swath:
mod04,Cell_Across_Swath:mod04) ;
Optical_Depth_Ratio_Small_Ocean:long_name = "Ratio of optical depth of small mode vs
effective optical depth at 550";
Optical_Depth_Ratio_Small_Ocean:units = "None" ;
Optical_Depth_Ratio_Small_Ocean:scale_factor = 0.001d ;
Optical_Depth_Ratio_Small_Ocean:add_offset = 0.0d ;
Optical_Depth_Ratio_Small_Ocean:Parameter_Type = "Output" ;
Optical_Depth_Ratio_Small_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Optical_Depth_Ratio_Small_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Optical_Depth_Ratio_Small_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_Ratio_Small_Ocean:_FillValue = -9999s ;
Optical_Depth_Ratio_Small_Ocean:valid_range = 0s, 1000s ;

short Optical_Depth_by_models_ocean(Solution_Index:mod04, Cell_Along_Swath:mod04,
Cell_Across_Swath:mod04) ;
Optical_Depth_by_models_ocean:long_name = "optical depth for small and large modes placed
in model index" ;
Optical_Depth_by_models_ocean:units = "None" ;
Optical_Depth_by_models_ocean:scale_factor = 0.001 ;
Optical_Depth_by_models_ocean:add_offset = 0. ;
Optical_Depth_by_models_ocean:Parameter_Type = "Output" ;
Optical_Depth_by_models_ocean:Cell_Across_Swath_Sampling = 5, 1345, 10 ;
Optical_Depth_by_models_ocean:Cell_Along_Swath_Sampling = 5, 2025, 10 ;
Optical_Depth_by_models_ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Optical_Depth_by_models_ocean:_FillValue = -9999s ;
Optical_Depth_by_models_ocean:valid_range = 0s, 3000s ;

short Cloud_Fraction_Ocean(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04) ;
Cloud_Fraction_Ocean:long_name = "Cloud_Fraction in percentage" ;
Cloud_Fraction_Ocean:units = "None" ;
Cloud_Fraction_Ocean:scale_factor = 1.0d ;
Cloud_Fraction_Ocean:add_offset = 0.0d ;
Cloud_Fraction_Ocean:Parameter_Type = "Output" ;
Cloud_Fraction_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Cloud_Fraction_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Cloud_Fraction_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Cloud_Fraction_Ocean:_FillValue = -9999s ;
Cloud_Fraction_Ocean:valid_range = 0s, 100s ;

short Number_Pixels_Used_Ocean(Cell_Along_Swath:mod04,Cell_Across_Swath:mod0 4) ;
Number_Pixels_Used_Ocean:long_name = "Number of Pixels used for 0.55 micron" ;
Number_Pixels_Used_Ocean:units = "None" ;
Number_Pixels_Used_Ocean:scale_factor = 1.0d ;
Number_Pixels_Used_Ocean:add_offset = 0.0d ;
Number_Pixels_Used_Ocean:Parameter_Type = "Output" ;
Number_Pixels_Used_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Number_Pixels_Used_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Number_Pixels_Used_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Number_Pixels_Used_Ocean:_FillValue = -9999s ;
Number_Pixels_Used_Ocean:valid_range = 1s, 400s ;

short Mean_Reflectance_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath:mod04,C
ell_Across_Swath:mod04) ;
Mean_Reflectance_Ocean:long_name = "Mean reflectances at 7 bands" ;
Mean_Reflectance_Ocean:units = "None" ;
Mean_Reflectance_Ocean:scale_factor = 0.0001d ;



                                           100
Mean_Reflectance_Ocean:add_offset = 0.0d ;
Mean_Reflectance_Ocean:Parameter_Type = "Output" ;
Mean_Reflectance_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Mean_Reflectance_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Mean_Reflectance_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Mean_Reflectance_Ocean:_FillValue = -9999s ;
Mean_Reflectance_Ocean:valid_range = 0s, 10000s ;

short STD_Reflectance_Ocean(MODIS_Band_Ocean:mod04,Cell_Along_Swath:mod04,Ce
ll_Across_Swath:mod04) ;
STD_Reflectance_Ocean:long_name = "Standard deviation of reflectances at 7 bands" ;
STD_Reflectance_Ocean:units = "None" ;
STD_Reflectance_Ocean:scale_factor = 0.0001d ;
STD_Reflectance_Ocean:add_offset = 0.0d ;
STD_Reflectance_Ocean:Parameter_Type = "Output" ;
STD_Reflectance_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
STD_Reflectance_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
STD_Reflectance_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
STD_Reflectance_Ocean:_FillValue = -9999s ;
STD_Reflectance_Ocean:valid_range = 0s, 20000s ;

byte Quality_Assurance_Ocean(Cell_Along_Swath:mod04,Cell_Across_Swath:mod04
,QA_Byte_Ocean:mod04) ;
Quality_Assurance_Ocean:long_name = "Run time QA flags" ;
Quality_Assurance_Ocean:units = "None" ;
Quality_Assurance_Ocean:scale_factor = 1.0d ;
Quality_Assurance_Ocean:add_offset = 0.0d ;
Quality_Assurance_Ocean:Parameter_Type = "Output" ;
Quality_Assurance_Ocean:Cell_Across_Swath_Sampling = 5,1345,10 ;
Quality_Assurance_Ocean:Cell_Along_Swath_Sampling = 5,2025,10 ;
Quality_Assurance_Ocean:description = "(see MODIS atmosphere QA plan for details)" ;
Quality_Assurance_Ocean:Geolocation_Pointer = "Internal geolocation arrays" ;
Quality_Assurance_Ocean:_FillValue = '\0' ;
Quality_Assurance_Ocean:valid_range = '\0', '\377' ;



data:
Solution_1_Land:mod04 = 470, 659 ;
Solution_2_Land:mod04 = 470, 555, 659 ;
Solution_3_Land:mod04 = 470, 659, 2130 ;
Solution_Ocean:mod04 = 1, 2 ;
Solution_Index:mod04 = 1,2,3,4,5,6,7,8,9
MODIS_Band_Land:mod04 = 470, 659, 865, 2130, 3750 ;
MODIS_Band_Ocean:mod04 = 470, 555, 659, 865, 1240, 1640, 2130 ;
//-----------------------------------------------------------
// Vdatas
//-----------------------------------------------------------
//
//Vdata = Solution_1_Land
// Class =
// Number of Records = 2
// Number of Fields = 1
//
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 69 "Wavelengths of Aerosol Optical Thicknesses Derived Using
Continental Model Retrieval"
// units DFNT_CHAR8 4 "Nanometers"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
// 0 DFNT_INT16 1 Solution_1_Land
//
//
//Vdata = Solution_2_Land
// Class=
// Number of Records = 3
// Number of Fields = 1
//



                                           101
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 69 "Wavelengths of Aerosol Optical Thicknesses Derived Using
Corrected Model Retrieval"
// units DFNT_CHAR8 4 "Nanometers"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
// 0 DFNT_INT16 1 Solution_2_Land
//
//
//Vdata = Solution_3_Land
// Class=
// Number of Records = 3
// Number of Fields = 1
//
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 69 "Wavelengths of Mean_Reflectance_Land derived using data
corrected only for clouds"
// units DFNT_CHAR8 4 "Nanometers"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
// 0 DFNT_INT16 1 Solution_2_Land
//
//
//Vdata = Solution_Ocean
// Class=
// Number of Records = 2
// Number of Fields = 1
//
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 52 "Indices of Ocean Solution Types: 1 - Best; 2 - Average"
// units DFNT_CHAR8 4 "none"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
// 0 DFNT_INT16 1 Solution_Ocean
//Vdata = Solution_index
// Class=
// Number of Records = 9
// Number of Fields = 1
//
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 52 "Indices of Ocean models 1-4 accumulation mode 5-9 Coarse
mode"
// units DFNT_CHAR8 4 "none"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
// 0 DFNT_INT16 1 Solution_Ocean
//
//
//Vdata = MODIS_Band_Land
// Class=
// Number of Records = 5
// Number of Fields = 1
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 41 "Center Wavelengths of MODIS Bands Used in Land Retrieval
Algorithms"
// units DFNT_CHAR8 4 "Nanometers"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//



                                           102
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
// 0 DFNT_INT16 1 MODIS_Band_Land
//
//
//Vdata = MODIS_Band_Ocean
// Class=
// Number of Records = 7
// Number of Fields = 1
//
// Vdata Attributes: Name Type Order Value
// ---- ---- ----- -----
// long_name DFNT_CHAR8 42 "Center Wavelengths of MODIS Bands Used in Ocean Retrieval
Algorithms"
// units DFNT_CHAR8 4 "Nanometers"
// Geolocation_Pointer DFNT_CHAR8 31 "Geolocation data not applicable"
//
// Field Descriptions: Number Type Order Name
// ------ ---- ----- -----
0 DFNT_INT16 1 MODIS_Band_Ocean
}




                                           103
     Appendix F: MOD05_L2 Precipitable Water File Specification
http://modis-atmos.gsfc.nasa.gov/_specs/MOD05_L2.CDL.fs
//----------------------------------------------------------------------------
// MODIS HDF File Specification MOD05_L2: MODIS Level 2 Water Vapor Product
//                     at 1 km and 5 km spatial resolutions
//
// This file specification document is written mainly in the network Common
// Data Form Language (CDL) to define HDF dimension names and sizes, and to
// declare attributes and arrays in terms of the dimensions. Other HDF
// objects not representable in CDL constructs (e.g. Vdata, Vgroups and ECS
// metadata) are described within comment blocks (any line or lines beginning
// with the characters "//").
//
// Array indexing is described in terms of the C programming language which
// is row dominant.
//----------------------------------------------------------------------------

netcdf mod05 {

dimensions:

         Cell_Across_Swath_1km:mod05 =   1354 ;     //   typical   size
         Cell_Along_Swath_1km:mod05 =    2030 ;     //   typical   size
         Cell_Across_Swath_5km:mod05 =   270 ;      //   typical   size
         Cell_Along_Swath_5km:mod05 =    406 ;      //   typical   size
         QA_Byte_NIR:mod05      = 1 ;
         QA_Byte_IR:mod05       = 5 ;

variables:

         :Number_of_Instrument_Scans = 203 ;         /typical value
         :Maximum_Number_of_1km_Frames = 1354 ;      /typical value

        :title = "\n",
//-----------------------------------------------------------------------------
" MODIS HDF File Specification MOD05_L2: MODIS Level 2 Precipitable Water \n",
" Vapor Product                                                            \n" ;
//-----------------------------------------------------------------------------

//        :history = "\n",
//----------------------------------------------------------------------------
//" 21-March-1997 Kathy Strabala CIMSS/SSEC - University of Wisconsin     \n",
//"               Allen Chu      GSFC                                     \n" ;
//----------------------------------------------------------------------------

          :Slope_and_Offset_Usage = "\n",
"   The local SDS scale_factor and add_offset attributes are used for the      \n",
"   conversion of stored integer data to geophysical floating point numbers.   \n",
"   The implementation follows conventional HDF usage (See HDF Users Guide):   \n",
"                                                                              \n",
"        float value =   scale_factor*(stored integer - add_offset)            \n",
"                                                                              \n",
"   The unit of the derived floating point value is indicated in the 'units'   \n",
"   local attribute which is also provide.                                     \n";


//---------------------------------------------------------------------------------------
//                              ECS Inventory Metadata
//
// ECS Inventory Metadata are stored in the HDF attribute "CoreMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                   ECS     Number Of   Typical Value
//   ECS Core Attribute Name                      Data Type    Values      or Comment
//   -----------------------                      --------- ---------    -------------
//      SHORTNAME                                  STRING        1       "MOD05_L2"
//      VERSIONID                                  INTEGER       1       1




                                              104
//      REPROCESSINGACTUAL                       STRING     1         "processed once"
//      REPROCESSINGPLANNED                      STRING     1         "further update
is anticipated"
//      LOCALGRANULEID                           STRING     1         product file
name using
//                                                                    MODIS naming
convention
//      LOCALVERSIONID                           STRING     1         "001"
//      DAYNIGHTFLAG                             STRING     1         "Day/Night/Both"
//      PRODUCTIONDATETIME                       DATETIME   1         variable
//      PGEVERSION                               STRING     1         "2.3.1"
//      INPUTPOINTER                             STRING     25(Max)   all input URs
//
//    RangeDateTime
//    -------------
//      RANGEBEGINNINGTIME                       TIME       1         variable
//      RANGEENDINGTIME                          TIME       1         variable
//      RANGEBEGINNINGDATE                       DATE       1         variable
//      RANGEENDINGDATE                          DATE       1         variable
//
//    Bounding Rectangle
//    ------------------
//      EASTBOUNDINGCOORDINATE                   DOUBLE     1         variable
//      WESTBOUNDINGCOORDINATE                   DOUBLE     1         variable
//      NORTHBOUNDINGCOORDINATE                  DOUBLE     1         variable
//      SOUTHBOUNDINGCOORDINATE                  DOUBLE     1         variable
//
//    OrbitCalculatedSpatialDomain
//    ----------------------------
//      ORBITNUMBER.1                            INTEGER    1         variable
//      EQUATORCROSSINGLONGITUDE.1               DOUBLE     1         variable
//      EQUATORCROSSINGDATE.1                    DATE       1         variable
//      EQUATORCROSSINGTIME.1                    TIME       1         variable
//
//    MeasuredParameter
//    -----------------
//      PARAMETERNAME.1                          STRING     1
"Water_Vapor_Near_Infrared"
//      AUTOMATICQUALITYFLAG.1                   STRING     1
"Passed"/"Suspect"/"Failed"
//      AUTOMATICQUALITYFLAGEXPLANATION.1        STRING     1         variable
//      QAPERCENTMISSINGDATA.1                   INTEGER    1         variable
//
//      PARAMETERNAME.2                          STRING     1
"Water_Vapor_Infrared"
//      AUTOMATICQUALITYFLAG.2                   STRING     1
"Passed"/"Failed"
//      AUTOMATICQUALITYFLAGEXPLANATION.2        STRING     1         variable
//      QAPERCENTMISSINGDATA.2                   INTEGER    1         variable
//
//    Additional Attributes (Inventory PSAs)
//    --------------------------------------
//      ADDITIONALATTRIBUTENAME.1                STRING     1
"SuccessfulRetrievalPct_NIR"
//      ADDITIONALATTRIBUTENAME.2                STRING     1
"SuccessfulRetrievalPct_IR"
//      ADDITIONALATTRIBUTENAME.3                STRING     1
"LowConfidentClearPct"
//      ADDITIONALATTRIBUTENAME.4                STRING     1
"DayProcessedPct"
//      ADDITIONALATTRIBUTENAME.5                STRING     1
"NightProcessedPct"
//      ADDITIONALATTRIBUTENAME.6                STRING     1
"SunglintProcessedPct"
//      ADDITIONALATTRIBUTENAME.7                STRING     1
"Snow_IceSurfaceProcessedPct"
//      ADDITIONALATTRIBUTENAME.8                STRING     1
"LandProcessedPct"
//      ADDITIONALATTRIBUTENAME.9                STRING     1
"WaterProcessedPct"
//      ADDITIONALATTRIBUTENAME.10               STRING     1         "ShadowFoundPct"



                                           105
//      ADDITIONALATTRIBUTENAME.11                  STRING        1
"ThinCirrusSolarFoundPct"
//      ADDITIONALATTRIBUTENAME.12                  STRING        1
"ThinCirrusIR_FoundPct"
//      ADDITIONALATTRIBUTENAME.13                  STRING        1
"NonCloudObstructionFoundPct"
//      ADDITIONALATTRIBUTENAME.14                  STRING        1
"MaxSolarZenithAngle"
//      ADDITIONALATTRIBUTENAME.15                  STRING        1
"MinSolarZenithAngle"
//
//      PARAMETERVALUE.1                            STRING        1       "   97.12", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.2                            STRING        1       "   67.12", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.3                            STRING        1       "   80.98", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.4                            STRING        1       "   90.28", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.5                            STRING        1       "   96.17", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.6                            STRING        1       "    5.87", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.7                            STRING        1       "    2.56", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.8                            STRING        1       "   16.27", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.9                            STRING        1       "   67.45", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.10                           STRING        1       "   15.28", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.11                           STRING        1       "   22.76", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.12                           STRING        1       "    8.36", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.13                           STRING        1       "    6.51", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.14                           STRING        1       "   64.76", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.15                           STRING        1       "   45.82", an
F8.2 formatted floating point number // sample value
//
//    Ancillary Input Granule (This attribute group is only for MOD05 "day-mode"
granules, which are defined
                                 as containing observations with solar zenith angles less
than 72 degrees)
//    -----------------------
//      ANCILLARYINPUTTYPE.1                        STRING        1       "Geolocation"
//      ANCILLARYINPPUTPOINTER.1                    STRING        1       UR of
geolocation granule
//
//    AssociatedPlatformInstrumentSensor
//    ----------------------------------
//      ASSOCIATEDPLATFORMSHORTNAME.1               STRING        1       "AM-1"
//      ASSOCIATEDINSTRUMENTSHORTNAME.1             STRING        1       "MODIS"
//      ASSOCIATEDSENSORSHORTNAME.1                 STRING        1       "CCD"
//
//
//---------------------------------------------------------------------------------------
//                              ECS Archive Metadata
//
// ECS Archive Metadata are stored in the HDF attribute "ArchiveMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                    ECS     Number Of   Typical Value
//   ECS Core Attribute Name                       Data Type    Values      or Comment
//   -----------------------                       --------- ---------    -------------
//      DESCRREVISION                              STRING         1        "1.0"
//
//   Algorithm Package



                                           106
//   -----------------
//      ALGORITHMPACKAGEACCEPTANCEDATE            STRING         1       "June 1997"
//      ALGORITHMPACKAGEMATURITYCODE              STRING         1       "at-launch"
//      ALGORITHMPACKAGENAME                      STRING         1       "ATBD-MOD-03"
//      ALGORITHMPACKAGEVERSION                   STRING         1       "2"
//      INSTRUMENTNAME                            STRING         1       "Moderate
Resolution
//                                                                        Imaging
Spectroradiometer"
//      LOCALINPUTGRANULEID                       STRING         10(Max) MODIS input
product file names
//                                                                        in MODIS naming
convention
//
//   GPolygon
//   --------
//      EXCLUSIONGRINGFLAG                        STRING         M,1     variable
//      GRINGPOINTLATITUDE                        DOUBLE         M,4     variable
//      GRINGPOINTLONGITUDE                       DOUBLE         M,4     variable
//      GRINGPOINTSEQUENCENO                      INTEGER        M,4     variable
//
//   Archive Product-Specific Attributes (PSAs)
//   ------------------------------------------
//      AlgorithmSoftwareVersion_NIR              STRING         1       version number
//      AlgorithmSoftwareVersion_IR               STRING         1       version number
//
//M - indicates that multiple instances of these fields may be written to the
//    file in the ECS "CLASS" format. In this format, separate instances of
//    the field are identified by field name and an attached suffix of the form:
//    .1, .2, .3 etc. "M,4" means, for example, that an array of 4 corner point
//    latitudes is written to the file with each occurrence of field
//    GRINGPOINTLATITUDE. The first instance is specified as
//    GRINGPOINTLATITUDE.1. Only one occurrence of this field, and the
//    associated fields EXCLUSIONGRINGFLAG, GRINGPOINTLONGITUDE and
//    GRINGPOINTSEQUENCENO, are ever anticipated for MODIS.
//
//
//---------------------------------------------------------------------------------------
//                              ECS Structural Metadata
//
// ECS Structural Metadata are stored in the HDF attribute "StructMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//GROUP=SwathStructure
//
// GROUP=SWATH_1
//    SwathName="mod05"
//
// GROUP=Dimension
//    Cell_Along_Swath_1km = 2030       typical size
//    Cell_Across_Swath_1km = 1354      typical size
//    Cell_Along_Swath_5km = 406        typical size
//    Cell_Across_Swath_5km = 270       typical size
//    QA_Byte_NIR = 1
//    QA_Byte_IR = 5
//
// GROUP=DimensionMap (GeoDimension, DataDimension, Offset, Increment)
//    Cell_Across_Swath_5km, Cell_Across_Swath_1km, 2, 5
//    Cell_Along_Swath_5km, Cell_Along_Swath_1km, 2, 5
//
// GROUP=IndexDimensionMap
//    None
//
// GROUP=GeoField
//    DFNT_FLOAT32 Longitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//    DFNT_FLOAT32 Latitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//
// GROUP=DataField
//    DFNT_FLOAT64 Scan_Start_Time("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//    DFNT_INT16   Solar_Zenith("Cell_Along_Swath_5km","Cell_Across_Swath_5km")



                                           107
//    DFNT_INT16   Solar_Azimuth("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//    DFNT_INT16   Sensor_Zenith("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//    DFNT_INT16   Sensor_Azimuth("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//    DFNT_INT8    Cloud_Mask_QA("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//    DFNT_INT16
Water_Vapor_Correction_Factors("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//    DFNT_INT16
Water_Vapor_Near_Infrared("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//    DFNT_INT16   Water_Vapor_Infrared("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//    DFNT_INT8
Quality_Assurance_Near_Infrared("Celll_Along_Swath_1km","Cell_Across_Swath_1km",
//                                                 "QA_Byte_NIR")
//    DFNT_INT8
Quality_Assurance_Infrared("Cell_Along_Swath_5km","Cell_Across_Swath_5km",
//                                            "QA_Byte_IR")
//
// GROUP=MergedFields
//          None
//
//GROUP=GridStructure
//    None
//
//GROUP=PointStructure
//    None
//

        double Scan_Start_Time(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
                Scan_Start_Time:long_name = "TAI Time at Start of Scan replicated across
the swath" ;
                Scan_Start_Time:units = "seconds since 1993-1-1 00:00:00.0 0" ;
                Scan_Start_Time:scale_factor = 1.0d ;
                Scan_Start_Time:add_offset = 0.0d ;
                Scan_Start_Time:Parameter_Type = "MODIS Input" ;
                Scan_Start_Time:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Scan_Start_Time:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Scan_Start_Time:Geolocation_Pointer = "Internal geolocation arrays" ;
                Scan_Start_Time:valid_range = 0.0d, 3.1558e9d ;
                Scan_Start_Time:_FillValue = -999.0d ;

       float Latitude(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
               Latitude:long_name = "Geodetic Latitude" ;
               Latitude:units = "degrees_north" ;
               Latitude:scale_factor = 1.0d ;
               Latitude:add_offset = 0.0d ;
               Latitude:Parameter_Type = "MODIS Input" ;
               Latitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Latitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Latitude:Geolocation_Pointer = "Internal geolocation arrays" ;
               Latitude:valid_range = -90.0f, 90.0f ;
               Latitude:_FillValue = -999.0f ;

       float Longitude(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
               Longitude:long_name = "Geodetic Longitude" ;
               Longitude:units = "degrees_east" ;
               Longitude:scale_factor = 1.0d ;
               Longitude:add_offset = 0.0d ;
               Longitude:Parameter_Type = "MODIS Input" ;
               Longitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Longitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Longitude:Geolocation_Pointer = "Internal geolocation arrays" ;
               Longitude:valid_range = -180.0f, 180.0f ;
               Longitude:_FillValue = -999.0f ;

       short Solar_Zenith(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
               Solar_Zenith:long_name = "Solar Zenith Angle, Cell to Sun" ;
               Solar_Zenith:units = "degrees" ;
               Solar_Zenith:scale_factor = 0.01d ;
               Solar_Zenith:add_offset = 0.0d ;
               Solar_Zenith:Parameter_Type = "MODIS Input" ;
               Solar_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Solar_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;



                                           108
                 Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
                 Solar_Zenith:valid_range = 0s, 18000s ;
                 Solar_Zenith:_FillValue = -9999s ;

         short Solar_Azimuth(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
                 Solar_Azimuth:long_name = "Solar Azimuth Angle, Cell to Sun" ;
                 Solar_Azimuth:units = "degrees" ;
                 Solar_Azimuth:scale_factor = 0.01d ;
                 Solar_Azimuth:add_offset = 0.0d ;
                 Solar_Azimuth:Parameter_Type = "MODIS Input" ;
                 Solar_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Solar_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
                 Solar_Azimuth:valid_range = -18000s, 18000s ;
                 Solar_Azimuth:_FillValue = -9999s ;

         short Sensor_Zenith(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
                 Sensor_Zenith:long_name = "Sensor Zenith Angle, Cell to Sensor" ;
                 Sensor_Zenith:units = "degrees" ;
                 Sensor_Zenith:scale_factor = 0.01d ;
                 Sensor_Zenith:add_offset = 0.0d ;
                 Sensor_Zenith:Parameter_Type = "MODIS Input" ;
                 Sensor_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Sensor_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Sensor_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;
                 Sensor_Zenith:valid_range = 0s, 18000s ;
                 Sensor_Zenith:_FillValue = -9999s ;

         short Sensor_Azimuth(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
                 Sensor_Azimuth:long_name = "Sensor Azimuth Angle, Cell to Sensor" ;
                 Sensor_Azimuth:units = "degrees" ;
                 Sensor_Azimuth:scale_factor = 0.01d ;
                 Sensor_Azimuth:add_offset = 0.0d ;
                 Sensor_Azimuth:Parameter_Type = "MODIS Input" ;
                 Sensor_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Sensor_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Sensor_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
                 Sensor_Azimuth:valid_range = -18000s, 18000s ;
                 Sensor_Azimuth:_FillValue = -9999s ;

          byte Cloud_Mask_QA(Cell_Along_Swath_1km:mod05,Cell_Across_Swath_1km:mod05) ;
                  Cloud_Mask_QA:long_name = "MODIS Cloud Mask, First Byte" ;
                  Cloud_Mask_QA:units = "none" ;
                  Cloud_Mask_QA:scale_factor = 1.0d ;
                  Cloud_Mask_QA:add_offset = 0.0d ;
                  Cloud_Mask_QA:Parameter_Type = "MODIS Input" ;
                  Cloud_Mask_QA:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                  Cloud_Mask_QA:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                  Cloud_Mask_QA:description = "\n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                             ---              \n",
"                                                                            \n",
"   0               Cloud Mask Flag                      0 = not determined \n",
"                                                        1 = determined      \n",
"                                                                            \n",
"   1-2             Unobstructed FOV Quality Flag        00 = cloud          \n",
"                                                        01 = 66% prob.      \n",
"                                                                clear       \n",
"                                                        10 = 95% prob.      \n",
"                                                               clear        \n",
"                                                        11 = 99% prob.      \n",
"                                                               clear        \n",
"                   PROCESSING PATH FLAGS                                    \n",
"                   ---------------------                                    \n",
"   3               Day / Night Flag                     0 = Night / 1 = Day \n",
"   4               Sunglint Flag                        0 = Yes / 1 = No    \n",
"   5               Snow / Ice Background Flag           0 = Yes/ 1 = No     \n",
"   6-7             Land / Water Flag                    00=Water/01=Coastal \n",
"                                                        10=Desert/11=Land   \n" ;




                                             109
               Cloud_Mask_QA:Geolocation_Pointer = "External MODIS geolocation product"
;
               Cloud_Mask_QA:valid_range = '\0', '\377' ;
               Cloud_Mask_QA:_FillValue = '\0' ;

        short
Water_Vapor_Near_Infrared(Cell_Along_Swath_1km:mod05,Cell_Across_Swath_1km:mod05) ;
                Water_Vapor_Near_Infrared:long_name = "Total Column Precipitable Water
Vapor - Near Infrared Retrieval" ;
                Water_Vapor_Near_Infrared:units = "cm" ;
                Water_Vapor_Near_Infrared:scale_factor = 0.001d ;
                Water_Vapor_Near_Infrared:add_offset = 0.0d ;
                Water_Vapor_Near_Infrared:Parameter_Type = "Output" ;
                Water_Vapor_Near_Infrared:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Water_Vapor_Near_Infrared:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Water_Vapor_Near_Infrared:Geolocation_Pointer = "External MODIS
geolocation product" ;
                Water_Vapor_Near_Infrared:valid_range = 0s, 20000s ;
                Water_Vapor_Near_Infrared:_FillValue = -9999s ;

        short
Water_Vapor_Infrared(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05) ;
                Water_Vapor_Infrared:long_name = "Total Column Precipitable Water Vapor -
IR Retrieval" ;
                Water_Vapor_Infrared:units = "cm" ;
                Water_Vapor_Infrared:scale_factor = 0.001d ;
                Water_Vapor_Infrared:add_offset = 0.0d ;
                Water_Vapor_Infrared:Parameter_Type = "Output" ;
                Water_Vapor_Infrared:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Water_Vapor_Infrared:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Water_Vapor_Infrared:Geolocation_Pointer = "Internal geolocation arrays"
;
                Water_Vapor_Infrared:valid_range = 0s, 20300s ;
                Water_Vapor_Infrared:_FillValue = -9999s ;

        short
Water_Vapor_Correction_Factors(Cell_Along_Swath_1km:mod05,Cell_Across_Swath_1km:mod05) ;
                Water_Vapor_Correction_Factors:long_name = "Aerosol Correction Factor for
Water Vapor - Near Infrared Retrieval" ;
                Water_Vapor_Correction_Factors:unit = "none" ;
                Water_Vapor_Correction_Factors:scale_factor = 0.001 ;
                Water_Vapor_Correction_Factors:add_offset = 0. ;
                Water_Vapor_Correction_Factors:Parameter_Type = "Output" ;
                Water_Vapor_Correction_Factors:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Water_Vapor_Correction_Factors:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Water_Vapor_Correction_Factors:Geolocation_Pointer = "Internal
geolocation arrays" ;
                Water_Vapor_Correction_Factors:valid_range = 500s, 1500s ;
                Water_Vapor_Correction_Factors:_FillValue = -9999s ;

        byte
Quality_Assurance_Near_Infrared(Cell_Along_Swath_1km:mod05,Cell_Across_Swath_1km:mod05,QA
_Byte_NIR:mod05) ;
                Quality_Assurance_Near_Infrared:long_name = "Run time QA flags" ;
                Quality_Assurance_Near_Infrared:units = "none" ;
                Quality_Assurance_Near_Infrared:scale_factor = 1.0d ;
                Quality_Assurance_Near_Infrared:add_offset = 0.0d ;
                Quality_Assurance_Near_Infrared:Parameter_Type = "Output" ;
                Quality_Assurance_Near_Infrared:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Quality_Assurance_Near_Infrared:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Quality_Assurance_Near_Infrared:description = "See MODIS atmosphere QA
plan for details" ;
                Quality_Assurance_Near_Infrared:Geolocation_Pointer = "External MODIS
geolocation product" ;
                Quality_Assurance_Near_Infrared:valid_range = '\0', '\377' ;
                Quality_Assurance_Near_Infrared:_FillValue = '\0' ;

        byte
Quality_Assurance_Infrared(Cell_Along_Swath_5km:mod05,Cell_Across_Swath_5km:mod05,QA_Byte
_IR:mod05) ;
                Quality_Assurance_Infrared:long_name = "Run time QA flags" ;



                                           110
                 Quality_Assurance_Infrared:units = "none" ;
                 Quality_Assurance_Infrared:scale_factor = 1.0d ;
                 Quality_Assurance_Infrared:add_offset = 0.0d ;
                 Quality_Assurance_Infrared:Parameter_Type = "Output" ;
                 Quality_Assurance_Infrared:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Quality_Assurance_Infrared:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Quality_Assurance_Infrared:description = "\n",

"                                                                          \n",
"   Quality_Assurance_Infrared flags:                                             \n",
"                                                                           \n",
"                     Product run time QA flags                             \n",
"   QA Flag Name     Number of     Bit Value   Description                  \n",
"                      Bits                                                 \n",
"   -------------------------------------------------------------           \n",
"   IR Water Vapor       1             0       not useful                   \n",
"     QA                               1        useful                      \n",
"                                                                           \n",
"   IR Water Vapor       3            0-7       8 confidence                \n",
"     Confidence QA                               levels                    \n",
"                                                                           \n",
"   Spares               4                                                  \n",
"   ---------------------- 1 byte total -------------------------           \n",
"                                                                           \n",
"     Optional run time QA flags - processing path flags                    \n",
"   QA Flag Name     Number of     Bit Value   Description                  \n",
"                      Bits                                                 \n",
"   -------------------------------------------------------------           \n",
"   Number of            8            0-25                                  \n",
"     Cloudy Pixels                                                         \n",
"     within 5x5 km                                                         \n",
"     box                                                                   \n",
"                                                                           \n",
"   Number of            8            0-25                                  \n",
"     Clear Pixels                                                          \n",
"     within 5x5 km                                                         \n",
"     box                                                                   \n",
"                                                                           \n",
"   Number of            8            0-25                                  \n",
"     Missing                                                               \n",
"     Pixels within                                                         \n",
"     5x5 km box                                                            \n",
"                                                                           \n",
"   IR Water Vapor       1             0      Split Window (11-12) technique \n",
"     Retrieval                        1      Integration of moisture profile \n",
"     Method Used                      2      Other                         \n",
"                                      3      No Retrieval                  \n",
"                                                                           \n",
"   Spares               7                                                  \n",
"   ---------------------- 4 bytes total -----------------------            \n";

                 Quality_Assurance_Infrared:Geolocation_Pointer = "Internal geolocation
arrays" ;
                 Quality_Assurance_Infrared:valid_range = '\0', '\377' ;
                 Quality_Assurance_Infrared:_FillValue = '\0' ;
}




                                             111
     Appendix G: MOD06_L2 Cloud Properties File Specification
http://modis-atmos.gsfc.nasa.gov/_specs/MOD06_L2.CDL.fs
//----------------------------------------------------------------------------
// MODIS HDF File Specification MOD06_L2: MODIS Level 2 Cloud Product
//
// This file specification document is written mainly in the network Common
// Data Form Language (CDL) to define HDF dimension names and sizes, and to
// declare attributes and arrays in terms of the dimensions. Other HDF
// objects not representable in CDL constructs (e.g. Vdata, Vgroups and ECS
// metadata) are described within comment blocks (any line or lines beginning
// with the characters "//").
//
// Array indexing is described in terms of the C programming language which
// is row dominant.
//----------------------------------------------------------------------------

netcdf mod06{

dimensions:

        Cell_Across_Swath_5km:mod06 = 270    ;     //   typical   value
        Cell_Along_Swath_5km:mod06 =   406   ;     //   typical   value
        Cell_Across_Swath_1km:mod06 = 1354   ;     //   typical   value
        Cell_Along_Swath_1km:mod06 = 2030    ;     //   typical   value
        Band_Number:mod06 = 7 ;
        Band_Ratio:mod06 = 5 ;
        Band_Forcing:mod06 = 5 ;
        Band_Difference:mod06 = 2 ;
        Radius_Difference:mod06 = 2 ;
        QA_Parameter_5km:mod06 = 10 ;
        QA_Parameter_1km:mod06 = 5 ;
        Cloud_Mask_1km_Num_Bytes:mod06 = 2   ;
        Statistic_Parameter_1km = 20 ;             // This dimension appears in the file
only as a member of the HDF-EOS swath.

variables:

         :Number_of_Instrument_Scans = 203 ;      // typical size
         :Maximum_Number_of_1km_Frames = 1354 ;   // typical value
         :title = "MODIS Level 2 Cloud Properties" ;
         :history = "$Id: MOD06.V2.CDL,v 1.1.2.2 2000/09/28 18:13:07 gumley Exp $" ;

//   The first two SDSs below, Band_Number and Statistics_1km, are represented here
//   as a 1-dimensional arrays, even though they are actually implemented as HDF VDATA
//   objects (i.e. tables) in the MOD06 product file. The description of these objects
//   in terms of VDATA parameters is provided in the VDATA section below.

         long Band_Number(Band_Number:mod06) ;
                 Band_Number:long_name = "MODIS Band Number" ;
                 Band_Number:units = "none" ;
                 Band_Number:Geolocation_Pointer = "Geolocation data not applicable" ;

        float Statistics_1km(Statistic_Parameter_1km)
                Statistics_1km:long_name = "Granule Statistics for parameters at 1x1
resolution" ;
                Statistics_1km:units = "see description attribute" ;
                Statistics_1km:_FillValue = -999.9f ;
                Statistics_1km:description = "\n" ;
   "Statistics_1km:
\n",
   " 1. Successful Retrieval Rate (%)
\n",
   " 2. Land Cover Fraction (%)
\n",
   " 3. Water Cover Fraction (%)
\n",
   " 4. Snow Cover Fraction (%)
\n",




                                             112
   "   5. Cloud Cover Fraction (%)
\n",
   "   6. Water Cloud Detected (%)
\n",
   "   7. Ice Cloud Detected (%)
\n",
   "   8. Mean of Water Cloud Optical Thickness
\n",
   "   9. Standard Deviation of Water Cloud Optical Thickness
\n",
   "   10.Mean of Ice Cloud Optical Thickness
\n",
   "   11.Standard Deviation of Ice Cloud Optical Thickness
\n",
   "   12.Mean of Water Cloud Effective Particle Radius (microns)
\n",
   "   13.Standard Deviation of Water Cloud Effective Particle Radius (microns)
\n",
   "   14.Mean of Ice Cloud Effective Diameter (microns)
\n",
   "   15.Standard Deviation of Ice Cloud Effective Diameter (microns)
\n";

        double Scan_Start_Time(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Scan_Start_Time:long_name = "TAI time at start of scan replicated across
the swath" ;
                Scan_Start_Time:units = "seconds since 1993-1-1 00:00:00.0 0" ;
                Scan_Start_Time:valid_range = 0.0d, 3.1558e9d ;
                Scan_Start_Time:_FillValue = -999.9d ;
                Scan_Start_Time:scale_factor = 1.0d ;
                Scan_Start_Time:add_offset = 0.0d ;
                Scan_Start_Time:Parameter_Type = "MODIS Input" ;
                Scan_Start_Time:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Scan_Start_Time:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Scan_Start_Time:Geolocation_Pointer = "Geolocation data not applicable" ;

        float Latitude(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Latitude:long_name = "Geodetic Latitude" ;
                Latitude:units = "degrees_north" ;
                Latitude:valid_range = -90.0f, 90.0f ;
                Latitude:_FillValue = -999.9f ;
                Latitude:scale_factor = 1.0d ;
                Latitude:add_offset = 0.0d ;
                Latitude:Parameter_Type = "MODIS Input" ;
                Latitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Latitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Latitude:Geolocation_Pointer = "Internal geolocation arrays" ;

        float Longitude(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Longitude:long_name = "Geodetic Longitude" ;
                Longitude:units = "degrees_east" ;
                Longitude:valid_range = -180.0f, 180.0f ;
                Longitude:_FillValue = -999.9f ;
                Longitude:scale_factor = 1.0d ;
                Longitude:add_offset = 0.0d ;
                Longitude:Parameter_Type = "MODIS Input" ;
                Longitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Longitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Longitude:Geolocation_Pointer = "Internal geolocation arrays" ;

        short Solar_Zenith(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Solar_Zenith:long_name = "Solar Zenith Angle, Cell to Sun" ;
                Solar_Zenith:units = "degrees" ;
                Solar_Zenith:valid_range = 0s, 18000s ;
                Solar_Zenith:_FillValue = -32768s ;
                Solar_Zenith:scale_factor = 0.01d ;
                Solar_Zenith:add_offset = 0.0d ;
                Solar_Zenith:Parameter_Type = "MODIS Input" ;
                Solar_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Solar_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Solar_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;



                                            113
       short Solar_Azimuth(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Solar_Azimuth:long_name = "Solar Azimuth Angle, Cell to Sun" ;
               Solar_Azimuth:units = "degrees" ;
               Solar_Azimuth:valid_range = -18000s, 18000s ;
               Solar_Azimuth:_FillValue = -32768s ;
               Solar_Azimuth:scale_factor = 0.01d ;
               Solar_Azimuth:add_offset = 0.0d ;
               Solar_Azimuth:Parameter_Type = "MODIS Input" ;
               Solar_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Solar_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;

       short Sensor_Zenith(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Sensor_Zenith:long_name = "Sensor Zenith Angle, Cell to Sensor" ;
               Sensor_Zenith:units = "degrees" ;
               Sensor_Zenith:valid_range = 0s, 18000s ;
               Sensor_Zenith:_FillValue = -32768s ;
               Sensor_Zenith:scale_factor = 0.01d ;
               Sensor_Zenith:add_offset = 0.0d ;
               Sensor_Zenith:Parameter_Type = "MODIS Input" ;
               Sensor_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Sensor_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Sensor_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;

       short Sensor_Azimuth(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Sensor_Azimuth:long_name = "Sensor Azimuth Angle, Cell to Sensor" ;
               Sensor_Azimuth:units = "degrees" ;
               Sensor_Azimuth:valid_range = -18000s, 18000s ;
               Sensor_Azimuth:_FillValue = -32768s ;
               Sensor_Azimuth:scale_factor = 0.01d ;
               Sensor_Azimuth:add_offset = 0.0d ;
               Sensor_Azimuth:Parameter_Type = "MODIS Input" ;
               Sensor_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Sensor_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Sensor_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;

        short
Brightness_Temperature(Band_Number:mod06,Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km
:mod06) ;
                Brightness_Temperature:long_name = "Brightness Temperature" ;
                Brightness_Temperature:units = "K" ;
                Brightness_Temperature:valid_range = 0s, 20000s ;
                Brightness_Temperature:_FillValue = -32768s ;
                Brightness_Temperature:scale_factor = 0.01d ;
                Brightness_Temperature:add_offset = -15000.0d ;
                Brightness_Temperature:Parameter_Type = "MODIS Input" ;
                Brightness_Temperature:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Brightness_Temperature:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Brightness_Temperature:Geolocation_Pointer = "Internal geolocation
arrays" ;

       short Surface_Temperature(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06)
;
               Surface_Temperature:long_name = "Surface Temperature" ;
               Surface_Temperature:units = "K" ;
               Surface_Temperature:valid_range = 0s, 20000s ;
               Surface_Temperature:_FillValue = -32768s ;
               Surface_Temperature:scale_factor = 0.01d ;
               Surface_Temperature:add_offset = -15000.0d ;
               Surface_Temperature:Parameter_Type = "Non MODIS Input" ;
               Surface_Temperature:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Surface_Temperature:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Surface_Temperature:Geolocation_Pointer = "Internal geolocation arrays" ;

       short Surface_Pressure(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Surface_Pressure:long_name = "Surface Pressure" ;
               Surface_Pressure:units = "hPa" ;
               Surface_Pressure:valid_range = 8000s, 11000s ;
               Surface_Pressure:_FillValue = -32768s ;
               Surface_Pressure:scale_factor = 0.1d ;



                                           114
               Surface_Pressure:add_offset = 0.0d ;
               Surface_Pressure:Parameter_Type = "Non MODIS Input" ;
               Surface_Pressure:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Surface_Pressure:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Surface_Pressure:Geolocation_Pointer = "Internal geolocation arrays" ;

       byte Processing_Flag(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Processing_Flag:long_name = "Cloud Retrieval Method Flag" ;
               Processing_Flag:units = "none" ;
               Processing_Flag:valid_range = '\0', '\3' ;
               Processing_Flag:_FillValue = '\177' ;
               Processing_Flag:scale_factor = 1.0d ;
               Processing_Flag:add_offset = 0.0d ;
               Processing_Flag:Parameter_Type = "Output" ;
               Processing_Flag:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Processing_Flag:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Processing_Flag:Geolocation_Pointer = "Internal geolocation arrays" ;

       byte Cloud_Height_Method(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06)
;
               Cloud_Height_Method:long_name = "Cloud Height Method" ;
               Cloud_Height_Method:units = "none" ;
               Cloud_Height_Method:valid_range = '\1', '\6' ;
               Cloud_Height_Method:_FillValue = '\177' ;
               Cloud_Height_Method:scale_factor = 1.0d ;
               Cloud_Height_Method:add_offset = 0.0d ;
               Cloud_Height_Method:Parameter_Type = "Output" ;
               Cloud_Height_Method:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Height_Method:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Height_Method:Geolocation_Pointer = "Internal geolocation arrays" ;

       short Cloud_Top_Pressure(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06)
;
               Cloud_Top_Pressure:long_name = "Cloud Top Pressure" ;
               Cloud_Top_Pressure:units = "hPa" ;
               Cloud_Top_Pressure:valid_range = 10s, 11000s ;
               Cloud_Top_Pressure:_FillValue = -32768s ;
               Cloud_Top_Pressure:scale_factor = 0.1d ;
               Cloud_Top_Pressure:add_offset = 0.0d ;
               Cloud_Top_Pressure:Parameter_Type = "Output" ;
               Cloud_Top_Pressure:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Top_Pressure:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Top_Pressure:Geolocation_Pointer = "Internal geolocation arrays" ;

        short
Cloud_Top_Pressure_Night(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Top_Pressure_Night:long_name = "Cloud Top Pressure Night" ;
                Cloud_Top_Pressure_Night:units = "hPa" ;
                Cloud_Top_Pressure_Night:valid_range = 10s, 11000s ;
                Cloud_Top_Pressure_Night:_FillValue = -32768s ;
                Cloud_Top_Pressure_Night:scale_factor = 0.1d ;
                Cloud_Top_Pressure_Night:add_offset = 0.0d ;
                Cloud_Top_Pressure_Night:Parameter_Type = "Output" ;
                Cloud_Top_Pressure_Night:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Top_Pressure_Night:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Top_Pressure_Night:Geolocation_Pointer = "Internal geolocation
arrays" ;

        short
Cloud_Top_Pressure_Day(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Top_Pressure_Day:long_name = "Cloud Top Pressure Day" ;
                Cloud_Top_Pressure_Day:units = "hPa" ;
                Cloud_Top_Pressure_Day:valid_range = 10s, 11000s ;
                Cloud_Top_Pressure_Day:_FillValue = -32768s ;
                Cloud_Top_Pressure_Day:scale_factor = 0.1d ;
                Cloud_Top_Pressure_Day:add_offset = 0.0d ;
                Cloud_Top_Pressure_Day:Parameter_Type = "Output" ;
                Cloud_Top_Pressure_Day:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Top_Pressure_Day:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Top_Pressure_Day:Geolocation_Pointer = "Internal geolocation
arrays" ;



                                           115
        short
Cloud_Top_Temperature(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Top_Temperature:long_name = "Cloud Top Temperature" ;
                Cloud_Top_Temperature:units = "K" ;
                Cloud_Top_Temperature:valid_range = 0s, 20000s ;
                Cloud_Top_Temperature:_FillValue = -32768s ;
                Cloud_Top_Temperature:scale_factor = 0.01d ;
                Cloud_Top_Temperature:add_offset = -15000.0d ;
                Cloud_Top_Temperature:Parameter_Type = "Output" ;
                Cloud_Top_Temperature:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Top_Temperature:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Top_Temperature:Geolocation_Pointer = "Internal geolocation arrays"
;

        short
Cloud_Top_Temperature_Night(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Top_Temperature_Night:long_name = "Cloud Top Temperature Night" ;
                Cloud_Top_Temperature_Night:units = "K" ;
                Cloud_Top_Temperature_Night:valid_range = 0s, 20000s ;
                Cloud_Top_Temperature_Night:_FillValue = -32768s ;
                Cloud_Top_Temperature_Night:scale_factor = 0.01d ;
                Cloud_Top_Temperature_Night:add_offset = -15000.0d ;
                Cloud_Top_Temperature_Night:Parameter_Type = "Output" ;
                Cloud_Top_Temperature_Night:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Top_Temperature_Night:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Top_Temperature_Night:Geolocation_Pointer = "Internal geolocation
arrays" ;

        short
Cloud_Top_Temperature_Day(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Top_Temperature_Day:long_name = "Cloud Top Temperature Day" ;
                Cloud_Top_Temperature_Day:units = "K" ;
                Cloud_Top_Temperature_Day:valid_range = 0s, 20000s ;
                Cloud_Top_Temperature_Day:_FillValue = -32768s ;
                Cloud_Top_Temperature_Day:scale_factor = 0.01d ;
                Cloud_Top_Temperature_Day:add_offset = -15000.0d ;
                Cloud_Top_Temperature_Day:Parameter_Type = "Output" ;
                Cloud_Top_Temperature_Day:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Top_Temperature_Day:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Top_Temperature_Day:Geolocation_Pointer = "Internal geolocation
arrays" ;

       short Tropopause_Height(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Tropopause_Height:long_name = "Tropopause Height" ;
               Tropopause_Height:units = "hPa" ;
               Tropopause_Height:valid_range = 10s, 11000s ;
               Tropopause_Height:_FillValue = -32768s ;
               Tropopause_Height:scale_factor = 0.1d ;
               Tropopause_Height:add_offset = 0.0d ;
               Tropopause_Height:Parameter_Type = "Output" ;
               Tropopause_Height:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Tropopause_Height:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Tropopause_Height:Geolocation_Pointer = "Internal geolocation arrays" ;

       byte Cloud_Fraction(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Cloud_Fraction:long_name = "Cloud Fraction" ;
               Cloud_Fraction:units = "none" ;
               Cloud_Fraction:valid_range = '\0', '\144' ;
               Cloud_Fraction:_FillValue = '\177' ;
               Cloud_Fraction:scale_factor = 0.01d ;
               Cloud_Fraction:add_offset = 0.0d ;
               Cloud_Fraction:Parameter_Type = "Output" ;
               Cloud_Fraction:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Fraction:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Fraction:Geolocation_Pointer = "Internal geolocation arrays" ;

       byte Cloud_Fraction_Night(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06)
;
               Cloud_Fraction_Night:long_name = "Cloud Fraction Night" ;
               Cloud_Fraction_Night:units = "none" ;



                                           116
               Cloud_Fraction_Night:valid_range = '\0', '\144' ;
               Cloud_Fraction_Night:_FillValue = '\177' ;
               Cloud_Fraction_Night:scale_factor = 0.01d ;
               Cloud_Fraction_Night:add_offset = 0.0d ;
               Cloud_Fraction_Night:Parameter_Type = "Output" ;
               Cloud_Fraction_Night:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Fraction_Night:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Fraction_Night:Geolocation_Pointer = "Internal geolocation arrays"
;

       byte Cloud_Fraction_Day(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Cloud_Fraction_Day:long_name = "Cloud Fraction Day" ;
               Cloud_Fraction_Day:units = "none" ;
               Cloud_Fraction_Day:valid_range = '\0', '\144' ;
               Cloud_Fraction_Day:_FillValue = '\177' ;
               Cloud_Fraction_Day:scale_factor = 0.01d ;
               Cloud_Fraction_Day:add_offset = 0.0d ;
               Cloud_Fraction_Day:Parameter_Type = "Output" ;
               Cloud_Fraction_Day:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Fraction_Day:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Fraction_Day:Geolocation_Pointer = "Internal geolocation arrays" ;

        byte
Cloud_Effective_Emissivity(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Effective_Emissivity:long_name = "Cloud Effective Emissivity" ;
                Cloud_Effective_Emissivity:units = "none" ;
                Cloud_Effective_Emissivity:valid_range = '\0', '\144' ;
                Cloud_Effective_Emissivity:_FillValue = '\177' ;
                Cloud_Effective_Emissivity:scale_factor = 0.01d ;
                Cloud_Effective_Emissivity:add_offset = 0.0d ;
                Cloud_Effective_Emissivity:Parameter_Type = "Output" ;
                Cloud_Effective_Emissivity:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Effective_Emissivity:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Effective_Emissivity:Geolocation_Pointer = "Internal geolocation
arrays" ;

        byte
Cloud_Effective_Emissivity_Night(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06)
;
                Cloud_Effective_Emissivity_Night:long_name = "Cloud Effective Emissivity
Night" ;
                Cloud_Effective_Emissivity_Night:units = "none" ;
                Cloud_Effective_Emissivity_Night:valid_range = '\0', '\144' ;
                Cloud_Effective_Emissivity_Night:_FillValue = '\177' ;
                Cloud_Effective_Emissivity_Night:scale_factor = 0.01d ;
                Cloud_Effective_Emissivity_Night:add_offset = 0.0d ;
                Cloud_Effective_Emissivity_Night:Parameter_Type = "Output" ;
                Cloud_Effective_Emissivity_Night:Cell_Across_Swath_Sampling = 3, 1348, 5
;
                Cloud_Effective_Emissivity_Night:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Effective_Emissivity_Night:Geolocation_Pointer = "Internal
geolocation arrays" ;

        byte
Cloud_Effective_Emissivity_Day(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Effective_Emissivity_Day:long_name = "Cloud Effective Emissivity
Day" ;
                Cloud_Effective_Emissivity_Day:units = "none" ;
                Cloud_Effective_Emissivity_Day:valid_range = '\0', '\144' ;
                Cloud_Effective_Emissivity_Day:_FillValue = '\177' ;
                Cloud_Effective_Emissivity_Day:scale_factor = 0.01d ;
                Cloud_Effective_Emissivity_Day:add_offset = 0.0d ;
                Cloud_Effective_Emissivity_Day:Parameter_Type = "Output" ;
                Cloud_Effective_Emissivity_Day:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Effective_Emissivity_Day:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Effective_Emissivity_Day:Geolocation_Pointer = "Internal
geolocation arrays" ;

        short
Cloud_Top_Pressure_Infrared(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;




                                           117
               Cloud_Top_Pressure_Infrared:long_name = "Cloud Top Pressure from IR
Window" ;
               Cloud_Top_Pressure_Infrared:units = "hPa" ;
               Cloud_Top_Pressure_Infrared:valid_range = 10s, 11000s ;
               Cloud_Top_Pressure_Infrared:_FillValue = -32768s ;
               Cloud_Top_Pressure_Infrared:scale_factor = 0.1d ;
               Cloud_Top_Pressure_Infrared:add_offset = 0.0d ;
               Cloud_Top_Pressure_Infrared:Parameter_Type = "Output" ;
               Cloud_Top_Pressure_Infrared:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Top_Pressure_Infrared:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Top_Pressure_Infrared:Geolocation_Pointer = "Internal geolocation
arrays" ;

        short
Spectral_Cloud_Forcing(Band_Forcing:mod06,Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5k
m:mod06) ;
                Spectral_Cloud_Forcing:long_name = "Spectral Cloud Forcing" ;
                Spectral_Cloud_Forcing:units = "Watts/meter2/steradian/micron" ;
                Spectral_Cloud_Forcing:valid_range = -2000s, 2000s ;
                Spectral_Cloud_Forcing:_FillValue = -32768s ;
                Spectral_Cloud_Forcing:scale_factor = 0.01d ;
                Spectral_Cloud_Forcing:add_offset = 0.0d ;
                Spectral_Cloud_Forcing:Parameter_Type = "Output" ;
                Spectral_Cloud_Forcing:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Spectral_Cloud_Forcing:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Spectral_Cloud_Forcing:Geolocation_Pointer = "Internal geolocation
arrays" ;

        short
Cloud_Top_Pressure_From_Ratios(Band_Ratio:mod06,Cell_Along_Swath_5km:mod06,Cell_Across_Sw
ath_5km:mod06) ;
                Cloud_Top_Pressure_From_Ratios:long_name = "Cloud Top Pressure from
Ratios (36/35, 35/34, 35/33, 34/33, 33/31)" ;
                Cloud_Top_Pressure_From_Ratios:units = "hPa" ;
                Cloud_Top_Pressure_From_Ratios:valid_range = 10s, 11000s ;
                Cloud_Top_Pressure_From_Ratios:_FillValue = -32768s ;
                Cloud_Top_Pressure_From_Ratios:scale_factor = 0.1d ;
                Cloud_Top_Pressure_From_Ratios:add_offset = 0.0d ;
                Cloud_Top_Pressure_From_Ratios:Parameter_Type = "Output" ;
                Cloud_Top_Pressure_From_Ratios:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Top_Pressure_From_Ratios:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Top_Pressure_From_Ratios:Geolocation_Pointer = "Internal
geolocation arrays" ;

       short Surface_Type(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
               Surface_Type:long_name = "Surface Type Based on Emissivity " ;
               Surface_Type:units = "none" ;
               Surface_Type:valid_range = 0s, 200s ;
               Surface_Type:_FillValue = -32768s ;
               Surface_Type:scale_factor = 1.0d ;
               Surface_Type:add_offset = 0.0d ;
               Surface_Type:Parameter_Type = "Non MODIS Input" ;
               Surface_Type:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Surface_Type:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Surface_Type:Geolocation_Pointer = "Internal geolocation arrays" ;

        short
Radiance_Variance(Band_Number:mod06,Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod0
6) ;
                Radiance_Variance:long_name = "Radiance Variance " ;
                Radiance_Variance:units = "Watts/meter2/steradian/micron " ;
                Radiance_Variance:valid_range = 0s, 20s ;
                Radiance_Variance:_FillValue = -32768s ;
                Radiance_Variance:scale_factor = 0.01d ;
                Radiance_Variance:add_offset = 0.0d ;
                Radiance_Variance:Parameter_Type = "Output" ;
                Radiance_Variance:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Radiance_Variance:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Radiance_Variance:Geolocation_Pointer = "Internal geolocation arrays" ;




                                           118
        short
Brightness_Temperature_Difference(Band_Difference:mod06,Cell_Along_Swath_5km:mod06,Cell_A
cross_Swath_5km:mod06) ;
                Brightness_Temperature_Difference:long_name = "Brightness Temperature
Difference (29-31, 31-32)" ;
                Brightness_Temperature_Difference:units = "K" ;
                Brightness_Temperature_Difference:valid_range = -2000s, 30000s ;
                Brightness_Temperature_Difference:_FillValue = -32768s ;
                Brightness_Temperature_Difference:scale_factor = 0.01d ;
                Brightness_Temperature_Difference:add_offset = 0.0d ;
                Brightness_Temperature_Difference:Parameter_Type = "Output" ;
                Brightness_Temperature_Difference:Cell_Across_Swath_Sampling = 3, 1348, 5
;
                Brightness_Temperature_Difference:Cell_Along_Swath_Sampling = 3, 2028, 5
;
                Brightness_Temperature_Difference:Geolocation_Pointer = "Internal
geolocation arrays" ;

       byte Cloud_Phase_Infrared(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06)
;
               Cloud_Phase_Infrared:long_name = "Cloud Phase Infrared" ;
               Cloud_Phase_Infrared:units = "none" ;
               Cloud_Phase_Infrared:valid_range = '\0', '\6' ;
               Cloud_Phase_Infrared:_FillValue = '\177' ;
               Cloud_Phase_Infrared:scale_factor = 1.0d ;
               Cloud_Phase_Infrared:add_offset = 0.0d ;
               Cloud_Phase_Infrared:Parameter_Type = "Output" ;
               Cloud_Phase_Infrared:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Cloud_Phase_Infrared:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Cloud_Phase_Infrared:Geolocation_Pointer = "Internal geolocation arrays"
;

        byte
Cloud_Phase_Infrared_Night(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Phase_Infrared_Night:long_name = "Cloud Phase Infrared Night" ;
                Cloud_Phase_Infrared_Night:units = "none" ;
                Cloud_Phase_Infrared_Night:valid_range = '\0', '\6' ;
                Cloud_Phase_Infrared_Night:_FillValue = '\177' ;
                Cloud_Phase_Infrared_Night:scale_factor = 1.0d ;
                Cloud_Phase_Infrared_Night:add_offset = 0.0d ;
                Cloud_Phase_Infrared_Night:Parameter_Type = "Output" ;
                Cloud_Phase_Infrared_Night:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Phase_Infrared_Night:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Phase_Infrared_Night:Geolocation_Pointer = "Internal geolocation
arrays" ;

        byte
Cloud_Phase_Infrared_Day(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                Cloud_Phase_Infrared_Day:long_name = "Cloud Phase Infrared Day" ;
                Cloud_Phase_Infrared_Day:units = "none" ;
                Cloud_Phase_Infrared_Day:valid_range = '\0', '\6' ;
                Cloud_Phase_Infrared_Day:_FillValue = '\177' ;
                Cloud_Phase_Infrared_Day:scale_factor = 1.0d ;
                Cloud_Phase_Infrared_Day:add_offset = 0.0d ;
                Cloud_Phase_Infrared_Day:Parameter_Type = "Output" ;
                Cloud_Phase_Infrared_Day:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Cloud_Phase_Infrared_Day:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Cloud_Phase_Infrared_Day:Geolocation_Pointer = "Internal geolocation
arrays" ;

        short
Effective_Particle_Radius(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06) ;
                Effective_Particle_Radius:long_name = "Effective Particle Radius" ;
                Effective_Particle_Radius:units = "micron" ;
                Effective_Particle_Radius:valid_range = 0s, 10000s ;
                Effective_Particle_Radius:_FillValue = -9999s ;
                Effective_Particle_Radius:scale_factor = 0.1d ;
                Effective_Particle_Radius:add_offset = 0.0d ;
                Effective_Particle_Radius:Parameter_Type = "Output" ;
                Effective_Particle_Radius:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Effective_Particle_Radius:Cell_Along_Swath_Sampling = 1, 2030, 1 ;



                                           119
                Effective_Particle_Radius:Geolocation_Pointer = "External MODIS
geolocation product" ;

        short
Cloud_Optical_Thickness(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06) ;
                Cloud_Optical_Thickness:long_name = "Cloud Optical Thickness" ;
                Cloud_Optical_Thickness:units = "none" ;
                Cloud_Optical_Thickness:valid_range = 0s, 10000s ;
                Cloud_Optical_Thickness:_FillValue = -9999s ;
                Cloud_Optical_Thickness:scale_factor = 0.1d ;
                Cloud_Optical_Thickness:add_offset = 0.0d ;
                Cloud_Optical_Thickness:Parameter_Type = "Output" ;
                Cloud_Optical_Thickness:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Cloud_Optical_Thickness:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Cloud_Optical_Thickness:Geolocation_Pointer = "External MODIS geolocation
product" ;

        short
Effective_Radius_Difference(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06,Radius
_Difference:mod06) ;
                Effective_Radius_Difference:long_name = "Effective Radius Difference";
                Effective_Radius_Difference:units = "none" ;
                Effective_Radius_Difference:valid_range = -10000s, 10000s ;
                Effective_Radius_Difference:_FillValue = -9999s ;
                Effective_Radius_Difference:scale_factor = 0.1d ;
                Effective_Radius_Difference:add_offset = 0.0d ;
                Effective_Radius_Difference:Parameter_Type = "Output" ;
                Effective_Radius_Difference:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Effective_Radius_Difference:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Effective_Radius_Difference:Geolocation_Pointer = "External MODIS
geolocation product" ;

       short Water_Path(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06) ;
               Water_Path:long_name = "Water Path" ;
               Water_Path:units = "g/m^2" ;
               Water_Path:valid_range = 0s, 10000s ;
               Water_Path:_FillValue = -9999s ;
               Water_Path:scale_factor = 1.0d ;
               Water_Path:add_offset = 0.0d ;
               Water_Path:Parameter_Type = "Output" ;
               Water_Path:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
               Water_Path:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
               Water_Path:Geolocation_Pointer = "External MODIS geolocation product" ;

        short Cirrus_Reflectance(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06)
                Cirrus_Reflectance:long_name = "Cirrus Reflectance" ;
                Cirrus_Reflectance:units = "none" ;
                Cirrus_Reflectance:valid_range = 0s, 8000s ;
                Cirrus_Reflectance:_FillValue = -9999s ;
                Cirrus_Reflectance:scale_factor = 0.0002d ;
                Cirrus_Reflectance:add_offset = 0.0d ;
                Cirrus_Reflectance:Parameter_Type = "Output" ;
                Cirrus_Reflectance:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Cirrus_Reflectance:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Cirrus_Reflectance:Geolocation_Pointer = "External MODIS geolocation
product" ;

        byte
Cirrus_Reflectance_Flag(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06)
                Cirrus_Reflectance_Flag:long_name = "Cirrus Reflectance Flag"
                Cirrus_Reflectance_Flag:units = "none"
                Cirrus_Reflectance_Flag:valid_range = '\0', '\3' ;
                Cirrus_Reflectance_Flag:_FillValue = '\235' ;
                Cirrus_Reflectance_Flag:scale_factor = 1.0d ;
                Cirrus_Reflectance_Flag:add_offset = 0.0d ;
                Cirrus_Reflectance_Flag:Parameter_Type = "Output" ;
                Cirrus_Reflectance_Flag:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Cirrus_Reflectance_Flag:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Cirrus_Reflectance_Flag:Geolocation_Pointer = "External MODIS geolocation
product" ;




                                           120
                Cirrus_Reflectance_Flag:description = "0: bad data, 1: non-cirrus pixel,
2: cirrus pixel, 3: contrail pixel" ;

          byte Cloud_Mask_5km(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06) ;
                  Cloud_Mask_5km:long_name = "MODIS Cloud Mask, First Byte" ;
                  Cloud_Mask_5km:units = "none" ;
                  Cloud_Mask_5km:valid_range = '\0', '\377' ;
                  Cloud_Mask_5km:_FillValue = '\0' ;
                  Cloud_Mask_5km:scale_factor = 1.0d ;
                  Cloud_Mask_5km:add_offset = 0.0d ;
                  Cloud_Mask_5km:Parameter_Type = "MODIS Input" ;
                  Cloud_Mask_5km:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                  Cloud_Mask_5km:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                  Cloud_Mask_5km:Geolocation_Pointer = "Internal geolocation arrays" ;
                  Cloud_Mask_5km:description = "\n",
"                                                                             \n",
"   Bit fields within each byte are numbered from the left:                   \n",
"   7, 6, 5, 4, 3, 2, 1, 0.                                                   \n",
"   The left-most bit (bit 7) is the most significant bit.                    \n",
"   The right-most bit (bit 0) is the least significant bit.                  \n",
"                                                                             \n",
"   bit field       Description                             Key               \n",
"   ---------       -----------                              ---              \n",
"                                                                             \n",
"   0               Cloud Mask Flag                      0 = Not determined \n",
"                                                        1 = Determined       \n",
"                                                                             \n",
"   2, 1            Unobstructed FOV Quality Flag        00 = Cloudy          \n",
"                                                        01 = Uncertain       \n",
"                                                        10 = Probably Clear \n",
"                                                        11 = Confident Clear\n",
"                   PROCESSING PATH                                           \n",
"                   ---------------                                           \n",
"   3               Day or Night Path                    0 = Night / 1 = Day \n",
"   4               Sunglint Path                        0 = Yes   / 1 = No \n",
"   5               Snow/Ice Background Path             0 = Yes   / 1 = No \n",
"   7, 6            Land or Water Path                   00 = Water           \n",
"                                                        01 = Coastal         \n",
"                                                        10 = Desert          \n",
"                                                        11 = Land            \n" ;

        byte
Quality_Assurance_5km(Cell_Along_Swath_5km:mod06,Cell_Across_Swath_5km:mod06,QA_Parameter
_5km:mod06) ;
                Quality_Assurance_5km:long_name = "Quality Assurance at 5x5 Resolution" ;
                Quality_Assurance_5km:units = "none" ;
                Quality_Assurance_5km:valid_range = '\0', '\377' ;
                Quality_Assurance_5km:_FillValue = '\0' ;
                Quality_Assurance_5km:scale_factor = 1.0d ;
                Quality_Assurance_5km:add_offset = 0.0d ;
                Quality_Assurance_5km:Parameter_Type = "Output" ;
                Quality_Assurance_5km:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Quality_Assurance_5km:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Quality_Assurance_5km:description = "See MODIS atmosphere QA plan for
details" ;
                Quality_Assurance_5km:Geolocation_Pointer = "Internal geolocation arrays"
;

        byte
Cloud_Mask_1km(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06,Cloud_Mask_1km_Num_
Bytes:mod06) ;
                Cloud_Mask_1km:long_name = "MODIS Cloud Mask, L2 MOD06 QA Plan" ;
                Cloud_Mask_1km:units = "none" ;
                Cloud_Mask_1km:valid_range = '\0', '\377' ;
                Cloud_Mask_1km:_FillValue = '\0' ;
                Cloud_Mask_1km:scale_factor = 1.0d ;
                Cloud_Mask_1km:add_offset = 0.0d ;
                Cloud_Mask_1km:Parameter_Type = "MODIS Input" ;
                Cloud_Mask_1km:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Cloud_Mask_1km:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Cloud_Mask_1km:description = "See MODIS atmosphere QA plan for details",



                                             121
                 Cloud_Mask_1km:Geolocation_Pointer = "External MODIS geolocation product"
;

        byte
Quality_Assurance_1km(Cell_Along_Swath_1km:mod06,Cell_Across_Swath_1km:mod06,QA_Parameter
_1km:mod06) ;
                Quality_Assurance_1km:long_name = "Quality Assurance at 1x1 Resolution" ;
                Quality_Assurance_1km:units = "none" ;
                Quality_Assurance_1km:valid_range = '\0', '\377' ;
                Quality_Assurance_1km:_FillValue = '\0' ;
                Quality_Assurance_1km:scale_factor = 1.0d ;
                Quality_Assurance_1km:add_offset = 0.0d ;
                Quality_Assurance_1km:Parameter_Type = "Output" ;
                Quality_Assurance_1km:Cell_Across_Swath_Sampling = 1, 1354, 1 ;
                Quality_Assurance_1km:Cell_Along_Swath_Sampling = 1, 2030, 1 ;
                Quality_Assurance_1km:description = "See MODIS atmosphere QA plan for
details" ;
                Quality_Assurance_1km:Geolocation_Pointer = "External MODIS geolocation
product" ;


data:

        Band_Number = 29, 31, 32, 33, 34, 35, 36 ;


//---------------------------------------------------------------------------------------
//                              ECS Inventory Metadata
//
// ECS Inventory Metadata are stored in the HDF attribute "CoreMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                   ECS     Number Of   Typical Value
//   ECS Core Attribute Name                      Data Type    Values      or Comment
//   -----------------------                      --------- ---------    -------------
//      SHORTNAME                                  STRING        1       "MOD06_L2"
//      VERSIONID                                  INTEGER       1       2
//      REPROCESSINGACTUAL                         STRING        1       "processed once"
//      REPROCESSINGPLANNED                        STRING        1       "further update
is anticipated"
//      LOCALGRANULEID                             STRING        1       file name in
MODIS naming
//                                                                       convention
//      LOCALVERSIONID                             STRING        1       "001"
//      DAYNIGHTFLAG                               STRING        1       "Day/Night/Both"
//      PRODUCTIONDATETIME                         DATETIME      1       variable
//      PGEVERSION                                 STRING        1       "2"
//      INPUTPOINTER                               STRING        50(Max) all input URs
//
//    RangeDateTime
//    -------------
//      RANGEBEGINNINGTIME                         TIME          1       variable
//      RANGEENDINGTIME                            TIME          1       variable
//      RANGEBEGINNINGDATE                         DATE          1       variable
//      RANGEENDINGDATE                            DATE          1       variable
//
//    Bounding Rectangle
//    ------------------
//      EASTBOUNDINGCOORDINATE                     DOUBLE        1       variable
//      WESTBOUNDINGCOORDINATE                     DOUBLE        1       variable
//      NORTHBOUNDINGCOORDINATE                    DOUBLE        1       variable
//      SOUTHBOUNDINGCOORDINATE                    DOUBLE        1       variable
//
//    OrbitCalculatedSpatialDomain
//    ----------------------------
//      ORBITNUMBER.1                              INTEGER       1       variable
//      EQUATORCROSSINGLONGITUDE.1                 DOUBLE        1       variable
//      EQUATORCROSSINGDATE.1                      DATE          1       variable
//      EQUATORCROSSINGTIME.1                      TIME          1       variable
//



                                             122
//    MeasuredParameter
//    -----------------
//      PARAMETERNAME.1                            STRING     1
"Cloud_Top_Pressure"
//      AUTOMATICQUALITYFLAG.1                     STRING     1   "Passed" or
"Failed"
//      AUTOMATICQUALITYFLAGEXPLANATION.1          STRING     1   "Passed: >10%
useable; Failed: <10% useable"
//      QAPERCENTMISSINGDATA.1                      INTEGER   1   variable
//
//    Additional Attributes (Inventory PSAs)
//    --------------------------------------
//      ADDITIONALATTRIBUTENAME.1                  STRING     1
"SuccessCloudTopPropRtrPct_IR"
//      ADDITIONALATTRIBUTENAME.2                  STRING     1
"SuccessCloudPhaseRtrPct_IR"
//      ADDITIONALATTRIBUTENAME.3                  STRING     1
"SuccessCloudOpticalPropRtr_VIS"
//      ADDITIONALATTRIBUTENAME.4                  STRING     1
"LowCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.5                  STRING     1
"MidCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.6                  STRING     1
"HighCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.7                   STRING    1
"ThinCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.8                  STRING     1
"ThickCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.9                  STRING     1
"OpaqueCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.10                 STRING     1
"CirrusCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.11                 STRING     1
"IceCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.12                  STRING    1
"WaterCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.13                 STRING     1
"MixedCloudDetectedPct_IR"
//      ADDITIONALATTRIBUTENAME.14                 STRING     1
"CloudPhaseUncertainPct_IR"
//      ADDITIONALATTRIBUTENAME.15                 STRING     1
"OceanCoverFractionPct"
//      ADDITIONALATTRIBUTENAME.16                 STRING     1
"LandCoverFractionPct"
//      ADDITIONALATTRIBUTENAME.17                 STRING     1
"SnowCoverFractionPct"
//      ADDITIONALATTRIBUTENAME.18                 STRING     1
"CloudCoverFractionPct_VIS"
//      ADDITIONALATTRIBUTENAME.19                 STRING     1
"WaterCloudDetectedPct_VIS"
//      ADDITIONALATTRIBUTENAME.20                 STRING     1
"IceCloudDetectedPct_VIS"
//
//      PARAMETERVALUE.1                            STRING    1   "   97.12", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.2                            STRING    1   "   67.12", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.3                            STRING    1   "   80.98", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.4                            STRING    1   "   90.28", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.5                            STRING    1   "   96.17", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.6                            STRING    1   "   5.87", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.7                            STRING    1   "   2.56", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.8                            STRING    1   "   16.27", an
F8.2 formatted floating point number // sample   value
//      PARAMETERVALUE.9                            STRING    1   "   67.45", an
F8.2 formatted floating point number // sample   value



                                          123
//      PARAMETERVALUE.10                           STRING        1       "    15.28", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.11                           STRING        1       "    22.76", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.12                           STRING        1       "     8.36", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.13                           STRING        1       "     6.51", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.14                           STRING        1       "    64.76", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.15                           STRING        1       "    45.82", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.16                           STRING        1       "    13.38", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.17                           STRING        1       "     0.07", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.18                           STRING        1       "    43.89", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.19                           STRING        1       "    77.32", an
F8.2 formatted floating point number // sample value
//      PARAMETERVALUE.20                           STRING        1       "    32.01", an
F8.2 formatted floating point number // sample value
//
//    Ancillary Input Granule (This attribute is written to the MOD06 Cloud Product only
for granules
//    -----------------------    containing MODIS observations at solar zenith angles less
than 90)
//      ANCILLARYINPUTTYPE.1                        STRING        1       "Geolocation"
//      ANCILLARYINPPUTPOINTER.1                    STRING        1       UR of
geolocation granule
//
//    AssociatedPlatformInstrumentSensor
//    ----------------------------------
//      ASSOCIATEDPLATFORMSHORTNAME.1               STRING        1       "AM-1"
//      ASSOCIATEDINSTRUMENTSHORTNAME.1             STRING        1       "MODIS"
//      ASSOCIATEDSENSORSHORTNAME.1                 STRING        1       "CCD"
//
//
//---------------------------------------------------------------------------------------
//                              ECS Archive Metadata
//
// ECS Archive Metadata are stored in the HDF attribute "ArchiveMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                    ECS     Number Of   Typical Value
//   ECS Core Attribute Name                       Data Type    Values       or Comment
//   -----------------------                       --------- ---------    --------------
//      DESCRREVISION                              STRING         1         "1.0"
//
//   Algorithm Package
//   -----------------
//      ALGORITHMPACKAGEACCEPTANCEDATE             STRING         1       "June 1997"
//      ALGORITHMPACKAGEMATURITYCODE               STRING         1       "at-launch"
//      ALGORITHMPACKAGENAME                       STRING         1       "ATBD-MOD-04 and
ATBD-MOD-05"
//      ALGORITHMPACKAGEVERSION                    STRING         1       "2"
//      INSTRUMENTNAME                             STRING         1       "Moderate
Resolution
//                                                                          Imaging
Spectroradiometer"
//      LONGNAME                                   STRING         1       "MODIS L2 Cloud
Product"
//      LOCALINPUTGRANULEID                        STRING         20 (Max) MODIS product
input file
//                                                                         names in MODIS
naming
//                                                                         convention

//
//   GPolygon



                                           124
//   --------
//      EXCLUSIONGRINGFLAG                        STRING         M,1     variable
//      GRINGPOINTLATITUDE                        DOUBLE         M,4     variable
//      GRINGPOINTLONGITUDE                       DOUBLE         M,4     variable
//      GRINGPOINTSEQUENCENO                      INTEGER        M,4     variable
//
//   Product Specific
//   ----------------
//      Algorithm_Version_Cloud_Top_Property_IR   STRING         1       variable
//      Algorithm_Version_Cloud_Phase_IR          STRING         1       variable
//      Algorithm_Version_Cloud_Property_VIS      STRING         1       varialbe
//
//M - indicates that multiple instances of these fields may be written to the
//    file in the ECS "CLASS" format. In this format, separate instances of
//    the field are identified by field name and an attached suffix of the form:
//    .1, .2, .3 etc. "M,4" means, for example, that an array of 4 corner point
//    latitudes is written to the file with each occurrence of field
//    GRINGPOINTLATITUDE. The first instance is specified as
//    GRINGPOINTLATITUDE.1. Only one occurrence of this field, and the
//    associated fields EXCLUSIONGRINGFLAG, GRINGPOINTLONGITUDE and
//    GRINGPOINTSEQUENCENO, are ever anticipated for MODIS.
//
//
//---------------------------------------------------------------------------------------
//                              ECS Structural Metadata
//
// ECS Structural Metadata are stored in the HDF attribute "StructMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//GROUP=SwathStructure
//
//   GROUP=SWATH_1
//      SwathName="mod06"
//
//      GROUP=Dimension
//            Cell_Along_Swath_5m=406          (typical)
//            Cell_Across_Swath_5km=270        (typical)
//            Cell_Along_Swath_1km=2030        (typical)
//            Cell_Across_Swath_1km=1354       (typical)
//            Band_Number=7
//            Band_Ratio=5
//            Band_Forcing=5
//            Band_Difference=2
//            Radius_Difference=2
//            QA_Parameter_5km=10
//            QA_Parameter_1km=5
//            Statistic_Parameter_1km=20
//
//      GROUP=DimensionMap (GeoDimension, DataDimension, Offset, Increment)
//            Cell_Across_Swath_5km,Cell_Across_Swath_1km,2,5
//            Cell_Along_Swath_5km, Cell_Along_Swath_1km,2,5
//
//      GROUP=IndexDimensionMap
//            None
//
//      GROUP=GeoField
//            DFNT_FLOAT32 Longitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_FLOAT32 Latitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//
//      GROUP=DataField
//            DFNT_INT32 Band_Number("Band_Number")
//            DFNT_FLOAT32 Statistics_1km("Statistic_Parameter_1km")
//            DFNT_FLOAT64
Scan_Start_Time("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16 Solar_Zenith("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16 Solar_Azimuth("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16 Sensor_Zenith("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16 Sensor_Azimuth("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Brightness_Temperature("Band_Number","Cell_Along_Swath_5km","Cell_Across_Swath_5km")



                                           125
//            DFNT_INT16
Surface_Temperature("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16 Surface_Pressure("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT8 Processing_Flag("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT8
Cloud_Height_Method("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Cloud_Top_Pressure("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Cloud_Top_Temperature("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Tropopause_Height("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT8 Cloud_Fraction("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT8
Cloud_Effective_Emissivity("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Cloud_Top_Pressure_Infrared("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Spectral_Cloud_Forcing("Band_Forcing","Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Cloud_Top_Pressure_From_Ratios("Band_Ratio","Cell_Along_Swath_5km","Cell_Across_Swath_5km
")
//            DFNT_INT16 Surface_Type("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Radiance_Variance("Band_Number","Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Brightness_Temperature_Difference("Band_Difference","Cell_Along_Swath_5km","Cell_Across_S
wath_5km")
//            DFNT_INT8
Cloud_Phase_Infrared("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT16
Effective_Particle_Radius("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//            DFNT_INT16
Cloud_Optical_Thickness("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//            DFNT_INT16
Effective_Radius_Difference("Cell_Along_Swath_1km,"Cell_Across_Swath_1km","Radius_Differe
nce")
//            DFNT_INT16 Water_Path("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//            DFNT_INT16 Cirrus_Reflectance("Cell_Along_Swath_1km",
"Cell_Across_Swath_1km")
//            DFNT_INT8 Cirrus_Reflectance_Flag("Cell_Along_Swath_1km",
"Cell_Across_Swath_1km")
//            DFNT_INT8 Cloud_Mask_5km("Cell_Along_Swath_5km","Cell_Across_Swath_5km")
//            DFNT_INT8
Quality_Assurance_5km("Cell_Along_Swath_5km","Cell_Across_Swath_5km","QA_Parameter_5km")
//            DFNT_INT8 Cloud_Mask_1km("Cell_Along_Swath_1km","Cell_Across_Swath_1km")
//            DFNT_INT8
Quality_Assurance_1km("Cell_Along_Swath_5km","Cell_Across_Swath_5km","QA_Parameter_1km")
//
//      GROUP=MergedFields
//            None
//
//GROUP=GridStructure
//      None
//
//GROUP=PointStructure
//      None


//----------------------------------------------------------------------------------
//                                 Vdatas
//----------------------------------------------------------------------------------
//
//Vdata = Band_Number
//   Class=
//   Number of Records = 7
//   Number of Fields = 1
//
//   Vdata Attributes:    Name             Type             Order       Value
//                         ----            ----             -----       -----




                                           126
//                        long_name        DFNT_CHAR8       17         "MODIS Band
Number"
//                        units            DFNT_CHAR8        4         "none"
//                     Geolocation_Pointer DFNT_CHAR8       31         "Geolocation data
not applicable"
//
//   Field Descriptions: Number            Type             Order      Name
//                        ------           ----             -----      -----
//                          0              DFNT_INT32          1       Band_Number
//
//Vdata = Statistics_1km
//   Class=
//   Number of Records = 20
//   Number of Fields = 1
//
//   Vdata Attributes:    Name             Type            Order       Value
//                        ----             ----            -----       -----
//                        long_name        DFNT_CHAR8       50         "Granule
Statistics for
//                                                                      parameters at
1x1 resolution"
//                        units            DFNT_CHAR8       25         "see description
attribute"
//                        _FillValue       DFNT_FLOAT32       1        -999.9
//                        description      DFNT_CHAR8      1329        see immediately
below
//"\n
//Statistics_1km:                                                                     \n
// 1. Successful Retrieval Rate (%)                                                   \n
// 2. Land Cover Fraction (%)                                                         \n
// 3. Water Cover Fraction (%)                                                        \n
// 4. Snow Cover Fraction (%)                                                         \n
// 5. Cloud Cover Fraction (%)                                                        \n
// 6. Water Cloud Detected (%)                                                        \n
// 7. Ice Cloud Detected (%)                                                          \n
// 8. Mean of Water Cloud Optical Thickness                                           \n
// 9. Standard Deviation of Water Cloud Optical Thickness                             \n
// 10.Mean of Ice Cloud Optical Thickness                                             \n
// 11.Standard Deviation of Ice Cloud Optical Thickness                               \n
// 12.Mean of Water Cloud Effective Particle Radius (microns)                         \n
// 13.Standard Deviation of Water Cloud Effective Particle Radius (microns)           \n
// 14.Mean of Ice Cloud Effective Diameter (microns)                                  \n
// 15.Standard Deviation of Ice Cloud Effective Diameter (microns)                    \n"
//
//   Field Descriptions: Number            Type             Order      Name
//                        ------           ----             -----      -----
//                          0              DFNT_FLOAT32        1       Statistics_1km

}




                                           127
 Appendix H: MOD07_L2 Atmospheric Profile File Specification
http://modis-atmos.gsfc.nasa.gov/_specs/MOD07_L2.CDL.fs
//----------------------------------------------------------------------------
// MODIS HDF File Specification MOD07_L2: MODIS Level 2 Atmospheric Profiles
//   Product, Total Ozone and Stability Indices at 5 km spatial resolutions
//
// This file specification document is written mainly in the network Common
// Data Form Language (CDL) to define HDF dimension names and sizes, and to
// declare attributes and arrays in terms of the dimensions. Other HDF
// objects not representable in CDL constructs (e.g. Vdata, Vgroups and ECS
// metadata) are described within comment blocks (any line or lines beginning
// with the characters "//").
//
// Array indexing is described in terms of the C programming language which
// is row dominant.
//----------------------------------------------------------------------------

netcdf MOD_PR07 {

dimensions:

         Cell_Across_Swath:mod07 = 270 ;           // typical size
         Cell_Along_Swath:mod07 = 406 ;            // typical size
         Band_Number:mod07 = 12 ;
         Pressure_Level:mod07 = 20 ;
         Output_Parameter:mod07 = 10 ;
         Water_Vapor_QA_Bytes = 5 ;

variables:

         :Number_of_Instrument_Scans = 203 ;      // typical value
         :Maximum_Number_of_1km_Frames = 1354 ;   // typical value
         :title = "MODIS Level 2 Atmospheric Profiles" ;
         :history = "$Id: MOD07.V2.CDL,v 1.1.2.3 2000/09/29 15:32:02 gumley Exp $" ;

//   The first two SDSs below, Band_Number and Pressure_Level, are represented
//   here as 1-dimensional arrays, even though they are actually implemented as
//   HDF Vdata objects, or tables, in the MOD07 product file. The description
//   of these objects in terms of Vdata parameters is provided below in the
//   vdata section.

         long Band_Number(Band_Number:mod07) ;
                 Band_Number:long_name = "MODIS Band Number" ;
                 Band_Number:units = "none" ;

         float Pressure_Level(Pressure_Level:mod07) ;
                 Pressure_Level:long_name = "Pressure Levels of Profiles" ;
                 Pressure_Level:units = "hPa" ;

        double Scan_Start_Time(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                Scan_Start_Time:long_name = "TAI time at start of scan replicated across
the swath" ;
                Scan_Start_Time:units = "seconds since 1993-1-1 00:00:00.0 0" ;
                Scan_Start_Time:scale_factor = 1.0d ;
                Scan_Start_Time:add_offset = 0.0d ;
                Scan_Start_Time:Parameter_Type = "MODIS Input" ;
                Scan_Start_Time:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Scan_Start_Time:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Scan_Start_Time:Geolocation_Pointer = "Internal geolocation arrays" ;
                Scan_Start_Time:valid_range = 0.0d, 3.1558e9d ;
                Scan_Start_Time:_FillValue = -999.9d ;

         float Latitude(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                 Latitude:long_name = "Geodetic Latitude" ;
                 Latitude:units = "degrees_north" ;
                 Latitude:scale_factor = 1.0d ;
                 Latitude:add_offset = 0.0d ;
                 Latitude:Parameter_Type = "MODIS Input" ;




                                             128
               Latitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Latitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Latitude:Geolocation_Pointer = "Internal geolocation arrays" ;
               Latitude:valid_range = -90.0f, 90.0f ;
               Latitude:_FillValue = -999.9f ;

       float Longitude(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Longitude:long_name = "Geodetic Longitude" ;
               Longitude:units = "degrees_east" ;
               Longitude:scale_factor = 1.0d ;
               Longitude:add_offset = 0.0d ;
               Longitude:Parameter_Type = "MODIS Input" ;
               Longitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Longitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Longitude:Geolocation_Pointer = "Internal geolocation arrays" ;
               Longitude:valid_range = -180.0f, 180.0f ;
               Longitude:_FillValue = -999.9f ;

       short Solar_Zenith(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Solar_Zenith:long_name = "Solar Zenith Angle, Cell to Sun" ;
               Solar_Zenith:units = "degrees" ;
               Solar_Zenith:scale_factor = 0.01d ;
               Solar_Zenith:add_offset = 0.0d ;
               Solar_Zenith:Parameter_Type = "MODIS Input" ;
               Solar_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Solar_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Solar_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;
               Solar_Zenith:valid_range = 0s, 18000s ;
               Solar_Zenith:_FillValue = -32768s ;

       short Solar_Azimuth(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Solar_Azimuth:long_name = "Solar Azimuth Angle, Cell to Sun" ;
               Solar_Azimuth:units = "degrees" ;
               Solar_Azimuth:scale_factor = 0.01d ;
               Solar_Azimuth:add_offset = 0.0d ;
               Solar_Azimuth:Parameter_Type = "MODIS Input" ;
               Solar_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Solar_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Solar_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
               Solar_Azimuth:valid_range = -18000s, 18000s ;
               Solar_Azimuth:_FillValue = -32768s ;

       short Sensor_Zenith(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Sensor_Zenith:long_name = "Sensor Zenith Angle, Cell to Sensor" ;
               Sensor_Zenith:units = "degrees" ;
               Sensor_Zenith:scale_factor = 0.01d ;
               Sensor_Zenith:add_offset = 0.0d ;
               Sensor_Zenith:Parameter_Type = "MODIS Input" ;
               Sensor_Zenith:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Sensor_Zenith:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Sensor_Zenith:Geolocation_Pointer = "Internal geolocation arrays" ;
               Sensor_Zenith:valid_range = 0s, 18000s ;
               Sensor_Zenith:_FillValue = -32768s ;

       short Sensor_Azimuth(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Sensor_Azimuth:long_name = "Sensor Azimuth Angle, Cell to Sensor" ;
               Sensor_Azimuth:units = "degrees" ;
               Sensor_Azimuth:scale_factor = 0.01d ;
               Sensor_Azimuth:add_offset = 0.0d ;
               Sensor_Azimuth:Parameter_Type = "MODIS Input" ;
               Sensor_Azimuth:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Sensor_Azimuth:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Sensor_Azimuth:Geolocation_Pointer = "Internal geolocation arrays" ;
               Sensor_Azimuth:valid_range = -18000s, 18000s ;
               Sensor_Azimuth:_FillValue = -32768s ;

        short
Brightness_Temperature(Band_Number:mod07,Cell_Along_Swath:mod07,Cell_Across_Swath:mod07)
;
                Brightness_Temperature:long_name = "Brightness Temperature" ;
                Brightness_Temperature:units = "K" ;



                                           129
                 Brightness_Temperature:scale_factor = 0.01d ;
                 Brightness_Temperature:add_offset = -15000.0d ;
                 Brightness_Temperature:Parameter_Type = "MODIS Input" ;
                 Brightness_Temperature:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Brightness_Temperature:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Brightness_Temperature:Geolocation_Pointer = "Internal geolocation
arrays" ;
                 Brightness_Temperature:valid_range = 0s, 20000s ;
                 Brightness_Temperature:_FillValue = -32768s ;

          byte Cloud_Mask(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                  Cloud_Mask:long_name = "MODIS Cloud Mask, First Byte" ;
                  Cloud_Mask:units = "none" ;
                  Cloud_Mask:scale_factor = 1.0d ;
                  Cloud_Mask:add_offset = 0.0d ;
                  Cloud_Mask:Parameter_Type = "MODIS Input" ;
                  Cloud_Mask:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                  Cloud_Mask:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                  Cloud_Mask:Geolocation_Pointer = "Internal geolocation arrays" ;
                  Cloud_Mask:valid_range = '\0', '\377' ;
                  Cloud_Mask:_FillValue = '\0' ;
                  Cloud_Mask:description = "\n",
"                                                                            \n",
"   Bit fields within each byte are numbered from the left:                  \n",
"   7, 6, 5, 4, 3, 2, 1, 0.                                                  \n",
"   The left-most bit (bit 7) is the most significant bit.                   \n",
"   The right-most bit (bit 0) is the least significant bit.                 \n",
"                                                                            \n",
"   bit field       Description                             Key              \n",
"   ---------       -----------                              ---             \n",
"                                                                            \n",
"   0               Cloud Mask Flag                      0 = Not determined \n",
"                                                        1 = Determined      \n",
"                                                                            \n",
"   2, 1            Unobstructed FOV Quality Flag        00 = Cloudy         \n",
"                                                        01 = Uncertain      \n",
"                                                        10 = Probably Clear \n",
"                                                        11 = Confident Clear\n",
"                   PROCESSING PATH                                          \n",
"                   ---------------                                          \n",
"   3               Day or Night Path                    0 = Night / 1 = Day \n",
"   4               Sunglint Path                        0 = Yes   / 1 = No \n",
"   5               Snow/Ice Background Path             0 = Yes   / 1 = No \n",
"   7, 6            Land or Water Path                   00 = Water          \n",
"                                                        01 = Coastal        \n",
"                                                        10 = Desert         \n",
"                                                        11 = Land           \n" ;

         short Surface_Temperature(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                 Surface_Temperature:long_name = "Surface Temperature" ;
                 Surface_Temperature:units = "K" ;
                 Surface_Temperature:scale_factor = 0.01d ;
                 Surface_Temperature:add_offset = -15000.0d ;
                 Surface_Temperature:Parameter_Type = "Non MODIS Input" ;
                 Surface_Temperature:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Surface_Temperature:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Surface_Temperature:Geolocation_Pointer = "Internal geolocation arrays" ;
                 Surface_Temperature:valid_range = 0s, 20000s ;
                 Surface_Temperature:_FillValue = -32768s ;

         short Surface_Pressure(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                 Surface_Pressure:long_name = "Surface Pressure" ;
                 Surface_Pressure:units = "hPa" ;
                 Surface_Pressure:scale_factor = 0.1d ;
                 Surface_Pressure:add_offset = 0.0d ;
                 Surface_Pressure:Parameter_Type = "Non MODIS Input" ;
                 Surface_Pressure:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                 Surface_Pressure:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                 Surface_Pressure:Geolocation_Pointer = "Internal geolocation arrays" ;
                 Surface_Pressure:valid_range = 8000s, 11000s ;
                 Surface_Pressure:_FillValue = -32768s ;



                                             130
       short Surface_Elevation(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Surface_Elevation:long_name = "Surface Elevation" ;
               Surface_Elevation:units = "m" ;
               Surface_Elevation:scale_factor = 1.0d ;
               Surface_Elevation:add_offset = 0.0d ;
               Surface_Elevation:Parameter_Type = "Non MODIS Input" ;
               Surface_Elevation:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Surface_Elevation:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Surface_Elevation:Geolocation_Pointer = "Internal geolocation arrays" ;
               Surface_Elevation:valid_range = -400s, 8840s ;
               Surface_Elevation:_FillValue = -32768s ;

       byte Processing_Flag(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Processing_Flag:long_name = "Processing Flag" ;
               Processing_Flag:units = "none" ;
               Processing_Flag:scale_factor = 1.0d ;
               Processing_Flag:add_offset = 0.0d ;
               Processing_Flag:Parameter_Type = "Output" ;
               Processing_Flag:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Processing_Flag:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Processing_Flag:Geolocation_Pointer = "Internal geolocation arrays" ;
               Processing_Flag:valid_range = '\0', '\1' ;
               Processing_Flag:_FillValue = '\177' ;

       short Tropopause_Height(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Tropopause_Height:long_name = "Tropopause Height" ;
               Tropopause_Height:units = "hPa" ;
               Tropopause_Height:scale_factor = 0.1d ;
               Tropopause_Height:add_offset = 0.0d ;
               Tropopause_Height:Parameter_Type = "Output" ;
               Tropopause_Height:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Tropopause_Height:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Tropopause_Height:Geolocation_Pointer = "Internal geolocation arrays" ;
               Tropopause_Height:valid_range = 10s, 11000s ;
               Tropopause_Height:_FillValue = -32768s ;

        short
Guess_Temperature_Profile(Pressure_Level:mod07,Cell_Along_Swath:mod07,Cell_Across_Swath:m
od07) ;
                Guess_Temperature_Profile:long_name = "Guess Temperature Profile" ;
                Guess_Temperature_Profile:units = "K" ;
                Guess_Temperature_Profile:scale_factor = 0.01d ;
                Guess_Temperature_Profile:add_offset = -15000.0d ;
                Guess_Temperature_Profile:Parameter_Type = "Non MODIS Input" ;
                Guess_Temperature_Profile:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Guess_Temperature_Profile:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Guess_Temperature_Profile:Geolocation_Pointer = "Internal geolocation
arrays" ;
                Guess_Temperature_Profile:valid_range = 0s, 20000s ;
                Guess_Temperature_Profile:_FillValue = -32768s ;

        short
Guess_Moisture_Profile(Pressure_Level:mod07,Cell_Along_Swath:mod07,Cell_Across_Swath:mod0
7) ;
                Guess_Moisture_Profile:long_name = "Guess Dew Point Temperature Profile"
;
                Guess_Moisture_Profile:units = "K" ;
                Guess_Moisture_Profile:scale_factor = 0.01d ;
                Guess_Moisture_Profile:add_offset = -15000.0d ;
                Guess_Moisture_Profile:Parameter_Type = "Non MODIS Input" ;
                Guess_Moisture_Profile:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Guess_Moisture_Profile:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Guess_Moisture_Profile:Geolocation_Pointer = "Internal geolocation
arrays" ;
                Guess_Moisture_Profile:valid_range = 0s, 20000s ;
                Guess_Moisture_Profile:_FillValue = -32768s ;

        short
Retrieved_Temperature_Profile(Pressure_Level:mod07,Cell_Along_Swath:mod07,Cell_Across_Swa
th:mod07) ;



                                           131
               Retrieved_Temperature_Profile:long_name = "Retrieved Temperature Profile"
;
               Retrieved_Temperature_Profile:units = "K" ;
               Retrieved_Temperature_Profile:scale_factor = 0.01d ;
               Retrieved_Temperature_Profile:add_offset = -15000.0d ;
               Retrieved_Temperature_Profile:Parameter_Type = "MODIS Ouput" ;
               Retrieved_Temperature_Profile:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Retrieved_Temperature_Profile:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Retrieved_Temperature_Profile:Geolocation_Pointer = "Internal geolocation
arrays" ;
               Retrieved_Temperature_Profile:valid_range = 0s, 20000s ;
               Retrieved_Temperature_Profile:_FillValue = -32768s ;

        short
Retrieved_Moisture_Profile(Pressure_Level:mod07,Cell_Along_Swath:mod07,Cell_Across_Swath:
mod07) ;
                Retrieved_Moisture_Profile:long_name = "Retrieved Dew Point Temperature
Profile" ;
                Retrieved_Moisture_Profile:units = "K" ;
                Retrieved_Moisture_Profile:scale_factor = 0.01d ;
                Retrieved_Moisture_Profile:add_offset = -15000.0d ;
                Retrieved_Moisture_Profile:Parameter_Type = "MODIS Output" ;
                Retrieved_Moisture_Profile:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Retrieved_Moisture_Profile:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Retrieved_Moisture_Profile:Geolocation_Pointer = "Internal geolocation
arrays" ;
                Retrieved_Moisture_Profile:valid_range = 0s, 20000s ;
                Retrieved_Moisture_Profile:_FillValue = -32768s ;

        short
Retrieved_Height_Profile(Pressure_Level:mod07,Cell_Along_Swath:mod07,Cell_Across_Swath:mo
d07) ;
                Retrieved_Height_Profile:long_name = "Retrieved Geopotential Height
Profile" ;
                Retrieved_Height_Profile:units = "m" ;
                Retrieved_Height_Profile:scale_factor = 1.0d ;
                Retrieved_Height_Profile:add_offset = -32500.0d ;
                Retrieved_Height_Profile:Parameter_Type = "MODIS Output" ;
                Retrieved_Height_Profile:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Retrieved_Height_Profile:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Retrieved_Height_Profile:Geolocation_Pointer = "Internal geolocation
arrays" ;
                Retrieved_Height_Profile:valid_range = -32500s, 32500s ;
                Retrieved_Height_Profile:_FillValue = -32768s ;

       short Total_Ozone(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Total_Ozone:long_name = "Total Ozone Burden" ;
               Total_Ozone:units = "Dobson" ;
               Total_Ozone:scale_factor = 0.1d ;
               Total_Ozone:add_offset = 0.0d ;
               Total_Ozone:Parameter_Type = "Output" ;
               Total_Ozone:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Total_Ozone:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Total_Ozone:Geolocation_Pointer = "Internal geolocation arrays" ;
               Total_Ozone:valid_range = 0s, 5000s ;
               Total_Ozone:_FillValue = -32768s ;

       short Total_Totals(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Total_Totals:long_name = "Total Totals" ;
               Total_Totals:units = "K" ;
               Total_Totals:scale_factor = 0.01d ;
               Total_Totals:add_offset = 0.0d ;
               Total_Totals:Parameter_Type = "Output" ;
               Total_Totals:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Total_Totals:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Total_Totals:Geolocation_Pointer = "Internal geolocation arrays" ;
               Total_Totals:valid_range = 0s, 8000s ;
               Total_Totals:_FillValue = -32768s ;

       short Lifted_Index(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Lifted_Index:long_name = "Lifted Index" ;



                                           132
               Lifted_Index:units = "K" ;
               Lifted_Index:scale_factor = 0.01d ;
               Lifted_Index:add_offset = 0.0d ;
               Lifted_Index:Parameter_Type = "Output" ;
               Lifted_Index:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Lifted_Index:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Lifted_Index:Geolocation_Pointer = "Internal geolocation arrays" ;
               Lifted_Index:valid_range = -2000s, 4000s ;
               Lifted_Index:_FillValue = -32768s ;

       short K_Index(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               K_Index:long_name = "K_Index" ;
               K_Index:units = "K" ;
               K_Index:scale_factor = 0.01d ;
               K_Index:add_offset = 0.0d ;
               K_Index:Parameter_Type = "Output" ;
               K_Index:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               K_Index:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               K_Index:Geolocation_Pointer = "Internal geolocation arrays" ;
               K_Index:valid_range = -500, 6500 ;
               K_Index:_FillValue = -32768s ;

        short Water_Vapor(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                Water_Vapor:long_name = "Total Column Precipitable Water Vapor - IR
Retrieval" ;
                Water_Vapor:units = "cm" ;
                Water_Vapor:scale_factor = 0.001d ;
                Water_Vapor:add_offset = 0.0d ;
                Water_Vapor:Parameter_Type = "Output" ;
                Water_Vapor:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Water_Vapor:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Water_Vapor:Geolocation_Pointer = "Internal geolocation arrays" ;
                Water_Vapor:valid_range = 0s, 20000s ;
                Water_Vapor:_FillValue = -9999s ;

       short Water_Vapor_Low(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
               Water_Vapor_Low:long_name = "Precipitable Water Vapor Low - IR Retrieval"
;
               Water_Vapor_Low:units = "cm" ;
               Water_Vapor_Low:scale_factor = 0.001d ;
               Water_Vapor_Low:add_offset = 0.0d ;
               Water_Vapor_Low:Parameter_Type = "Output" ;
               Water_Vapor_Low:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
               Water_Vapor_Low:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
               Water_Vapor_Low:Geolocation_Pointer = "Internal geolocation arrays" ;
               Water_Vapor_Low:valid_range = 0s, 20000s ;
               Water_Vapor_Low:_FillValue = -9999s ;

        short Water_Vapor_High(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07) ;
                Water_Vapor_High:long_name = "Precipitable Water Vapor High - IR
Retrieval" ;
                Water_Vapor_High:units = "cm" ;
                Water_Vapor_High:scale_factor = 0.001d ;
                Water_Vapor_High:add_offset = 0.0d ;
                Water_Vapor_High:Parameter_Type = "Output" ;
                Water_Vapor_High:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Water_Vapor_High:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Water_Vapor_High:Geolocation_Pointer = "Internal geolocation arrays" ;
                Water_Vapor_High:valid_range = 0s, 20000s ;
                Water_Vapor_High:_FillValue = -9999s ;

        byte
Quality_Assurance(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07,Output_Parameter:mod07)
;
                Quality_Assurance:long_name = "Quality Assurance Parameters" ;
                Quality_Assurance:units = "none" ;
                Quality_Assurance:scale_factor = 1.0d ;
                Quality_Assurance:add_offset = 0.0d ;
                Quality_Assurance:Parameter_Type = "Output" ;
                Quality_Assurance:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Quality_Assurance:Cell_Along_Swath_Sampling = 3, 2028, 5 ;



                                           133
                  Quality_Assurance:Geolocation_Pointer = "Internal geolocation arrays" ;
                  Quality_Assurance:description = "\n",
"                  Product and Optional run time QA flags            \n",
"                                                                    \n",
"                     Product run time QA flags                      \n",
"   QA Flag Name     Number of     Bit Value   Description           \n",
"                      Bits                                          \n",
"   -------------------------------------------------------------    \n",
"   Retrieved Temperature 1            0       not useful            \n",
"     Profile QA                       1       useful                \n",
"                                                                    \n",
"   Retrieved Temperature 2           0-3       4 confidence         \n",
"     Profile                                     levels             \n",
"     Confidence QA                                                  \n",
"                                                                    \n",
"   Spare                1                                           \n",
"                                                                    \n",
"   Retrieved Moisture   1             0       not useful            \n",
"     Profile                          1       useful                \n",
"     QA                                                             \n",
"                                                                    \n",
"   Retrieved Moisture   2            0-3       4 confidence         \n",
"     Profile                                     levels             \n",
"     Confidence QA                                                  \n",
"                                                                    \n",
"   Spare                1                                           \n",
"                                                                    \n",
"   Total Ozone          1             0       not useful            \n",
"     Burden QA                        1       useful                \n",
"                                                                    \n",
"   Total Ozone          2            0-3       4 confidence         \n",
"     Burden                                      levels             \n",
"     Confidence QA                                                  \n",
"                                                                    \n",
"   Spare                1                                           \n",
"                                                                    \n",
"   Lifted Index         1             0       not useful            \n",
"     Stability                        1       useful                \n",
"     Index QA                                                       \n",
"                                                                    \n",
"   Lifted Index         2            0-3       4 confidence         \n",
"     Stability                                   levels             \n",
"     Confidence QA                                                  \n",
"                                                                    \n",
"   Spare                1                                           \n",
"                                                                    \n",
"   K Index              1             0       not useful            \n",
"     Stability                        1       useful                \n",
"     Index QA                                                       \n",
"                                                                    \n",
"   K Index              2            0-3       4 confidence         \n",
"     Stability                                   levels             \n",
"     Confidence QA                                                  \n",
"                                                                    \n",
"   Spare                1                                           \n",
"                                                                    \n",
"   Total Totals         1             0       not useful            \n",
"     Stability                        1       useful                \n",
"     Index QA                                                       \n",
"                                                                    \n",
"   Total Totals         2            0-3       4 confidence         \n",
"     Stability                                   levels             \n",
"     Confidence QA                                                  \n",
"                                                                    \n",
"   Spare                1                                           \n",
"   ---------------------- 3 bytes total -----------------------     \n",
"                                                                    \n",
"     Optional run time QA flags - processing path flags             \n",
"   QA Flag Name     Number of     Bit Value   Description           \n",
"                      Bits                                          \n",
"   -------------------------------------------------------------    \n",



                                             134
"   Number of           8            0-25                            \n",
"     Cloudy Pixels                                                  \n",
"     within 5x5 km                                                  \n",
"     box                                                            \n",
"                                                                    \n",
"   Number of            8            0-25                           \n",
"     Clear Pixels                                                   \n",
"     within 5x5 km                                                  \n",
"     box                                                            \n",
"                                                                    \n",
"   Number of            8            0-25                           \n",
"     Missing                                                        \n",
"     Pixels within                                                  \n",
"     5x5 km box                                                     \n",
"                                                                    \n",
"   Method               2             0       Statistical           \n",
"    of Profiles                       1       Physical              \n",
"    Retrieval                         2       Other                 \n",
"                                      3       No retrieval          \n",
"                                                                    \n",
"   Method               2             0       RTE Perturbation      \n",
"    of Ozone                          1       Upper and Lower       \n",
"    Retrieval                                 Stratospheric Ozone Method \n",
"                                      2       Other                 \n",
"                                      3       No retrieval          \n",
"                                                                    \n",
"   Spares               4                                           \n",
"   ---------------   4 bytes total -----------------------------    \n",
"                                                                    \n",
"     Optional run time QA flags - data resource flags               \n",
"                                                                    \n",
"   QA Flag Name     Number of     Bit Value   Description           \n",
"                      Bits                                          \n",
"   -------------------------------------------------------------    \n",
"   Guess Moisture       2             0       NCEP                  \n",
"     profile                          1       DAO                   \n",
"     source                           2       AIRS/AMSU             \n",
"                                      3       Not used              \n",
"                                                                    \n",
"   Guess Temperature    2             0       NCEP                  \n",
"     Profile                          1       DAO                   \n",
"     source                           2       AIRS/AMSU             \n",
"                                      3       Not used              \n",
"                                                                    \n",
"   Surface              2             0       NCEP                  \n",
"     Temperature                      1       DAO                   \n",
"     Over Land                        2       Other                 \n",
"                                      3       Not used              \n",
"                                                                    \n",
"   Surface              2             0       Reynolds blended      \n",
"     Temperature                      1       DAO                   \n",
"     Over Ocean                       2       Other                 \n",
"                                      3       Not used              \n",
"                                                                    \n",
"   Surface              2             0       NCEP                  \n",
"     Pressure                         1       DAO                   \n",
"                                      2       Other                 \n",
"                                      3       Not used              \n",
"                                                                    \n",
"   Ozone                2             0       TOMS                  \n",
"     Profile                          1       TOVS                  \n",
"     First                            2       DAO                   \n",
"     Guess                            3       Other                 \n",
"                                                                    \n",
"   Spares              12                                           \n",
"   ------------------ 2 bytes total ----------------------------    \n" ;
                  Quality_Assurance:valid_range = '\0', '\377' ;
                  Quality_Assurance:_FillValue = '\0' ;




                                             135
        byte
Quality_Assurance_Infrared(Cell_Along_Swath:mod07,Cell_Across_Swath:mod07,Water_Vapor_QA_
Bytes:mod07) ;
                Quality_Assurance_Infrared:long_name = "Run time QA flags" ;
                Quality_Assurance_Infrared:units = "none" ;
                Quality_Assurance_Infrared:scale_factor = 1.0d ;
                Quality_Assurance_Infrared:add_offset = 0.0d ;
                Quality_Assurance_Infrared:Parameter_Type = "Output" ;
                Quality_Assurance_Infrared:Cell_Across_Swath_Sampling = 3, 1348, 5 ;
                Quality_Assurance_Infrared:Cell_Along_Swath_Sampling = 3, 2028, 5 ;
                Quality_Assurance_Infrared:Geolocation_Pointer = "Internal geolocation
arrays" ;
                Quality_Assurance_Infrared:description = "\n",
"                                                                  \n",
" Water Vapor IR product and Optional run time QA flags            \n",
"                                                                  \n",
"                   Product run time QA flags                      \n",
" QA Flag Name     Number of     Bit Value   Description           \n",
"                    Bits                                          \n",
" -------------------------------------------------------------    \n",
" IR Water Vapor       1             0       not useful            \n",
"   QA                               1       useful                \n",
"                                                                  \n",
" IR Water Vapor       2            0-3       4 confidence         \n",
"   Confidence QA                               levels             \n",
"                                                                  \n",
" Spares               5                                           \n",
" ---------------------- 1 byte total -------------------------    \n",
"                                                                  \n",
"   Optional run time QA flags - processing path flags             \n",
" QA Flag Name     Number of     Bit Value   Description           \n",
"                    Bits                                          \n",
" -------------------------------------------------------------    \n",
" Number of            8            0-25                           \n",
"   Cloudy Pixels                                                  \n",
"   within 5x5 km                                                  \n",
"   box                                                            \n",
"                                                                  \n",
" Number of            8            0-25                           \n",
"   Clear Pixels                                                   \n",
"   within 5x5 km                                                  \n",
"   box                                                            \n",
"                                                                  \n",
" Number of            8            0-25                           \n",
"   Missing                                                        \n",
"   Pixels within                                                  \n",
"   5x5 km box                                                     \n",
"                                                                  \n",
" IR Water Vapor       2             0      Split Window (11-12) technique \n",
"   Retrieval                        1      Integration of moisture profile \n",
"   Method Used                      2      Other                  \n",
"                                    3      No Retrieval           \n",
"                                                                  \n",
" Spares               6                                           \n",
" ---------------------- 4 bytes total -----------------------     \n";
                Quality_Assurance_Infrared:valid_range = '\0', '\377' ;
                Quality_Assurance_Infrared:_FillValue = '\0' ;

data:

      Band_Number = 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 ;
      Pressure_Level = 05., 10., 20., 30., 50., 70., 100., 150., 200., 250., 300., 400.,
500., 620., 700., 780., 850., 920., 950., 1000. ;

//---------------------------------------------------------------------------------------
//                              ECS Inventory Metadata
//
// ECS Inventory Metadata are stored in the HDF attribute "CoreMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//



                                           136
//                                                  ECS      Number Of    Typical Value
//   ECS Core Attribute Name                     Data Type     Values       or Comment
//   -----------------------                     ---------   ---------    -------------
//      SHORTNAME                                 STRING         1        "MOD07_L2"
//      VERSIONID                                 INTEGER        1        2
//      REPROCESSINGACTUAL                        STRING         1        "processed once"
//      REPROCESSINGPLANNED                       STRING         1        "further update
is anticipated"
//      LOCALGRANULEID                           STRING         1         product file
name using MODIS
//                                                                        naming
convention
//      LOCALVERSIONID                           STRING         1         "001"
//      DAYNIGHTFLAG                             STRING         1         "Day/Night/Both"
//      PRODUCTIONDATETIME                       DATETIME       1         variable
//      PGEVERSION                               STRING         1         "2"
//      INPUTPOINTER                             STRING         30(Max)   all input URs
//
//    RangeDateTime
//    -------------
//      RANGEBEGINNINGTIME                       TIME           1         variable
//      RANGEENDINGTIME                          TIME           1         variable
//      RANGEBEGINNINGDATE                       DATE           1         variable
//      RANGEENDINGDATE                          DATE           1         variable
//
//    Bounding Rectangle
//    ------------------
//      EASTBOUNDINGCOORDINATE                   DOUBLE         1         variable
//      WESTBOUNDINGCOORDINATE                   DOUBLE         1         variable
//      NORTHBOUNDINGCOORDINATE                  DOUBLE         1         variable
//      SOUTHBOUNDINGCOORDINATE                  DOUBLE         1         variable
//
//    OrbitCalculatedSpatialDomain
//    ----------------------------
//      ORBITNUMBER.1                            INTEGER        1         variable
//      EQUATORCROSSINGLONGITUDE.1               DOUBLE         1         variable
//      EQUATORCROSSINGDATE.1                    DATE           1         variable
//      EQUATORCROSSINGTIME.1                    TIME           1         variable
//
//    MeasuredParameter
//    -----------------
//      PARAMETERNAME.1                          STRING         1
"Water_Vapor_Infrared"
//      AUTOMATICQUALITYFLAG.1                   STRING         1         "Passed" or
"Failed"
//      AUTOMATICQUALITYFLAGEXPLANATION.1        STRING         1         "Passed: >10%
useable; Failed: <10% useable"
//      QAPERCENTMISSINGDATA.1                   INTEGER         1        variable
//
//    Additional Attributes (Inventory PSAs)
//    --------------------------------------
//      ADDITIONALATTRIBUTENAME.1                STRING         1
"SuccessfulRetrievalPct
//      ADDITIONALATTRIBUTENAME.2                 STRING         1
"LowConfidentClearPct"
//      ADDITIONALATTRIBUTENAME.3                STRING         1
"DayProcessedPct"
//      ADDITIONALATTRIBUTENAME.4                STRING         1
"NightProcessedPct"
//      ADDITIONALATTRIBUTENAME.5                 STRING        1
"SunglintProcessedPct"
//      ADDITIONALATTRIBUTENAME.6                STRING         1
"Snow_IceSurfaceProcessedPct"
//      ADDITIONALATTRIBUTENAME.7                STRING         1
"LandProcessedPct"
//      ADDITIONALATTRIBUTENAME.8                STRING         1
"WaterProcessedPct"
//      ADDITIONALATTRIBUTENAME.9                STRING         1         "ShadowFoundPct"
//      ADDITIONALATTRIBUTENAME.10               STRING         1
"ThinCirrusSolarFoundPct"




                                           137
//      ADDITIONALATTRIBUTENAME.11                  STRING      1
"ThinCirrusIR_FoundPct"
//      ADDITIONALATTRIBUTENAME.12                  STRING      1
"NonCloudObstructionFoundPct"
//      ADDITIONALATTRIBUTENAME.13                  STRING      1
"MaxSolarZenithAngle"
//      ADDITIONALATTRIBUTENAME.14                  STRING      1
"MinSolarZenithAngle"
//
//      PARAMETERVALUE.1                             STRING     1       "   97.12", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.2                             STRING     1       "   80.98", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.3                             STRING     1       "   96.17", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.4                             STRING     1       "    5.87", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.5                             STRING     1       "    2.56", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.6                             STRING     1       "   16.27", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.7                             STRING     1       "   67.45", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.8                             STRING     1       "   15.28", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.9                             STRING     1       "   22.76", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.10                            STRING     1       "    8.36", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.11                            STRING     1       "    6.51", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.12                            STRING     1       "   64.76", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.13                            STRING     1       "   45.82", an
F8.2 formatted floating point number //    sample value
//      PARAMETERVALUE.14                            STRING     1       "   13.38", an
F8.2 formatted floating point number //    sample value
//
//
//    AssociatedPlatformInstrumentSensor
//    ----------------------------------
//      ASSOCIATEDPLATFORMSHORTNAME.1               STRING      1       "AM-1"
//      ASSOCIATEDINSTRUMENTSHORTNAME.1             STRING      1       "MODIS"
//      ASSOCIATEDSENSORSHORTNAME.1                 STRING      1       "CCD"


//---------------------------------------------------------------------------------------
//                              ECS Archive Metadata
//
// ECS Archive Metadata are stored in the HDF attribute "ArchiveMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//                                                   ECS     Number Of   Typical Value
//   ECS Core Attribute Name                      Data Type    Values      or Comment
//   -----------------------                      --------- ---------    --------------
//      DESCRREVISION                             STRING         1       "1.0"
//
//   Algorithm Package
//   -----------------
//      ALGORITHMPACKAGEACCEPTANCEDATE             STRING        1       "June 1997"
//      ALGORITHMPACKAGEMATURITYCODE               STRING        1       "at-launch"
//      ALGORITHMPACKAGENAME                       STRING        1       "ATBD-MOD-07"
//      ALGORITHMPACKAGEVERSION                    STRING        1       "2"
//      INSTRUMENTNAME                             STRING        1       "Moderate
Resolution
//                                                                        Imaging
Spectroradiometer"
//      LOCALINPUTGRANULEID                        STRING        10(Max) MODIS product
input file




                                             138
//                                                                       names in MODIS
naming
//                                                                        convention
//      LONGNAME                                     STRING      1       "MODIS Level 2
Profiles"
//
//   GPolygon
//   --------
//      EXCLUSIONGRINGFLAG                           STRING     M,1     variable
//      GRINGPOINTLATITUDE                           DOUBLE     M,4     variable
//      GRINGPOINTLONGITUDE                          DOUBLE     M,4     variable
//      GRINGPOINTSEQUENCENO                         INTEGER    M,4     variable
//
//   Archive Product-Specific Attributes (PSAs)
//   ------------------------------------------
//      Profiles_Algorithm_Version_Number            STRING     1       variable
//      Total_Ozone_Algorithm_Version_Number         STRING     1       variable
//      Stability_Indices_Algorithm_Version_Number   STRING     1       variable


//---------------------------------------------------------------------------------------
//                              ECS Structural Metadata
//
// ECS Structural Metadata are stored in the HDF attribute "StructMetadata.0" whose
// content is described immediately below.
//---------------------------------------------------------------------------------------
//
//define HDFEOS swath structures
//------------------------------
//GROUP=SwathStructure
//
//   define first swath, MOD06_c, for coarse resolution parameters
//   -------------------------------------------------------------
//   GROUP=SWATH_1
//      SwathName="mod07"
//
//      dimensions of data and geolocation fields placed in swath
//      ---------------------------------------------------------
//      GROUP=Dimension
//        Cell_Along_Swath = 406    (typical)
//        Cell_Across_Swath = 270   (typical)
//        Band_Number = 15
//        Pressure_Level = 20
//        Output_Parameter = 10
//        Water_Vapor_QA_Bytes = 5
//
//      define dimension mapping between data and geolocation fields
//      if not shown, one-to-one mapping implied
//      ------------------------------------------------------------
//      GROUP=DimensionMap
//        None
//
//      dimension indexing
//      ------------------
//      GROUP=IndexDimensionMap
//        None
//
//      define geolocation fields used in swath
//      ---------------------------------------
//      GROUP=GeoField
//        DFNT_FLOAT32 Longitude("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_FLOAT32 Latitude("Cell_Along_Swath","Cell_Across_Swath")
//
//      define science parameter data fields to be placed in swath
//      ----------------------------------------------------------
//      GROUP=DataField
//        DFNT_FLOAT64 Scan_Start_Time("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Solar_Zenith("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Solar_Azimuth("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Sensor_Zenith("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Sensor_Azimuth("Cell_Along_Swath","Cell_Across_Swath")



                                           139
//        DFNT_INT16 Brightness_Temperature("Band_Number","Cell_Along_Swath",
//                                          "Cell_Across_Swath")
//        DFNT_INT8 Cloud_Mask("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Surface_Temperature("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Surface_Pressure("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT8 Processing_Flag("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Tropopause_Height("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Guess_Temperature_Profile("Pressure_Level","Cell_Along_Swath",
//                                              "Cell_Across_Swath")
//        DFNT_INT16 Guess_Moisture_Profile("Pressure_Level","Cell_Along_Swath",
//                                          "Cell_Across_Swath")
//        DFNT_INT16 Retrieved_Temperature_Profile("Pressure_Level","Cell_Along_Swath",
//                                                  "Cell_Across_Swath")
//        DFNT_INT16 Retrieved_Moisture_Profile("Pressure_Level","Cell_Along_Swath",
//                                               "Cell_Across_Swath")
//        DFNT_INT16 Total_Ozone("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Total_Totals("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Lifted_Index("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 K_Index("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Water_Vapor("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Water_Vapor_Low("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT16 Water_Vapor_High("Cell_Along_Swath","Cell_Across_Swath")
//        DFNT_INT8 Quality_Assurance("Cell_Along_Swath","Cell_Across_Swath",
//                                     "Output_Parameter")
//        DFNT_INT8 Quality_Assurance_Infrared("Cell_Along_Swath","Cell_Across_Swath",
//                                               "Water_Vapor_QA_Bytes")
//        DFNT_INT16 Band_Number("Band_Number")
//        DFNT_FLOAT32 Pressure_Level("Pressure_Level")
//
//      define merged fields used in swath
//      ----------------------------------
//      GROUP=MergedFields
//        None
//
//define HDFEOS grid structures
//-----------------------------
//GROUP=GridStructure
//    None
//
//define HDFEOS point structures
//------------------------------
//GROUP=PointStructure
//    None


//----------------------------------------------------------------------------------
//                                 Vdatas
//----------------------------------------------------------------------------------
//
//Vdata = Band_Number
//   Class=
//   Number of Records = 15
//   Number of Fields = 1
//
//   Vdata Attributes:    Name             Type             Order       Value
//                        ----             ----             -----       -----
//                        long_name        DFNT_CHAR8        17         "MODIS Band
Number"
//                        units            DFNT_CHAR8         4         "none"
//
//   Field Descriptions: Number            Type              Order      Name
//                        ------           ----              -----      -----
//                          0              DFNT_INT16          1        Band_Number
//
//Vdata = Pressure_Level
//   Class=
//   Number of Records = 20
//   Number of Fields = 1
//
//   Vdata Attributes:    Name             Type             Order       Value
//                        ----             ----             -----       -----



                                           140
//                         long_name   DFNT_CHAR8     27      "Pressure Levels
of Profiles"
//                         units       DFNT_CHAR8      3      "hPa"
//
//   Field Descriptions:   Number      Type           Order   Name
//                         ------      ----           -----   -----
//                           0         DFNT_FLOAT32     1     Band_Number
}




                                       141

								
To top