curation of the pathfinder avhrr land data set at csiro · by the client’s contractors and...
TRANSCRIPT
Curation of the Pathfinder AVHRR Land Data Set at CSIRO Edward A. King CSIRO Marine and Atmospheric Research Internal Report 002 12 July 2006
Curation of the Pathfinder AVHRR Land Data Set at CSIRO Edward A. King CSIRO Marine and Atmospheric Research Internal Report 002 12 July 2006
King, Edward A. Curation of the Pathfinder AVHRR Land Data set at CSIRO. ISBN 1 921232 12 9. 1. Digital preservation. 2. Advanced very high resolution radiometers - Computer network resources. 3. Vegetation and climate - Remote sensing. 4. Earth sciences - Remote sensing. I. CSIRO. Marine and Atmospheric Research. II. Title. (Series : CSIRO Marine and Atmospheric Research internal report 002). 025.84
Enquiries should be addressed to:
Edward King CSIRO Marine and Atmospheric Research GPO Box 3023, Canberra, ACT, 2601 +61-2-6246-5894 +61-2-6246-5988 [email protected] Important Notice
© Copyright Commonwealth Scientific and Industrial Research Organisation (‘CSIRO’) Australia 2005
All rights are reserved and no part of this publication covered by copyright may be reproduced or copied in any form or by any means except with the written permission of CSIRO.
The results and analyses contained in this Report are based on a number of technical, circumstantial or otherwise specified assumptions and parameters. The user must make its own assessment of the suitability for its use of the information or material contained in or generated from the Report. To the extent permitted by law, CSIRO excludes all liability to any party for expenses, losses, damages and costs arising directly or indirectly from using this Report.
Use of this Report
The use of this Report is subject to the terms on which it was prepared by CSIRO. In particular, the Report may only be used for the following purposes.
this Report may be copied for distribution within the Client’s organisation;
the information in this Report may be used by the entity for which it was prepared (“the Client”), or by the Client’s contractors and agents, for the Client’s internal business operations (but not licensing to third parties);
extracts of the Report distributed for these purposes must clearly note that the extract is part of a larger Report prepared by CSIRO for the Client.
The Report must not be used as a means of endorsement without the prior written consent of CSIRO.
The name, trade mark or logo of CSIRO must not be used without the prior written consent of CSIRO.
Contents
Abstract iii
1 Introduction 1
2 Original Data - Level-A 3
2.1 Tape Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Content . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Media . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3 Format . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.4 Missing Data . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Internet Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Content . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Format . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Common HDF Format - Level-B 7
3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Level-A HDF Files . . . . . . . . . . . . . . . . . . . . 8
3.2.2 Level-A Binary Files (Supplementary Data) . . . . . . 9
4 Geographic Projection - Level-C 11
5 Summary 15
A Readme.PAL 19
B Level-A HDF Header 33
C Level-B HDF Header 55
D Level-C HDF Header 69
E File Names and Sizes 81
i
ii CONTENTS
F Scripts 97
F.1 convert a b.tcl . . . . . . . . . . . . . . . . . . . . . . . . . 97F.2 make b from flat.tcl . . . . . . . . . . . . . . . . . . . . . . 102F.3 reproject b-c.tcl . . . . . . . . . . . . . . . . . . . . . . . 107F.4 make reprojection.tcl . . . . . . . . . . . . . . . . . . . . . 110
Abstract
The Pathfinder AVHRR Land data set at CSIRO, covering the period 1981through 1994, has been recovered from a number of ageing tape media,documented and converted into an HDF format that is much easier to use.Data that could not be recovered from damaged media have been replaced ascompletely as possible with data available via the Internet. Since the datawere originally obtained in the late 1990s, NASA have released updatescovering the period 1995 through 2001. These have been incorporated intothe current dataset. A subset containing the Australian region has beenextracted to reduce the data volume handling requirements for local users.The entire data set has been rearchived on modern magnetic media and willbe made available via the CMAR web site.
iii
iv ABSTRACT
Chapter 1
Introduction
The Pathfinder AVHRR Land (PAL) data set was created under the auspicesof the NOAA/NASA Pathfinder program at the Goddard Global ChangeData Centre in Maryland, USA. Numerous papers documenting the sciencebasis and algorithms underlying the data set appear in the published liter-ature and it is not the intention here to duplicate that work. For detailedbackground about the data set readers are referred to the Readme.PALfile (and references therein) that is distributed with the copy of the datapresently available on the internet at
http://disc.gsfc.nasa.gov/interdisc/readmes/pal ftp.shtml.
A copy of that file is reproduced as Appendix A of this report.This report documents the local copy of the global 8km x 8km PAL
data set held by CSIRO Marine and Atmospheric Research. The PAL datais iconic in land use research by virtue of its coverage of the decade from1981–1991 before the USGS Global 1km Project commenced and continen-tal 1km resolution AVHRR data was regularly archived in Australia. Asa result considerable effort has been made to preserve the data for use infuture research. This work has involved documenting the original mediaand file format, replacing data lost due to damaged media, translating thedata into a more convenient and standards-consistent form, and finally re-projecting from the original Goode Interrupted Homolosine projection intothe widely used and supported rectilinear Geographic Latitude/Longitudeprojection. The data has also been re-archived at each of these three stagesusing contemporary media. The purpose of this report is to act as a user’sguide and reference for researchers wishing to utilise any of these data sets,and to document the processes in each of the above steps.
The original data set held by CSIRO covered the period 1981–1994.Since then NASA have released updates through to September 2001. Thesedata have been obtained and subjected to the same processing as the earlierdata, leading to a consistently formatted and documented 20-year globaldata set.
1
2 CHAPTER 1. INTRODUCTION
Throughout this report we consistently refer to the versions of the dataas follows:
• Level-A: Original files and supplementary data replacing those lost dueto media damage.
• Level-B: Files translated to a consistent HDF format.
• Level-C: Files in Geographic projection in consistent HDF format.
For convenient reference, dumps of headers from representative HDFfiles for each of these data versions are provided in the appendices. Togetherwith complete listings of file names and sizes (also in the appendices), theycontribute the overwhelming bulk of the volume of this report.
All computer code used to perform the data manipulation is presentedin Appendix F and is available together with the data sets themselves.
Chapter 2
Original Data - Level-A
The original data that form the basis for this report were obtained from theGoddard DAAC for CSIRO by Damian Barrett in 1997. With time, someof the original tape media, and/or their copies have become unreadable.Consequently it has become necessary to source substitute data from theDAAC via the Internet. Unfortunately the two data sets differ in the specificchannels available so it is not possible to make the replacement seamless.This chapter describes the two input level-A data sets and their differences.The next chapter explains the steps taken to harmonise them.
2.1 Tape Media
2.1.1 Content
The original data set consisted of three HDF files per month containing 12channels of global data, nominally at 8km resolution. The data begin on 13July 1981 and finish on 10 September 1994. Each month is divided into 10-day intervals beginning on the 1st, 11th and 20th of the month; the lengthof third interval is adjusted, depending on the month, so that it ends on thelast day of the month. The 12 channels are listed in Table 2.1.
The data is all stored in the Goode Interrupted Homolosine Projectionin a rectangular grid of 2168 lines of 5004 pixels. There is no informationrelating line and pixel to latitude and longitude other than the naming ofthe projection.
2.1.2 Media
The data were originally provided on 14 4mm magnetic tapes, each con-taining two files. The first file on each tape is an ASCII listing of the tapecontents and file sizes. The second file on each tape contains up to 36 HDFfiles (3 per month) for an entire year packed in a Unix tar file. Each HDF
3
4 CHAPTER 2. ORIGINAL DATA - LEVEL-A
HDF Data Set Name Content
Data-Set-2 NDVIData-Set-4 CLAVR flagsData-Set-6 Quality Control flagsData-Set-8 Scan Angle (radians)Data-Set-10 Solar Zenith Angle (radians)Data-Set-12 Relative Azimuth Angle (Radians)Data-Set-14 Channel 1 Normalized Reflectance (%)Data-Set-16 Channel 2 Normalized Reflectance (%)Data-Set-18 Channel 3 BB Temperature (K)Data-Set-20 Channel 4 BB Temperature (K)Data-Set-22 Channel 5 BB Temperature (K)Data-Set-24 Day of Year
Table 2.1: Data sets contained in original HDF files.
file is compressed with the Unix “compress” program. The file names are ofthe form:
PAL mmm dd-dd yyyy.HDF.Z
where mmm is a three letter month code (eg JAN, FEB, etc), dd-dd are thestart and end days of month for the interval, and yyyy is the year. A conse-quence of this naming scheme is that the file names naturally sort into orderby month name, rather than by year/month/day which can unnecessarilycomplicate processing systems. A complete list of the level-A files appearsin the first column of the table in Appendix-E. At some point the 4mmtapes were duplicated on 8mm (Exabyte) media which are stored with the4mm media.
2.1.3 Format
Within each HDF file, each scientific data set (SDS) is documented solely byits own HDF attributes. An example header, produced by the HDF utilityprogram hdp, for one of these HDF files appears in Appendix B. The dataare all stored in what HDF calls “calibrated” form, where quantities areoffset and scaled so that they can be stored using a reduced number of bits(and precision) as integers. In general the physical quantities are related tothe stored data according to:
Physical Value = (Stored Value - Add Offset) * Scale Factor
The scale factor and add offset are recorded as attributes of each SDS. Otherattributes describe the maximum and minimum valid values for the data,the coordinate system and the units. The name of the physical variable is
2.2. INTERNET FILES 5
actually stored as an attribute rather than as the name of the SDS. TheHDF convention for the valid max and valid min attributes is that theyspecify the limits of the physical variable, not the calibrated (stored) quan-tity. Unfortunately in these files they refer to stored values, and so someHDF readers have difficulty in extracting the data correctly. Each SDS hasonly default dummy coordinate variables that HDF uses to enumerate eachaxis; and these are different for each SDS. Several of these factors motivatethe reformatting of the data described in the next chapter.
2.1.4 Missing Data
As mentioned, some of the media have become unreadable. In particularthe 1985 4mm tape is truncated with only 13 of the potential 36 files beingcomplete (see listing in Appendix E). The 8mm copy of this tape exhibitsthe problem identically, suggesting that the 4mm tape was defective beforethe copy was made.
The 8mm copies of both the 1991 and 1992 4mm tapes are also unread-able, though the 4mm originals produced complete data. There is howevera problem with the file from the middle interval of May 1991. Although itappeared to read successfully from the tape, and apparently uncompressedcorrectly, no HDF reader is able to open it. A total of 24 files are missing,23 from 1985, and one from 1991.
2.2 Internet Files
To supplement the missing data we used the collection provided by theGSFC DAAC at:
http://disc.gsfc.nasa.gov/interdisc/readmes/pal ftp.shtml.
These data are described in detail in Appendix A. The supplementarydata covering 1995–2001 are in the same format, and have presumably beensubjected to the same processing as the pre-1995 data, even though theonline documentation has not been updated to reflect their existence.
2.2.1 Content
The major difference between these data and the data distributed on thetape is that only the NDVI and four of the five AVHRR channels are provided(Channel 3 is absent). There is no angle data, day of year or flag data. In allother respects the data channels and NDVI are identical to that containedin the HDF files from the tapes.
On the other hand, two ancillary files are provided that give the mappingof each pixel and line in the Goode Interrupted Homolosine Projection to a
6 CHAPTER 2. ORIGINAL DATA - LEVEL-A
corresponding latitude and longitude, and because the grids are identical tothose in the HDF files, they are equally applicable to those data.
2.2.2 Format
The major format difference is that each channel is provided as a separateflat binary data set, in “calibrated” form like the HDF data, but without thedescribing attributes. The Readme file reproduced in Appendix A containsall the necessary extra information needed to decode these files and computethe physical quantities. We downloaded the subset of 144 of these files (24intervals of 6 files each) necessary to replace the missing HDF files.
Chapter 3
Common HDF Format -Level-B
3.1 Motivation
As discussed, the loss of some files due to media errors in the basic level-Adata set necessitated substitution of data from an alternative source in adifferent format. For ease of use, it is very desirable that all the data be in acommon format. The HDF format used for the majority of the level-A dataset is obviously a far richer and portable style than the flat binary files ofthe supplementary data.
The previous chapter however enumerated several issues with the exist-ing HDF format. Specifically these include:
• Data stored as calibrated (smaller but more complicated to read, moreattributes required);
• Incorrect use of valid min and valid max attributes (some HDF read-ers have difficulty);
• SDS name is not descriptive (inconvenient);
• Lack of explicit dimension coordinate variables (potential ambiguity).
We have chosen therefore to convert the data to a new format, designatedlevel-B, that addresses all these issues. A key goal was to not change thedata values or affect in any way the valid values of the actual physical vari-ables, nor to lose any metadata. The HDF file storage format was retainedbecause it is a self-documenting, self-contained, architecturally-independentand widely supported standard.
7
8 CHAPTER 3. COMMON HDF FORMAT - LEVEL-B
3.2 Implementation
3.2.1 Level-A HDF Files
The primary advantage of storing data in calibrated form in an HDF fileis to save storage volume. With disk storage capacities increasing, andthe ubiquitous availability of high performance compression tools (togetherwith the CPU power to run them) the significance of the space issue isdecreasing. The disadvantage of the calibrated form is the complication ofhaving to decode and type convert the data whenever it is accessed. Wetherefore decided to perform the conversions once and store each physicalvariable in a native format appropriate to its type; i.e. integer types forflags and floating point types for real numbers.
To eliminate the issues with the valid min and valid max attributes, aFillValue attribute was defined for every data set and all non-valid datapixels were set to that value. The process steps for converting the data aretherefore:
• Read calibrated data without conversion;
• Define FillValue;
• Use valid min and valid max attributes to set invalid data to FillValue;
• Promote data type (e.g. integer to floating point) and apply calibra-tion parameters
Physical Value = (Stored Value - Add Offset) *
Scale Factor
• Attach standard x and y coordinate variables
• Write data directly (uncalibrated) to new HDF file with an SDS namederived from the name attribute
• Copy any other attributes to new file
Two additional global attributes were added to the new file; one brieflydescribing the above translation process and where to find more informa-tion, and another giving the name of the original level-A HDF file (fortraceability). Table 3.1 gives the relationships between the attributes forthe conversion between the two HDF formats.
Note that the dimension variables x and y are defined only once and thenused for every SDS. An example HDF header for the new format (level-B)is provided in Appendix C. Comparison with the level-A header given inAppendix B illustrates the extent of the simplification of the format.
3.2. IMPLEMENTATION 9
Original Format (level-A) New Format (level-B)
Type Entity Type Entity
n/a Global Attr. descriptionn/a Global Attr. source file
Dimension Var. fakeDimi Dimension Var. yDimension Var. fakeDimj Dimension Var. xDimension Attr. fakeDimi Dimension Attr. yDimension Attr. fakeDimj Dimension Attr. x
Attr. coordsys Attr. coordsysAttr. valid max n/aAttr. valid min n/aAttr. scale factor n/aAttr. scale factor err n/aAttr. add offset n/aAttr. add offset err n/aAttr. calibrated nt n/aAttr. remarks-1 Attr. remarks 1Attr. long name n/aAttr. Units Attr. unitsAttr. Format n/a
Table 3.1: Relationships between the attributes in the level-A HDF files andthe new level-B HDF files.
Since new files were being written, we took the opportunity to rearrangethe file names to a form that would more conveniently sort into ascendingtime order:
yyyymm dd-dd.hdf
where mm is the two digit month number and the other symbols are asbefore. The script program written to perform the conversion is reproducedin Appendix F, Section F.1.
3.2.2 Level-A Binary Files (Supplementary Data)
For the channels present in both data sets (NDVI and four channels ofAVHRR), comparison shows these data are identical to those stored in theHDF files. The major difference is that each channel is in a separate flatbinary file with no header or other directly attached metadata. Since thenew HDF format described above stores the data more naturally in its nativetype without HDF calibration and with a reduced number of attributes, itis a simple task to convert the data in the binary files to their native types,applying mostly the same steps as above, and aggregate them into a single
10 CHAPTER 3. COMMON HDF FORMAT - LEVEL-B
HDF file per ten-day interval. The attributes listed in the above table aretrivially added using data from the documentation available over the WWW(Appendix A). To make the file naming scheme consistent with the filescreated from the original HDF files, yet retain an indication that the datais derived from the supplementary set, we adopted a similar convention:
yyyymm dd.hdf
where the symbols are as before and the only difference is that onlythe start day of each time interval is included, not the end day. Again therelevant script program appears in the Appendix, Section F.2.
Chapter 4
Geographic Projection -Level-C
The Goode Interrupted Homolosine projection1 in which the original dataare stored is not in particularly widespread use and so not all image manip-ulation packages support it. It was felt that it would make it much easierfor users if the data could be presented in a more straightforward rectilin-ear Geographic Latitude/Longitude projection. This would simplify directlookup of particular locations (pixels) or spatial subsets of interest withoutcomplicating projection computations. The distortion in polar regions thatwould result is unlikely to be important, at least for Southern users of theNDVI dataset. In any case it is intended to continue to make the level-Bdata in the Goode Interrupted Homolosine projection available for users.
The level-A files obtained from the Internet included two files containinglayers of latitude and longitude in degrees as a function of line and pixelnumber in the Goode Interrupted Homolosine projection. Pseudo-colourimages of these two layers appear in Figure 4.1. The programming languagechosen to implement this project (Tcl-NAP, see Appendix F) has facilitiesthat make resampling and reprojecting data very straightforward. In par-ticular there is a function to take a pair of grids such as these giving amapping between two projections, and create an “inverse grid” which mapsin the opposite direction (i.e. in this case, grids of line and pixel as func-tions of latitude and logitude). A second function can use this inverse gridto remap data layers into the destination projection.
A short program (Section F.4) was written to read the two binary filescontaining the latitude and longitude grids, attach coordinate variables,compute the inverse grids and save both pairs of grids in a single HDF
1Goode Interrupted Homolosine is a combination of Sinusoidal and Mollweide projec-
tions with clipping boundaries and central meridians to reduce distortion around features
of interest. See for example ftp://ftp.remotesensing.org/proj/PROJ.4.3.I2.pdf for
further details.
11
12 CHAPTER 4. GEOGRAPHIC PROJECTION - LEVEL-C
Figure 4.1: Grids of latitude and longitude (both in degrees) in the GoodeInterrupted Homolosine projection.
13
Figure 4.2: Grids of pixel and line number to convert from Goode Inter-rupted Homolosine to Geographic Latitude/Longitude projection.
14 CHAPTER 4. GEOGRAPHIC PROJECTION - LEVEL-C
file for subsequent use. Pseudo-colour images of the two inverse grids arepresented in Figure 4.2. The original grids had dimensions of 5004 pixels by2168 lines with longitudes running from −180.00◦ to +180.00◦ and latitudesfrom +89.72◦ to −89.59◦. This corresponds to a cell size of 0.072◦ × 0.08◦.The output grid was chosen with a uniform square cell size of 0.08◦ giving anominal 4500 samples in longitude and 2250 lines in latitude. Because theinput grids do not contain latitudes right to the poles, the number of pixelsin latitude is actually 2241.
The final step in the conversion process was to apply the inverse grids toevery data layer in each of the level-B HDF files to reproject, using nearestneighbour resampling, the data into the latitude-longitude projection. Thesereprojected data were then written to a corresponding level-C file after atrivial resizing step that added the correct number of lines at the top andbottom so that there were 2250 lines corresponding to a latitude range of+90.00◦ to −90.00◦. The program to do this appears in Section F.3. Nochanges were made to the individual metadata attributes other than tochange the coordinate system name. The global description attribute wascopied to the output file as an attribute with name parent description, anda new description attribute referencing it and explaining that the data hadbeen reprojected was inserted.
The filenaming scheme described previously for the level-B data wasretained, modified only by the addition of a geo suffix to main part of thename.
Chapter 5
Summary
The work described in this report has resulted in the assembly of a con-sistently curated copy of the PAL data set from 1981 to 2001. The dataare in a common file format with uniform metadata and an informative andhelpful naming scheme, for both the data sets and the files. The data hasbeen manipulated through three stages of processing, designated levels A, Band C. In the final stage there are 474 files corresponding to every “10-day”epoch between 13 July 1981 and 10 September 1994. A further 243 filescover the period from 1 January 1995 through 30 September 2001. Thereare 11 epochs missing between 11 September 1994 and 31 December 1994.
The data for each stage of the processing amounts to a tree of between 20and 25 GB of compressed files. The compression achieved (via gzip) is abouta factor of ten so that uncompressed each global time series is nearly 200 GB.To facilitate use by local users, an Australian subset has been extracted fromthe level-C data tree. These data are in an identical format to the level-Cfiles except the latitude ranges from −10◦ to −45◦ and longitude from 110◦ to155◦. The compressed Australian data tree amounts to 1.2 GB. Each of thethree main trees has been separately archived in duplicate to DLT IV media(making a total of 6 tapes). Each tape also contains a copy of this report, thereprojection file and all the software necessary to generate the subsequentstage(s). The level-C Australian subset is also included separately on eachtape.
Example images of the NDVI channel for the first epoch of February1982 are shown here in Figures 5.1, 5.2 and 5.3. A complete listing of allthe filenames and file sizes in each processing stage is given in Appendix E.
15
16 CHAPTER 5. SUMMARY
Figure 5.1: Level-A raw NDVI data in Goodes Interrupted Homolosine pro-jection. Note the data values are integers between zero and 255 with zerodenoting missing data.
17
Figure 5.2: Level-B scaled NDVI data in Goodes Interrupted Homolosineprojection. Here the data are represented by actual physical values andmissing data are not represented by a valid data value.
18 CHAPTER 5. SUMMARY
Figure 5.3: Level-C NDVI data in Geographic Projection.
Appendix A
Readme.PAL
This appendix reproduces verbatim the Readme.PAL file available at the timeof writing from
http://disc.gsfc.nasa.gov/interdisc/readmes/pal ftp.shtml.
Pathfinder AVHRR Land Data
An HTML version of this document is available at the following URL:
http://daac.gsfc.nasa.gov/
1. DATA SET OVERVIEW
1.1 Sponsor
1.2 Original Archive
1.3 Future Updates
2. THE DATA
2.1 Characteristics
2.2 Source
3. THE FILES
3.1 Format
3.2 Name and Directory Information
3.3 Companion Software
4. THE SCIENCE
4.1 Theoretical Basis of Data
19
20 APPENDIX A. README.PAL
4.2 Processing Sequence and Algorithms
4.3 Scientific Potential of Data
4.4 Validation of Data
5. DATA ACCESS AND CONTACTS
5.1 FTP Site
5.2 Points of Contact
6. REFERENCES
1. DATA SET OVERVIEW
This data set, produced as part of the NOAA/NASA Pathfinder AVHRR Land (PAL)
program, contains global and continental monthly and 10-day composites of
channels 1, 2, 4 and 5 and the Normalized Difference Vegetation Index (NDVI) at
8 km and 1 degree resolution. The data, derived from the Advanced Very High
Resolution Radiometers (AVHRR) on the "afternoon" NOAA operational
meteorological satellites (NOAA-7, -9, -11), cover the period from 1981 to
1994. The Pathfinder Program produces long-term data sets processed in a
consistent manner for global change research.
1.1 SPONSOR
The production and distribution of this data set are funded by NASA’s Mission
to Planet Earth program. The data are not copyrighted; however, we request
that, when you publish data or results using these data, please acknowledge as
follows:
The authors wish to thank the Distributed Active Archive Center
(Code 902.2) at the Goddard Space Flight Center, Greenbelt, MD,
20771, for producing the data in their present form and
distributing them. The original data products were produced
under the NOAA/NASA Pathfinder program, by a processing team
headed by Ms. Mary James of the Goddard Global Change Data
Center; and the science algorithms were established by the
AVHRR Land Science Working Group, chaired by Dr. John Townshend
of the University of Maryland. Goddard’s contributions to these
activities were sponsored by NASA’s Mission to Planet Earth
program.
1.2 ORIGINAL ARCHIVE
This data set is part of the Pathfinder Land data set archived at the Goddard
DAAC. It is derived from the PAL 8 km Daily data. The Daily data are derived
from the NOAA AVHRR Global Area Coverage (GAC) 1B data, available from NOAA’s
Satellite Active Archive.
21
1.3 FUTURE UPDATES
This data set will be updated as data from other years are processed.
2. THE DATA
2.1 CHARACTERISTICS
Parameters, Units, Range
______________________________________________________________________________
PARAMETER DESCRIPTION UNITS DATA RANGE
______________________________________________________________________________
NDVI Normalized Difference Unitless -1 to +1
Vegetation Index derived
from the visible and
near-infrared channel
reflectances (0.58 to
0.68 um and 0.73 to
1.10 um, respectively)
Ch1 AVHRR Channel 1 % 0 to 100
Reflectance
Ch2 AVHRR Channel 2 % 0 to 100
Reflectance
Ch4 AVHRR Channel 4 Kelvin 160 to 340
Brightness Temperature
Ch5 AVHRR Channel 5 Kelvin 160 to 340
Brightness Temperature
elev Ancillary elevation file Meters -15000 to 10000
lsm Ancillary Land Sea Mask Not Applicable 0 to 1
lat Ancillary Latitude file Degrees -90 to 90
lon Ancillary Longitude file Degrees -180 to 180
______________________________________________________________________________
Temporal Coverage: July 1981 to September 1994
Temporal Resolution: 10-day and monthly composites.
Spatial Coverage: Global and Continental
Spatial Resolution: 8 km x 8 km and 1 degree x 1 degree
22 APPENDIX A. README.PAL
Starting Points and End Points
___________________________________________________________________________
North South West East
Area Latitude Latitude Longitude Longitude
___________________________________________________________________________
Global 90.0 -90.0 -180.0 180.0
Africa 38.5 -37.8 -20.0 61.3
Asia 79.0 4.5 25.6 143.7
Australia 7.5 -48.0 93.5 179.5
Europe 76.7 23.4 -13.0 60.5
North America 72.5 9.0 -165.0 -60.0
South America 13.2 -57.0 -83.0 -33.0
___________________________________________________________________________
2.2 SOURCE
These data were collected by the Advanced Very High Resolution Radiometer
(AVHRR) flown on NOAA-series satellites.
Nominal orbit parameters for the NOAA-7, -9, and -11 are
Launch date: 6/23/81 (NOAA-7), 12/12/84 (NOAA-9), 9/24/88 (NOAA-11)
Orbit: Sun synchronous, near polar
Nominal altitude: 833 km
Inclination: 98.8 degrees
Orbital period: 102 minutes
Equatorial crossing times: 114.30 (NOAA-7), 14.20 (NOAA-9),
13.40 (NOAA-11) LST
Nodal Increment: 25.3 degrees
The orbital period of about 102 minutes produces 14.1 orbits per day. Because
the daily number of orbits is not an integer, the suborbital tracks do not
repeat daily, although the local solar time of the satellite’s passage is
essentially unchanged for any latitude. The 110.8 degrees cross-track scan
equates to a swath of about 2700 km. This swath width is greater than the 25.3
degrees separation between successive orbital tracks and provides overlapping
coverage (side-lap).
The spectral band widths and Instantaneous Field of View (IFOV) of the AVHRR
instrument are given in the following table.
Channel Wavelength (micrometer) IFOV (milliradian)
------- ------------------------ ------------------
1 0.58 - 0.68 1.39
2 0.73 - 1.10 1.41
3 3.55 - 3.93 1.51
4 10.3 - 11.3 1.41
5 11.5 - 12.5 1.30
23
A more detailed, comprehensive description of the NOAA series satellites, the
AVHRR instrument, and the AVHRR GAC 1B data can be found in the NOAA Polar
Orbiter Data User’s Guide (Kidwell 1991), which can be obtained from NOAA’s
National Environmental Satellite Data and Information Service (NESDIS) (see
DATA ACCESS AND CONTACTS).
3. THE FILES
3.1 FORMAT
Compressed format:
The Pathfinder data on the ftp site has been compressed using Gzip, which
reduces the size of the named files using Lempel-Ziv coding.
Uncompressed format:
The Pathfinder data are processed as 32-bit floating point numbers to maintain
maximum accuracy. In generating the output data, each layer is scaled to an
appropriate 8-bit (unsigned) or 16-bit (unsigned) interger value corresponding
to the ranges shown in the table below. Consiquently, to obtain the
geophysical values from the scaled data value, offsets must be subtracted from
the scaled data value and the result multiplied by the gain. Complete
information on scaling and bit representations are provided int the table
below.
________________________________________________________________________
Parm. bits Offset Gain Bin. min/max
________________________________________________________________________
NDVI 8-bit unsigned 128 .008 3 - 253
Ch1 16-bit unsigned 10 .002 10 - 50010
Ch2 16-bit unsigned 10 .002 10 - 50010
Ch4 16-bit unsigned -31990 .005 10 - 36010
Ch5 16-bit unsigned -31990 .005 10 - 36010
elev 16-bit unsigned 15010 1 10 - 25010
lat 16-bit unsigned 9010 .01 10 - 18010
lon 16-bit unsigned 18010 .01 10 - 36010
lsm 8-bit unsigned 0 1 0 - 2
________________________________________________________________________
File Size, File Demension
_________________________________________________________________________
File Type File Size (bytes) Columns Rows
uncompressed
_________________________________________________________________________
Global 1-degree NDVI 64800 360 180
24 APPENDIX A. README.PAL
Global 1-degree Channel’s 129600 360 180
Global 8-km NDVI 10848672 5004 2168
Global 8-km Channel’s 21697344 5004 2168
Africa NDVI 1166000 1100 1060
Afica Channel’s 2332000 1100 1060
Asia NDVI 1320500 1390 950
Asia Channel’s 2641000 1390 950
Australia NDVI 831600 1080 770
Australia Channel’s 1663200 1080 770
Europe NDVI 522600 780 670
Europe Channel’s 1045200 780 670
North America NDVI 893800 1090 820
North America Channel’s 1787600 1090 820
South America NDVI 669300 690 970
South America Channel’s 1338600 690 970
_________________________________________________________________________
The ancillary files elev, lat, and lon are the same size and dimension as the
channel files and lsm is the same size and dimension as the NDVI file, for
thier respective coverage’s.
Headers, Trailers, and Delimiters: None.
Fill Values: 0 is Missing Data Over Land, 1 is Ocean, 2 is Goode’s
Interrupted Space.
Image Orientation: North to South
Map Projection: Goode Interrupted Homolosine Projection (global 1
degree data is not projected)
3.2 NAME AND DIRECTORY INFORMATION
Naming Convention
The file naming convention for this data set is
xxxxxxxx.pppppp.lctgrr.yymm[dd].gz
xxxxxxxx.pppppp.lctgrr.gz
where:
xxxxxxxx: data product designator (i.e. avhrrpf)
pppppp: parameter name
ndvi = Normalize Difference Vegetation Index
ch1 = Channel 1
ch2 = Channel 2
ch4 = Channel 4
ch5 = Channel 5
elev = Elevation
lat = Latitude
25
lon = Longitude
lsm = Land/Sea Mask
lctgrr: code for spatial/temporal resolution & coverage
l = number of vertical levels (1 level for this data set)
c = vertical coordinate(n = not applicable for this data set)
t = temporal period, with the following definitions:
t = ten day composites
m = monthly composites
n = not applicable
g = horizontal grid resolution
e = 1 deg lat x 1 deg lon
f = 8 km x 8 km
rr= spatial coverage, with the following definitions:
gl global land
af africa
as asia
eu europe
sa south america
na north america
au australia
yy: year (e.g. 87=1987)
mm: month (e.g. 12=December)
dd: first day of ten day period
gz: designates gzip compressed file
Directory Path
The directory path for data files is:
/data/avhrr/kkkkkkkk[/cccccccc]/yyyy/mmm/
where:
kkkkkkkk is coverage (i.e. global 8-km, global 1-degree and continent)
cccccccc is the continent
yyyy is year
mmm is month (e.g. jan = January
The directory path for ancillary files is:
/data/avhrr/kkkkkkkk[/cccccccc]/ancillary/
3.3 COMPANION SOFTWARE
Read software for these data files are located in the /data/avhrr/utilities
directory. An explanation of this read software can be aquired at the following
URL:
http://daac.gsfc.nasa.gov/CAMPAIGN_DOCS/LAND_BIO/GLBDST_Misc_SW.html
26 APPENDIX A. README.PAL
4. THE SCIENCE
4.1 THEORETICAL BASIS OF DATA
Spectral Wavelengths
On the NOAA-7, NOAA-9, and NOAA-11 satellites, the AVHRR sensor measures
emitted and reflected radiation in five channels (bands) of the
electromagnetic spectrum: a visible (0.58 to 0.68 micrometer) band that is
used for daytime cloud and surface mapping; a near-infrared (0.725 to 1.1
micrometer) band used for surface water delineation and vegetation cover
mapping; a mid-infrared (3.55 to 3.93 micrometer) band used for sea surface
temperature and nighttime cloud mapping; a thermal infrared (10.5 to 11.5
micrometer) band used for surface temperature and day and night cloud mapping;
and another thermal infrared (11.5 to 12.5 micrometer) band used for surface
temperature mapping (Kidwell 1991).
Vegetation Index
The first AVHRR channel is in a part of the spectrum where chlorophyll causes
considerable absorption of incoming radiation, and the second channel is in a
spectral region where spongy mesophyll leaf structure leads to considerable
reflectance. This contrast between responses of the two bands can be shown by
a ratio transform; i.e., dividing one band by the other. Several ratio
transforms have been proposed for studying different land surfaces (Tucker,
1979). The Normalized Difference Vegetation Index (NDVI) is one such ratio,
which has been shown to be highly correlated with vegetation parameters such
as green-leaf biomass and green-leaf area and, hence, is of considerable value
for vegetation discrimination (Justice et al. 1985).
NDVI Relationships With Geophysical Variables
A ratio between bands is of considerable use in reducing variations caused by
surface topography (Holben and Justice 1981). It compensates for variations in
radiance as a function of Sun elevation for different parts of an image. The
ratios do not eliminate additive effects caused by atmospheric attenuation,
but the basis for the NDVI and vegetation relationship holds generally. The
soil background contributes a reflected signal apart from the vegetation, and
interacts with the overlying vegetation through multiple scattering of radiant
energy. Huete (1988) found the NDVI to be as sensitive to soil darkening
(moisture and soil type) as to plant density over partially vegetated areas.
4.2 PROCESSING SEQUENCE AND ALGORITHMS
Formulae
Derivation Techniques and Algorithms
27
Recalibrated radiances for the Pathfinder data are converted to surface
reflectance and brightness temperature using the following procedures and
information available from NOAA (Rao, 1993a,b).
Calibration for Channels 1 and 2:
R = A exp(B x d)*(C(10) - C(0))
where
R = is the radiance in [W][m-2][micrometer-1][steradian-1]
d = is the number of days since launch
C(10) = is the measured counts on the 10-bit scale
A, B, C(0) = are parameters supplied by the NOAA/NASA Pathfinder
Calibration Working Group (Rao 1993b).
For Channel 3, the calibration is determined by the gain and offsets provided
in the NOAA 1B data, using procedures described in Kidwell (1991).
For Channels 4 and 5, radiances are computed from the temperatures of the
Internal Calibration Target (ICT) and the laboratory blackbody as convolutions
of the Planck function over AVHRR’s spectral response functions. Details are
available in NOAA Technical Report (Rao 1993a).
Reflectance for Channels 1 and 2 is derived as follows:
Reflectance = (calibrated surface leaving radiance) / (calibrated
incoming radiance).
The Atmospheric correction scheme follows the algorithm of Gordon et. al
(1988)
Brightness temperatures for Channels 3, 4, and 5 are derived as follows:
The calibrated radiances are converted to brightness temperatures
using Planck function. NOAA provides look-up tables for each satellite
(Kidwell 1991, Brown et al. 1985, Weinreb et al. 1990).
NDVI is derived:
(Channel 2 reflectance - Channel 1 reflectance)
-------------------------------------------------------
(Channel 2 reflectance + Channel 1 reflectance)
Data Processing Sequence
Daily data are produced for a compositing period and quality controlled. The
10-day composite is created from Daily data and quality controlled. Climate
data are generated from the composite. The Monthly Composite data are derived
28 APPENDIX A. README.PAL
from the 10-day data.
Processing Steps (and data sets)
The Pathfinder AVHRR data are created by the following steps.
1.Ascending GAC orbit data are unpacked and staged.
2.Ancillary data needed in processing are retrieved. These include ozone
data from Nimbus-7 Total Ozone Mapping Spectrometer (TOMS), land
surface elevation from the Earth Topographic Five Minute Grid (ETOPO5)
data set, land or sea mask, and satellite ephemeris files.
3.Each scan is navigated using an orbital model.
4.Based on the precise navigation, latitudes, longitudes, solar zenith,
solar azimuth, scan, and relative azimuth angles are determined for
each pixel.
5.Calibration and atmospheric corrections are applied, and counts are
converted to radiances that are used to derive reflectance and
brightness temperatures.
6.Cloud flags are calculated and appended and the NDVI is calculated from
the surface reflectances.
7.The data are then resampled to 8 km x 8 km pixels in the output product
(Daily data) and all ocean data are masked out.
8.Once 10 days of daily data are processed, they are composited by
choosing values for each bin based on the day that has the highest
NDVI value. Only those pixels within 42 degrees of nadir are used in
the composite. The monthly data are composited from the 10 day data
using the same method.
9.The global one degree data are produced from the Composites.
10.Data products and their associated metadata are quality controlled
before archiving at the Goddard DAAC.
Processing Changes
The changes included with Pathfinder data beginning in 1988 are
Relative azimuth representation
Bug fixes to CLAVR
Bug fixes to thermal calibration
Modification of ozone input to atmospheric correction
The change made beginning in 1986 data is
Composite routine changes
Calibration
The Pathfinder Calibration Working Group recommended time- dependent
calibration coefficients that incorporate the slopes derived from several
29
different calibration investigations and tie these to offsets corresponding to
certain aircraft underflights (Staylor 1990). For channels 4 and 5, new
methods for calibration were recommended based in part on reanalysis of
preflight calibration data that take into consideration the nonlinear response
of the instrument and provide corrections to earlier gain and offset
adjustments.
In the processing stream, the satellite number and days since launch are used
to calculate a revised gain. This new gain, along with offsets provided in Rao
(1993b), is used to calculate radiance. For the thermal channels, the gains
and offsets provided in the NOAA 1B record are corrected using the Internal
Calibration Target (ICT) temperature and corrections provided in Rao (1993a).
They are then applied to calculate a top of the atmosphere radiance. This is
then converted into brightness temperature using a Planck function equivalent
lookup table based on the response curve of each channel. Channel 3 is
converted to brightness temperature following procedures described in Kidwell
(1991).
Atmospheric Correction A Rayleigh correction is calculated and applied
using a standard radiative transfer equation and methodology, which follows
the work of Gordon et al. (1988). This includes a correction for ozone
absorption and daily ozone data from the Total Ozone Mapping Spectrometer
(McPeters et al. 1993) used in the correction. In addition, the pixel
elevation as determined from the ETOPO5 data set (NGDC 1993) is used to
correct the pressure level used in the calculation of Rayleigh coefficients.
The Rayleigh correction terms are applied to the Channels 1 and 2 radiance,
and the resulting reflectances are normalized for solar illumination.
4.3 SCIENTIFIC POTENTIAL OF DATA
This data set product (NDVI) is particularly useful for studies of temporal
and interannual behavior of surface vegetation and for developing surface
background characteristics for use in climate modeling. Some uses of NDVI
include
Global land cover classification
Regional agricultural crop monitoring
Desertification studies and drought monitoring
Terrestrial environmental monitoring
Global water and energy balance studies.
4.4 VALIDATION OF DATA
A few validation checks have been built into the Pathfinder data processing
(Quality Control Flags). Automated quality checks are made for consistency in
fields such as date and satellite or scan times. Geophysical values are
checked to see that they are within a reasonable range. Certain anomalies may
exist in the data set because of conditions inherent in the input data, for
example, missing scan lines or orbits, incorrect or incomplete calibration
30 APPENDIX A. README.PAL
coefficients, and many of these data are flagged with the Quality control
indicator.
Errors in the Computation of Solar Zenith Angles have been found in the PAL
Data Set. This error in the SZA in the daily and composite data, varies
systematically with time and geographical location. An analysis of SZA from
the PAL data set showed that the errors are smaller in the recent data (e.g.,
2o in the 1992 data) and larger in the earlier data (e.g., 7o in the 1982
data). Errors in the solar zenith angle layer affect channel 1 and 2
reflectances, NDVI, CLAVR flags and the relative azimuth angles. A memo has
been written that discusses the impact of these errors on the PAL data set.
The memo is accesible at the following URL:
http://daac/CAMPAIGN_DOCS/LAND_BIO/zenith_angle_memo.html
5. DATA ACCESS AND CONTACTS
5.1 FTP SITE
The Pathfinder AVHRR Land Composite Data Set resides on the Goddard DAAC
anonymous FTP site. You may access the files directly via FTP at
ftp daac.gsfc.nasa.gov
login: anonymous
password: < your internet address >
cd /data/avhrr
When downloaded the PAL 8-bit and 16-bit unsigned compressed files
with a WWW browser, use the pop-up menu or click on a link with
the shift key held down (option key on Macintosh). This will
produce the dialog box enabling you to save the file.
5.2 POINTS OF CONTACT
For information about or assistance in using any DAAC data, contact
EOS Distributed Active Archive Center(DAAC)
Code 902.2
NASA Goddard Space Flight Center
Greenbelt, Maryland 20771
Internet: [email protected]
301-614-5224 (voice)
301-614-5268 (fax)
6. REFERENCES
31
Brown, O.W., J.W. Brown, and R.H. Evans. 1985. Calibration of Advanced Very
High Resolution Radiometer observations. Journal of Geophysical Research,
90:11667- 11677.
Gordon, H.R., J.W. Brown, and R.H. Evans. 1988. Exact Rayleigh scattering
calculations for use with the Nimbus- 7 coastal zone color scanner. Applied
Optics, 27:2111-2122.
Holben, B.N., and C.O. Justice. 1981. An examination of spectral band ratioing
to reduce the topographic effect on remotely sensed data, International
Journal of Remote Sensing, 2:115-133.
Huete, A.R. 1988. A soil adjusted vegetation index (SAVI), Remote Sensing of
the Environment, 25:295-309.
Justice, C.O., J.R.G. Townshend, B.N. Holben, and C.J. Tucker. 1985. Analysis
of the phenology of global vegetation using meteorological satellite data,
International Journal of Remote Sensing, 6:1271-1318.
Kidwell, K. 1991. NOAA Polar Orbiter Data User’s Guide. NCDC/SDSD. National
Climatic Data Center, Washington, DC.
McPeters, R.D., et al. 1993. Nimbus-7 Total Ozone Mapping Spectrometer (TOMS)
Data Products User’s Guide. NASA Reference Publication 1323.
NGDC. 1993. 5 Minute Gridded World Elevation. NGDC Data, Announcement DA
93-MGG-01. Boulder.
Rao, C.R.N. 1993a. Nonlinearity corrections for the thermal infrared channels
of the Advanced Very High Resolution Radiometer: assessment and
recommendations. NOAA Technical Report NESDIS-69. NOAA/NESDIS. Washington, DC.
Rao, C.R.N. 1993b. Degradation of the visible and near-infrared channels of
the Advanced Very High Resolution Radiometer on the NOAAP9 spacecraft:
assessment and recommendations for corrections. NOAA Technical Report NESDIS-
70. NOAA/NESDIS. Washington, DC.
Staylor, W.F. 1990. Degradation rates of the AVHRR visible channel from the
NOAA-6, -7, and -9 spacecraft. Journal of Atmospheric and Oceanic Technology,
7:411-423.
Tucker, C.J. 1979. Red and photographic infrared linear combinations for
monitoring vegetation. Remote Sensing of the Environment, 8:127-150.
Weinreb, M.P., G. Hamilton, S. Brown, and R.J. Koczor. 1990. Nonlinearity
corrections in calibration of Advanced Very High Resolution Radiometer
infrared channels. Journal of Geophysical Research, 95:381-7388.
32 APPENDIX A. README.PAL
Appendix B
Level-A HDF Header
Produced via the HDF utility hdp with command line:hdp -dumpsds -h PAL MAR 01-10 1988.HDF
File name: PAL_MAR_01-10_1988.HDF
Dimension Variable Name = fakeDim0
Index = 0
Scale Type= number-type not set
Ref. = 29
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim0
Size = 2168
Dimension Variable Name = fakeDim1
Index = 1
Scale Type= number-type not set
Ref. = 30
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim1
Size = 5004
Variable Name = Data-Set-2
Index = 2
Type= 8-bit unsigned integer
Ref. = 2
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim0
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim1
33
34 APPENDIX B. LEVEL-A HDF HEADER
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 8-bit unsigned integer
Count= 1
Value = 253
Attr2: Name = valid_min
Type = 8-bit unsigned integer
Count= 1
Value = 3
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.008000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 128.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 21
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 194
Value = NDVI (Normalized Difference Vegetation In
dex) is a difference \012ratio of the two
visible channels from the AVHRR. Values
range\012from -1 to +1, though all negat
ive values represent NO vegetation.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 4
Value = NDVI
Attr10: Name = units
35
Type = 8-bit signed char
Count= 3
Value = n/a
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim2
Index = 3
Scale Type= number-type not set
Ref. = 31
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim2
Size = 2168
Dimension Variable Name = fakeDim3
Index = 4
Scale Type= number-type not set
Ref. = 32
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim3
Size = 5004
Variable Name = Data-Set-4
Index = 5
Type= 8-bit unsigned integer
Ref. = 4
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim2
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim3
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 8-bit unsigned integer
Count= 1
Value = 32
Attr2: Name = valid_min
36 APPENDIX B. LEVEL-A HDF HEADER
Type = 8-bit unsigned integer
Count= 1
Value = 1
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 1.000000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 0.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 21
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 264
Value = \012CLAVR (CLouds from AVHRR) values repr
esent an estimation of the\012cloudiness
of the data. Values from 1-11 are cloudy
pixels, 12-22\012are mixed pixels (parti
al cloud) and values from 23-31 represent
\012clear data. Ref: Stowe, et al. Adv.
Space Res. 11, 511-554, 1990.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 11
Value = CLAVR Flags
Attr10: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim4
Index = 6
Scale Type= number-type not set
37
Ref. = 33
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim4
Size = 2168
Dimension Variable Name = fakeDim5
Index = 7
Scale Type= number-type not set
Ref. = 34
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim5
Size = 5004
Variable Name = Data-Set-6
Index = 8
Type= 8-bit unsigned integer
Ref. = 6
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim4
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim5
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 8-bit unsigned integer
Count= 1
Value = 32
Attr2: Name = valid_min
Type = 8-bit unsigned integer
Count= 1
Value = 1
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 1.000000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
38 APPENDIX B. LEVEL-A HDF HEADER
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 1.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 21
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 521
Value = \012The QC layer provides per bit QC flag
ging for automated checks or\012notations
on data quality. Values: 1= ch1/2 non-s
tandard\012(when daily ozone is not avail
able for atmospehric correction, a\012cli
matalogical mean is used), 2= ch3/4/5 non
-standard (generally\012only when fewer t
han 50 calibration target temps were avai
lable for\012a set of scan lines), 4= dat
a were interpolated to fill gaps,\0128=da
ta failed internal range checking (often
in thermal channel\012saturation), and 16
= NOAA QC bits were set. These values ar
e\012additive.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 21
Value = Quality Control Flags
Attr10: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim6
Index = 9
Scale Type= number-type not set
Ref. = 35
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim6
39
Size = 2168
Dimension Variable Name = fakeDim7
Index = 10
Scale Type= number-type not set
Ref. = 36
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim7
Size = 5004
Variable Name = Data-Set-8
Index = 11
Type= 16-bit unsigned integer
Ref. = 8
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim6
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim7
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 20954
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.000100
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 10481.980000
40 APPENDIX B. LEVEL-A HDF HEADER
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 163
Value = \012Scan angle describes the look angle o
f the satellite. 0 degrees\012represents
nadir with negative values for back-look
ing and positive\012values for forward sc
anning.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 10
Value = Scan Angle
Attr10: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim8
Index = 12
Scale Type= number-type not set
Ref. = 37
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim8
Size = 2168
Dimension Variable Name = fakeDim9
Index = 13
Scale Type= number-type not set
Ref. = 38
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim9
Size = 5004
Variable Name = Data-Set-10
41
Index = 14
Type= 16-bit unsigned integer
Ref. = 10
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim8
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim9
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 13973
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.000100
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 10.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 198
Value = \012Solar Zenith is the sun’s elevation.
42 APPENDIX B. LEVEL-A HDF HEADER
Nominal equator crossing is\01214:30 (lo
cal time) however due to seasonal differe
nces and satellite\012drift, the elevatio
n changes along orbit and from day to day
.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 18
Value = Solar Zenith Angle
Attr10: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim10
Index = 15
Scale Type= number-type not set
Ref. = 39
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim10
Size = 2168
Dimension Variable Name = fakeDim11
Index = 16
Scale Type= number-type not set
Ref. = 40
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim11
Size = 5004
Variable Name = Data-Set-12
Index = 17
Type= 16-bit unsigned integer
Ref. = 12
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim10
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim11
Size = 5004
43
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 62842
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.000100
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 10.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 121
Value = \012Relative Azimuth is the absolute valu
e of the difference between the\012solar
azimuth angle and the sensor azimuth angl
e. \012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 22
Value = Relative Azimuth Angle
Attr10: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
44 APPENDIX B. LEVEL-A HDF HEADER
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim12
Index = 18
Scale Type= number-type not set
Ref. = 41
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim12
Size = 2168
Dimension Variable Name = fakeDim13
Index = 19
Scale Type= number-type not set
Ref. = 42
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim13
Size = 5004
Variable Name = Data-Set-14
Index = 20
Type= 16-bit unsigned integer
Ref. = 14
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim12
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim13
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 50010
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
45
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.002000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 10.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 238
Value = \012Channel 1 normalized reflectance is t
he reflectance from the .58 -\012.68 micr
on channel of the AVHRR. Data have been
atmospherically \012corrected and normali
zed for solar illumination. Ref: Goward,
et \012al, Rem. Sens Env. 35,257-277, 19
91.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 21
Value = Channel 1 Reflectance
Attr10: Name = units
Type = 8-bit signed char
Count= 13
Value = % reflectance
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim14
Index = 21
Scale Type= number-type not set
Ref. = 43
Rank = 1
Number of attributes = 0
46 APPENDIX B. LEVEL-A HDF HEADER
Dim0: Name=fakeDim14
Size = 2168
Dimension Variable Name = fakeDim15
Index = 22
Scale Type= number-type not set
Ref. = 44
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim15
Size = 5004
Variable Name = Data-Set-16
Index = 23
Type= 16-bit unsigned integer
Ref. = 16
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim14
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim15
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 50010
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.002000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
47
Value = 10.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 240
Value = \012Channel 2 normalized reflectance is t
he reflectance from the .725 -\0121.10 mi
cron channel of the AVHRR. Data have bee
n atmospherically \012corrected and norma
lized for solar illumination. Ref: Gowar
d, et \012al, Rem. Sens Env. 35,257-277,
1991.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 21
Value = Channel 2 Reflectance
Attr10: Name = units
Type = 8-bit signed char
Count= 13
Value = % reflectance
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim16
Index = 24
Scale Type= number-type not set
Ref. = 45
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim16
Size = 2168
Dimension Variable Name = fakeDim17
Index = 25
Scale Type= number-type not set
Ref. = 46
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim17
Size = 5004
48 APPENDIX B. LEVEL-A HDF HEADER
Variable Name = Data-Set-18
Index = 26
Type= 16-bit unsigned integer
Ref. = 18
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim16
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim17
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 36010
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.005000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = -31990.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
49
Count= 156
Value = \012Channel 3 is the calculated brightnes
s temperature from the 3.55 to\0123.93 mi
cron channel of the AVHRR. Ref: Polar O
rbiter Users Guide,\012NOAA,NESDIS, 1991.
\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 24
Value = Channel 3 BB Temperature
Attr10: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim18
Index = 27
Scale Type= number-type not set
Ref. = 47
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim18
Size = 2168
Dimension Variable Name = fakeDim19
Index = 28
Scale Type= number-type not set
Ref. = 48
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim19
Size = 5004
Variable Name = Data-Set-20
Index = 29
Type= 16-bit unsigned integer
Ref. = 20
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim18
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim19
Size = 5004
50 APPENDIX B. LEVEL-A HDF HEADER
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 36010
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.005000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = -31990.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 461
Value = \012Channel 4 is the calculated brightnes
s temperature from the 10.3 to\01211.3 mi
cron channel of the AVHRR. Counts have b
een fully\012calibrated and corrections
for the non-linear instrument response\012
have been applied. Ref: Polar Orbiter Use
rs Guide,NOAA,NESDIS, 1991.\012Ref: Non-L
inearity Corrections for the Thermal Infr
ared Channels of \012the AVHRR: Assessmen
t and Recommendations,Report of the NOAA/
NASA\012AVHRR Pathfinder Calibration Work
51
ing Group,Chair C.R.Rao,1992.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 24
Value = Channel 4 BB Temperature
Attr10: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim20
Index = 30
Scale Type= number-type not set
Ref. = 49
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim20
Size = 2168
Dimension Variable Name = fakeDim21
Index = 31
Scale Type= number-type not set
Ref. = 50
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim21
Size = 5004
Variable Name = Data-Set-22
Index = 32
Type= 16-bit unsigned integer
Ref. = 22
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim20
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim21
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
52 APPENDIX B. LEVEL-A HDF HEADER
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 36010
Attr2: Name = valid_min
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.005000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = -31990.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 461
Value = \012Channel 5 is the calculated brightnes
s temperature from the 11.5 to\01212.5 mi
cron channel of the AVHRR. Counts have b
een fully\012calibrated and corrections
for the non-linear instrument response\012
have been applied. Ref: Polar Orbiter Use
rs Guide,NOAA,NESDIS, 1991.\012Ref: Non-L
inearity Corrections for the Thermal Infr
ared Channels of \012the AVHRR: Assessmen
t and Recommendations,Report of the NOAA/
NASA\012AVHRR Pathfinder Calibration Work
ing Group,Chair C.R.Rao,1992.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 24
Value = Channel 5 BB Temperature
Attr10: Name = units
53
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Dimension Variable Name = fakeDim22
Index = 33
Scale Type= number-type not set
Ref. = 51
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim22
Size = 2168
Dimension Variable Name = fakeDim23
Index = 34
Scale Type= number-type not set
Ref. = 52
Rank = 1
Number of attributes = 0
Dim0: Name=fakeDim23
Size = 5004
Variable Name = Data-Set-24
Index = 35
Type= 16-bit unsigned integer
Ref. = 24
Rank = 2
Number of attributes = 12
Dim0: Name=fakeDim22
Size = 2168
Scale Type = number-type not set
Number of attributes = 0
Dim1: Name=fakeDim23
Size = 5004
Scale Type = number-type not set
Number of attributes = 0
Attr0: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr1: Name = valid_max
Type = 16-bit unsigned integer
Count= 1
Value = 36633
Attr2: Name = valid_min
54 APPENDIX B. LEVEL-A HDF HEADER
Type = 16-bit unsigned integer
Count= 1
Value = 10
Attr3: Name = scale_factor
Type = 64-bit floating point
Count= 1
Value = 0.010000
Attr4: Name = scale_factor_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr5: Name = add_offset
Type = 64-bit floating point
Count= 1
Value = 10.000000
Attr6: Name = add_offset_err
Type = 64-bit floating point
Count= 1
Value = -9.000000
Attr7: Name = calibrated_nt
Type = 32-bit signed integer
Count= 1
Value = 23
Attr8: Name = remarks-1
Type = 8-bit signed char
Count= 192
Value = \012Day of year contains the day and hour
(hour being found in the\012decimal plac
e) at which each pixel was observed. The
hour of\012observation can be used to re
ference back to the orbit of origin.\012
Attr9: Name = long_name
Type = 8-bit signed char
Count= 11
Value = Day of Year
Attr10: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr11: Name = format
Type = 8-bit signed char
Count= 1
Value =
Appendix C
Level-B HDF Header
Produced via the HDF utility hdp with command line:hdp -dumpsds -h 198803 01-10.hdf
File name: 198803_01-10.hdf
File attributes:
Attr0: Name = description
Type = 8-bit signed char
Count= 1786
Value = This data file was created from HDF files
originally distributed by the GSFC\012DA
AC in 1997 containing the PAL Global Data
Set. Those files contained some\012feat
ures that did not conform with the HDF st
andard for scaled data that made\012them
difficult to read. The processing that h
as been done to create these \012files is
:\012\0121. Renaming the SDSs and rationa
lision of attributes and dimension variab
les\0122. Converting the scaled data (cal
ibrated in HDF parlance) to unscaled,\012
either in integer or floating point fo
rm. \0123. Missing data (eg oceans) have
been set to a consistent value which is\012
recorded in the _FillValue attribute f
or every SDS.\0124. The files have been r
enamed to make them easier to sort into t
ime-order\012\012No change of units or re
mapping has been undertaken and no inform
ation has\012been lost. A consequence of
the elimination of the scaled data has b
een an\012approximate doubling of the fil
e size though this dissappears if the fil
e is \012stored compressed. Given the ra
55
56 APPENDIX C. LEVEL-B HDF HEADER
pid growth in computer storage capacity,
this \012inconvenience is judged to be le
ss than that associated with dealing with
the \012scaled data.\012\012The most rel
evant documentation for this data set can
be found\012at: \012 http://disc1.
gsfc.nasa.gov/FTP_DATA/avhrr/Readme.pal\012
\012though users are cautioned that that
document relates to a later but very\012s
imilar version of the data set which lac
ks several of the ancillary data\012chann
els present in these files (angles, CLAVR
flags etc).\012\012The data are global i
n Goode Interrupted Homolosine Projection
which is a\012pseudo-cylindrical project
ion comprising Sinusoidal Projection for
the \012equatorial regions where |latitud
e| < 44 deg. 44 min. and Mollwiede Projec
tion\012for the polar regions.\012\012The
bounding box is:\012 Latitude: -90.0
- +90.0\012 Longitude: -180.0 - + 180.0\012
Attr1: Name = source_file
Type = 8-bit signed char
Count= 22
Value = PAL_MAR_01-10_1988.HDF
Variable Name = ndvi
Index = 0
Type= 32-bit floating point
Ref. = 7
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
57
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 194
Value = NDVI (Normalized Difference Vegetation In
dex) is a difference \012ratio of the two
visible channels from the AVHRR. Values
range\012from -1 to +1, though all negat
ive values represent NO vegetation.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 10
Value = Data-Set-2
Dimension Variable Name = y
Index = 1
Scale Type= 32-bit signed integer
Ref. = 8
Rank = 1
Number of attributes = 0
Dim0: Name=y
Size = 2168
Dimension Variable Name = x
Index = 2
Scale Type= 32-bit signed integer
Ref. = 10
Rank = 1
Number of attributes = 0
Dim0: Name=x
Size = 5004
Variable Name = clavr_flags
Index = 3
Type= 8-bit unsigned integer
Ref. = 93
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
58 APPENDIX C. LEVEL-B HDF HEADER
Attr0: Name = _FillValue
Type = 8-bit unsigned integer
Count= 1
Value = 255
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 264
Value = \012CLAVR (CLouds from AVHRR) values repr
esent an estimation of the\012cloudiness
of the data. Values from 1-11 are cloudy
pixels, 12-22\012are mixed pixels (parti
al cloud) and values from 23-31 represent
\012clear data. Ref: Stowe, et al. Adv.
Space Res. 11, 511-554, 1990.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 10
Value = Data-Set-4
Variable Name = quality_control_flags
Index = 4
Type= 8-bit unsigned integer
Ref. = 210
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 8-bit unsigned integer
Count= 1
Value = 255
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
59
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 521
Value = \012The QC layer provides per bit QC flag
ging for automated checks or\012notations
on data quality. Values: 1= ch1/2 non-s
tandard\012(when daily ozone is not avail
able for atmospehric correction, a\012cli
matalogical mean is used), 2= ch3/4/5 non
-standard (generally\012only when fewer t
han 50 calibration target temps were avai
lable for\012a set of scan lines), 4= dat
a were interpolated to fill gaps,\0128=da
ta failed internal range checking (often
in thermal channel\012saturation), and 16
= NOAA QC bits were set. These values ar
e\012additive.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 10
Value = Data-Set-6
Variable Name = scan_angle
Index = 5
Type= 32-bit floating point
Ref. = 362
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr2: Name = coordsys
60 APPENDIX C. LEVEL-B HDF HEADER
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 163
Value = \012Scan angle describes the look angle o
f the satellite. 0 degrees\012represents
nadir with negative values for back-look
ing and positive\012values for forward sc
anning.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 10
Value = Data-Set-8
Variable Name = solar_zenith_angle
Index = 6
Type= 32-bit floating point
Ref. = 549
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 198
Value = \012Solar Zenith is the sun’s elevation.
Nominal equator crossing is\01214:30 (lo
cal time) however due to seasonal differe
61
nces and satellite\012drift, the elevatio
n changes along orbit and from day to day
.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-10
Variable Name = relative_azimuth_angle
Index = 7
Type= 32-bit floating point
Ref. = 771
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 121
Value = \012Relative Azimuth is the absolute valu
e of the difference between the\012solar
azimuth angle and the sensor azimuth angl
e. \012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-12
Variable Name = channel_1_reflectance
Index = 8
Type= 32-bit floating point
62 APPENDIX C. LEVEL-B HDF HEADER
Ref. = 1028
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 13
Value = % reflectance
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 238
Value = \012Channel 1 normalized reflectance is t
he reflectance from the .58 -\012.68 micr
on channel of the AVHRR. Data have been
atmospherically \012corrected and normali
zed for solar illumination. Ref: Goward,
et \012al, Rem. Sens Env. 35,257-277, 19
91.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-14
Variable Name = channel_2_reflectance
Index = 9
Type= 32-bit floating point
Ref. = 1320
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
63
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 13
Value = % reflectance
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 240
Value = \012Channel 2 normalized reflectance is t
he reflectance from the .725 -\0121.10 mi
cron channel of the AVHRR. Data have bee
n atmospherically \012corrected and norma
lized for solar illumination. Ref: Gowar
d, et \012al, Rem. Sens Env. 35,257-277,
1991.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-16
Variable Name = channel_3_bb_temperature
Index = 10
Type= 32-bit floating point
Ref. = 1647
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
64 APPENDIX C. LEVEL-B HDF HEADER
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 156
Value = \012Channel 3 is the calculated brightnes
s temperature from the 3.55 to\0123.93 mi
cron channel of the AVHRR. Ref: Polar O
rbiter Users Guide,\012NOAA,NESDIS, 1991.
\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-18
Variable Name = channel_4_bb_temperature
Index = 11
Type= 32-bit floating point
Ref. = 2009
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
65
Type = 8-bit signed char
Count= 461
Value = \012Channel 4 is the calculated brightnes
s temperature from the 10.3 to\01211.3 mi
cron channel of the AVHRR. Counts have b
een fully\012calibrated and corrections
for the non-linear instrument response\012
have been applied. Ref: Polar Orbiter Use
rs Guide,NOAA,NESDIS, 1991.\012Ref: Non-L
inearity Corrections for the Thermal Infr
ared Channels of \012the AVHRR: Assessmen
t and Recommendations,Report of the NOAA/
NASA\012AVHRR Pathfinder Calibration Work
ing Group,Chair C.R.Rao,1992.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-20
Variable Name = channel_5_bb_temperature
Index = 12
Type= 32-bit floating point
Ref. = 2406
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 461
Value = \012Channel 5 is the calculated brightnes
66 APPENDIX C. LEVEL-B HDF HEADER
s temperature from the 11.5 to\01212.5 mi
cron channel of the AVHRR. Counts have b
een fully\012calibrated and corrections
for the non-linear instrument response\012
have been applied. Ref: Polar Orbiter Use
rs Guide,NOAA,NESDIS, 1991.\012Ref: Non-L
inearity Corrections for the Thermal Infr
ared Channels of \012the AVHRR: Assessmen
t and Recommendations,Report of the NOAA/
NASA\012AVHRR Pathfinder Calibration Work
ing Group,Chair C.R.Rao,1992.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-22
Variable Name = day_of_year
Index = 13
Type= 32-bit floating point
Ref. = 2838
Rank = 2
Number of attributes = 5
Dim0: Name=y
Size = 2168
Scale Type = 32-bit signed integer
Number of attributes = 0
Dim1: Name=x
Size = 5004
Scale Type = 32-bit signed integer
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 30
Value = Interrrupted Goode Homolosine
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 192
Value = \012Day of year contains the day and hour
(hour being found in the\012decimal plac
e) at which each pixel was observed. The
hour of\012observation can be used to re
67
ference back to the orbit of origin.\012
Attr4: Name = input_sds
Type = 8-bit signed char
Count= 11
Value = Data-Set-24
68 APPENDIX C. LEVEL-B HDF HEADER
Appendix D
Level-C HDF Header
Produced via the HDF utility hdp with command line:hdp -dumpsds -h 198803 01-10 geo.hdf
File name: 198803_01-10_geo.hdf
File attributes:
Attr0: Name = description
Type = 8-bit signed char
Count= 375
Value = These data are global in Geographic Proje
ction (rectilinear latitude and\012longit
ude). The pixel size is 0.08 deg. in bot
h directions (~8km).\012They have been cr
eated by using nearest neighbour resampli
ng of the data\012in the parent file (see
:source_file and :parent_description glo
bal\012attributes).\012\012The bounding b
ox is:\012 Latitude: -90.0 - +90.0\012
Longitude: -180.0 - + 180.0\012
Attr1: Name = source_file
Type = 8-bit signed char
Count= 16
Value = 198803_01-10.hdf
Attr2: Name = parent_description
Type = 8-bit signed char
Count= 1786
Value = This data file was created from HDF files
originally distributed by the GSFC\012DA
AC in 1997 containing the PAL Global Data
Set. Those files contained some\012feat
ures that did not conform with the HDF st
andard for scaled data that made\012them
difficult to read. The processing that h
as been done to create these \012files is
69
70 APPENDIX D. LEVEL-C HDF HEADER
:\012\0121. Renaming the SDSs and rationa
lision of attributes and dimension variab
les\0122. Converting the scaled data (cal
ibrated in HDF parlance) to unscaled,\012
either in integer or floating point fo
rm. \0123. Missing data (eg oceans) have
been set to a consistent value which is\012
recorded in the _FillValue attribute f
or every SDS.\0124. The files have been r
enamed to make them easier to sort into t
ime-order\012\012No change of units or re
mapping has been undertaken and no inform
ation has\012been lost. A consequence of
the elimination of the scaled data has b
een an\012approximate doubling of the fil
e size though this dissappears if the fil
e is \012stored compressed. Given the ra
pid growth in computer storage capacity,
this \012inconvenience is judged to be le
ss than that associated with dealing with
the \012scaled data.\012\012The most rel
evant documentation for this data set can
be found\012at: \012 http://disc1.
gsfc.nasa.gov/FTP_DATA/avhrr/Readme.pal\012
\012though users are cautioned that that
document relates to a later but very\012s
imilar version of the data set which lac
ks several of the ancillary data\012chann
els present in these files (angles, CLAVR
flags etc).\012\012The data are global i
n Goode Interrupted Homolosine Projection
which is a\012pseudo-cylindrical project
ion comprising Sinusoidal Projection for
the \012equatorial regions where |latitud
e| < 44 deg. 44 min. and Mollwiede Projec
tion\012for the polar regions.\012\012The
bounding box is:\012 Latitude: -90.0
- +90.0\012 Longitude: -180.0 - + 180.0\012
Variable Name = ndvi
Index = 0
Type= 32-bit floating point
Ref. = 11
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
71
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 194
Value = NDVI (Normalized Difference Vegetation In
dex) is a difference \012ratio of the two
visible channels from the AVHRR. Values
range\012from -1 to +1, though all negat
ive values represent NO vegetation.\012
Dimension Variable Name = latitude
Index = 1
Scale Type= 32-bit floating point
Ref. = 12
Rank = 1
Number of attributes = 0
Dim0: Name=latitude
Size = 2241
Dimension Variable Name = longitude
Index = 2
Scale Type= 32-bit floating point
Ref. = 14
Rank = 1
Number of attributes = 0
Dim0: Name=longitude
Size = 4500
Variable Name = clavr_flags
Index = 3
Type= 32-bit floating point
Ref. = 84
72 APPENDIX D. LEVEL-C HDF HEADER
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 264
Value = \012CLAVR (CLouds from AVHRR) values repr
esent an estimation of the\012cloudiness
of the data. Values from 1-11 are cloudy
pixels, 12-22\012are mixed pixels (parti
al cloud) and values from 23-31 represent
\012clear data. Ref: Stowe, et al. Adv.
Space Res. 11, 511-554, 1990.\012
Variable Name = quality_control_flags
Index = 4
Type= 32-bit floating point
Ref. = 177
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
73
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 521
Value = \012The QC layer provides per bit QC flag
ging for automated checks or\012notations
on data quality. Values: 1= ch1/2 non-s
tandard\012(when daily ozone is not avail
able for atmospehric correction, a\012cli
matalogical mean is used), 2= ch3/4/5 non
-standard (generally\012only when fewer t
han 50 calibration target temps were avai
lable for\012a set of scan lines), 4= dat
a were interpolated to fill gaps,\0128=da
ta failed internal range checking (often
in thermal channel\012saturation), and 16
= NOAA QC bits were set. These values ar
e\012additive.\012
Variable Name = scan_angle
Index = 5
Type= 32-bit floating point
Ref. = 294
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 7
74 APPENDIX D. LEVEL-C HDF HEADER
Value = radians
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 163
Value = \012Scan angle describes the look angle o
f the satellite. 0 degrees\012represents
nadir with negative values for back-look
ing and positive\012values for forward sc
anning.\012
Variable Name = solar_zenith_angle
Index = 6
Type= 32-bit floating point
Ref. = 435
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 198
Value = \012Solar Zenith is the sun’s elevation.
Nominal equator crossing is\01214:30 (lo
cal time) however due to seasonal differe
nces and satellite\012drift, the elevatio
n changes along orbit and from day to day
.\012
75
Variable Name = relative_azimuth_angle
Index = 7
Type= 32-bit floating point
Ref. = 600
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 7
Value = radians
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 121
Value = \012Relative Azimuth is the absolute valu
e of the difference between the\012solar
azimuth angle and the sensor azimuth angl
e. \012
Variable Name = channel_1_reflectance
Index = 8
Type= 32-bit floating point
Ref. = 789
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
76 APPENDIX D. LEVEL-C HDF HEADER
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 13
Value = % reflectance
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 238
Value = \012Channel 1 normalized reflectance is t
he reflectance from the .58 -\012.68 micr
on channel of the AVHRR. Data have been
atmospherically \012corrected and normali
zed for solar illumination. Ref: Goward,
et \012al, Rem. Sens Env. 35,257-277, 19
91.\012
Variable Name = channel_2_reflectance
Index = 9
Type= 32-bit floating point
Ref. = 1002
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 13
Value = % reflectance
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
77
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 240
Value = \012Channel 2 normalized reflectance is t
he reflectance from the .725 -\0121.10 mi
cron channel of the AVHRR. Data have bee
n atmospherically \012corrected and norma
lized for solar illumination. Ref: Gowar
d, et \012al, Rem. Sens Env. 35,257-277,
1991.\012
Variable Name = channel_3_bb_temperature
Index = 10
Type= 32-bit floating point
Ref. = 1239
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 156
Value = \012Channel 3 is the calculated brightnes
s temperature from the 3.55 to\0123.93 mi
cron channel of the AVHRR. Ref: Polar O
rbiter Users Guide,\012NOAA,NESDIS, 1991.
\012
Variable Name = channel_4_bb_temperature
Index = 11
Type= 32-bit floating point
78 APPENDIX D. LEVEL-C HDF HEADER
Ref. = 1500
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 461
Value = \012Channel 4 is the calculated brightnes
s temperature from the 10.3 to\01211.3 mi
cron channel of the AVHRR. Counts have b
een fully\012calibrated and corrections
for the non-linear instrument response\012
have been applied. Ref: Polar Orbiter Use
rs Guide,NOAA,NESDIS, 1991.\012Ref: Non-L
inearity Corrections for the Thermal Infr
ared Channels of \012the AVHRR: Assessmen
t and Recommendations,Report of the NOAA/
NASA\012AVHRR Pathfinder Calibration Work
ing Group,Chair C.R.Rao,1992.\012
Variable Name = channel_5_bb_temperature
Index = 12
Type= 32-bit floating point
Ref. = 1785
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
79
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 9
Value = degrees K
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 461
Value = \012Channel 5 is the calculated brightnes
s temperature from the 11.5 to\01212.5 mi
cron channel of the AVHRR. Counts have b
een fully\012calibrated and corrections
for the non-linear instrument response\012
have been applied. Ref: Polar Orbiter Use
rs Guide,NOAA,NESDIS, 1991.\012Ref: Non-L
inearity Corrections for the Thermal Infr
ared Channels of \012the AVHRR: Assessmen
t and Recommendations,Report of the NOAA/
NASA\012AVHRR Pathfinder Calibration Work
ing Group,Chair C.R.Rao,1992.\012
Variable Name = day_of_year
Index = 13
Type= 32-bit floating point
Ref. = 2094
Rank = 2
Number of attributes = 4
Dim0: Name=latitude
Size = 2241
Scale Type = 32-bit floating point
Number of attributes = 0
Dim1: Name=longitude
Size = 4500
Scale Type = 32-bit floating point
Number of attributes = 0
Attr0: Name = _FillValue
Type = 32-bit floating point
Count= 1
80 APPENDIX D. LEVEL-C HDF HEADER
Value = nan
Attr1: Name = units
Type = 8-bit signed char
Count= 3
Value = n/a
Attr2: Name = coordsys
Type = 8-bit signed char
Count= 18
Value = Geographic Lat/Lon
Attr3: Name = remarks_1
Type = 8-bit signed char
Count= 192
Value = \012Day of year contains the day and hour
(hour being found in the\012decimal plac
e) at which each pixel was observed. The
hour of\012observation can be used to re
ference back to the orbit of origin.\012
Appendix E
File Names and Sizes
The table below lists the names and uncompressed size in bytes of every file
existing for each of the three processing levels for every 10-day interval
from 1981-07-13 through 1994-09-01.
For conciseness the ‘‘.HDF’’ and ‘‘.hdf’’ suffixes are not shown.
level-A (.HDF) bytes level-B (.hdf) bytes level-C (.hdf) bytes
------------------------------------------------------------------------------
PAL_JUL_13-20_1981 227830487 198107_13-20 456085504 198107_13-20_geo 484410045
PAL_JUL_21-31_1981 227830419 198107_21-31 456085504 198107_21-31_geo 484410045
PAL_AUG_01-10_1981 227830364 198108_01-10 456085504 198108_01-10_geo 484410045
PAL_AUG_11-20_1981 227830335 198108_11-20 456085504 198108_11-20_geo 484410045
PAL_AUG_21-31_1981 227830448 198108_21-31 456085504 198108_21-31_geo 484410045
PAL_SEP_01-10_1981 227830432 198109_01-10 456085504 198109_01-10_geo 484410045
PAL_SEP_11-20_1981 227830419 198109_11-20 456085504 198109_11-20_geo 484410045
PAL_SEP_21-30_1981 227830361 198109_21-30 456085504 198109_21-30_geo 484410045
PAL_OCT_01-10_1981 227830405 198110_01-10 456085504 198110_01-10_geo 484410045
PAL_OCT_11-20_1981 227830333 198110_11-20 456085504 198110_11-20_geo 484410045
PAL_OCT_21-31_1981 227830443 198110_21-31 456085504 198110_21-31_geo 484410045
PAL_NOV_01-10_1981 227830388 198111_01-10 456085504 198111_01-10_geo 484410045
PAL_NOV_11-20_1981 227830408 198111_11-20 456085504 198111_11-20_geo 484410045
PAL_NOV_21-30_1981 227830408 198111_21-30 456085504 198111_21-30_geo 484410045
PAL_DEC_01-10_1981 227830405 198112_01-10 456085504 198112_01-10_geo 484410045
PAL_DEC_11-20_1981 227830413 198112_11-20 456085504 198112_11-20_geo 484410045
PAL_DEC_21-31_1981 227830485 198112_21-31 456085504 198112_21-31_geo 484410045
PAL_JAN_01-10_1982 227830327 198201_01-10 456085504 198201_01-10_geo 484410045
PAL_JAN_11-20_1982 227830356 198201_11-20 456085504 198201_11-20_geo 484410045
PAL_JAN_21-31_1982 227830437 198201_21-31 456085504 198201_21-31_geo 484410045
PAL_FEB_01-10_1982 227830472 198202_01-10 456085504 198202_01-10_geo 484410045
PAL_FEB_11-20_1982 227830465 198202_11-20 456085504 198202_11-20_geo 484410045
PAL_FEB_21-28_1982 227830455 198202_21-28 456085504 198202_21-28_geo 484410045
PAL_MAR_01-10_1982 227830371 198203_01-10 456085504 198203_01-10_geo 484410045
PAL_MAR_11-20_1982 227830399 198203_11-20 456085504 198203_11-20_geo 484410045
PAL_MAR_21-31_1982 227830503 198203_21-31 456085504 198203_21-31_geo 484410045
81
82 APPENDIX E. FILE NAMES AND SIZES
PAL_APR_01-10_1982 227830469 198204_01-10 456085504 198204_01-10_geo 484410045
PAL_APR_11-20_1982 227830459 198204_11-20 456085504 198204_11-20_geo 484410045
PAL_APR_21-30_1982 227830415 198204_21-30 456085504 198204_21-30_geo 484410045
PAL_MAY_01-10_1982 227830548 198205_01-10 456085504 198205_01-10_geo 484410045
PAL_MAY_11-20_1982 227830455 198205_11-20 456085504 198205_11-20_geo 484410045
PAL_MAY_21-31_1982 227830441 198205_21-31 456085504 198205_21-31_geo 484410045
PAL_JUN_01-10_1982 227830404 198206_01-10 456085504 198206_01-10_geo 484410045
PAL_JUN_11-20_1982 227830411 198206_11-20 456085504 198206_11-20_geo 484410045
PAL_JUN_21-30_1982 227830421 198206_21-30 456085504 198206_21-30_geo 484410045
PAL_JUL_01-10_1982 227830373 198207_01-10 456085504 198207_01-10_geo 484410045
PAL_JUL_11-20_1982 227830399 198207_11-20 456085504 198207_11-20_geo 484410045
PAL_JUL_21-31_1982 227830458 198207_21-31 456085504 198207_21-31_geo 484410045
PAL_AUG_01-10_1982 227830437 198208_01-10 456085504 198208_01-10_geo 484410045
PAL_AUG_11-20_1982 227830484 198208_11-20 456085504 198208_11-20_geo 484410045
PAL_AUG_21-31_1982 227830381 198208_21-31 456085504 198208_21-31_geo 484410045
PAL_SEP_01-10_1982 227830468 198209_01-10 456085504 198209_01-10_geo 484410045
PAL_SEP_11-20_1982 227830417 198209_11-20 456085504 198209_11-20_geo 484410045
PAL_SEP_21-30_1982 227830491 198209_21-30 456085504 198209_21-30_geo 484410045
PAL_OCT_01-10_1982 227830416 198210_01-10 456085504 198210_01-10_geo 484410045
PAL_OCT_11-20_1982 227830438 198210_11-20 456085504 198210_11-20_geo 484410045
PAL_OCT_21-31_1982 227830393 198210_21-31 456085504 198210_21-31_geo 484410045
PAL_NOV_01-10_1982 227830382 198211_01-10 456085504 198211_01-10_geo 484410045
PAL_NOV_11-20_1982 227830448 198211_11-20 456085504 198211_11-20_geo 484410045
PAL_NOV_21-30_1982 227830419 198211_21-30 456085504 198211_21-30_geo 484410045
PAL_DEC_01-10_1982 227830357 198212_01-10 456085504 198212_01-10_geo 484410045
PAL_DEC_11-20_1982 227830410 198212_11-20 456085504 198212_11-20_geo 484410045
PAL_DEC_21-27_1982 227830410 198212_21-27 456085504 198212_21-27_geo 484410045
PAL_JAN_01-08_1983 227830405 198301_01-08 456085504 198301_01-08_geo 484410045
PAL_JAN_14-20_1983 227830436 198301_14-20 456085504 198301_14-20_geo 484410045
PAL_JAN_21-31_1983 227830371 198301_21-31 456085504 198301_21-31_geo 484410045
PAL_FEB_01-10_1983 227830404 198302_01-10 456085504 198302_01-10_geo 484410045
PAL_FEB_11-20_1983 227830449 198302_11-20 456085504 198302_11-20_geo 484410045
PAL_FEB_21-28_1983 227830404 198302_21-28 456085504 198302_21-28_geo 484410045
PAL_MAR_01-10_1983 227830386 198303_01-10 456085504 198303_01-10_geo 484410045
PAL_MAR_11-20_1983 227830423 198303_11-20 456085504 198303_11-20_geo 484410045
PAL_MAR_21-31_1983 227830495 198303_21-31 456085504 198303_21-31_geo 484410045
PAL_APR_01-10_1983 227830445 198304_01-10 456085504 198304_01-10_geo 484410045
PAL_APR_11-20_1983 227830464 198304_11-20 456085504 198304_11-20_geo 484410045
PAL_APR_21-30_1983 227830366 198304_21-30 456085504 198304_21-30_geo 484410045
PAL_MAY_01-10_1983 227830369 198305_01-10 456085504 198305_01-10_geo 484410045
PAL_MAY_11-20_1983 227830478 198305_11-20 456085504 198305_11-20_geo 484410045
PAL_MAY_21-31_1983 227830407 198305_21-31 456085504 198305_21-31_geo 484410045
PAL_JUN_01-10_1983 227830468 198306_01-10 456085504 198306_01-10_geo 484410045
PAL_JUN_11-20_1983 227830475 198306_11-20 456085504 198306_11-20_geo 484410045
PAL_JUN_21-30_1983 227830376 198306_21-30 456085504 198306_21-30_geo 484410045
PAL_JUL_01-10_1983 227830448 198307_01-10 456085504 198307_01-10_geo 484410045
PAL_JUL_11-20_1983 227830459 198307_11-20 456085504 198307_11-20_geo 484410045
PAL_JUL_21-31_1983 227830422 198307_21-31 456085504 198307_21-31_geo 484410045
PAL_AUG_01-10_1983 227830390 198308_01-10 456085504 198308_01-10_geo 484410045
83
PAL_AUG_11-20_1983 227830403 198308_11-20 456085504 198308_11-20_geo 484410045
PAL_AUG_21-31_1983 227830430 198308_21-31 456085504 198308_21-31_geo 484410045
PAL_SEP_01-10_1983 227830468 198309_01-10 456085504 198309_01-10_geo 484410045
PAL_SEP_11-20_1983 227830458 198309_11-20 456085504 198309_11-20_geo 484410045
PAL_SEP_21-30_1983 227830637 198309_21-30 456085504 198309_21-30_geo 484410045
PAL_OCT_01-10_1983 227830369 198310_01-10 456085504 198310_01-10_geo 484410045
PAL_OCT_11-20_1983 227830364 198310_11-20 456085504 198310_11-20_geo 484410045
PAL_OCT_21-31_1983 227830477 198310_21-31 456085504 198310_21-31_geo 484410045
PAL_NOV_01-10_1983 227830458 198311_01-10 456085504 198311_01-10_geo 484410045
PAL_NOV_11-20_1983 227830394 198311_11-20 456085504 198311_11-20_geo 484410045
PAL_NOV_21-30_1983 227830380 198311_21-30 456085504 198311_21-30_geo 484410045
PAL_DEC_01-10_1983 227830399 198312_01-10 456085504 198312_01-10_geo 484410045
PAL_DEC_11-20_1983 227830333 198312_11-20 456085504 198312_11-20_geo 484410045
PAL_DEC_21-31_1983 227830420 198312_21-31 456085504 198312_21-31_geo 484410045
PAL_JAN_01-10_1984 227830337 198401_01-10 456085504 198401_01-10_geo 484410045
PAL_JAN_11-20_1984 227830436 198401_11-20 456085504 198401_11-20_geo 484410045
PAL_JAN_21-31_1984 227830373 198401_21-31 456085504 198401_21-31_geo 484410045
PAL_FEB_01-10_1984 227830389 198402_01-10 456085504 198402_01-10_geo 484410045
PAL_FEB_11-20_1984 227830444 198402_11-20 456085504 198402_11-20_geo 484410045
PAL_FEB_21-29_1984 227830487 198402_21-29 456085504 198402_21-29_geo 484410045
PAL_MAR_01-10_1984 227830366 198403_01-10 456085504 198403_01-10_geo 484410045
PAL_MAR_11-20_1984 227830451 198403_11-20 456085504 198403_11-20_geo 484410045
PAL_MAR_21-31_1984 227830452 198403_21-31 456085504 198403_21-31_geo 484410045
PAL_APR_01-09_1984 227830469 198404_01-09 456085504 198404_01-09_geo 484410045
PAL_APR_11-20_1984 227830561 198404_11-20 456085504 198404_11-20_geo 484410045
PAL_APR_21-30_1984 227830432 198404_21-30 456085504 198404_21-30_geo 484410045
PAL_MAY_01-10_1984 227830381 198405_01-10 456085504 198405_01-10_geo 484410045
PAL_MAY_11-20_1984 227830448 198405_11-20 456085504 198405_11-20_geo 484410045
PAL_MAY_21-31_1984 227830411 198405_21-31 456085504 198405_21-31_geo 484410045
PAL_JUN_01-10_1984 227830458 198406_01-10 456085504 198406_01-10_geo 484410045
PAL_JUN_11-20_1984 227830468 198406_11-20 456085504 198406_11-20_geo 484410045
PAL_JUN_21-30_1984 227830399 198406_21-30 456085504 198406_21-30_geo 484410045
PAL_JUL_01-10_1984 227830457 198407_01-10 456085504 198407_01-10_geo 484410045
PAL_JUL_11-20_1984 227830443 198407_11-20 456085504 198407_11-20_geo 484410045
PAL_JUL_21-31_1984 227830349 198407_21-31 456085504 198407_21-31_geo 484410045
PAL_AUG_01-10_1984 227830425 198408_01-10 456085504 198408_01-10_geo 484410045
PAL_AUG_11-20_1984 227830464 198408_11-20 456085504 198408_11-20_geo 484410045
PAL_AUG_21-31_1984 227830399 198408_21-31 456085504 198408_21-31_geo 484410045
PAL_SEP_01-10_1984 227830431 198409_01-10 456085504 198409_01-10_geo 484410045
PAL_SEP_11-20_1984 227830366 198409_11-20 456085504 198409_11-20_geo 484410045
PAL_SEP_21-30_1984 227830417 198409_21-30 456085504 198409_21-30_geo 484410045
PAL_OCT_01-10_1984 227830449 198410_01-10 456085504 198410_01-10_geo 484410045
PAL_OCT_11-20_1984 227830421 198410_11-20 456085504 198410_11-20_geo 484410045
PAL_OCT_21-31_1984 227830438 198410_21-31 456085504 198410_21-31_geo 484410045
PAL_NOV_01-10_1984 227830374 198411_01-10 456085504 198411_01-10_geo 484410045
PAL_NOV_11-20_1984 227830389 198411_11-20 456085504 198411_11-20_geo 484410045
PAL_NOV_21-30_1984 227830370 198411_21-30 456085504 198411_21-30_geo 484410045
PAL_DEC_01-10_1984 227830547 198412_01-10 456085504 198412_01-10_geo 484410045
PAL_DEC_11-20_1984 227830333 198412_11-20 456085504 198412_11-20_geo 484410045
84 APPENDIX E. FILE NAMES AND SIZES
PAL_DEC_21-31_1984 227830376 198412_21-31 456085504 198412_21-31_geo 484410045
198501_01 217114996 198501_01_geo 201815807
198501_11 217114996 198501_11_geo 201815807
198501_21 217114996 198501_21_geo 201815807
198502_01 217114996 198502_01_geo 201815807
PAL_FEB_12-20_1985 227830415 198502_12-20 456085504 198502_12-20_geo 484410045
PAL_FEB_21-28_1985 227830511 198502_21-28 456085504 198502_21-28_geo 484410045
PAL_MAR_01-10_1985 227830453 198503_01-10 456085504 198503_01-10_geo 484410045
PAL_MAR_12-20_1985 227830489 198503_12-20 456085504 198503_12-20_geo 484410045
PAL_MAR_21-31_1985 227830425 198503_21-31 456085504 198503_21-31_geo 484410045
PAL_APR_01-10_1985 227830460 198504_01-10 456085504 198504_01-10_geo 484410045
PAL_APR_11-20_1985 227830441 198504_11-20 456085504 198504_11-20_geo 484410045
PAL_APR_21-30_1985 227830460 198504_21-30 456085504 198504_21-30_geo 484410045
PAL_MAY_01-10_1985 227830449 198505_01-10 456085504 198505_01-10_geo 484410045
PAL_MAY_11-20_1985 227830411 198505_11-20 456085504 198505_11-20_geo 484410045
PAL_MAY_21-31_1985 227830434 198505_21-31 456085504 198505_21-31_geo 484410045
198506_01 217114996 198506_01_geo 201815807
198506_11 217114996 198506_11_geo 201815807
198506_21 217114996 198506_21_geo 201815807
PAL_JUL_01-10_1985 227830438 198507_01-10 456085504 198507_01-10_geo 484410045
PAL_JUL_11-20_1985 227830361 198507_11-20 456085504 198507_11-20_geo 484410045
198507_21 217114996 198507_21_geo 201815807
198508_01 217114996 198508_01_geo 201815807
198508_11 217114996 198508_11_geo 201815807
198508_21 217114996 198508_21_geo 201815807
198509_01 217114996 198509_01_geo 201815807
198509_11 217114996 198509_11_geo 201815807
198509_21 217114996 198509_21_geo 201815807
198510_01 217114996 198510_01_geo 201815807
198510_11 217114996 198510_11_geo 201815807
198510_21 217114996 198510_21_geo 201815807
198511_01 217114996 198511_01_geo 201815807
198511_11 217114996 198511_11_geo 201815807
198511_21 217114996 198511_21_geo 201815807
198512_01 217114996 198512_01_geo 201815807
198512_11 217114996 198512_11_geo 201815807
198512_21 217114996 198512_21_geo 201815807
PAL_JAN_01-10_1986 227830329 198601_01-10 456085504 198601_01-10_geo 484410045
PAL_JAN_11-20_1986 227830473 198601_11-20 456085504 198601_11-20_geo 484410045
PAL_JAN_21-31_1986 227830538 198601_21-31 456085504 198601_21-31_geo 484410045
PAL_FEB_01-10_1986 227830407 198602_01-10 456085504 198602_01-10_geo 484410045
PAL_FEB_11-20_1986 227830406 198602_11-20 456085504 198602_11-20_geo 484410045
PAL_FEB_21-28_1986 227830370 198602_21-28 456085504 198602_21-28_geo 484410045
PAL_MAR_01-10_1986 227830359 198603_01-10 456085504 198603_01-10_geo 484410045
PAL_MAR_11-20_1986 227830628 198603_11-20 456085504 198603_11-20_geo 484410045
PAL_MAR_21-31_1986 227830541 198603_21-31 456085504 198603_21-31_geo 484410045
PAL_APR_01-10_1986 227830459 198604_01-10 456085504 198604_01-10_geo 484410045
PAL_APR_11-20_1986 227830456 198604_11-20 456085504 198604_11-20_geo 484410045
PAL_APR_21-30_1986 227830426 198604_21-30 456085504 198604_21-30_geo 484410045
85
PAL_MAY_01-10_1986 227830471 198605_01-10 456085504 198605_01-10_geo 484410045
PAL_MAY_11-20_1986 227830405 198605_11-20 456085504 198605_11-20_geo 484410045
PAL_MAY_21-31_1986 227830543 198605_21-31 456085504 198605_21-31_geo 484410045
PAL_JUN_01-10_1986 227830407 198606_01-10 456085504 198606_01-10_geo 484410045
PAL_JUN_11-20_1986 227830427 198606_11-20 456085504 198606_11-20_geo 484410045
PAL_JUN_21-30_1986 227830416 198606_21-30 456085504 198606_21-30_geo 484410045
PAL_JUL_01-10_1986 227830560 198607_01-10 456085504 198607_01-10_geo 484410045
PAL_JUL_11-20_1986 227830577 198607_11-20 456085504 198607_11-20_geo 484410045
PAL_JUL_21-31_1986 227830572 198607_21-31 456085504 198607_21-31_geo 484410045
PAL_AUG_01-10_1986 227830510 198608_01-10 456085504 198608_01-10_geo 484410045
PAL_AUG_11-20_1986 227830518 198608_11-20 456085504 198608_11-20_geo 484410045
PAL_AUG_21-31_1986 227830489 198608_21-31 456085504 198608_21-31_geo 484410045
PAL_SEP_01-10_1986 227830441 198609_01-10 456085504 198609_01-10_geo 484410045
PAL_SEP_11-20_1986 227830494 198609_11-20 456085504 198609_11-20_geo 484410045
PAL_SEP_21-30_1986 227830500 198609_21-30 456085504 198609_21-30_geo 484410045
PAL_OCT_01-10_1986 227830579 198610_01-10 456085504 198610_01-10_geo 484410045
PAL_OCT_11-20_1986 227830526 198610_11-20 456085504 198610_11-20_geo 484410045
PAL_OCT_21-31_1986 227830494 198610_21-31 456085504 198610_21-31_geo 484410045
PAL_NOV_01-10_1986 227830536 198611_01-10 456085504 198611_01-10_geo 484410045
PAL_NOV_11-20_1986 227830448 198611_11-20 456085504 198611_11-20_geo 484410045
PAL_NOV_21-30_1986 227830533 198611_21-30 456085504 198611_21-30_geo 484410045
PAL_DEC_01-10_1986 227830377 198612_01-10 456085504 198612_01-10_geo 484410045
PAL_DEC_11-20_1986 227830368 198612_11-20 456085504 198612_11-20_geo 484410045
PAL_DEC_21-31_1986 227830400 198612_21-31 456085504 198612_21-31_geo 484410045
PAL_JAN_01-10_1987 227830362 198701_01-10 456085504 198701_01-10_geo 484410045
PAL_JAN_11-20_1987 227830374 198701_11-20 456085504 198701_11-20_geo 484410045
PAL_JAN_21-31_1987 227830443 198701_21-31 456085504 198701_21-31_geo 484410045
PAL_FEB_01-10_1987 227830403 198702_01-10 456085504 198702_01-10_geo 484410045
PAL_FEB_11-20_1987 227830396 198702_11-20 456085504 198702_11-20_geo 484410045
PAL_FEB_21-28_1987 227830434 198702_21-28 456085504 198702_21-28_geo 484410045
PAL_MAR_01-10_1987 227830418 198703_01-10 456085504 198703_01-10_geo 484410045
PAL_MAR_11-20_1987 227830473 198703_11-20 456085504 198703_11-20_geo 484410045
PAL_MAR_21-31_1987 227830465 198703_21-31 456085504 198703_21-31_geo 484410045
PAL_APR_01-10_1987 227830466 198704_01-10 456085504 198704_01-10_geo 484410045
PAL_APR_11-20_1987 227830426 198704_11-20 456085504 198704_11-20_geo 484410045
PAL_APR_21-30_1987 227830374 198704_21-30 456085504 198704_21-30_geo 484410045
PAL_MAY_01-10_1987 227830354 198705_01-10 456085504 198705_01-10_geo 484410045
PAL_MAY_11-20_1987 227830355 198705_11-20 456085504 198705_11-20_geo 484410045
PAL_MAY_21-31_1987 227830378 198705_21-31 456085504 198705_21-31_geo 484410045
PAL_JUN_01-10_1987 227830388 198706_01-10 456085504 198706_01-10_geo 484410045
PAL_JUN_11-20_1987 227830387 198706_11-20 456085504 198706_11-20_geo 484410045
PAL_JUN_21-30_1987 227830394 198706_21-30 456085504 198706_21-30_geo 484410045
PAL_JUL_01-10_1987 227830379 198707_01-10 456085504 198707_01-10_geo 484410045
PAL_JUL_11-20_1987 227830436 198707_11-20 456085504 198707_11-20_geo 484410045
PAL_JUL_21-31_1987 227830454 198707_21-31 456085504 198707_21-31_geo 484410045
PAL_AUG_01-10_1987 227830363 198708_01-10 456085504 198708_01-10_geo 484410045
PAL_AUG_11-20_1987 227830412 198708_11-20 456085504 198708_11-20_geo 484410045
PAL_AUG_21-31_1987 227830383 198708_21-31 456085504 198708_21-31_geo 484410045
PAL_SEP_01-10_1987 227830368 198709_01-10 456085504 198709_01-10_geo 484410045
86 APPENDIX E. FILE NAMES AND SIZES
PAL_SEP_11-20_1987 227830357 198709_11-20 456085504 198709_11-20_geo 484410045
PAL_SEP_21-30_1987 227830430 198709_21-30 456085504 198709_21-30_geo 484410045
PAL_OCT_01-10_1987 227830415 198710_01-10 456085504 198710_01-10_geo 484410045
PAL_OCT_11-20_1987 227830577 198710_11-20 456085504 198710_11-20_geo 484410045
PAL_OCT_21-31_1987 227830328 198710_21-31 456085504 198710_21-31_geo 484410045
PAL_NOV_01-10_1987 227830344 198711_01-10 456085504 198711_01-10_geo 484410045
PAL_NOV_11-20_1987 227830338 198711_11-20 456085504 198711_11-20_geo 484410045
PAL_NOV_21-30_1987 227830340 198711_21-30 456085504 198711_21-30_geo 484410045
PAL_DEC_01-10_1987 227830347 198712_01-10 456085504 198712_01-10_geo 484410045
PAL_DEC_11-20_1987 227830433 198712_11-20 456085504 198712_11-20_geo 484410045
PAL_DEC_21-31_1987 227830364 198712_21-31 456085504 198712_21-31_geo 484410045
PAL_JAN_01-10_1988 227830333 198801_01-10 456085504 198801_01-10_geo 484410045
PAL_JAN_11-20_1988 227830334 198801_11-20 456085504 198801_11-20_geo 484410045
PAL_JAN_21-31_1988 227830432 198801_21-31 456085504 198801_21-31_geo 484410045
PAL_FEB_01-10_1988 227830359 198802_01-10 456085504 198802_01-10_geo 484410045
PAL_FEB_11-20_1988 227830347 198802_11-20 456085504 198802_11-20_geo 484410045
PAL_FEB_21-29_1988 227830362 198802_21-29 456085504 198802_21-29_geo 484410045
PAL_MAR_01-10_1988 227830327 198803_01-10 456085504 198803_01-10_geo 484410045
PAL_MAR_11-20_1988 227830329 198803_11-20 456085504 198803_11-20_geo 484410045
PAL_MAR_21-31_1988 227830350 198803_21-31 456085504 198803_21-31_geo 484410045
PAL_APR_01-10_1988 227830333 198804_01-10 456085504 198804_01-10_geo 484410045
PAL_APR_11-20_1988 227830333 198804_11-20 456085504 198804_11-20_geo 484410045
PAL_APR_21-30_1988 227830333 198804_21-30 456085504 198804_21-30_geo 484410045
PAL_MAY_01-10_1988 227830367 198805_01-10 456085504 198805_01-10_geo 484410045
PAL_MAY_11-20_1988 227830333 198805_11-20 456085504 198805_11-20_geo 484410045
PAL_MAY_21-31_1988 227830341 198805_21-31 456085504 198805_21-31_geo 484410045
PAL_JUN_01-10_1988 227830333 198806_01-10 456085504 198806_01-10_geo 484410045
PAL_JUN_11-20_1988 227830373 198806_11-20 456085504 198806_11-20_geo 484410045
PAL_JUN_21-30_1988 227830333 198806_21-30 456085504 198806_21-30_geo 484410045
PAL_JUL_01-10_1988 227830333 198807_01-10 456085504 198807_01-10_geo 484410045
PAL_JUL_11-20_1988 227830321 198807_11-20 456085504 198807_11-20_geo 484410045
PAL_JUL_21-31_1988 227830331 198807_21-31 456085504 198807_21-31_geo 484410045
PAL_AUG_01-10_1988 227830410 198808_01-10 456085504 198808_01-10_geo 484410045
PAL_AUG_11-20_1988 227830375 198808_11-20 456085504 198808_11-20_geo 484410045
PAL_AUG_21-31_1988 227830389 198808_21-31 456085504 198808_21-31_geo 484410045
PAL_SEP_01-10_1988 227830351 198809_01-10 456085504 198809_01-10_geo 484410045
PAL_SEP_11-20_1988 227830333 198809_11-20 456085504 198809_11-20_geo 484410045
PAL_SEP_21-30_1988 227830341 198809_21-30 456085504 198809_21-30_geo 484410045
PAL_OCT_01-10_1988 227830327 198810_01-10 456085504 198810_01-10_geo 484410045
PAL_OCT_11-20_1988 227830332 198810_11-20 456085504 198810_11-20_geo 484410045
PAL_OCT_21-31_1988 227830349 198810_21-31 456085504 198810_21-31_geo 484410045
PAL_NOV_01-10_1988 227830591 198811_01-10 456085504 198811_01-10_geo 484410045
PAL_NOV_11-20_1988 227830366 198811_11-20 456085504 198811_11-20_geo 484410045
PAL_NOV_21-30_1988 227830487 198811_21-30 456085504 198811_21-30_geo 484410045
PAL_DEC_01-10_1988 227830405 198812_01-10 456085504 198812_01-10_geo 484410045
PAL_DEC_11-20_1988 227830396 198812_11-20 456085504 198812_11-20_geo 484410045
PAL_DEC_21-31_1988 227830381 198812_21-31 456085504 198812_21-31_geo 484410045
PAL_JAN_01-10_1989 227830452 198901_01-10 456085504 198901_01-10_geo 484410045
PAL_JAN_11-20_1989 227830368 198901_11-20 456085504 198901_11-20_geo 484410045
87
PAL_JAN_21-31_1989 227830444 198901_21-31 456085504 198901_21-31_geo 484410045
PAL_FEB_01-10_1989 227830380 198902_01-10 456085504 198902_01-10_geo 484410045
PAL_FEB_11-20_1989 227830362 198902_11-20 456085504 198902_11-20_geo 484410045
PAL_FEB_21-28_1989 227830427 198902_21-28 456085504 198902_21-28_geo 484410045
PAL_MAR_01-10_1989 227830467 198903_01-10 456085504 198903_01-10_geo 484410045
PAL_MAR_11-20_1989 227830377 198903_11-20 456085504 198903_11-20_geo 484410045
PAL_MAR_21-31_1989 227830451 198903_21-31 456085504 198903_21-31_geo 484410045
PAL_APR_01-10_1989 227830608 198904_01-10 456085504 198904_01-10_geo 484410045
PAL_APR_11-20_1989 227830400 198904_11-20 456085504 198904_11-20_geo 484410045
PAL_APR_21-30_1989 227830454 198904_21-30 456085504 198904_21-30_geo 484410045
PAL_MAY_01-10_1989 227830544 198905_01-10 456085504 198905_01-10_geo 484410045
PAL_MAY_11-20_1989 227830497 198905_11-20 456085504 198905_11-20_geo 484410045
PAL_MAY_21-31_1989 227830396 198905_21-31 456085504 198905_21-31_geo 484410045
PAL_JUN_01-10_1989 227830629 198906_01-10 456085504 198906_01-10_geo 484410045
PAL_JUN_11-20_1989 227830529 198906_11-20 456085504 198906_11-20_geo 484410045
PAL_JUN_21-30_1989 227830412 198906_21-30 456085504 198906_21-30_geo 484410045
PAL_JUL_01-10_1989 227830441 198907_01-10 456085504 198907_01-10_geo 484410045
PAL_JUL_11-20_1989 227830429 198907_11-20 456085504 198907_11-20_geo 484410045
PAL_JUL_21-31_1989 227830401 198907_21-31 456085504 198907_21-31_geo 484410045
PAL_AUG_01-10_1989 227830391 198908_01-10 456085504 198908_01-10_geo 484410045
PAL_AUG_11-20_1989 227830432 198908_11-20 456085504 198908_11-20_geo 484410045
PAL_AUG_21-31_1989 227830453 198908_21-31 456085504 198908_21-31_geo 484410045
PAL_SEP_01-10_1989 227830523 198909_01-10 456085504 198909_01-10_geo 484410045
PAL_SEP_11-20_1989 227830345 198909_11-20 456085504 198909_11-20_geo 484410045
PAL_SEP_21-30_1989 227830345 198909_21-30 456085504 198909_21-30_geo 484410045
PAL_OCT_01-10_1989 227830569 198910_01-10 456085504 198910_01-10_geo 484410045
PAL_OCT_11-20_1989 227830439 198910_11-20 456085504 198910_11-20_geo 484410045
PAL_OCT_21-31_1989 227830512 198910_21-31 456085504 198910_21-31_geo 484410045
PAL_NOV_01-10_1989 227830405 198911_01-10 456085504 198911_01-10_geo 484410045
PAL_NOV_11-20_1989 227830431 198911_11-20 456085504 198911_11-20_geo 484410045
PAL_NOV_21-30_1989 227830366 198911_21-30 456085504 198911_21-30_geo 484410045
PAL_DEC_01-10_1989 227830395 198912_01-10 456085504 198912_01-10_geo 484410045
PAL_DEC_11-20_1989 227830453 198912_11-20 456085504 198912_11-20_geo 484410045
PAL_DEC_21-31_1989 227830449 198912_21-31 456085504 198912_21-31_geo 484410045
PAL_JAN_01-10_1990 227830602 199001_01-10 456085504 199001_01-10_geo 484410045
PAL_JAN_11-20_1990 227830534 199001_11-20 456085504 199001_11-20_geo 484410045
PAL_JAN_21-31_1990 227830680 199001_21-31 456085504 199001_21-31_geo 484410045
PAL_FEB_01-10_1990 227830519 199002_01-10 456085504 199002_01-10_geo 484410045
PAL_FEB_11-20_1990 227830624 199002_11-20 456085504 199002_11-20_geo 484410045
PAL_FEB_21-28_1990 227830421 199002_21-28 456085504 199002_21-28_geo 484410045
PAL_MAR_01-10_1990 227830610 199003_01-10 456085504 199003_01-10_geo 484410045
PAL_MAR_11-20_1990 227830442 199003_11-20 456085504 199003_11-20_geo 484410045
PAL_MAR_21-31_1990 227830490 199003_21-31 456085504 199003_21-31_geo 484410045
PAL_APR_01-10_1990 227830348 199004_01-10 456085504 199004_01-10_geo 484410045
PAL_APR_11-20_1990 227830472 199004_11-20 456085504 199004_11-20_geo 484410045
PAL_APR_21-30_1990 227830443 199004_21-30 456085504 199004_21-30_geo 484410045
PAL_MAY_01-10_1990 227830447 199005_01-10 456085504 199005_01-10_geo 484410045
PAL_MAY_11-20_1990 227830473 199005_11-20 456085504 199005_11-20_geo 484410045
PAL_MAY_21-31_1990 227830475 199005_21-31 456085504 199005_21-31_geo 484410045
88 APPENDIX E. FILE NAMES AND SIZES
PAL_JUN_01-10_1990 227830362 199006_01-10 456085504 199006_01-10_geo 484410045
PAL_JUN_11-20_1990 227830334 199006_11-20 456085504 199006_11-20_geo 484410045
PAL_JUN_21-30_1990 227830334 199006_21-30 456085504 199006_21-30_geo 484410045
PAL_JUL_01-10_1990 227830422 199007_01-10 456085504 199007_01-10_geo 484410045
PAL_JUL_11-20_1990 227830616 199007_11-20 456085504 199007_11-20_geo 484410045
PAL_JUL_21-31_1990 227830509 199007_21-31 456085504 199007_21-31_geo 484410045
PAL_AUG_01-10_1990 227830492 199008_01-10 456085504 199008_01-10_geo 484410045
PAL_AUG_11-20_1990 227830504 199008_11-20 456085504 199008_11-20_geo 484410045
PAL_AUG_21-31_1990 227830505 199008_21-31 456085504 199008_21-31_geo 484410045
PAL_SEP_01-10_1990 227830373 199009_01-10 456085504 199009_01-10_geo 484410045
PAL_SEP_11-20_1990 227830330 199009_11-20 456085504 199009_11-20_geo 484410045
PAL_SEP_21-30_1990 227830467 199009_21-30 456085504 199009_21-30_geo 484410045
PAL_OCT_01-10_1990 227830355 199010_01-10 456085504 199010_01-10_geo 484410045
PAL_OCT_11-20_1990 227830334 199010_11-20 456085504 199010_11-20_geo 484410045
PAL_OCT_21-31_1990 227830338 199010_21-31 456085504 199010_21-31_geo 484410045
PAL_NOV_01-10_1990 227830334 199011_01-10 456085504 199011_01-10_geo 484410045
PAL_NOV_11-20_1990 227830506 199011_11-20 456085504 199011_11-20_geo 484410045
PAL_NOV_21-30_1990 227830551 199011_21-30 456085504 199011_21-30_geo 484410045
PAL_DEC_01-10_1990 227830376 199012_01-10 456085504 199012_01-10_geo 484410045
PAL_DEC_11-20_1990 227830459 199012_11-20 456085504 199012_11-20_geo 484410045
PAL_DEC_21-31_1990 227830474 199012_21-31 456085504 199012_21-31_geo 484410045
PAL_JAN_01-10_1991 227830334 199101_01-10 456085504 199101_01-10_geo 484410045
PAL_JAN_11-20_1991 227830480 199101_11-20 456085504 199101_11-20_geo 484410045
PAL_JAN_21-31_1991 227830420 199101_21-31 456085504 199101_21-31_geo 484410045
PAL_FEB_01-10_1991 227830334 199102_01-10 456085504 199102_01-10_geo 484410045
PAL_FEB_11-20_1991 227830485 199102_11-20 456085504 199102_11-20_geo 484410045
PAL_FEB_21-28_1991 227830334 199102_21-28 456085504 199102_21-28_geo 484410045
PAL_MAR_01-10_1991 227830418 199103_01-10 456085504 199103_01-10_geo 484410045
PAL_MAR_11-20_1991 227830358 199103_11-20 456085504 199103_11-20_geo 484410045
PAL_MAR_21-31_1991 227830374 199103_21-31 456085504 199103_21-31_geo 484410045
PAL_APR_01-10_1991 227830338 199104_01-10 456085504 199104_01-10_geo 484410045
PAL_APR_11-20_1991 227830398 199104_11-20 456085504 199104_11-20_geo 484410045
PAL_APR_21-30_1991 227830361 199104_21-30 456085504 199104_21-30_geo 484410045
PAL_MAY_01-10_1991 227830364 199105_01-10 456085504 199105_01-10_geo 484410045
199105_11 217114996 199105_11_geo 201815807
PAL_MAY_21-31_1991 227830504 199105_21-31 456085504 199105_21-31_geo 484410045
PAL_JUN_01-10_1991 227830390 199106_01-10 456085504 199106_01-10_geo 484410045
PAL_JUN_11-20_1991 227830338 199106_11-20 456085504 199106_11-20_geo 484410045
PAL_JUN_21-30_1991 227830402 199106_21-30 456085504 199106_21-30_geo 484410045
PAL_JUL_01-10_1991 227830436 199107_01-10 456085504 199107_01-10_geo 484410045
PAL_JUL_11-20_1991 227830334 199107_11-20 456085504 199107_11-20_geo 484410045
PAL_JUL_21-31_1991 227830352 199107_21-31 456085504 199107_21-31_geo 484410045
PAL_AUG_01-10_1991 227830398 199108_01-10 456085504 199108_01-10_geo 484410045
PAL_AUG_11-20_1991 227830459 199108_11-20 456085504 199108_11-20_geo 484410045
PAL_AUG_21-31_1991 227830418 199108_21-31 456085504 199108_21-31_geo 484410045
PAL_SEP_01-10_1991 227830445 199109_01-10 456085504 199109_01-10_geo 484410045
PAL_SEP_11-20_1991 227830524 199109_11-20 456085504 199109_11-20_geo 484410045
PAL_SEP_21-30_1991 227830334 199109_21-30 456085504 199109_21-30_geo 484410045
PAL_OCT_01-10_1991 227830409 199110_01-10 456085504 199110_01-10_geo 484410045
89
PAL_OCT_11-20_1991 227830443 199110_11-20 456085504 199110_11-20_geo 484410045
PAL_OCT_21-31_1991 227830396 199110_21-31 456085504 199110_21-31_geo 484410045
PAL_NOV_01-10_1991 227830370 199111_01-10 456085504 199111_01-10_geo 484410045
PAL_NOV_11-20_1991 227830407 199111_11-20 456085504 199111_11-20_geo 484410045
PAL_NOV_21-30_1991 227830366 199111_21-30 456085504 199111_21-30_geo 484410045
PAL_DEC_01-10_1991 227830404 199112_01-10 456085504 199112_01-10_geo 484410045
PAL_DEC_11-20_1991 227830436 199112_11-20 456085504 199112_11-20_geo 484410045
PAL_DEC_21-31_1991 227830390 199112_21-31 456085504 199112_21-31_geo 484410045
PAL_JAN_01-10_1992 227830411 199201_01-10 456085504 199201_01-10_geo 484410045
PAL_JAN_11-20_1992 227830317 199201_11-20 456085504 199201_11-20_geo 484410045
PAL_JAN_21-31_1992 227830411 199201_21-31 456085504 199201_21-31_geo 484410045
PAL_FEB_01-10_1992 227830362 199202_01-10 456085504 199202_01-10_geo 484410045
PAL_FEB_11-20_1992 227830362 199202_11-20 456085504 199202_11-20_geo 484410045
PAL_FEB_21-29_1992 227830407 199202_21-29 456085504 199202_21-29_geo 484410045
PAL_MAR_01-10_1992 227830465 199203_01-10 456085504 199203_01-10_geo 484410045
PAL_MAR_11-20_1992 227830454 199203_11-20 456085504 199203_11-20_geo 484410045
PAL_MAR_21-31_1992 227830451 199203_21-31 456085504 199203_21-31_geo 484410045
PAL_APR_01-10_1992 227830472 199204_01-10 456085504 199204_01-10_geo 484410045
PAL_APR_11-20_1992 227830481 199204_11-20 456085504 199204_11-20_geo 484410045
PAL_APR_21-30_1992 227830363 199204_21-30 456085504 199204_21-30_geo 484410045
PAL_MAY_01-10_1992 227830342 199205_01-10 456085504 199205_01-10_geo 484410045
PAL_MAY_11-20_1992 227830456 199205_11-20 456085504 199205_11-20_geo 484410045
PAL_MAY_21-31_1992 227830431 199205_21-31 456085504 199205_21-31_geo 484410045
PAL_JUN_01-10_1992 227830391 199206_01-10 456085504 199206_01-10_geo 484410045
PAL_JUN_11-20_1992 227830419 199206_11-20 456085504 199206_11-20_geo 484410045
PAL_JUN_21-30_1992 227830336 199206_21-30 456085504 199206_21-30_geo 484410045
PAL_JUL_01-10_1992 227830361 199207_01-10 456085504 199207_01-10_geo 484410045
PAL_JUL_11-20_1992 227830352 199207_11-20 456085504 199207_11-20_geo 484410045
PAL_JUL_21-31_1992 227830379 199207_21-31 456085504 199207_21-31_geo 484410045
PAL_AUG_01-10_1992 227830359 199208_01-10 456085504 199208_01-10_geo 484410045
PAL_AUG_11-20_1992 227830334 199208_11-20 456085504 199208_11-20_geo 484410045
PAL_AUG_21-31_1992 227830373 199208_21-31 456085504 199208_21-31_geo 484410045
PAL_SEP_01-10_1992 227830334 199209_01-10 456085504 199209_01-10_geo 484410045
PAL_SEP_11-20_1992 227830347 199209_11-20 456085504 199209_11-20_geo 484410045
PAL_SEP_21-30_1992 227830380 199209_21-30 456085504 199209_21-30_geo 484410045
PAL_OCT_01-10_1992 227830352 199210_01-10 456085504 199210_01-10_geo 484410045
PAL_OCT_11-20_1992 227830365 199210_11-20 456085504 199210_11-20_geo 484410045
PAL_OCT_21-31_1992 227830365 199210_21-31 456085504 199210_21-31_geo 484410045
PAL_NOV_01-10_1992 227830334 199211_01-10 456085504 199211_01-10_geo 484410045
PAL_NOV_11-20_1992 227830334 199211_11-20 456085504 199211_11-20_geo 484410045
PAL_NOV_21-30_1992 227830397 199211_21-30 456085504 199211_21-30_geo 484410045
PAL_DEC_01-10_1992 227830360 199212_01-10 456085504 199212_01-10_geo 484410045
PAL_DEC_11-20_1992 227830349 199212_11-20 456085504 199212_11-20_geo 484410045
PAL_DEC_21-31_1992 227830391 199212_21-31 456085504 199212_21-31_geo 484410045
PAL_JAN_01-10_1993 227830362 199301_01-10 456085504 199301_01-10_geo 484410045
PAL_JAN_11-20_1993 227830384 199301_11-20 456085504 199301_11-20_geo 484410045
PAL_JAN_21-31_1993 227830452 199301_21-31 456085504 199301_21-31_geo 484410045
PAL_FEB_01-10_1993 227830373 199302_01-10 456085504 199302_01-10_geo 484410045
PAL_FEB_11-20_1993 227830462 199302_11-20 456085504 199302_11-20_geo 484410045
90 APPENDIX E. FILE NAMES AND SIZES
PAL_FEB_21-28_1993 227830378 199302_21-28 456085504 199302_21-28_geo 484410045
PAL_MAR_01-10_1993 227830384 199303_01-10 456085504 199303_01-10_geo 484410045
PAL_MAR_11-20_1993 227830368 199303_11-20 456085504 199303_11-20_geo 484410045
PAL_MAR_21-31_1993 227830393 199303_21-31 456085504 199303_21-31_geo 484410045
PAL_APR_01-10_1993 227830397 199304_01-10 456085504 199304_01-10_geo 484410045
PAL_APR_11-20_1993 227830365 199304_11-20 456085504 199304_11-20_geo 484410045
PAL_APR_22-30_1993 227830509 199304_22-30 456085504 199304_22-30_geo 484410045
PAL_MAY_01-10_1993 227830389 199305_01-10 456085504 199305_01-10_geo 484410045
PAL_MAY_11-20_1993 227830383 199305_11-20 456085504 199305_11-20_geo 484410045
PAL_MAY_21-31_1993 227830400 199305_21-31 456085504 199305_21-31_geo 484410045
PAL_JUN_01-10_1993 227830334 199306_01-10 456085504 199306_01-10_geo 484410045
PAL_JUN_11-20_1993 227830333 199306_11-20 456085504 199306_11-20_geo 484410045
PAL_JUN_21-30_1993 227830360 199306_21-30 456085504 199306_21-30_geo 484410045
PAL_JUL_01-10_1993 227830408 199307_01-10 456085504 199307_01-10_geo 484410045
PAL_JUL_11-20_1993 227830499 199307_11-20 456085504 199307_11-20_geo 484410045
PAL_JUL_21-31_1993 227830358 199307_21-31 456085504 199307_21-31_geo 484410045
PAL_AUG_01-10_1993 227830363 199308_01-10 456085504 199308_01-10_geo 484410045
PAL_AUG_11-20_1993 227830364 199308_11-20 456085504 199308_11-20_geo 484410045
PAL_AUG_21-31_1993 227830394 199308_21-31 456085504 199308_21-31_geo 484410045
PAL_SEP_01-10_1993 227830334 199309_01-10 456085504 199309_01-10_geo 484410045
PAL_SEP_11-20_1993 227830360 199309_11-20 456085504 199309_11-20_geo 484410045
PAL_SEP_21-30_1993 227830398 199309_21-30 456085504 199309_21-30_geo 484410045
PAL_OCT_01-10_1993 227830337 199310_01-10 456085504 199310_01-10_geo 484410045
PAL_OCT_11-20_1993 227830339 199310_11-20 456085504 199310_11-20_geo 484410045
PAL_OCT_21-31_1993 227830339 199310_21-31 456085504 199310_21-31_geo 484410045
PAL_NOV_01-10_1993 227830359 199311_01-10 456085504 199311_01-10_geo 484410045
PAL_NOV_11-20_1993 227830334 199311_11-20 456085504 199311_11-20_geo 484410045
PAL_NOV_21-30_1993 227830334 199311_21-30 456085504 199311_21-30_geo 484410045
PAL_DEC_01-10_1993 227830324 199312_01-10 456085504 199312_01-10_geo 484410045
PAL_DEC_11-20_1993 227830380 199312_11-20 456085504 199312_11-20_geo 484410045
PAL_DEC_21-31_1993 227830336 199312_21-31 456085504 199312_21-31_geo 484410045
PAL_JAN_01-10_1994 227830375 199401_01-10 456085504 199401_01-10_geo 484410045
PAL_JAN_11-20_1994 227830340 199401_11-20 456085504 199401_11-20_geo 484410045
PAL_JAN_21-31_1994 227830337 199401_21-31 456085504 199401_21-31_geo 484410045
PAL_FEB_01-10_1994 227830451 199402_01-10 456085504 199402_01-10_geo 484410045
PAL_FEB_11-20_1994 227830340 199402_11-20 456085504 199402_11-20_geo 484410045
PAL_FEB_21-28_1994 227830383 199402_21-28 456085504 199402_21-28_geo 484410045
PAL_MAR_01-10_1994 227830350 199403_01-10 456085504 199403_01-10_geo 484410045
PAL_MAR_11-20_1994 227830360 199403_11-20 456085504 199403_11-20_geo 484410045
PAL_MAR_21-31_1994 227830377 199403_21-31 456085504 199403_21-31_geo 484410045
PAL_APR_01-10_1994 227830464 199404_01-10 456085504 199404_01-10_geo 484410045
PAL_APR_11-20_1994 227830384 199404_11-20 456085504 199404_11-20_geo 484410045
PAL_APR_21-30_1994 227830404 199404_21-30 456085504 199404_21-30_geo 484410045
PAL_MAY_01-10_1994 227830339 199405_01-10 456085504 199405_01-10_geo 484410045
PAL_MAY_11-20_1994 227830341 199405_11-20 456085504 199405_11-20_geo 484410045
PAL_MAY_21-31_1994 227830363 199405_21-31 456085504 199405_21-31_geo 484410045
PAL_JUN_01-10_1994 227830334 199406_01-10 456085504 199406_01-10_geo 484410045
PAL_JUN_11-20_1994 227830342 199406_11-20 456085504 199406_11-20_geo 484410045
PAL_JUN_21-30_1994 227830407 199406_21-30 456085504 199406_21-30_geo 484410045
91
PAL_JUL_01-10_1994 227830334 199407_01-10 456085504 199407_01-10_geo 484410045
PAL_JUL_11-20_1994 227830354 199407_11-20 456085504 199407_11-20_geo 484410045
PAL_JUL_21-31_1994 227830372 199407_21-31 456085504 199407_21-31_geo 484410045
PAL_AUG_01-10_1994 227830358 199408_01-10 456085504 199408_01-10_geo 484410045
PAL_AUG_11-20_1994 227830326 199408_11-20 456085504 199408_11-20_geo 484410045
PAL_AUG_21-31_1994 227830414 199408_21-31 456085504 199408_21-31_geo 484410045
PAL_SEP_01-10_1994 227830383 199409_01-10 456085504 199409_01-10_geo 484410045
199501_01 217114948 199501_01_geo 202787497
199501_11 217114948 199501_11_geo 202787497
199501_21 217114948 199501_21_geo 202787497
199502_01 217114948 199502_01_geo 202787497
199502_11 217114948 199502_11_geo 202787497
199502_21 217114948 199502_21_geo 202787497
199503_01 217114948 199503_01_geo 202787497
199503_11 217114948 199503_11_geo 202787497
199503_21 217114948 199503_21_geo 202787497
199504_01 217114948 199504_01_geo 202787497
199504_11 217114948 199504_11_geo 202787497
199504_21 217114948 199504_21_geo 202787497
199505_01 217114948 199505_01_geo 202787497
199505_11 217114948 199505_11_geo 202787497
199505_21 217114948 199505_21_geo 202787497
199506_01 217114948 199506_01_geo 202787497
199506_11 217114948 199506_11_geo 202787497
199506_21 217114948 199506_21_geo 202787497
199507_01 217114948 199507_01_geo 202787497
199507_11 217114948 199507_11_geo 202787497
199507_21 217114948 199507_21_geo 202787497
199508_01 217114948 199508_01_geo 202787497
199508_11 217114948 199508_11_geo 202787497
199508_21 217114948 199508_21_geo 202787497
199509_01 217114948 199509_01_geo 202787497
199509_11 217114948 199509_11_geo 202787497
199509_21 217114948 199509_21_geo 202787497
199510_01 217114948 199510_01_geo 202787497
199510_11 217114948 199510_11_geo 202787497
199510_21 217114948 199510_21_geo 202787497
199511_01 217114948 199511_01_geo 202787497
92 APPENDIX E. FILE NAMES AND SIZES
199511_11 217114948 199511_11_geo 202787497
199511_21 217114948 199511_21_geo 202787497
199512_01 217114948 199512_01_geo 202787497
199512_11 217114948 199512_11_geo 202787497
199512_21 217114948 199512_21_geo 202787497
199601_01 217114948 199601_01_geo 202787497
199601_11 217114948 199601_11_geo 202787497
199601_21 217114948 199601_21_geo 202787497
199602_01 217114948 199602_01_geo 202787497
199602_11 217114948 199602_11_geo 202787497
199602_21 217114948 199602_21_geo 202787497
199603_01 217114948 199603_01_geo 202787497
199603_11 217114948 199603_11_geo 202787497
199603_21 217114948 199603_21_geo 202787497
199604_01 217114948 199604_01_geo 202787497
199604_11 217114948 199604_11_geo 202787497
199604_21 217114948 199604_21_geo 202787497
199605_01 217114948 199605_01_geo 202787497
199605_11 217114948 199605_11_geo 202787497
199605_21 217114948 199605_21_geo 202787497
199606_01 217114948 199606_01_geo 202787497
199606_11 217114948 199606_11_geo 202787497
199606_21 217114948 199606_21_geo 202787497
199607_01 217114948 199607_01_geo 202787497
199607_11 217114948 199607_11_geo 202787497
199607_21 217114948 199607_21_geo 202787497
199608_01 217114948 199608_01_geo 202787497
199608_11 217114948 199608_11_geo 202787497
199608_21 217114948 199608_21_geo 202787497
199609_01 217114948 199609_01_geo 202787497
199609_11 217114948 199609_11_geo 202787497
199609_21 217114948 199609_21_geo 202787497
199610_01 217114948 199610_01_geo 202787497
199610_11 217114948 199610_11_geo 202787497
199610_21 217114948 199610_21_geo 202787497
199611_01 217114948 199611_01_geo 202787497
199611_11 217114948 199611_11_geo 202787497
199611_21 217114948 199611_21_geo 202787497
199612_01 217114948 199612_01_geo 202787497
199612_11 217114948 199612_11_geo 202787497
199612_21 217114948 199612_21_geo 202787497
199701_01 217114948 199701_01_geo 202787497
199701_11 217114948 199701_11_geo 202787497
199701_21 217114948 199701_21_geo 202787497
199702_01 217114948 199702_01_geo 202787497
199702_11 217114948 199702_11_geo 202787497
199702_21 217114948 199702_21_geo 202787497
199703_01 217114948 199703_01_geo 202787497
199703_11 217114948 199703_11_geo 202787497
93
199703_21 217114948 199703_21_geo 202787497
199704_01 217114948 199704_01_geo 202787497
199704_11 217114948 199704_11_geo 202787497
199704_21 217114948 199704_21_geo 202787497
199705_01 217114948 199705_01_geo 202787497
199705_11 217114948 199705_11_geo 202787497
199705_21 217114948 199705_21_geo 202787497
199706_01 217114948 199706_01_geo 202787497
199706_11 217114948 199706_11_geo 202787497
199706_21 217114948 199706_21_geo 202787497
199707_01 217114948 199707_01_geo 202787497
199707_11 217114948 199707_11_geo 202787497
199707_21 217114948 199707_21_geo 202787497
199708_01 217114948 199708_01_geo 202787497
199708_11 217114948 199708_11_geo 202787497
199708_21 217114948 199708_21_geo 202787497
199709_01 217114948 199709_01_geo 202787497
199709_11 217114948 199709_11_geo 202787497
199709_21 217114948 199709_21_geo 202787497
199710_01 217114948 199710_01_geo 202787497
199710_11 217114948 199710_11_geo 202787497
199710_21 217114948 199710_21_geo 202787497
199711_01 217114948 199711_01_geo 202787497
199711_11 217114948 199711_11_geo 202787497
199711_21 217114948 199711_21_geo 202787497
199712_01 217114948 199712_01_geo 202787497
199712_11 217114948 199712_11_geo 202787497
199712_21 217114948 199712_21_geo 202787497
199801_01 217114948 199801_01_geo 202787497
199801_11 217114948 199801_11_geo 202787497
199801_21 217114948 199801_21_geo 202787497
199802_01 217114948 199802_01_geo 202787497
199802_11 217114948 199802_11_geo 202787497
199802_21 217114948 199802_21_geo 202787497
199803_01 217114948 199803_01_geo 202787497
199803_11 217114948 199803_11_geo 202787497
199803_21 217114948 199803_21_geo 202787497
199804_01 217114948 199804_01_geo 202787497
199804_11 217114948 199804_11_geo 202787497
199804_21 217114948 199804_21_geo 202787497
199805_01 217114948 199805_01_geo 202787497
199805_11 217114948 199805_11_geo 202787497
199805_21 217114948 199805_21_geo 202787497
199806_01 217114948 199806_01_geo 202787497
199806_11 217114948 199806_11_geo 202787497
199806_21 217114948 199806_21_geo 202787497
199807_01 217114948 199807_01_geo 202787497
199807_11 217114948 199807_11_geo 202787497
199807_21 217114948 199807_21_geo 202787497
94 APPENDIX E. FILE NAMES AND SIZES
199808_01 217114948 199808_01_geo 202787497
199808_11 217114948 199808_11_geo 202787497
199808_21 217114948 199808_21_geo 202787497
199809_01 217114948 199809_01_geo 202787497
199809_11 217114948 199809_11_geo 202787497
199809_21 217114948 199809_21_geo 202787497
199810_01 217114948 199810_01_geo 202787497
199810_11 217114948 199810_11_geo 202787497
199810_21 217114948 199810_21_geo 202787497
199811_01 217114948 199811_01_geo 202787497
199811_11 217114948 199811_11_geo 202787497
199811_21 217114948 199811_21_geo 202787497
199812_01 217114948 199812_01_geo 202787497
199812_11 217114948 199812_11_geo 202787497
199812_21 217114948 199812_21_geo 202787497
199901_01 217114948 199901_01_geo 202787497
199901_11 217114948 199901_11_geo 202787497
199901_21 217114948 199901_21_geo 202787497
199902_01 217114948 199902_01_geo 202787497
199902_11 217114948 199902_11_geo 202787497
199902_21 217114948 199902_21_geo 202787497
199903_01 217114948 199903_01_geo 202787497
199903_11 217114948 199903_11_geo 202787497
199903_21 217114948 199903_21_geo 202787497
199904_01 217114948 199904_01_geo 202787497
199904_11 217114948 199904_11_geo 202787497
199904_21 217114948 199904_21_geo 202787497
199905_01 217114948 199905_01_geo 202787497
199905_11 217114948 199905_11_geo 202787497
199905_21 217114948 199905_21_geo 202787497
199906_01 217114948 199906_01_geo 202787497
199906_11 217114948 199906_11_geo 202787497
199906_21 217114948 199906_21_geo 202787497
199907_01 217114948 199907_01_geo 202787497
199907_11 217114948 199907_11_geo 202787497
199907_21 217114948 199907_21_geo 202787497
199908_01 217114948 199908_01_geo 202787497
199908_11 217114948 199908_11_geo 202787497
199908_21 217114948 199908_21_geo 202787497
199909_01 217114948 199909_01_geo 202787497
199909_11 217114948 199909_11_geo 202787497
199909_21 217114948 199909_21_geo 202787497
199910_01 217114948 199910_01_geo 202787497
199910_11 217114948 199910_11_geo 202787497
199910_21 217114948 199910_21_geo 202787497
199911_01 217114948 199911_01_geo 202787497
199911_11 217114948 199911_11_geo 202787497
199911_21 217114948 199911_21_geo 202787497
199912_01 217114948 199912_01_geo 202787497
95
199912_11 217114948 199912_11_geo 202787497
199912_21 217114948 199912_21_geo 202787497
200001_01 217114948 200001_01_geo 202787497
200001_11 217114948 200001_11_geo 202787497
200001_21 217114948 200001_21_geo 202787497
200002_01 217114948 200002_01_geo 202787497
200002_11 217114948 200002_11_geo 202787497
200002_21 217114948 200002_21_geo 202787497
200003_01 217114948 200003_01_geo 202787497
200003_11 217114948 200003_11_geo 202787497
200003_21 217114948 200003_21_geo 202787497
200004_01 217114948 200004_01_geo 202787497
200004_11 217114948 200004_11_geo 202787497
200004_21 217114948 200004_21_geo 202787497
200005_01 217114948 200005_01_geo 202787497
200005_11 217114948 200005_11_geo 202787497
200005_21 217114948 200005_21_geo 202787497
200006_01 217114948 200006_01_geo 202787497
200006_11 217114948 200006_11_geo 202787497
200006_21 217114948 200006_21_geo 202787497
200007_01 217114948 200007_01_geo 202787497
200007_11 217114948 200007_11_geo 202787497
200007_21 217114948 200007_21_geo 202787497
200008_01 217114948 200008_01_geo 202787497
200008_11 217114948 200008_11_geo 202787497
200008_21 217114948 200008_21_geo 202787497
200009_01 217114948 200009_01_geo 202787497
200009_11 217114948 200009_11_geo 202787497
200009_21 217114948 200009_21_geo 202787497
200010_01 217114948 200010_01_geo 202787497
200010_11 217114948 200010_11_geo 202787497
200010_21 217114948 200010_21_geo 202787497
200011_01 217114948 200011_01_geo 202787497
200011_11 217114948 200011_11_geo 202787497
200011_21 217114948 200011_21_geo 202787497
200012_01 217114948 200012_01_geo 202787497
200012_11 217114948 200012_11_geo 202787497
200012_21 217114948 200012_21_geo 202787497
200101_01 217114948 200101_01_geo 202787497
200101_11 217114948 200101_11_geo 202787497
200101_21 217114948 200101_21_geo 202787497
200102_01 217114948 200102_01_geo 202787497
200102_11 217114948 200102_11_geo 202787497
200102_21 217114948 200102_21_geo 202787497
200103_01 217114948 200103_01_geo 202787497
200103_11 217114948 200103_11_geo 202787497
200103_21 217114948 200103_21_geo 202787497
200104_01 217114948 200104_01_geo 202787497
200104_11 217114948 200104_11_geo 202787497
96 APPENDIX E. FILE NAMES AND SIZES
200104_21 217114948 200104_21_geo 202787497
200105_01 217114948 200105_01_geo 202787497
200105_11 217114948 200105_11_geo 202787497
200105_21 217114948 200105_21_geo 202787497
200106_01 217114948 200106_01_geo 202787497
200106_11 217114948 200106_11_geo 202787497
200106_21 217114948 200106_21_geo 202787497
200107_01 217114948 200107_01_geo 202787497
200107_11 217114948 200107_11_geo 202787497
200107_21 217114948 200107_21_geo 202787497
200108_01 217114948 200108_01_geo 202787497
200108_11 217114948 200108_11_geo 202787497
200108_21 217114948 200108_21_geo 202787497
200109_01 217114948 200109_01_geo 202787497
200109_11 217114948 200109_11_geo 202787497
200109_21 217114948 200109_21_geo 202787497
Appendix F
Scripts
The four scripts presented here are written in the Tcl/Tk language with theNAP extension package available from http://tcl-nap.sourceforge.net/.The NAP extension provides a succinct HDF file interface, together with fa-cilities for managing missing data, data type conversions, reprojections andcoordinate variables.
The three data conversion scripts are all written to expect the files laidout in the following directory structure:
|
|
|--------level-a/YYYY/<PAL_MMM_DD-DD_YYYY.HDF>
| |
| |*/<avhrrpf.ndvi.1ntfgl.YYMMDD.gz>
|
|--------level-b/YYYY/<YYYYMM_DD(-DD).hdf>
|
|--------level-c/YYYY/<YYYYMM_DD(-DD)_geo.hdf>
where the symbols are explained in the text. See the in-code documentationfor further details.
F.1 convert a b.tcl
# Script to convert original PAL HDF files (from tape media) to
# new CSIRO format.
#
# Assumes input files in a subtree with names
# level-a/YYYY/PAL_MMM_DD-DD_YYYY.HDF
# where YYYY is the 4-digit year
# MMM is the first 3 letters of the month name (capitalised)
# DD-DD are the start and end days in the month of the ten day interval
#
97
98 APPENDIX F. SCRIPTS
# Outputs level-b files with names
# level-b/YYYY/YYYYMM_DD-DD.hdf
# where MM is the two digit month number
# and all other symbols as above.
#----------------------------------------------------------------------------
# procedure to convert single file
#----------------------------------------------------------------------------
proc convert_a_b { file out } {
# Set up coordinate variables, description and source_file attributes
nap x=0..5003
nap y=0..2167
set words \
"This data file was created from HDF files originally distributed by the GSFC
DAAC in 1997 containing the PAL Global Data Set. Those files contained some
features that did not conform with the HDF standard for scaled data that made
them difficult to read. The processing that has been done to create these
files is:
1. Renaming the SDSs and rationalision of attributes and dimension variables
2. Converting the scaled data (calibrated in HDF parlance) to unscaled,
either in integer or floating point form.
3. Missing data (eg oceans) have been set to a consistent value which is
recorded in the _FillValue attribute for every SDS.
4. The files have been renamed to make them easier to sort into time-order
No change of units or remapping has been undertaken and no information has
been lost. A consequence of the elimination of the scaled data has been an
approximate doubling of the file size though this dissappears if the file is
stored compressed. Given the rapid growth in computer storage capacity, this
inconvenience is judged to be less than that associated with dealing with the
scaled data.
The most relevant documentation for this data set can be found
at:
http://disc1.gsfc.nasa.gov/FTP_DATA/avhrr/Readme.pal
though users are cautioned that that document relates to a later but very
similar version of the data set which lacks several of the ancillary data
channels present in these files (angles, CLAVR flags etc).
The data are global in Goode Interrupted Homolosine Projection which is a
pseudo-cylindrical projection comprising Sinusoidal Projection for the
equatorial regions where |latitude| < 44 deg. 44 min. and Mollwiede Projection
F.1. CONVERT A B.TCL 99
for the polar regions.
The bounding box is:
Latitude: -90.0 - +90.0
Longitude: -180.0 - + 180.0
"
nap description=’$words’
nap input_file=’[file tail $file]’
puts "PROCESSING: $file"
puts " CREATING: $out"
$description hdf $out :description
$input_file hdf $out :source_file
set list [nap_get hdf -list $file]
# Make a list of the data SDSs (not fakeDims - which we ignore)
set sdslist {}
foreach v $list {
if [regexp {^[^:]*$} $v] {
if [regexp {^fakeDim} $v] {
# Fake dimension - just remember its name and size
nap dim=[nap_get hdf $file $v]
set dimsize($v) [[nap nels(dim)]]
unset dim
} else {
lappend sdslist $v
}
}
}
# loop over all SDSs in the file
foreach sds $sdslist {
puts -nonewline "$sds"
# Start by reading all the attributes
foreach v $list {
if [regsub (^$sds:) $v "" aname] {
# Note that we don’t like minus signs in attribute
# names so we convert them all to underscores.
regsub {\-} $aname "_" aname
set attr($aname) $aname
nap $aname = [nap_get hdf $file $v]
}
}
# Figure out a name from the ’long_name’. The algorithm is:
# 1. convert to lowercase
100 APPENDIX F. SCRIPTS
# 2. replace space with ’_’
regsub -all { } [string tolower [$long_name]] "_" name
puts " $name"
# Read the variable using RAW mode so that scales and
# offsets are not used. Apply the valid_min and valid_max
# attribute values to determine which data should be set missing.
# Note that all attributes are vectors in NAP by default, hence the
# subscript (0)
nap var = [nap_get hdf $file $sds "" 1]
nap var = ((valid_min(0)<=var) && (var<=valid_max(0))) ? var : _
nap scale = scale_factor(0)
nap offset = add_offset(0)
if { [$scale] != 1.0 || [$offset] != 0.0 } {
# This data needs a conversion applied. If it is only an
# offset, we do that separately to avoid unnecessarily
# promoting from integer to floating point.
if { [$scale] != 1.0 } {
nap var = f32((var-offset)*scale)
} else {
nap var = var-offset
}
}
# Special treatment for particular SDSs. Everything gets a mention
# here to trap any surprise SDSs in odd files
switch -regexp $name {
^ndvi$ {
}
^clavr_flags$ {
nap var = u8(var)
}
^quality_control_flags$ {
nap var = u8(var)
}
.*_angle$ {
}
^channel_(1|2)_reflectance$ {
}
^channel_(3|4|5)_bb_temperature$ {
}
^day_of_year$ {
}
default { puts "Unrecognised SDS: $name" }
}
# Attach coordinate variables and write to the new file
F.1. CONVERT A B.TCL 101
$var set coordinate y x
$var set dimension y x
$var hdf $out $name
# Write the relevant SDS-specific attributes
$units hdf $out $name:units
$coordsys hdf $out $name:coordsys
$remarks_1 hdf $out $name:remarks_1
nap input_sds=’$sds’
$input_sds hdf $out $name:input_sds
# Make sure no attributes survive from one SDS to the next
foreach a [array names attr] {
unset $a
}
unset attr
}
}
#----------------------------------------------------------------------------
# Code to drive level-a -> level-b conversion process.
#----------------------------------------------------------------------------
array set month { JAN 01 FEB 02 MAR 03 APR 04 MAY 05 JUN 06
JUL 07 AUG 08 SEP 09 OCT 10 NOV 11 DEC 12}
# loop over all PAL files in each year - they are gzipped
foreach gzfile [lsort [glob "level-a/????/P*gz"]] {
# Figure out ungzipped name
set file [regsub {\.gz$} $gzfile ""]
# Use regexp match to extract date range, month and year from filename
if { [regexp {PAL_([A-Z][A-Z][A-Z])_(\d\d-\d\d)_(\d\d\d\d).HDF$} $file short_name
mon days year] != 1} {
puts "Unrecognisable filename: $file"
exit 1
}
# Make new name, and make sure output directory exists
set out "$year$month($mon)_$days.hdf"
set outdir [file dirname $file]
regsub {level-a} $outdir level-b outdir
file mkdir $outdir
set out [file join $outdir $out]
# Test to make sure we haven’t already done this file
if [file exists "$out.gz"] {
102 APPENDIX F. SCRIPTS
puts "Skipping $file"
} else {
# We’re doing it:
# 1. Unzip to temporary file (saves rezipping input file)
# 2. Make new level-b
# 3. gzip level-b
# 4. Remove temporary file
exec gunzip -c $gzfile > $file
convert_a_b $file $out
exec gzip $out
file delete $file
}
}
F.2 make b from flat.tcl
# Script to convert original PAL binary files (from internet) to
# new CSIRO format.
#
# Assumes input files in a subtree with names
# level-a/*/avhrrpf.ndvi.1ntfgl.YYMMDD.gz
# where YY is the 2-digit year
# MM is the two digit month number
# DD is the start day in the month of the ten day interval
# Only the path to the NDVI channel file is needed. The other channels
# are found by substituting their names in place of ’ndvi’ (so they’d better
# be in the same place!)
#
# Outputs level-b files with names
# level-b/YYYY/YYYYMM_DD.hdf
# where YYYY is the four digit year number
# and all other symbols as above.
#
# Typically the path to the input files would be something like:
# level-a/YYYY/disc1.sci.gsfc.nasa.gov/avhrr/global_8km/YYYY/MMM/
# where YYYY is the four digit year and MMM is the first three letters
# of the month name (in lower case).
#----------------------------------------------------------------------------
# procedure to convert files from single epoch to single HDF file
#----------------------------------------------------------------------------
proc make_b_from_flat { stem out } {
F.2. MAKE B FROM FLAT.TCL 103
# Set up coordinate variables, description and source_file attributes
nap x=0..5003
nap y=0..2167
set words \
"This data file was created from flat files distributed by the GSFC
DAAC containing the PAL Global Data Set. These data are intended to
complement a gap in our existing HDF PAL data set caused by a partially
unreadable tape for the 1985 data, though due to differences in distributed
channels, this substitute data is not as complete (see below). The processing
that has been done to create these files is:
1. Merging the multiple files (1 per channel) into this single HDF file with
attributes and dimension variables consistent with the HDF files for other
years.
2. Converting the scaled data (stored as byte or short integer) to unscaled,
in floating point form.
3. Missing data (eg oceans) have been set to a consistent value which is
recorded in the _FillValue attribute for every SDS.
4. The files have been renamed to make them easier to sort into time-order
No change of units or remapping has been undertaken and no information has
been lost. A consequence of the elimination of the scaled data has been an
approximate doubling of the file size though this disappears if the file is
stored compressed. Given the rapid growth in computer storage capacity, this
inconvenience is judged to be less than that associated with dealing with the
scaled data.
The relevant documentation for this data set can be found at:
http://disc1.gsfc.nasa.gov/FTP_DATA/avhrr/Readme.pal
Users should note that these data do not include channel-3 brightness
temperatures or any of the ancillary data channels (angles, CLAVR flags etc)
that were present in the originally distributed HDF files (apparently
no longer available).
The data are global in Goode Interrupted Homolosine Projection which is a
pseudo-cylindrical projection comprising Sinusoidal Projection for the
equatorial regions where |latitude| < 44 deg. 44 min. and Mollwiede Projection
for the polar regions.
The bounding box is:
Latitude: -90.0 - +90.0
Longitude: -180.0 - + 180.0
"
nap description=’$words’
#nap input_file=’[file tail $stem]’
104 APPENDIX F. SCRIPTS
nap coordsys=’Interrupted Goode Homolosine’
# Lists channel data types, calibration factors and offsets, and valid
# ranges. Normally these would come from HDF attributes but here they
# come from the accompanying document Readme.PAL
array set type { ndvi u8 ch1 u16 ch2 u16 ch4 u16 ch5 u16 }
array set scale { ndvi 0.008 ch1 0.002 ch2 0.002 ch4 0.005 ch5 0.005 }
array set offset { ndvi 128 ch1 10 ch2 10 ch4 -31990 ch5 -31990 }
array set valid_min { ndvi 3 ch1 10 ch2 10 ch4 10 ch5 10 }
array set valid_max { ndvi 253 ch1 50010 ch2 50010 ch4 36010 ch5 36010 }
puts "PROCESSING: $stem"
puts " CREATING: $out"
$description hdf $out :description
#$input_file hdf $out :source_file
# Loop over each channel and process separately
foreach chan {ndvi ch1 ch2 ch4 ch5} {
puts -nonewline "$chan "
# Figure out the file name
set infile [regsub {.ndvi.} $stem ".$chan."]
# If it’s gzipped, unzip it to temporary
if [regexp {\.gz$} $infile] {
set file [regsub {\.gz} $infile ""]
exec gunzip -c $infile > $file
} else {
set file $infile
}
# Read it
puts "Reading: [file tail $file]"
set f [open $file]
nap "var = reshape([nap_get swap $f $type($chan)], {2168 5004})"
close $f
# And delete temporary if original was gzipped
if [regexp {\.gz$} $infile] {
file delete $file
}
# Read the variable using RAW mode so that scales and
# offsets are not used. Apply the valid_min and valid_max
# attribute values to determine which data should be set missing
# and promote to floating point.
nap var = (($valid_min($chan)<=var)&&(var<=$valid_max($chan))) ? var : _
nap var = f32((var-$offset($chan))*$scale($chan))
F.2. MAKE B FROM FLAT.TCL 105
# Handle each data set separately. There is plenty of work to be done
# since no attributes are available.
switch -regexp $chan {
^ndvi$ {
nap units=’n/a’
set name "ndvi"
set words \
"NDVI (Normalized Difference Vegetation Index) is a difference
ratio of the two visible channels from the AVHRR. Values range
from -1 to +1, though all negative values represent NO vegetation."
}
^ch1$ {
nap units=’% reflectance’
set name "channel_1_reflectance"
set words \
"Channel 1 normalized reflectance is the reflectance from the .58 - .68
micron channel of the AVHRR. Data have been atmospherically corrected
and normalized for solar illumination.
Ref: Goward, et al, Rem. Sens Env. 35,257-277, 1991."
}
^ch2$ {
nap units=’% reflectance’
set name "channel_2_reflectance"
set words \
"Channel 2 normalized reflectance is the reflectance from the .725 - 1.10
micron channel of the AVHRR. Data have been atmospherically corrected
and normalized for solar illumination.
Ref: Goward, et al, Rem. Sens Env. 35,257-277, 1991."
}
^ch4$ {
nap units=’degrees K’
set name "channel_4_bb_temperature"
set words \
"Channel 4 is the calculated brightness temperature from the 10.3 to 11.3
micron channel of the AVHRR. Counts have been fully calibrated and
corrections for the non-linear instrument response have been applied.
Ref: Polar Orbiter Users Guide,NOAA,NESDIS, 1991. Ref: Non-Linearity
Corrections for the Thermal Infrared Channels of the AVHRR: Assessment
and Recommendations,Report of the NOAA/NASA AVHRR Pathfinder Calibration
Working Group,Chair C.R.Rao,1992."
}
^ch5$ {
nap units=’degrees K’
set name "channel_5_bb_temperature"
set words \
"Channel 5 is the calculated brightness temperature from the 11.5 to 12.5
micron channel of the AVHRR. Counts have been fully calibrated and
corrections for the non-linear instrument response have been applied.
Ref: Polar Orbiter Users Guide,NOAA,NESDIS, 1991. Ref: Non-Linearity
106 APPENDIX F. SCRIPTS
Corrections for the Thermal Infrared Channels of the AVHRR: Assessment
and Recommendations,Report of the NOAA/NASA AVHRR Pathfinder Calibration
Working Group,Chair C.R.Rao,1992."
}
default { puts "Unrecognised channel: $chan" }
}
# Attach coordinate variables and write to the new file
$var set coordinate y x
$var set dimension y x
$var hdf $out $name
# Write the relevant SDS-specific attributes
$units hdf $out $name:units
$coordsys hdf $out $name:coordsys
nap remarks_1=’$words’
$remarks_1 hdf $out $name:remarks_1
nap input_sds=’[file tail $file]’
$input_sds hdf $out $name:input_sds
}
}
#----------------------------------------------------------------------------
# Code to drive level-a -> level-b conversion process.
#----------------------------------------------------------------------------
# wild is a wildcarded description of the data path for the NDVI channels.
# It is assumed that the files for the other channels are in the same directory
# as the NDVI data and can be found by substituting their names for ’ndvi’.
# There are two possible wildcard descriptions here, one for 1985 and one for
# 1991.
set wild "level-
a/1985/disc1.sci.gsfc.nasa.gov/avhrr/global_8km/1985/???/avhrrpf.ndvi.1ntfgl.*.gz"
set wild "level-
a/1991/disc1.sci.gsfc.nasa.gov/avhrr/global_8km/1991/may/avhrrpf.ndvi.1ntfgl.*.gz"
# Loop over each file in the wildcard list
foreach gzfile [lsort [glob "$wild"]] {
# Use regexp match to extract date range, month and year from filename
if { [regexp {gl\.(\d\d)(\d\d)(\d\d)\.gz$} $gzfile junk year mon days] != 1} {
puts "Unrecognisable filename: $gzfile"
exit 1
}
set year [expr $year + 1900]
# Make new name, and make sure output directory exists
set out "$year${mon}_$days.hdf"
set outdir "level-b/$year/"
F.3. REPROJECT B-C.TCL 107
regsub {level-a} $outdir level-b outdir
file mkdir $outdir
set out [file join $outdir $out]
# perform the conversion and gzip the result
make_b_from_flat $gzfile $out
exec gzip $out
}
F.3 reproject b-c.tcl
# Script to convert new PAL HDF files in Goode Interrupted Homolosine
# projection to geographic lat/lon.
#
# Assumes input files in a subtree with names
# level-b/YYYY/YYYYMM_DD-DD.hdf (created from tape media)
# or level-b/YYYY/YYYYMM_DD.hdf (created from Internet distribution)
# where YYYY is the 4-digit year
# MM is the two digit month number
# DD-DD are the start and end days in the month of the ten day interval
#
# Outputs level-b files with names
# level-c/YYYY/YYYYMM_DD-DD_geo.hdf
# or level-c/YYYY/YYYYMM_DD_geo.hdf
# respectively, all symbols as above.
#
# The inverse grid used to map the x,y -> lon,lat is assumed to be
# stored in reprojection_data.hdf created by script ’make_reprojection.tcl’
#----------------------------------------------------------------------------
# procedure to reproject single file
#----------------------------------------------------------------------------
proc reproject { file out inverseGrid olat olon } {
# Set up description and input_file attributes
set words \
"These data are global in Geographic Projection (rectilinear latitude and
longitude). The pixel size is 0.08 deg. in both directions (~8km).
They have been created by using nearest neighbour resampling of the data
in the parent file (see :source_file and :parent_description global
attributes).
108 APPENDIX F. SCRIPTS
The bounding box is:
Latitude: -90.0 - +90.0
Longitude: -180.0 - + 180.0
"
nap description=’$words’
nap input_file=’[file tail $file]’
puts "PROCESSING: $file"
puts " CREATING: $out"
$description hdf $out :description
$input_file hdf $out :source_file
# Read the description of the input file and write it to the
# output as :parent_description
nap description=[nap_get hdf $file :description]
$description hdf $out :parent_description
nap coordsys = ’Geographic Lat/Lon’
set list [nap_get hdf -list $file]
# Make a list of the data SDSs (not coordinate variables)
set sdslist {}
foreach v $list {
if [regexp {^[^:]*$} $v] {
if [regexp {^(x|y)$} $v] {
# coordinate variable - skip
} else {
lappend sdslist $v
}
}
}
# Process each SDS
foreach sds $sdslist {
puts "$sds"
# Start by reading the data and reprojecting it.
nap var = [nap_get hdf $file $sds]
caps warp warpedNearest_var
# Because the inverse_grid doesn’t go right to the limits of
# Lat and Lon, we resample onto the correct size grid before writing
# the output file. Use nearest neighbour in case of round-off
# issues; technically exact match should do.
nap v=warpedNearest_var(@@olat,@@olon)
$v hdf $out $sds
F.3. REPROJECT B-C.TCL 109
# And now do the atributes we’re interested in
foreach v $list {
if [regsub (^$sds:) $v "" aname] {
# Read the attribute and then massage and write as approp.
nap attr = [nap_get hdf $file $v]
switch -regexp $aname {
^units$ { $attr hdf $out $sds:units }
^coordsys$ { $coordsys hdf $out $sds:coordsys }
^remarks_1$ { $attr hdf $out $sds:remarks_1 }
^input_sds$ { }
^_FillValue$ { }
default { puts "Unrecognised attribute $v" }
}
}
}
}
}
#----------------------------------------------------------------------------
# Code to drive level-b -> level-c conversion process.
#----------------------------------------------------------------------------
# Read inverse grid
nap inverseGrid = [nap_get hdf reprojection_data.hdf inverseGrid]
# Make coordinate variables/dimension names for output latitude/longitude axes
# Very important to do this as integer arithmetic multiplied by a scale factor,
# otherwise we end up with short CVs due to round-off.
nap olat=0.08*(1125..-1125...-1)
$olat set dim latitude
nap olon=0.08*(-2250..2250...1)
$olon set dim longitude
# loop over all gzipped HDF files in the level-b tree
foreach gzfile [lsort [glob "level-b/????/*hdf.gz"]] {
# Figure out ungzipped name
set file [regsub {\.gz$} $gzfile ""]
# Use regexp match to extract date range, month and year from filename
if { [regexp {(\d\d\d\d)(\d\d)_((\d\d)|(\d\d-\d\d)).hdf$} $file junk year mon days] != 1} {
puts "Unrecognisable filename: $file"
exit 1
}
# Make new name, and make sure output directory exists
set out "$year${mon}_${days}_geo.hdf"
110 APPENDIX F. SCRIPTS
set outdir level-c/$year
file mkdir $outdir
set out [file join $outdir $out]
# Test to make sure we haven’t already done this file
if [file exists "$out.gz"] {
puts "Skipping $file"
} else {
# We’re doing it:
# 1. Unzip to temporary file (saves rezipping input file)
# 2. Reproject to new level-c
# 3. gzip level-c
# 4. Remove temporary file
exec gunzip -c $gzfile > $file
reproject $file $out $inverseGrid $olat $olon
exec gzip $out
file delete $file
}
}
F.4 make reprojection.tcl
#
# Create an HDF file with latitude and longitude grids and inverseGrid
# (for reprojecting) using the data provided with the "Internet version"
# of the PAL data set.
#
# Read latitude data, apply valid-data limits, and "uncalibration"
# parameters to convert to physical values and promote to floating point.
set f [open ancillary/avhrrpf.lat.1ctfgl]
nap "lat=reshape([nap_get swap $f u16], {2168 5004})"
close $f
nap lat = (10<=lat) && (lat<=18010) ? lat : _
nap lat = f32((lat-9010)*0.01)
# Repat for longitude data
set f [open ancillary/avhrrpf.lon.1ctfgl]
nap "lon=reshape([nap_get swap $f u16], {2168 5004})"
close $f
nap lon = (10<=lon) && (lon<=36010) ? lon : _
nap lon = f32((lon-18010)*0.01)
F.4. MAKE REPROJECTION.TCL 111
# Create and attach trivial, but named, coordinate variables
nap x=0..5003
nap y=0..2167
$lat set coordinate y x
$lat set dimension y x
$lon set coordinate y x
$lon set dimension y x
# Make coordinate variables/dimension names for output latitude/longitude axes
# Very important to do this as integer arithmetic multiplied by a scale factor,
# otherwise we end up with short CVs due to round-off.
nap glat=0.08*(1125..-1125...-1)
$glat set dim latitude
nap glon=0.08*(-2250..2250...1)
$glon set dim longitude
# Use NAP procedure to create two layer inverseGrid which permits mapping
# from lat/lon space to y/x pixel number
nap inverseGrid=invert_grid(lat,glat,lon,glon)
# Save latitude, longitude and inverse grids to HDF file
$lat hdf reprojection_data.hdf latitude_grid
$lon hdf reprojection_data.hdf longitude_grid
$inverseGrid hdf reprojection_data.hdf inverseGrid
112 APPENDIX F. SCRIPTS