MODIS Airborne Simulator
Documents and Research
Level-1B Data Users Guide

 

by Liam Gumley, Paul Hubanks, and Ed Masuoka
April 1994

 

image of user guide cover sheet

Table of Contents

 

1.0 Introduction

2.0 MAS Instrument Summary
2.1 MAS Specifications
2.2 MAS Channel Configuration Summary
2.3 MAS Experiment Acronyms
2.4 Glossary

3.0 MAS Data Calibration
3.1 Visible/Near-Infrared Band Calibration
3.2 Temperature Correction of Visible/Near-Infrared Bands
3.3 Infrared Band Calibration

4.0 MAS Data Geolocation

5.0 Obtaining MAS LEVEL-1B Data
5.1 Distribution Contact Points
5.2 SDST Distribution Tape Format

6.0 How to decode MAS LEVEL-1B Data
6.1 Introduction to HDF
6.2 Obtaining HDF Libraries
6.3 Decoding and Extracting MAS Level-1B Data

7.0 Structure and Contents of MAS LEVEL-1B Data
7.1 Data Structure Summary
7.2 Data Structure Term Definitions

8.0 Obtaining Summary and Browse Information

9.0 MAS Contact List

10.0 References

 

1.0 Introduction

The MODIS Airborne Simulator (MAS) is a modified Daedalus Wildfire scanning spectrometer which flies on a NASA ER-2 and provides spectral information similar to that which will be provided by the Moderate Resolution Imaging Spectroradiometer (MODIS), scheduled to be launched on the EOS-AM platform in 1998 (King et al. 1992). The principal investigators for the MAS are Dr. Michael King (NASA/GSFC, Greenbelt MD), and Dr. Paul Menzel (NOAA/NESDIS, Madison, Wisconsin).

The Wildfire Spectrometer was delivered to NASA Ames Research Center in April 1991. A single visible channel was added and several spectral channels in the infrared port were altered to configure the instrument for the FIRE Cirrus-II experiment. In January 1992 the modified Wildfire was then further modified to become MAS. Beginning in June of 1992, the MAS has been flown in a series of experiments that lasted on average 2 to 4 weeks and were held approximately every 6 months.

The MAS spectrometer acquires high spatial resolution imagery in the wavelength range 0.55 to 14.3 microns. A total of 50 spectral bands are available in this range, and currently the digitizer is configured before each mission to record any 12 of these bands during flight. For all pre-1994 MAS missions the 12-channel digitizer was configured with four 10-bit channels and seven 8-bit channels. The MAS spectrometer is mated to a scanner sub-assembly which collects image data with an IFOV of 2.5 mrad, giving a ground resolution of 50 meters from 20000 meters altitude, and a cross track scan width of 85.92 degrees. More details on the MAS sensor and scanner characteristics are shown in Section 2. A 50-channel digitizer which will record all 50 spectral bands at 12 bit resolution is currently under development and is expected to be completed in mid 1994.

In support of the MODIS program, a MAS LEVEL-1B processing system was designed and implemented by the MODIS Science Data Support Team (SDST) at NASA Goddard Space Flight Center in 1991. The purpose of the processing system is to ingest MAS LEVEL-0 aircraft sensor, engineering and navigation data, and produce calibrated, geolocated radiances (LEVEL-1B) in a portable format (HDF). The system was designed by Liam Gumley, and is currently maintained by Paul Hubanks of Research and Data Systems, Corporation.

The purpose of this document is to describe the characteristics of MAS LEVEL-1B data, the calibration and geolocation methods used in processing, the structure and format of the LEVEL-1B data files, and methods for accessing the data.

Questions about MAS LEVEL-1B data should be directed to:

Paul A. Hubanks
MAS Level-1B Processing Manager
Research and Data Systems Corporation
phone: (301) 982-3724
email: hubanks@ltpmail.gsfc.nasa.gov


2.0 MAS Instrument Summary

2.1 MAS Specifications

The MAS spectrometer is mated to a scanning system of the type described by Jedlovec et al. (1989). Table 1 summarizes that characteristics of the MAS sensor, platform, and scanning system.

Platform: NASA ER-2 aircraft
Ground Speed: 400 kts (206 m/second)
Altitude: 20 kilometers (nominal)
Pixel Spatial Resolution: 50 meters (at 20 kilometers altitude)
Pixels per Scan Line: 716 (roll corrected)
Scan Rate: 6.25 scans/second
Swath width: 37.25 km or 22.9 mi (at 20 km altitude)
Total Field of View: 85.92°
Instantaneous Field of View: 2.5 milliradians
Roll Correction: Plus or minus 3.5 degrees (approx)
Data Channels: 50 (pre-1995 was 12 selected from 50 spectral bands)
Spectral Bands: 50 (digitized to 16-bit resolution)
  Port 1: 09 bands from 0.529 - 0.969 micron
  Port 2: 16 bands from 1.595 - 2.405 microns
  Port 3: 15 bands from 2.925 - 5.325 microns
  Port 4: 09 bands from 8.342 -14.521 microns
Bits per Channel: 12 bits (pre-1995: 8 bits, configured to have 4 chs @ 10 bits, 7 chs @ 8bits)
Data Rate: 246 Megabytes/hour
Visible Calibration: Integrating sphere on the ground
Infrared Calibration: Two black bodies on board
Table 1. MODIS Airborne Simulator Platform/Instrument Specifications

 

2.2 MAS Channel Configuration Summary

In November/December 1991, the modified Wildfire instrument was flown in the FIRE Cirrus-II experiment onboard a NASA ER-2 in coordination with other aircraft and satellites over the Coffeyville KS field site as well as the TX/LA Gulf coast. In January 1992, the modified Wildfire was converted to MAS configuration. In June 1992 the MAS was flown over portions of the Atlantic Ocean in the region of the Azores during the ASTEX experiment. During early 1993 the MAS was flown in the southwestern Pacific Ocean during the TOGA/COARE and CEPEX experiments. In July 1993 the MAS was flown over the northeastern United States during the SCAR-A experiment. During 1994, two missions are planned: a Navy ship-tracks experiment (MAST) and a fire experiment over California (SCAR-C).

Although the MAS instrument is a 50 band spectrometer, the data system used until mid 1994 has had the capability to record only 12 channels (at 8 bit resolution). The tables that follow show the channel configuration of the MAS data system for missions flown through July 1993. The recording of particular bands in specified channels is arbitrary and is determined before each experiment by the principal investigators (scientists) for each mission.

By January 1995, modifications that allow the Modis Airborne Simulator to record information in 50 visible and infrared spectral band regions at 12-bit resolution had been completed. Offered below is the spectral band configuration for Alaska-April95, ARMCAS, and SCAR-B (missions flown in 1995). Later missions had unique spectral band configurations which are offered on their respective Field Experiment Data pages.

(All values are in microns)
Band  Left  Peak  Right
      50%   100%   50%

 01  0.523  0.546  0.569 

02 0.627 0.653 0.680
03 0.679 0.700 0.721
04 0.720 0.741 0.762
05 0.761 0.781 0.802
06 0.802 0.823 0.844
07 0.844 0.865 0.886
08 0.888 0.906 0.922
09 0.921 0.945 0.967
10 1.595 1.622 1.650
11 1.652 1.678 1.705
12 1.706 1.732 1.757
13 1.759 1.786 1.812
14 1.813 1.838 1.863
15 1.863 1.889 1.914
16 1.914 1.939 1.963
17 1.964 1.989 2.013
18 2.014 2.040 2.064
19 2.066 2.090 2.113
20 2.114 2.138 2.162
21 2.163 2.187 2.210
22 2.211 2.237 2.261
23 2.262 2.287 2.310
24 2.312 2.337 2.360
25 2.361 2.386 2.410
26 2.875 2.959 3.039
27 3.031 3.110 3.195
28 3.202 3.276 3.358
29 3.338 3.422 3.507
30 3.511 3.588 3.668
31 3.669 3.743 3.819
32 3.819 3.901 3.986
33 3.976 4.054 4.132
34 4.126 4.208 4.288
35 4.288 4.363 4.435
36 4.439 4.516 4.594
37 4.585 4.667 4.748
38 4.745 4.823 4.901
39 4.897 4.974 5.047
40 5.046 5.124 5.203
41 5.205 5.281 5.362
42 8.386 8.600 8.822
43 9.484 9.785 10.101
44 10.300 10.546 10.794
45 10.746 11.022 11.289
46 11.736 11.976 12.185
47 12.651 12.859 13.109
48 12.998 13.244 13.470
49 13.421 13.723 14.021
50 13.960 14.193 14.383

Prior to 1995, the MAS data system was capable of recording only 12 spectral bands at 8-bit resolution. This required unique instrument configurations for each Field Experiment.

(Column 1 is MAS Data Channel Number)
(Column 2 is MAS Spectral Band Number)
(Column 3 is wavelength at center 100% response (microns))
(Column 4 is bandwidth at 50% response (microns))

 

FIRE Cirrus-II (First ISCCP Regional Experiment Cirrus IFO II)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01       (bit bucket for 10-bit data: Channels 7,8,9,10)
    02           N/A          0.680             0.010
    03           N/A          1.630             0.050
    04           N/A          1.930             0.050 
    05           N/A          2.080             0.050
    06           N/A          2.130             0.050
    07           N/A          3.750             0.150
    08           N/A          4.650             0.150
    09           N/A          4.500             0.150 
    10           N/A          8.800             0.400
    11           N/A         10.950             0.500
    12           N/A         11.950             0.500

ASTEX (Atlantic Stratocumulus Transition Experiment)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01     (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           02           0.664             0.055
    03           07           0.875             0.041
    04           09           0.945             0.043
    05           10           1.623             0.057
    06           20           2.142             0.047
    07           31           3.725             0.151
    08           49          13.952             0.517
    09           42           8.563             0.396
    10           45          11.002             0.448
    11           48          13.186             0.352
    12           46          12.032             0.447

TOGA COARE (TOGA Coupled Ocean-Atmosphere Response Experiment)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01     (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           02           0.664             0.055
    03           07           0.875             0.041
    04           10           1.623             0.057
    05           14           1.830             0.050
    06           20           2.142             0.047
    07           31           3.725             0.151
    08           49          13.952             0.517
    09           42           8.563             0.396 
    10           45          11.002             0.448 
    11           48          13.186             0.352
    12           46          12.032             0.447

 

CEPEX (Central Equatorial Pacific Experiment)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01     (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           02           0.664             0.055
    03           07           0.875             0.041
    04           10           1.623             0.057
    05           15           1.880             0.050
    06           20           2.142             0.047
    07           31           3.725             0.151
    08           49          13.952             0.517
    09           42           8.563             0.396
    10           45          11.002             0.448
    11           48          13.186             0.352
    12           46          12.032             0.447

 

SCAR-A (Sulfates, Clouds and Radiation - America)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01       (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           01           0.547             0.043
    03           02           0.664             0.055
    04           07           0.875             0.041  
    05           09           0.945             0.043 
    06           15           1.880             0.050
    07           20           2.142             0.047
    08           31           3.725             0.151
    09           42           8.563             0.396
    10           45          11.002             0.448
    11           48          13.186             0.352
    12           46          12.032             0.447

 

BOREAS/FFC-W (Boreal Ecosystem-Atmosphere Study / Winter)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01     (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           01           0.547             0.043
    03           02           0.664             0.055 
    04           05           0.786             0.040
    05           06           0.834             0.042 
    06           07           0.875             0.041
    07           09           0.945             0.043 
    08           10           1.623             0.057
    09           15           1.830             0.050
    10           31           3.725             0.151 
    11           42           8.563             0.396 
    12           45          11.002             0.448 

 

MAST (Monterey Area Ship Track Experiment)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01       (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           02           0.664             0.055  
    03           07           0.875             0.041 
    04           10           1.623             0.057
    05           15           1.880             0.050 
    06           20           2.142             0.047
    07           23           2.280             0.050
    08           32           3.900             0.150 
    09           31           3.725             0.151
    10           42           8.563             0.396
    11           45          11.002             0.448
    12           46          12.032             0.447

 

BOREAS/IFC-2 (Boreal Ecosystem-Atmosphere Study / Field Campaign 2)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01           01           0.547             0.043
    02           02           0.664             0.055
    03           04           0.745             0.040 
    04           05           0.786             0.040
    05           06           0.834             0.042
    06           07           0.875             0.041
    07           09           0.945             0.043
    08           10           1.623             0.057
    09           20           2.142             0.047  
    10           32           3.900             0.150  
    11           45          11.002             0.448  
    12           46          12.032             0.447 

 

SCAR-C (Sulfates, Clouds and Radiation - California)
DATA CHANNEL   MAS BAND   CentralWavelength   50%Bandwidth     
    01       (bit bucket for 10-bit data: Channels 9,10,11,12)
    02           01           0.547             0.043  
    03           10           1.623             0.057        
    04           10           1.623             0.057     
    05           15           1.880             0.050   
    06           20           2.142             0.047 
    07           46          12.032             0.447   
    08           32           3.900             0.150  
    09           02           0.664             0.055         
    10           07           0.875             0.041          
    11           45          11.002             0.448         
    12           32           3.900             0.150       

 


Table 2. MODIS Airborne Simulator Channel Configuration

 

 

2.3 MAS Experiment Acronyms

 

FIRE = First ISCCP Radiation Experiment (10/91-12/91)
ASTEX = Atlantic Stratocumulus Transition Experiment (5/92-6/92)
TOGA/COARE = Tropical Ocean Global Atmosphere/Coupled Ocean-Atmosphere Response Experiment (1/93-3/93)
CEPEX = Central Equatorial Pacific Experiment (3/93-4/93)
SCAR-A = Sulfates, Clouds, and Radiation/America (7/93)

 

2.4 Glossary

 

Ames = NASA Ames Research Center
Band = One detector/filter assembly
Blackbody = Radiation source, emittance=absorptance=1, reflectance=0
Browse = Uncalibrated reduced resolution image product
Calibration = Conversion from sensor digital counts to physical units
Channel = Area in LEVEL-0 format reserved for data from one band
Data system = MAS digital flight data digitizer/recorder onboard ER-2
ER-2 = NASA high altitude research version of U-2 spy plane
Exabyte = 8 mm tape drive for digital data storage
Exabyte format = Storage format for ER-2 Exabyte data system
Flight track (line) = Portion of aircraft track where heading is constant
FTP = File Transfer Protocol (Internet)
Geolocation = Computation of earth coordinates of a sensor measurement
GIF = Graphics Interchange Format
HDF format = Hierarchical Data Format
IFOV = Instantaneous Field Of View
INS = Inertial Navigation System onboard ER-2
Intermediate Format = Data format created by unpacking LEVEL-0 data
IR (Infrared) = Wavelengths of 3.7 microns and longer
ISCCP = International Satellite Cloud Climatology Project
LEVEL-0 = Unformatted, raw, packed, unprocessed sensor data
LEVEL-1A = Unpacked and reformatted sensor data
LEVEL-1B = Calibrated and geolocated sensor data
MAS = MODIS Airborne Simulator
Metadata = Descriptive information pertaining to a dataset
MODIS = Moderate Resolution Imaging Spectroradiometer
Navigation Data = Record of the position and orientation of a sensor platform
NIR (Near-Infrared) = Wavelengths from 0.7 to 3.7 microns
PCM = Tape drive used for old ER-2 data system
Scanner = MAS scan mirror and blackbody target assembly
SGI = Silicon Graphics Workstation
Spectrometer = MAS optics and detector assembly
VIS (Visible) = Wavelengths from 0.4 to 0.7 microns

 

3.0 MAS Data Calibration

 

3.1 Visible/Near-Infrared Band Calibration

Calibration coefficients for the MAS visible (~ < 0.7 um) and near-infrared (0.7 um < ~ < 3.7 um) bands are derived from integrating spheres used pre and post launch. The transformation from digital count to radiance is defined by

Radiance = (Count - (Gain * CBBavg)) * Slope

where,

Radiance = computed radiance
Count = recorded count
Gain = channel gain
CBBavg = running average of 30 previous cold black body counts
Slope = slope coefficient, determined for each band

The radiance units are Watts per square meter per steradian per micron (W m-2 sr-1 um-1). Integrating sphere calibrations may be carried out several times during a MAS flight experiment. There may be several sets of calibration slopes, each applied to data from a discrete time period, during a single experiment. For more details, see Arnold et al. (1994a, 1994b).

3.2 Temperature Correction of Visible/Near-Infrared Bands

MAS testing in a cold chamber at NASA Ames Research Center has shown that some MAS VIS/NIR bands are subject to sensitivity changes as a function of temperature. This is important, since at cruise altitude (20000 meters) the MAS instrument environmental temperature is typically around -35deg.C. The cold chamber data is used to develop equations which predict the sensitivity of the VIS/NIR channels at given temperatures. Temperature sensors mounted on the MAS in-flight are then used as a reference for computing the sensitivity correction. For example in ASTEX data it was found that only channels 5 and 6 were sensitive to this phenomenon. For these two channels Count=Ceff, for all other VIS/NIR channels Count=Crec.

The form of the equation for Ceff during ASTEX was:

Count = Ceff = Gain * Ccbb + (Crec - (Gain * Ccbb)) / (a1 * Tmas + b1)

where,

Ceff = temperature corrected effective digital count
Gain = channel gain
Ccbb = recorded in-flight digital count for cold black body
Crec = recorded original in-flight digital count
a1, b1 = coefficients determined for each band
Tmas = temperature of cold black body (degrees Celsius)

The coefficients a1 and b1 are determined for each temperature sensitive channel in each MAS experiment. This correction is applied before the linear transformation to radiance units. For more details on the corrections used in various field experiments, see Arnold et al. (1994a, 1994b).

3.3 Infrared Band Calibration

Calibration data for the MAS infrared (IR) bands (~ > 3.7 um) are obtained during flight from two blackbody sources which are viewed during every mirror scan. The first (cool) blackbody is usually left to float at ambient temperature, although it can be temperature controlled. The second (warm) blackbody is maintained at a higher temperature than the cool blackbody, and the temperature level is set depending on the desired scene temperature range. Thermistors measure the temperature of the blackbodies during flight. The equivalent Planck radiances for the blackbodies (assuming unit emissivity) are computed using a sensor weighted integral of the Planck function over the wavelength range of the spectral band :

R(L,T) = integral [ B(L,T) S(L) dL ] / integral [ S(L) dL ]

R(L,T) = sensor weighted equivalent Planck radiance
B(L,T) = Planck radiance at wavelength and blackbody temperature T
S(L) = sensor spectral response

The Planck radiance in Watts per square meter per steradian per micron (W m-2 sr-1 um-1) is computed by the equation

B(L,T) = 10-6 * C1 / L5 * ( exp (C2 /(L*T)) - 1)

where

C1 = 2 * h * c2 = 1.1910439 * 10-16 W m-2
C2 = ( h * c ) / k = 1.4387686 * 10-2 mK
L = wavelength in meters
T = temperature in degrees Kelvin

Once the equivalent Planck radiances for the blackbodies are known, the calibration slope and intercept are computed by the relationships

Slope = (R(L,T)BB2 - R(L,T)BB1) / (CountBB2 - CountBB1)


Intercept = ((R(L,T)BB1 * CountBB2) - (R(L,T)BB2 * CountBB1)) / (CountBB2 - CountBB1)


where,

R(L,T)BB1 and R(L,T)BB2 are the equivalent Planck radiances for the cool and warm blackbodies respectively
CountBB1 and CountBB2 are the digital radiance counts for the cool and warm blackbodies respectively.

The calibration from digital counts to radiance is then a linear transformation of the form

Radiance = Slope * Count + Intercept


The radiance units are Watts per square meter per steradian per micron (W m-2 sr-1 um-1). This procedure is performed for every IR channel on every scanline. No averaging of MAS blackbody data is done.

Conversion from IR radiance to Planck equivalent temperature or 'brightness temperature' may be done by inverting the Planck equation. The inverse equation is of the form

T(L,B) = C2 / L * loge ( C1 / ( L5 * B(L,T) * 106) + 1 )

 



where,

T(L,B) = brightness temperature in degrees Kelvin,
C2 = ( h . c ) / k = 1.4387686 . 10-2 m K
C1 = 2 . h . c2 = 1.1910439 . 10-16 W m-2
l = wavelength in meters
B(L,T) = Planck radiance in W m-2 sr-1 um-1

4.0 MAS Data Geolocation

Navigation data onboard the ER-2 is recorded by an Inertial Navigation System (INS). This system has a dedicated tape recorder, which is separate from the MAS tape recorder. Before February 1992, INS data was obtained from the INS recorder itself. This data was unpacked and formatted by staff at Ames Research Center, and distributed as a separate file along with the MAS data. Since February 1992, the new MAS Exabyte data recorder has had the capability to record data from the INS system at the same time as it records MAS data, thus giving one integrated dataset which contains both MAS and navigation information. In the old INS recording system, aircraft position and attitude were updated every 5 seconds. In the new recording system, the update interval is 1 second.

The geolocation algorithm is only applied to those portions of a flight where the aircraft flew straight, level, and on a constant heading. Data recorded during ascent, turns, and descent is not processed to LEVEL-1B. Ascent data is not processed since the scanner is not looking at nadir, and thus the imagery is distorted. During turns, the scanner roll correction system cannot compensate for high roll angles, and the imagery is distorted so that black bands appear on either side of the flight track. During descent, the scan mirror optics become covered with condensation, and the image information is lost.

The straight line flight track start and end times are identified by an automated program which analyzes altitude, heading, pitch, and roll. Once the start and end times for all flight tracks are determined, linear regressions for aircraft latitude, longitude, heading and altitude versus time are computed. This is the simplest way to represent the INS data set when it is referenced to the MAS data set, which is sampled at a higher rate (6.25 scanlines/second). To geolocate a given MAS flight track, the MAS start time and scanline number at the beginning of the flight track are determined. These are used as a reference for the rest of the flight track, since the time code recorded by the MAS is stored as integer seconds. The scanline number and scan rate are used to determine the time at subsequent scanlines in the flight track by

t = t0 + (S - S0) / r


where,

t0 = time of the first scan line in a flight track
S = scan line number of a data line in the flight track
S0 = scan line number of the first data line in the flight track
r = scan rate (6.25 scans/second)

Once time for a given scanline is computed, the linear regression relationships are used to compute aircraft latitude, longitude, heading and altitude at that time. The scan angle is determined from the pixel number by the relationship

 



DD = K * (E - En)


where,

DD = scan angle (displacement from aircraft nadir point, degrees)
K = angular distance between IFOVs ( 85.92 degrees / 715 steps )
E = pixel number
En = pixel number at nadir (358.5)

T he distance from the aircraft nadir point to the pixel is then given by

D = Z * tan(DD)


where,

Z = aircraft altitude

Once the distance and azimuth from nadir to the pixel are known (azimuth is computed from the heading), trigonometric transformations are used to compute the latitude and longitude for every 10th pixel on a scanline (pixels 1, 10, 20, 30, ...., 690, 700, 710, 716). The reason for geolocating every 10th pixel on a scan line is to save space in the output data set. Solar zenith and azimuth angles and sensor zenith and azimuth angles are also computed for every 10th pixel. More details on the MAS geolocation algorithm are given in Jedlovec et al. (1989).

5.0 Obtaining MAS LEVEL-1B Data

 

5.1 Distribution Contact Points

MAS LEVEL-1B data are currently distributed by the MODIS Science Data Support Team (SDST). However it is expected that by the end of 1994 the NASA Langley and Goddard DAAC's (Distributed Active Archive Center) will be the distribution points for MAS data. At that time users will need to contact the appropriate DAAC for specific media and format information. MAS LEVEL-1B data from the FIRE II Cirrus and ASTEX missions will be distributed by the Langley DAAC. MAS LEVEL-1B TOGA/COARE data will be distributed by the Goddard DAAC. Distribution points for other experiments have yet to be determined.

MODIS Science Data Support Team
Paul A. Hubanks
Research and Data Systems Corporation
7855 Walker Drive, Suite 460
Greenbelt MD 20770
Phone: (301) 982-3724
Internet: hubanks@ltpsun.gsfc.nasa.gov

Langley DAAC
User and Data Services
Mail Stop 157-B
NASA Langley Research Center
Hampton VA 23681
Phone: (804) 864-8656
Internet: userserv@eosdis.larc.nasa.gov

Goddard DAAC
DAAC User Support Office
Global Change Data Center
Code 902.2
NASA Goddard Space Flight Center
Greenbelt MD 20771
Phone: (301) 286-3209
Internet: daacuso@daac.gsfc.nasa.gov

5.2 SDST Distribution Tape Format

MAS LEVEL-1B data distributed by the MODIS SDST are stored on Exabyte 8500 8mm tape. The tapes are formatted as simply as possible, so they may be read on any other system without the problems imposed by system dependent header files, block lengths, and formatting. Each tape contains all the flight lines for one MAS flight (one day). The number of flight lines per flight varies, but is generally between 10 and 20. The volume of data varies, but is generally 1 to 3 gigabytes per flight.

The archive tapes are created by writing each output data file (1 straight-line flight track) to tape in fixed-length blocks of 16384 bytes, in time ascending order. One end-of-file (EOF) mark is written at the end of the data blocks for each file, and an extra EOF is written at the end of the data on the tape. The last block of each file has good data at the start of the block and unused bytes (filled with null characters) at the end. Information on the length of the file is encoded in the header when the file is created. No file name, protection, or ownership information is written onto the archive tape. All information necessary to identify the file is stored in the file itself.

To read the data files from tape, system utilities should be used. For example on a UNIX system, the following command could be used to read the first file on the tape:

% dd if=/dev/mt/tps0d3nrnsv.8500 of=outfile01.hdf ibs=16384

Note that "/dev/mt/tps0d3nrnsv.8500" is the tape device driver. This is system dependent. However, the user should ensure that the device driver is for an Exabyte 8500 (not 8200) drive, and handles fixed length blocks which are 16384 bytes long. The output file name is a sample only: the user could specify any output file name.

To read the first straight-line flight track file on a DEC VAX/VMS system, the following commands could be used (note that any VMS utility which reads tapes with fixed-length blocks is suitable):

 

$ allocate mua1: tape
$ mount/foreign/over=own/blocksize=16384/recordsize=16384 tape
$ set magtape/rewind tape
$ copy tape: outfile01.hdf
$ dismount tape
$ dealloc tape

 

Tape Format Summary: Fixed length blocks, 16384 bytes per block, one EOF after each file, two EOFS at end of tape. Each file represents one flight line.

 

6.0 How to decode MAS Level-1B Data

6.1 Introduction to HDF

MAS LEVEL-1B data are stored in Hierarchical Data Format (HDF). The data are organized into individual straight-line flight tracks. Each MAS LEVEL-1B HDF file contains one straight-line flight track, and defines a granule of data. In general there are 10 to 20 flights (or flight days) in a given experiment and 10 to 20 flight tracks in a given flight.

HDF is developed and maintained by the National Center for Supercomputing Applications (NCSA), and has been selected as the standard data format for all Earth Observing System (EOS) data products. HDF is a multi-object file format for the transfer of graphical and numerical data between machines, and allows the user to create, access, and share scientific data in a form that is self-describing and network-transparent. "Self-describing" means that a file includes information defining the data it contains. "Network-transparent" means that a file is represented in a form that can be accessed by computers with different ways of storing integers, characters, and floating-point numbers. HDF files also allow direct access, so that a small subset of a large dataset may be accessed efficiently, without first reading through all the preceding data. It should be noted that HDF files should only be accessed through the HDF library of subroutine and function calls (from FORTRAN or C). HDF is not a data format which can be unpacked easily by knowing word locations, byte ordering and so on. With HDF, the user is insulated from these details, so that differences in system specific storage details are transparent.

MAS LEVEL-1B data are stored in a subset of HDF known as HDF/netCDF. Initial versions of the MAS LEVEL-1B data were written in netCDF (Network Common Data Form) format, developed by the University Corporation for Atmospheric Research (UCAR). In HDF Version 3.3, the netCDF interface was integrated with the HDF software library. All MAS LEVEL-1B data is now written in HDF/netCDF to comply with the EOS data format standard.

From the user's perspective, this means that while the data is stored in HDF/netCDF, the data may be extracted using netCDF-like software calls, from either FORTRAN or C. This is the preferred means of extracting data from MAS LEVEL-1B data files. While it is possible to use HDF software calls alone, this method is not described in this document.

Data Format Summary: MAS data is stored in HDF/netCDF, and may be extracted using netCDF-like calls to the HDF library.

 

6.2 Obtaining HDF libraries

In order to extract data from MAS LEVEL-1B data files, the HDF software library must be compiled and installed. The source code is available from NCSA through their HDF Information Server or by anonymous FTP on Internet.

The following commands may be used on a Unix system to retrieve the source code by ftp:

% ftp ftp.ncsa.uiuc.edu
Name: anonymous
Password: guest

ftp> cd HDF/HDF3.3r3/tar
ftp> binary
ftp> get HDF3.3r3.tar.Z
ftp> quit

% uncompress HDF3.3r3.tar.Z
% tar xvf HDF3.3r3.tar.Z

The instructions provided in the README files should then be followed to compile the source code and construct the library. If problems are encountered, please contact HDF user support by electronic mail at hdfhelp@ncsa.uiuc.edu.

To determine on which Platforms the latest release of the HDF software has been tested by NCSA go to the HDF Information Server.

 

6.3 Decoding and Extracting MAS Level-1B Data

To make it easier to get started using the HDF library, a compiled version for a Silicon Graphics (SGI) platform is available via anonymous FTP at ltpiris2.gsfc.nasa.gov. In the future, compiled libraries for several different platforms will be available. The user should log in with username anonymous and password guest. The files are stored in the directory

pub/MAS/hdf_netcdf/SGI_IRIX4.05

The following files are provided
(A = ASCII mode, B = binary mode in FTP)

libdf.a = compiled HDF software object library (B)
libnetcdf.a = compiled HDF/netCDF software object library (B)
ncdump = executable utility program to dump HDF files as formatted text (B)
netcdf.h = C header file needed to call the HDF/netCDF library (A)
netcdf.inc = FORTRAN include file needed to call the HDF/netCDF library (A)
simple = executable utility program to read MAS LEVEL-1B HDF files (B)
simple.f = FORTRAN program to read MAS LEVEL-1B HDF data (A)
simple.sh = script to compile the FORTRAN program simple.f (A)

These files provide the tools to begin extracting data from the MAS LEVEL-1B HDF data files using the FORTRAN or C netCDF interface. For further information on programming using the netCDF FORTRAN or C interface consult the NetCDF User's Guide

Note that if you downloaded the HDF3.3r3 source code as previously described, a copy of the netCDF User's Guide is included in the distribution. In addition, FORTRAN programs are available which can unpack MAS radiance and meta data from a LEVEL-1B HDF file.

 

7.0 Structure and Contents of MAS LEVEL-1B Data

7.1 Data Structure Summary

Each individual MAS LEVEL-1B file contains calibrated, geolocated radiances for all MAS channels for one straight line flight track. Each file also contains various ancillary data such as instrument configuration, and time and date codes. When the MAS LEVEL-1B data structure was designed, a major concern was that all LEVEL-0 engineering and ancillary input data be maintained in the output data set. For this purpose, all LEVEL-0 parameters (except the raw digital image counts) are retained in the LEVEL-1B structure. In this way, the health and performance of the sensor may be monitored, and the data may be reversed to LEVEL-0 if necessary.

The MAS LEVEL-1B data structure was designed to be easy to understand and to reflect the physical characteristics of the data. All variables, dimensions, attributes, and data are named descriptively to aid interpretation. The following listing was created from an actual MAS LEVEL-1B HDF file using NCDUMP (see Section 7.2). Due to size constraints only the dimensions, variables, and global attributes are listed here. The data portion is not shown.

netcdf 92169-08 {
dimensions:
Time = UNLIMITED ; // (5367 currently)
NumberOfChannels = 12 ;
NumberOfPixels = 716 ;
HeaderLength = 6160 ;
AnchorIndexSize = 73 ;

 

variables:
float Left50%ResponseWavelength(NumberOfChannels) ;
Left50%ResponseWavelength:units = "microns" ;
float Central100%ResponseWavelength(NumberOfChannels) ;
Central100%ResponseWavelength:units = "microns" ;
float Right50%ResponseWavelength(NumberOfChannels) ;
Right50%ResponseWavelength:units = "microns" ;
float SolarSpectralIrradiance(NumberOfChannels) ;
SolarSpectralIrradiance:units = "watts/meter2/micron" ;
SolarSpectralIrradiance:title = "Sensor Weighted and Orbit Corrected Solar Spectral Irradiance" ;
short AnchorPointIndex(AnchorIndexSize) ;
char DataSetHeader(HeaderLength) ;
short DataFrameStatus(Time) ;
short RunNumber(Time) ;
long ScanLineCounter(Time) ;
long ThumbWheelSwitches(Time) ;
short ScanRate(Time) ;
ScanRate:units = "hertz" ;
ScanRate:scale_factor = 0.1f ;
long GreenwichMeanTime(Time) ;
long MasTime(Time) ;
long InsTime(Time) ;
short S-BendIndicator(Time) ;
short AircraftRollCount(Time) ;
long YearMonthDay(Time) ;
float ScanlineTime(Time) ;
ScanlineTime:units = "hours" ;
short BlackBody1Temperature(Time, NumberOfChannels) ;
BlackBody1Temperature:units = "degree_Celsius" ;
BlackBody1Temperature:scale_factor = 0.0099999998f ;
short BlackBody2Temperature(Time, NumberOfChannels) ;
BlackBody2Temperature:units = "degree_Celsius" ;
BlackBody2Temperature:scale_factor = 0.0099999998f ;
short AmplifierGain(Time, NumberOfChannels) ;
AmplifierGain:scale_factor = 0.001f ;
short BlackBody1Counts(Time, NumberOfChannels) ;
short BlackBody2Counts(Time, NumberOfChannels) ;
float CalibrationSlope(Time, NumberOfChannels) ;
CalibrationSlope:units = "watts/meter2/steradian/micron" ;
float CalibrationIntercept(Time, NumberOfChannels) ;
CalibrationIntercept:units = "watts/meter2/steradian/micron" ;
float PixelLatitude(Time, AnchorIndexSize) ;
PixelLatitude:units = "degree_north" ;
float PixelLongitude(Time, AnchorIndexSize) ;
PixelLongitude:units = "degree_east" ;
float SensorZenithAngle(Time, AnchorIndexSize) ;
SensorZenithAngle:units = "degree" ;
float SensorAzimuthAngle(Time, AnchorIndexSize) ;
SensorAzimuthAngle:units = "degree" ;
float SolarZenithAngle(Time, AnchorIndexSize) ;
SolarZenithAngle:units = "degree" ;
float SolarAzimuthAngle(Time, AnchorIndexSize) ;
SolarAzimuthAngle:units = "degree" ;
float AircraftLatitude(Time) ;
AircraftLatitude:units = "degree_north" ;
float AircraftLongitude(Time) ;
AircraftLongitude:units = "degree_east" ;
float AircraftHeading(Time) ;
AircraftHeading:units = "degree_true" ;
float AircraftAltitude(Time) ;
AircraftAltitude:units = "meters" ;
float AircraftPitch(Time) ;
AircraftPitch:units = "degree" ;
short CalibratedData(Time, NumberOfChannels, NumberOfPixels) ;
CalibratedData:units = "watts/meter2/steradian/micron" ;
CalibratedData:scale_factor = 0.f, 0.1f, 0.1f, 0.0099999998f, 0.0099999998f, 0.0099999998f, 0.001f, 0.0099999998f, 0.0099999998f, 0.0099999998f, 0.0099999998f, 0.0099999998f ;

 

// global attributes:
:title = "MODIS Airborne Simulator (MAS) Level-1B Data" ;
:CreationDate = "27-Jan-94 10:39:54" ;
:ExperimentName = "ASTEX " ;
:FlightDate = "17 June 1992 " ;
:FlightNumber = "92-107 " ;
:ClockUsedToProcess = "INS Clock " ;
:FlightLineNumber = 8 ;
:TotalFlightLines = 13 ;
:Credits = "Liam Gumley/design Paul Hubanks/modify (MODIS SDST)" ;
:MASDataUsersGuideSource = "Paul Hubanks (MODIS SDST) 301-982-3724 or hubanks@ltp.gsfc.nasa.gov" ;
:ClockProblemDescription = "The MAS and INS (navigation) clocks
often displayed different times. For the FIRE experiment a single clock offset was computed and and stored in the variable FIREClockOffset(INS-MAS)Hours. The clock used in the FIRE experiment was the MAS Clock, and is stored in the array GreenwichMeanTime. For all post-FIRE experiments, either the MAS or INS clock may have been used. To determine this check the entry ClockUsedToProcess. This may be set to either MAS_Clock or INS_Clock. During a flight, for both FIRE and post-FIRE flights, time is computed from the recorded start time of each flight track, incrementing .16 seconds per scanline. This time is stored in ScanlineTime. Finally, for all post-FIRE experiements the entire string of INS and MAS clocktimes are stored in the arrays InsTime and MasTime" ;
:FIREClockOffset(INS-MAS)Hours = -99.f ;
:VIS/NIRCountSensitivityAdjustment = "Yes (See DataSetHeader) " ;
:SoftwareVersion = "Version 3.0 " ;
:CalibrationVersion = "ASTEX King 1.0 " ;
:data_set = " MAS ASTEX " ;
:data_product = "straight-line flight tracks " ;
:geog_flag = "c" ;
:day_night_flag = "d" ;
:granule_version = 3 ;
:metadata_version = " 3a" ;
:producer_granule_id = "Version 3.0 ASTEX King 1.0 " ;
:data_quality = "Fair: some noise in IR channels " ;
:granule_size = 1.0884502e+08f ;
:begin_date = "19920617 122120" ;
:end_date = "19920617 123544" ;
:lat_LL = 36.782097f ;
:lon_LL = -24.800873f ;
:lat_UL = 35.914349f ;
:lon_UL = -23.128139f ;
:lat_UR = 35.639751f ;
:lon_UR = -23.356495f ;
:lat_LR = 36.501247f ;
:lon_LR = -25.026567f ;
}

 

7.2 Data Structure Term Definitions

 

Dimensions

This section defines the dimensions and gives a brief description of each dimension contained in the data set. Dimensions are named integers which specify the shape of one or more multi-dimensional variables in the HDF file.

Time = UNLIMITED ; // (5367 currently)
The 'length' dimension of the data set. This dimension corresponds to elapsed time, and also corresponds with the incrementing of the scan line counter.

NumberOfChannels = 12 ;
The number of data channels

NumberOfPixels = 716 ;
The number of pixels (IFOVs) across a MAS scan.

HeaderLength = 6160 ;
The length of the ASCII data set header. The header is composed of blocks of 80 characters, which contain no carriage return, line feed or similar record separators. The header contains a copy of the MAS instrument configuration file that was used in processing.

AnchorIndexSize = 73 ;
The number of geolocation anchor points per scan line. Each MAS scan line has geolocation data for every 10th pixel (to save space). The geolocation data is defined for pixel numbers 1, 10, 20, 30, 40,......680, 690, 700, 710 and 716 which makes a total of 73 geolocation anchor points. It should be noted that pixels 1 to 358 are on the starboard (right) side of the aircraft, while pixels 359 to 716 are on the port (left) side of the aircraft.

Variables:
This section defines the type and size of the variables, along with a brief description of each, in the output data set. A variable represents a multi-dimensional array of values of the same type. The type definitions are from the C language, however the equivalent FORTRAN types are

byte: BYTE 8 bit data
char: CHARACTER synonymous with byte
short: INTEGER*2 16 bit integers
long: INTEGER*4 32 bit integers
float: REAL*4 32 bit IEEE floating point
double: DOUBLE PRECISION 64 bit IEEE floating point

Note that the listing of variable names which follows show the dimensions in C order. In FORTRAN, the order of dimensions is reversed. For example, the variable declared as CalibratedData(Time, NumberOfChannels, NumberOfPixels) in C would be declared as CalibratedData(NumberOfPixels, NumberOfChannels, Time) in FORTRAN.

float Left50%ResponseWavelength(NumberOfChannels) ;
Left50%ResponseWavelength:units = "microns" ;
The wavelength corresponding to the left hand 50% response point of the spectral response function for each channel.

float Central100%ResponseWavelength(NumberOfChannels) ;
Central100%ResponseWavelength:units = "microns" ;
The wavelength corresponding to the central 100% response point of the spectral response function for each channel.

float Right50%ResponseWavelength(NumberOfChannels) ;
Right50%ResponseWavelength:units = "microns" ;
The wavelength corresponding to the right hand 50% response point of the spectral response function for each channel.

float SolarSpectralIrradiance(NumberOfChannels) ;
SolarSpectralIrradiance:units = "watts/meter2/micron" ;
SolarSpectralIrradiance:title = "Sensor Weighted and Orbit Corrected Solar Spectral Irradiance" ;
The sensor weighted and orbit corrected solar spectral irradiance at the top of the atmosphere for each channel. This is computed using the LOWTRAN7 database of solar spectral irradiance and the spectral response function for each channel by

Sw(L) = integral [ S(L) * R(L) dL ] / integral [ R(L) dL ]


where,

Sw(L) = sensor weighted orbit corrected exoatmospheric solar spectral irradiance
S(L) = orbit corrected exoatmospheric solar spectral irradiance
R(L) = sensor spectral response

short AnchorPointIndex(AnchorIndexSize) ;
The pixel numbers for which geolocation information is defined. The geolocation data is defined for pixel numbers 1, 10, 20, 30, 40,......680, 690, 700, 710 and 716 which makes a total of 73 geolocation anchor points.

char DataSetHeader(HeaderLength) ;
The data set header text. The header is composed of blocks of 80 characters, which contain no carriage return, line feed or similar record separators. The header contains a copy of the MAS instrument configuration file that was used in processing. This indicates, among other things, which spectral bands were enabled, which channels had 8 or 10 bit data, which channels were calibrated using the MAS blackbodies (IR channels), and slopes/intercepts for the visible/near-IR channels.

short DataFrameStatus(Time) ;
(LEVEL-0 MAS engineering data) Zero indicates good data. Bits are set to 1 to indicate errors as follows:

Bit Position    Meaning
    1       Bad digit in scanline count
    2       Bad digit in time code
    4       Bad digit in thumbwheel data
    8       Bad digit in reference temperature
   16       Incorrect channel
   64       Bad sync word
  128       No match for end-of-frame code (last word)
 sign       Set to 1 if any other bit set

short RunNumber(Time) ;
(LEVEL-0 MAS engineering data)
Not used. Was intended for operator to encode flight line number during flight.

 

long ScanLineCounter(Time) ;
(LEVEL-0 MAS engineering data)
Scan line count, increments by 1 for each consecutive scan line.

 

long ThumbWheelSwitches(Time) ;
(LEVEL-0 MAS engineering data)
Data system thumbwheel switch settings formatted as YYFFFDDD, where YY is financial year, FFF is flight number, DDD is day of year.

 

short ScanRate(Time) ;
ScanRate:units = "hertz" ;
ScanRate:scale_factor = 0.1f ;
(LEVEL-0 MAS engineering data)
Scan rate in scans per second (x 10, nearest integer).

 

long GreenwichMeanTime(Time) ;
(LEVEL-0 MAS/INS engineering data)
Greenwich Mean Time is either the MAS or INS time, selected at the time of processing. It is used to determine the time at the start of the straight line flight tracks and is formatted as HHMMSSS, where HH is hours, MM is minutes, SSS is seconds and tenths of a second. The tenths of a second field is not currently recorded, therefore it is always zero.

 

long MasTime(Time) ;
(LEVEL-0 MAS engineering data)
Time recorded by the MAS clock and is formatted as HHMMSSS, where HH is hours, MM is minutes, SSS is seconds and tenths of a second. The tenths of a second field is not currently recorded, therefore it is always zero.

 

long InsTime(Time) ;
(LEVEL-0 INS engineering data)
Time recorded by the INS clock formatted as HHMMSSS, where HH is hours, MM is minutes, SSS is seconds and tenths of a second. The tenths of a second field is not currently recorded, therefore it is always zero.

 

short S-BendIndicator(Time) ;
(LEVEL-0 MAS engineering data)
S-bend indicator where 0 = no S-bend, 1 = S-bend.
Not used. Was intended to indicate whether hardware geometric correction was enabled.

 

short AircraftRollCount(Time) ;
(LEVEL-0 MAS engineering data)
Aircraft roll count. Signed integer where positive is right, 0.03 degrees per count.

 

long YearMonthDay(Time) ;
Date formatted as YYYYMMDD where YYYY is year, MM is month, DD is day.

 

float ScanlineTime(Time) ;
ScanlineTime:units = "hours" ;
Time of the current scanline in fractional hours, computed from the scanline number and scan rate (as described in the Section 5). ScanlineTime is accurate to the nearest scanline (0.16 seconds) whereas GreenwichMeanTime is accurate only to the nearest whole second.

 

short BlackBody1Temperature(Time, NumberOfChannels) ;
BlackBody1Temperature:units = "degree_Celsius" ;
BlackBody1Temperature:scale_factor = 0.0099999998f ;
(LEVEL-0 MAS engineering data)

 

B lack Body 1 (cool) thermal reference temperature (degrees C x 100).

 

short BlackBody2Temperature(Time, NumberOfChannels) ;
BlackBody2Temperature:units = "degree_Celsius" ;
BlackBody2Temperature:scale_factor = 0.0099999998f ;
(LEVEL-0 MAS engineering data)
Black Body 2 (warm) thermal reference temperature (degrees C x 100).

 

short AmplifierGain(Time, NumberOfChannels) ;
AmplifierGain:scale_factor = 0.001f ;
Gain setting for each channel (x 1000).

 

short BlackBody1Counts(Time, NumberOfChannels) ;
(LEVEL-0 MAS engineering data)
Black Body 1 (cool) radiance digital counts.

 

short BlackBody2Counts(Time, NumberOfChannels) ;
(LEVEL-0 MAS engineering data)
Black Body 2 (warm) radiance digital counts.

 

float CalibrationSlope(Time, NumberOfChannels) ;
CalibrationSlope:units = "watts/meter2/steradian/micron" ;
Linear calibration slope for each channel for digital scene count to radiance conversion.

 

float CalibrationIntercept(Time, NumberOfChannels) ;
CalibrationIntercept:units = "watts/meter2/steradian/micron" ;
Linear calibration intercept for each channel for digital scene count to radiance conversion.

 

float PixelLatitude(Time, AnchorIndexSize) ;
PixelLatitude:units = "degree_north" ;
Latitudes for pixels at geolocation anchor points. Latitude ranges from -90 degrees at the South Pole to +90 degrees at the North Pole.

 

float PixelLongitude(Time, AnchorIndexSize) ;
PixelLongitude:units = "degree_east" ;
Longitudes for pixels at geolocation anchor points. Longitude is zero at the Greenwich Meridian, and ranges from -180 degrees (West) to +180 degrees (East).

 

float SensorZenithAngle(Time, AnchorIndexSize) ;
SensorZenithAngle:units = "degree" ;
Sensor zenith angle for pixels at geolocation anchor points. Defined as the zenith angle (degrees) of a vector from the sensor to the pixel (nadir sensor zenith angle = 0).

 

float SensorAzimuthAngle(Time, AnchorIndexSize) ;
SensorAzimuthAngle:units = "degree" ;
Sensor azimuth angle for pixels at geolocation anchor points. Defined as the azimuth angle (degrees) clockwise from North of a vector from the pixel to the sensor.

 

float SolarZenithAngle(Time, AnchorIndexSize) ;
SolarZenithAngle:units = "degree" ;
Solar zenith angle for pixels at geolocation anchor points. Defined as the zenith angle (degrees) of a vector from the pixel to the Sun.

 

float SolarAzimuthAngle(Time, AnchorIndexSize) ;
SolarAzimuthAngle:units = "degree" ;
Solar azimuth angle for pixels at geolocation anchor points. Defined as the azimuth angle (degrees) clockwise from North of a vector from the pixel to the Sun.

 

float AircraftLatitude(Time) ;
AircraftLatitude:units = "degree_north" ;
Aircraft subpoint latitude (degrees, derived from linear regression of INS data in the flight track).

 

float AircraftLongitude(Time) ;
AircraftLongitude:units = "degree_east" ;
Aircraft subpoint longitude (degrees, derived from linear regression of INS data in the flight track).

 

float AircraftHeading(Time) ;
AircraftHeading:units = "degree_true" ;
Aircraft heading (degrees, derived from linear regression of INS data in the flight track).

 

float AircraftAltitude(Time) ;
AircraftAltitude:units = "meters" ;
Aircraft altitude (meters, derived from linear regression of INS data in the flight track).

 

float AircraftPitch(Time) ;
AircraftPitch:units = "degree" ;
Aircraft pitch angle (degrees, derived from linear regression of INS data in the flight track).

 

short CalibratedData(Time, NumberOfChannels, NumberOfPixels) ;
CalibratedData:units = "watts/meter2/steradian/micron" ;
CalibratedData:scale_factor = 0.f, 0.1f, 0.1f, 0.0099999998f, 0.0099999998f, 0.0099999998f, 0.001f, 0.0099999998f, 0.0099999998f, 0.0099999998f, 0.0099999998f, 0.0099999998f ;
Calibrated radiances for all pixels in all channels. 32 bit floating point radiance values are scaled to 16 bit integers to save space. Variable scaling factors are used for each channel. To retrieve real radiances, multiply the integer radiance value by the appropriate scaling factor for that channel.

 

Global Attributes:

 

T his section describes the global attributes of the output data set. Global attributes contain descriptive information pertaining to the entire data set.

 

: title = "MODIS Airborne Simulator (MAS) Level-1B Data" ;

 

: CreationDate = "27-Jan-94 10:39:54" ;
Date that this file was created (processed).

 

: ExperimentName = "ASTEX " ;
Name of the MAS mission.

 

: FlightDate = "17 June 1992 " ;
Date of the MAS flight.

 

: FlightNumber = "92-107" ;
Flight number assigned.

 

: ClockUsedToProcess = "INS Clock " ;
Clock used to determine the start time of the straight line flight tracks.

 

: FlightLineNumber = 8 ;
Flight line number.

 

:TotalFlightLines = 13 ;
Total number of flight lines (straight-line flight tracks) during this day (flight).

 

:Credits = "Liam Gumley/design Paul Hubanks/modify (MODIS SDST)" ;

 

: MASDataUsersGuideSource = "Paul Hubanks (MODIS SDST) 301-982-3724 or hubanks@ltp.gsfc.nasa.gov" ;

 

: ClockProblemDescription = (Description of time keeping problems onboard ER-2) ;

: FIREClockOffset (INS-MAS) Hours = -99 .f ;
Offset between INS and MAS clocks for pre-Exabyte recording system LEVEL-0 data only. Before the Exabyte recording system was brought into use in February 1992 the MAS and INS data streams were recorded separately, each using it's own internal clock. During the FIRE mission, the INS clock was found to be leading the MAS clock by anywhere from 30 to 90 seconds. This offset had to be corrected to ensure accurate geolocation, so the INS clock time was adjusted in post-processing to match the MAS clock time. This variable records the time subtracted from the INS clock time. After February 1992 the Exabyte LEVEL-0 recording system encoded the MAS and INS in one synchronous data stream, so this problem was eliminated.

: VIS/NIRCountSensitivityAdjustment = "Yes (See Data Set Header) " ;
Flag to indicate form of adjustment (if any) to VIS/NIR digital counts to compensate for instrument temperature dependent changes in sensitivity. See the section on calibration for details. NONE indicates no adjustment. If used, the form of the adjustment is listed in the instrument configuration file which is stored in DataSetHeader.

 

: SoftwareVersion = "Version 3.0 " ;
Version of the software used to create this HDF file (MAS LEVEL-1B data granule).

 

: CalibrationVersion = "ASTEX King 1.0 " ;
Version of the calibration used in the processing of this particular HDF file (MAS LEVEL-1B data granule).

 

 

: data_set = "MAS ASTEX " ;
Data set name (DAAC required metadata).

 

: data_product = "straight-line flight tracks " ;
Data product name (DAAC required metadata).

 

: geog_flag = "c" ;
geographic flag (DAAC required metadata) c=constrained.

 

: day_night_flag = "d" ;
Day/Night flag (DAAC required metadata).

 

: granule_version = 3 ;
Version of the granule. Shows the number of time of times this data has been processed in the past (DAAC required metadata).

 

: metadata_version = " 3a" ;
Version of the metadata included in this particular HDF file (MAS LEVEL-1B data granule). Allows indication of an update to the metadata when no update is done to the calibrated radiances.

 

: producer_granule_id = "Version 3.0 ASTEX King 1.0 " ;
A unique ID assigned by the data producer (DAAC required metadata).

 

: data_quality = "Fair: some noise in IR channels " ;
Data quality assessment (DAAC required metadata).

 

: granule_size = 1.0884502e+08f ;
Approximate size of the granule in bytes (DAAC required metadata).

 

: begin_date = "19920617 122120" ;
Date and time of the start of the flight track (granule) (DAAC required metadata).

 

: end_date = "19920617 123544" ;
Date and time of the start of the flight track (granule) (DAAC required metadata).

 

:lat_LL = 36.782097f ;
:lon_LL = -24.800873f ;
:lat_UL = 35.914349f ;
:lon_UL = -23.128139f ;
:lat_UR = 35.639751f ;
:lon_UR = -23.356495f ;
:lat_LR = 36.501247f ;
:lon_LR = -25.026567f ;
Latitude and longitude of the corner points of the granule (DAAC required metadata).

 

8.0 Obtaining Summary and Browse Information

MAS flight summary information and browse data are available via the Browse Imagery Archive within the MAS World Wide Web site. Available are summary and browse information for each MAS experiment. The flight summary file is an ASCII text summary of the flight lines processed for a particular flight. The browse imagery files for each flight line are stored in Graphics Interchange Format (GIF). These images contain every 4th pixel on every 4th line from one short-wave visible and one long-wave infrared channel. They have been contrast stretched and as such do not contain quantitative radiance information. There are 2 GIF image files per flight line, named 92170??v.gif and 92170??i.gif, where ?? is the flight line number, v denotes visible (VIS) imagery, and i denotes infrared (IR) imagery. The date corresponds to year and day of year as mentioned previously. The VIS and IR channels are selected such that the VIS channel is at around 0.68 microns, and the IR channel is at around 12 microns.

Example browse images from the MAS flight on 17 June 1992 are shown in Figure 1. These were acquired over the Atlantic Ocean, off the coast of the Azores Islands. Stratiform cloud features are visible, with marine stratocumulus in the upper region of the image and continental stratocumulus in the lower region of the image. A cold cirrus cloud formation can be seen (as a black feature) in the infrared browse image in the upper portion. This feature is not distinct in the visible browse image.

Visible Browse ImageVisible (0.68 um) browse image Infrared Browse ImageInfrared (11.95 um) browse image

 

F igure 1. MAS Browse Images (17 June 1992 - Flight Line #11)

 

 

Public domain or shareware software packages to view GIF imagery on various systems are available from the following anonymous FTP sites:

IBM/PC
oak.oakland.edu, pub/msdos/gif/cshw101a.zip

 



Macintosh
mac.archive.umich.edu, mac/graphics/graphicsutil/gifconverter2.37.cpt.hqx

Unix/X
ftp.x.org, contrib/xloadimage.4.1.tar.gz

 

9.0 MAS Contact List

 

Below is a list of persons involved with the processing and analysis ofMAS data.

Paul Hubanks, MAS LEVEL-1B Processing Manager
Research and Data Systems Corporation
7855 Walker Drive, Suite 460
Greenbelt MD 20770, USA
(301) 982-3724, phubanks@ltpsun.gsfc.nasa.gov

Liam Gumley, MAS LEVEL-1 Processing System Designer
Code 913, NASA Goddard Space Flight Center
Greenbelt MD 20771, USA
(301) 286-8789, gumley@climate.gsfc.nasa.gov

Tom Arnold, MAS VIS/NIR Calibration
Code 913, NASA Goddard Space Flight Center
Greenbelt MD 20771, USA
(301) 286-4805, arnold@climate.gsfc.nasa.gov

Michael King, MAS Principal Investigator
Code 900, NASA Goddard Space Flight Center
Greenbelt MD 20771, USA
(301) 286-8228, king@climate.gsfc.nasa.gov

Paul Menzel, MAS Principal Investigator
NOAA/NESDIS
1225 W. Dayton St.
Madison WI 53706 USA
(608) 263-4930, paulm@ssecmail.ssec.wisc.edu

Chris Moeller, MAS Investigator; calibration, geolocation, MCIDAS
Space Science and Engineering Center, UW-Madison
1225 W. Dayton St.
Madison WI 53706, USA
(608) 263-9597, chrism@ssecmail.ssec.wisc.edu

Jeff Myers, MAS LEVEL-0 Data Distribution
High Altitude Missions Branch, NASA Ames Research Center
Mail Stop 240-6
Moffett Field CA 94035, USA
(415) 604-6252, jmyers@msmail.arc.nasa.gov

Pat Grant, MAS Engineering
High Altitude Missions Branch, NASA Ames Research Center
Mail Stop 240-6
Moffett Field CA 94035, USA
(415) 604-6393, pgrant@msmail.arc.nasa.gov

 

10.0 References

Arnold, G.T., M. Fitzgerald, P.S. Grant, and M.D. King, 1994a: MODIS Airborne Simulator Visible and Near-Infrared Calibration - 1991 FIRE-Cirrus Field Experiment. NASA Goddard Space Flight Center, NASA Technical Memorandum 104600.

Arnold, G.T., M. Fitzgerald, P.S. Grant, and M.D. King, 1994b: MODIS Airborne Simulator Visible and Near-Infrared Calibration - 1992 ASTEX Field Experiment. NASA Goddard Space Flight Center, NASA Technical Memorandum 104599.

Jedlovec, G.J., K.B. Batson, R.J. Atkinson, C.C. Moeller, W.P. Menzel, and M.W. James, 1989: Improved Capabilities of the Multispectral Atmospheric Mapping Sensor (MAMS). NASA Marshall Space Flight Center, NASA Technical Memorandum 100352.

King, M. D., Y. J. Kaufman, W. P. Menzel and D. Tanré, 1992: Remote sensing of cloud, aerosol, and water vapor Properties from the Moderate Resolution Imaging Spectrometer (MODIS). IEEE Trans. Geosci. Remote Sens., 30, 2-27.




Back to: [Documents and Research]