![]() |
![]() ![]() ![]() by Liam Gumley, Paul Hubanks, and Ed Masuoka April 1994
![]() Table of Contents
1.0 IntroductionThe 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:
2.0 MAS Instrument Summary2.1 MAS SpecificationsThe 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.
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. Band Left Peak Right 50% 100% 50% 01 0.523 0.546 0.569 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 2 is MAS Spectral Band Number) (Column 3 is wavelength at center 100% response (microns)) (Column 4 is bandwidth at 50% response (microns))
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 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 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
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
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
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
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
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
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
2.3 MAS Experiment Acronyms
2.4 Glossary
3.0 MAS Data Calibration3.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 where, Radiance = computed radiance 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 BandsMAS 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: where, Ceff = temperature corrected effective digital
count 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 CalibrationCalibration 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) = sensor weighted equivalent Planck
radiance The Planck radiance in Watts per square meter per steradian per micron (W m-2 sr-1 um-1) is computed by the equation where C1 = 2 * h * c2 = 1.1910439 * 10-16
W m-2 Once the equivalent Planck radiances for the blackbodies are known, the calibration slope and intercept are computed by the relationships where, R(L,T)BB1 and R(L,T)BB2 are the equivalent Planck
radiances for the cool and warm blackbodies respectively The calibration from digital counts to radiance is then a linear transformation of the form 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
where, T(L,B) = brightness temperature in degrees Kelvin, 4.0 MAS Data GeolocationNavigation 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 where, t0 = time of the first scan line in a flight track 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
where, DD = scan angle (displacement from aircraft nadir point,
degrees) 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 Data5.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 Langley DAAC Goddard DAAC 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=16384Note 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 Data6.1 Introduction to HDFMAS 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.eduName: 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 libdf.a = compiled HDF software object library
(B) 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 Data7.1 Data Structure SummaryEach 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) NumberOfChannels = 12 ; NumberOfPixels = 716 ; HeaderLength = 6160 ; AnchorIndexSize = 73 ; Variables: byte: BYTE 8 bit data 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)
; float Central100%ResponseWavelength(NumberOfChannels)
; float Right50%ResponseWavelength(NumberOfChannels)
; float SolarSpectralIrradiance(NumberOfChannels)
; where, Sw(L) = sensor weighted orbit corrected exoatmospheric
solar spectral irradiance short AnchorPointIndex(AnchorIndexSize) ; char DataSetHeader(HeaderLength) ; short DataFrameStatus(Time) ; 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 setshort 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
; 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 InformationMAS 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. ![]() ![]() 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
Macintosh Unix/X
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 Liam Gumley, MAS LEVEL-1 Processing System
Designer Tom Arnold, MAS VIS/NIR Calibration Michael King, MAS Principal Investigator Paul Menzel, MAS Principal
Investigator Chris Moeller, MAS Investigator; calibration,
geolocation, MCIDAS Jeff Myers, MAS LEVEL-0 Data Distribution Pat Grant, MAS Engineering
10.0 ReferencesArnold, 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] |
![]() |