HDF-EOS V2 MODIS L2G-lite Land Surface Reflectance File Specification Revision 1.0 (03/22/2007) Product ID(s): MOD09 L2G 1DY 250M (MOD09GQ) Description: The MODIS 250m Resolution Level 2G (L2G) Land Surface Reflectance file contains the restructured Level 2 (L2) Land Surface Reflectance data (observations) which intersects a geographic area, a tile, in the MODIS Land global Level 3 (L3) grid. The global L3 grid is divided into a number of tiles, areas with a nominal size of 1100 km by 1100 km (10 deg. by 10 deg.). The data is stored at a nominal grid resolution of 250m. The 250m observations are stored in a nested hierarchy of grid cells with the four finer resolution 250m observations stored in the grid cell location corresponding to the coarser 500m resolution cells (stored in the corresponding MOD09GA file) containing data from the same orbit. This product is meant to be used in conjunction with the 500m product because the important quality and viewing geometry information is stored in that product. A single 250m surface reflectance observation consist of the surface reflectance for Bands 1 and 2, the corresponding Quality Assurance (QA) data, and the 250m observation coverage (obscov). The observation coverage field gives a estimate of the intersection between the observation and the grid cell (relative to the observation area). To relate to 500m observations that is stored in a seperate corresponding 500m L2G file (MOD09GA), there is a 250m scan value (q_scan) in MOD09GA that states whether the corresponding 250m observations from the same orbit are available for the 500m observation, and also states whether the 250m observations are from the same or a different scan. There are also the orbit and granule pointer data that relates the overlapped orbit and granule information to the corresponding metadata array given in the archived metadata. The 500m observations (and corresponding 250m observations) are chosen in the following four steps: 1. First, one 500m observation in each orbit for each grid cell is selected by selecting the one with the largest observation coverage. 2. Next, for a 500m grid cell, the 500m observations with the maximum observation coverage for each orbit are selected and sorted in the order of ascending orbit numbers (earliest first). 3. For the 250m product, the first criteria is that the 250m observation has to be from the same orbit as the 500m observation in the same layer. That is, the observation in the 500m grid cell observation always has the same orbit number as the four nested 250m observations (within the same layer). Secondarily, if there are multiple 250m observations from the same orbit within a 250m grid cell, then the one with the maximum observation coverage is stored. Note that this means that one or more of the nested 250m grid cells (even in the first layer) could be a fill value. Also, the 250m grid observation could be from a different scan than the 500m observation. In either of these special cases occurs, a bit in the "q_scan" SDS is set in the 500m product. 4. The first layer is then selected using the same compositing criteria as is used in the 8-day surface reflectance product (as of June 2005). The observation with the highest score is pulled up to the first layer and stored. Note that the scoring does not use a maximum observation coverage criteria, it uses: 1) best observation based on a QA score; and 2) then for observations with the same QA score and that are close to the smallest observed blue value, the one with the lowest view zenith angle. The observation coverage is stored with each observation so the end-user can always reorder the observations using whatever criteria they want, once they read them in. This new format reduces the number of 250m L2G files from two files to one file per day for each tile. The mapping between the original L2G files and this new L2G file is: MOD09GQK -- all SDSs except orb_cov MODPTQKM -- only obscov There are two ways to which the observation data can be stored in a L2G grid file, full and compact. The actual method is specified by the L2GStorageFormat metadata value. In both methods, the first layer of observations is stored in a 2 dimensional array. In the full method, all of the values are stored in a 3 dimensional array with the slowest varying dimension specifying the observation layer. This is an inefficient storage method because typically a large number of cells are empty. For the compact method, the additional observation values are stored in a single dimensional array, with the dimension corresponding to the number of additional observations since the beginning of the file. Essentially, the additional observations are run-length encoded with each observation stored sequentially for each cell. In addition, the a run-time parameter may specify that only the first layer be stored, in which case the additional arrays are not stored. Points of Contact: Robert Wolfe NASA's Goddard Space Flight Center, Code 614.5 Greenbelt, MD 20771 (301) 614-5508 robert.e.wolfe@nasa.gov Principal Investigator: Eric Vermote University of Maryland, College Park NASA's Goddard Space Flight Center, Code 614.5 Greenbelt, MD 20771 (301) 405-8052 vermote@kratmos.gsfc.nasa.gov =========================================================================== Generic Constructs ECS Metadata Strings: Notes: "FR" is an abbreviation for "FREE_RANGE". "D/T" is an abbreviation for "DATE/TIME" (A) implies that multiple values are stored within a single array. A value of "Variable" indicates that this value will vary according to the granule being processed. "M" means class M. CoreMetadata.0 This string will contain the following PVL fields: # of Field Name Data Value Value Type s GROUP = INVENTORYMETADATA GROUP = CollectionDescriptionClass SHORTNAME STRING 1 "MOD09GQ" VERSIONID STRING 1 Variable END_GROUP = CollectionDescriptionClass GROUP = ECSDataGranule REPROCESSINGPLANNED STRING 1 "further update is anticipated" REPROCESSINGACTUAL STRING 1 "reprocessed" LOCALGRANULEID STRING 1 Variable DAYNIGHTFLAG STRING 1 Variable PRODUCTIONDATETIME D/T 1 Variable LOCALVERSIONID STRING 1 Variable SIZEMBECSDATAGRANULE DOUBLE 1 Variable END_GROUP = ECSDataGranule GROUP = PGEVersionClass PGEVERSION STRING 1 Variable END_GROUP = PGEVersionClass GROUP = InputGranule INPUTPOINTER STRING FR (A) Variable END_GROUP = InputGranule GROUP = RangeDateTime RANGEBEGINNINGDATE DATE 1 Variable RANGEBEGINNINGTIME TIME 1 Variable RANGEENDINGDATE DATE 1 Variable RANGEENDINGTIME TIME 1 Variable END_GROUP = RangeDateTime GROUP = GRing EXCLUSIONGRINGFLAG STRING 1 "N" END_GROUP = GRing GROUP = GRingPoint GRINGPOINTLATITUDE DOUBLE 4 (A) Variable GRINGPOINTLONGITUDE DOUBLE 4 (A) Variable GRINGPOINTSEQUENCENO INTEGER 4 (A) Variable END_GROUP = GRingPoint GROUP = ZoneIdentifierClass ZONEIDENTIFIER STRING 1 "0" END_GROUP = ZoneIdentifierClass GROUP = OrbitCalculatedSpatialDomain ** number of containers is equal to "NumberofOrbits" ** ORBITNUMBER INTEGER 1 Variable EQUATORCROSSINGLONGITUDE DOUBLE 1 Variable EQUATORCROSSINGDATE DATE 1 Variable EQUATORCROSSINGTIME TIME 1 Variable END_GROUP = OrbitCalculatedSpatialDomain GROUP = MeasuredParameter PARAMETERNAME STRING FR (A) "MOD09G" GROUP = QAFLAGS AUTOMATICQUALITYFLAG STRING 1 Variable AUTOMATICQUALITYFLAGEXPLANATION STRING 1 Variable SCIENCEQUALITYFLAG STRING 1 Variable SCIENCEQUALITYFLAGEXPLANATION STRING 1 Variable END_GROUP = QAFlags GROUP = QAStats QAPERCENTMISSINGDATA INTEGER 1 Variable QAPERCENTOUTOFBOUNDSDATA INTEGER 1 Variable QAPERCENTINTERPOLATEDDATA INTEGER 1 Variable END_GROUP = QAStats END_GROUP = MeasuredParameter GROUP = AssociatedPlatformInstrumentSensor ASSOCIATEDPLATFORMSHORTNAME STRING 1 "Terra/Aqua" ASSOCIATEDINSTRUMENTSHORTNAME STRING 1 "MODIS" ASSOCIATEDSENSORSHORTNAME STRING 1 "MODIS" END_GROUP = AssociatedPlatformInstrumentSensor GROUP = AdditionalAttributes ADDITIONALATTRIBUTENAME STRING FR (A) Variable PARAMETERVALUE STRING FR (A) Variable ADDITIONALATTRIBUTENAME.1 = "QAPERCENTGOODQUALITY" ADDITIONALATTRIBUTENAME.2 = "QAPERCENTOTHERQUALITY" ADDITIONALATTRIBUTENAME.3 = "QAPERCENTNOTPRODUCEDCLOUD" ADDITIONALATTRIBUTENAME.4 = "QAPERCENTNOTPRODUCEDOTHER" ADDITIONALATTRIBUTENAME.5 = "HORIZONTALTILENUMBER" ADDITIONALATTRIBUTENAME.6 = "VERTICALTILENUMBER" ADDITIONALATTRIBUTENAME.7 = "TileID" ADDITIONALATTRIBUTENAME.8 = "PROCESSVERSION" ADDITIONALATTRIBUTENAME.9 = "QAPERCENTPOOROUTPUT250MBAND1" ADDITIONALATTRIBUTENAME.10 = "QAPERCENTPOOROUTPUT250MBAND2" ADDITIONALATTRIBUTENAME.11 = "RESOLUTIONBANDS1AND2" ADDITIONALATTRIBUTENAME.12 = "identifier_product_doi" ADDITIONALATTRIBUTENAME.13 = "identifier_product_doi_authority" END_GROUP = AdditionalAttributes END_GROUP = INVENTORYMETADATA ArchiveMetadata.0 This string will contain the following PVL fields: # of Field Name Data Value Value Type s GROUP = ARCHIVEMETADATA GROUP = BoundingRectangle WESTBOUNDINGCOORDINATE DOUBLE 1 Variable NORTHBOUNDINGCOORDINATE DOUBLE 1 Variable EASTBOUNDINGCOORDINATE DOUBLE 1 Variable SOUTHBOUNDINGCOORDINATE DOUBLE 1 Variable END_GROUP = BoundingRectangle GEOANYABNORMAL STRING 1 Variable GEOESTMAXRMSERROR DOUBLE 1 Variable LONGNAME STRING 1 "MODIS/Terra Surface Reflectance Daily L2G Global 250m SIN Grid" SPSOPARAMETERS STRING 1 "2015" PROCESSINGCENTER STRING 1 "MODAPS" NUMBEROFOVERLAPGRANULES INTEGER 1 Variable NUMBEROFINPUTGRANULES INTEGER 1 Variable NUMBEROFGRANULES INTEGER 1 Variable GRANULENUMBERARRAY INTEGER FR(A) Variable GRANULEPOINTERARRAY INTEGER FR(A) Variable ORBITNUMBERARRAY INTEGER FR(A) Variable NUMBEROFORBITS INTEGER 1 Variable GRANULEBEGINNINGDATETIME STRING "NumberofGranules" Variable GRANULEENDINGDATETIME STRING "NumberofGranules" Variable GRANULEDAYNIGHTFLAG STRING "NumberofGranules" Variable GRANULEDAYOFYEAR INTEGER "NumberofGranules" Variable GRANULEBEGINNINGDATETIMEARRAY STRING FR(A) Variable GRANULEENDINGDATETIMEARRAY STRING FR(A) Variable GRANULEDAYNIGHTFLAGARRAY STRING FR(A) Variable NADIRDATARESOLUTION STRING 1 Variable CHARACTERISTICBINANGULARSIZE DOUBLE 1 Variable CHARACTERISTICBINSIZE DOUBLE 1 Variable DATACOLUMNS INTEGER 1 Variable DATAROWS INTEGER 1 Variable GLOBALGRIDCOLUMNS INTEGER 1 Variable GLOBALGRIDROWS INTEGER 1 Variable MAXIMUMOBSERVATIONS INTEGER 1 Variable ADDITIONALLAYERS INTEGER 1 Variable TOTALOBSERVATIONS INTEGER 1 Variable TOTALADDITIONALOBSERVATIONS INTEGER 1 Variable COVERAGECALCULATIONMETHOD STRING 1 Variable FIRSTLAYERSELECTIONCRITERIA STRING 1 Variable L2GSTORAGEFORMAT STRING 1 Variable QUALITYCLASSPERCENTAGE250MBAND1 INTEGER 16 Variable QUALITYCLASSPERCENTAGE250MBAND2 INTEGER 16 Variable PROCESSINGENVIRONMENT STRING 1 Variable DESCRREVISION STRING 1 Variable SYSTEMFILENAME STRING FR (A) Variable PERCENTPROCESSED INTEGER 1 Variable PERCENTLAND INTEGER 1 Variable PERCENTLANDSEAMASKCLASS INTEGER 8 Variable PERCENTCLOUDY INTEGER 1 Variable PERCENTSHADOW INTEGER 1 Variable PERCENTLOWSUN INTEGER 1 Variable RANKING STRING 1 Variable KEEPALL STRING 1 Variable COVERAGEMINIMUM DOUBLE 1 Variable MAXOUTPUTRES STRING 1 Variable DEEPOCEANFLAG STRING 1 Variable CLOUDOPTION STRING 1 Variable ****************************************************************** * 1. The field "L2GStorageFormat" is either "full", "compact" * or "one layer only". * 2. The field "CoverageCalculationMethod" is either * "area" or "volume". * 3. The field "FirstLayerSelectionCriteria" is either * "nearest neighbor", "maximum observation coverage" or * "order of input pointer". ****************************************************************** END_GROUP = ARCHIVEMETADATA StructuralMetadata.0 This string will be populated automatically by HDF-EOS. Grid Structure: MODIS_Grid_2D Dimensions: Dimension Name Value YDim:MODIS_Grid_2D "DataRows" XDim:MODIS_Grid_2D "DataColumns" Corner Locations: Corner Values UpperLeftPointMtrs (Variable, Variable) LowerRightPointMtrs (Variable, Variable) Geographic Grid Projection Parameters: Supported Grids: Integerized Sinusoidal (GCTP_ISINUS) Sinusoidal (GCTP_SNSOID) Interrupted Goodes Homolosine (GCTP_GOOD) Lambert Azimuthal Equal Area (GCTP_LAMAZ) Projection gridID = GCTP_ISINUS ProjParam[0] 6371007.181 ProjParam[1 to 7] 0.0 ProjParam[8] 86400 ProjParam[9] 0.0 ProjParam[10] 1.0 ProjParam[11 to 12] 0.0 Spherecode -1 GridOrigin HDFE_GD_UL Projection gridID = GCTP_SNSOID ProjParam[0] 6371007.181 ProjParam[1 to 12] 0.0 Spherecode -1 GridOrigin HDFE_GD_UL Projection gridID = GCTP_GOOD ProjParam[0 to 12] 0.0 Spherecode 19 GridOrigin HDFE_GD_UL Projection gridID = GCTP_LAMAZ ProjParam[0] 6371228.0 ProjParam[1 to 5] 0.0 ProjParam[6] Variable ProjParam[7 to 12] 0.0 Spherecode 19 GridOrigin HDFE_GD_UL Grid Structure: MODIS_Grid_3D Dimensions: Dimension Name Value Additional Layers:MODIS_Grid_3D "AdditionalLayers" YDim:MODIS_Grid_3D "DataRows" XDim:MODIS_Grid_3D "DataColumns" Corner Locations: (same as MODIS_Grid_2D) Geographic Grid Projection Parameters: (same as MODIS_Grid_2D) =========================================================================== Additional global attributes: Data Name Type maximum_observations INT8 total_additional_observations INT32 l2g_storage_format STRING NumberLandWater INT32 identifier_product_doi STRING identifier_product_doi_authority STRING =========================================================================== DataFields: The following datafields are always in this file: num_observations sur_refl_b01_1 sur_refl_b02_1 QC_250m_1 obscov_1 iobs_res_1 orbit_pnt_1 granule_pnt_1 If the "L2GStorageFormat" metadata value is "full", the following datafields are also present: sur_refl_b01_f sur_refl_b02_f QC_250m_f obscov_250m_f iobs_res_f orbit_pnt_f granule_pnt_f If the "L2GStorageFormat" metadata value is "compact", the following datafields are also present: sur_refl_b01_c sur_refl_b02_c QC_250m_c obscov_c iobs_res_c orbit_pnt_c granule_pnt_c nadd_obs_row Each datafield has at least the following 4 attributes: long_name (STRING) units (STRING) valid_range (agrees with data type of SDS) _FillValue (agrees with data type of SDS) Some datafields also contain the following 5 attributes: add_offset (float64) add_offset_err (float64) calibrated_nt (int32) scale_factor (float64) scale_factor_err (float64) Nadir Data Resolution (STRING -- "250m") QA index (STRING) =========================================================================== Name Data Dimensions Type num_observations INT8 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" Description: The number of 250m observations per pixel contained within this L2G file. In addition, if the value is less than zero, it means that intersections were not computed for this cell. If it is -1, it is part of the fill region of the grid. If it is -2, it is in the area identified as 'non-production' in the Land Production Mask. HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 22 "Number of observations" units STRING 4 "none" valid_range INT8 2 0, 127 _FillValue INT8 1 -1 =========================================================================== Name Data Dimensions Type suf_refl_b01_1 INT16 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" suf_refl_b01_f INT16 "Additional Layers:MODIS_Grid_3D", "YDim:MODIS_Grid_3D", "XDim:MODIS_Grid_3D" suf_refl_b01_c INT16 "TotalAdditionalObservations" metadata value Description: MODIS Land Surface Reflectance for Band 1. "suf_refl_b01_1" is for storing the first layer of observations and is always stored. "sur_refl_b01_f" and "sur_refl_b01_c" are for storing the additional layers of observations. "suf_refl_b01_f" is for the full format and is stored only if "L2GStorageFormat" is "full". "suf_refl_b01_c" is for the compact format and is stored only if "L2GStorageFormat" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 60 Variable units STRING 11 "reflectance" valid_range INT16 2 -100, 16000 _FillValue INT16 1 -28672 add_offset FLOAT64 1 0.0 add_offset_err FLOAT64 1 0.0 calibrated_nt INT32 1 5 scale_factor FLOAT64 1 10000.0 scale_factor_err FLOAT64 1 0.0 Nadir Data Resolution STRING 4 "250m" Note: The attribute "long_name" is "250m Surface Reflectance Band 1 - first layer" for "sur_refl_b01_1", "250m Surface Reflectance Band 1 - additional layers, full" for "sur_refl_b01_f", or "250m Surface Reflectance Band 1 - additional layers, compact" for "sur_refl_b01_c". =========================================================================== Name Data Dimensions Type suf_refl_b02_1 INT16 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" suf_refl_b02_f INT16 "Additional Layers:MODIS_Grid_3D", "YDim:MODIS_Grid_3D", "XDim:MODIS_Grid_3D" suf_refl_b02_c INT16 "TotalAdditionalObservations" metadata value Description: MODIS Land Surface Reflectance for Band 2. "suf_refl_b02_1" is for storing the first layer of observations and is always stored. "sur_refl_b02_f" and "sur_refl_b02_c" are for storing the additional layers of observations. "suf_refl_b02_f" is for the full format and is stored only if "L2GStorageFormat" is "full". "suf_refl_b02_c" is for the compact format and is stored only if "L2GStorageFormat" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 60 Variable units STRING 11 "reflectance" valid_range INT16 2 -100, 16000 _FillValue INT16 1 -28672 add_offset FLOAT64 1 0.0 add_offset_err FLOAT64 1 0.0 calibrated_nt INT32 1 5 scale_factor FLOAT64 1 10000.0 scale_factor_err FLOAT64 1 0.0 Nadir Data Resolution STRING 4 "250m" Note: The attribute "long_name" is "250m Surface Reflectance Band 2 - first layer" for "sur_refl_b02_1", "250m Surface Reflectance Band 2 - additional layers, full" for "sur_refl_b02_f", or "250m Surface Reflectance Band 2 - additional layers, compact" for "sur_refl_b02_c". =========================================================================== Name Data Dimensions Type QC_250m_1 UINT16 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" QC_250m_f UINT16 "Additional Layers:MODIS_Grid_3D", "YDim:MODIS_Grid_3D", "XDim:MODIS_Grid_3D" QC_250m_c UINT16 "TotalAdditionalObservations" metadata value Description: MODIS Land Surface Reflectance 250m Quality Assurance. Note: Bits are listed from the MSB (bit 15) to the LSB (bit 0). Bit(s) Description 14-15 spare (unused) 13 adjacency correction performed; yes (1) or no (0) 12 atmospheric correction performed; yes (1) or no (0) 8-11 band 2 data quality, four bit range; 0000 ( 0) -- highest quality 1000 ( 8) -- dead detector; data interpolated in L1B 1001 ( 9) -- solar zenith >= 86 degrees 1010 (10) -- solar zenith >= 85 and < 86 degrees 1011 (11) -- missing input 1100 (12) -- internal constant used in place of climatological data for at least one atmospheric constant 1101 (13) -- correction out of bounds, pixel constrained to extreme allowable value 1110 (14) -- L1B data faulty 1111 (15) -- not processed due to deep ocean or clouds 4-7 band 1 data quality four bit range; (SAME AS ABOVE) 2-3 spare (unused) 0-1 MODLAND QA bits; corrected product produced: 00 -- ideal quality all bands, 01 -- less than ideal quality some or all bands; corrected product not produced due to: 10 -- cloud effects all bands, 11 -- other reasons some or all bands may be fill value; Note that a value of (11) overrides a value of (01) "QC_250m_1" is for storing the first layer of observations and is always stored. "QC_250m_f" and "QC_250m_c" are for storing the additional layers of observations. "QC_250m_f" is for the full format and is stored only if "L2GStorageFormat" is "full". "QC_250m_c" is for the compact format and is stored only if "L2GStorageFormat" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 59 Variable units STRING 9 "bit field" valid_range UINT16 2 0, 4096 _FillValue UINT16 1 2995 Nadir Data Resolution STRING 4 "250m" QA index STRING 1800 Variable Note: The attribute "long_name" is "250m Reflectance Band Quality - first layer" for "QC_250m_1", "250m Reflectance Band Quality - additional layers, full" for "QC_250m_f", or "250m Reflectance Band Quality - additional layers, compact" for "QC_250m_c". ========================================================================== Name Data Dimensions Type obscov_1 INT8 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" obscov_f INT8 "Additional Layers:MODIS_Grid_3D", "YDim:MODIS_Grid_3D", "XDim:MODIS_Grid_3D" obscov_c INT8 "TotalAdditionalObservations" metadata value Description: Observation coverage is an estimate of the amount of intersection between observation footprint and grid cell. "obscov_1" is for storing the first layer of observations and is always stored. "obscov_f" and "obscov_c" are for storing the additional layers of observations. "obscov_f" is for the full format and is stored only if "L2GStorageFormat" is "full". "obscov_c" is for the compact format and is stored only if "L2GStorageFormat" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 49 Variable units STRING 7 "percent" valid_range INT8 2 0, 100 _FillValue INT8 1 -1 add_offset FLOAT64 1 0.0 add_offset_err FLOAT64 1 0.0 calibrated_nt INT32 1 5 scale_factor FLOAT64 1 0.01 scale_factor_err FLOAT64 1 0.0 Note: The attribute "long_name" is "Observation coverage - first layer" for "obscov_1", "Observation coverage - additional layers, full" for "obscov_f", or "Observation coverage - additional layers, compact" for "obscov_c". =========================================================================== Name Data Dimensions Type orbit_pnt_1 INT8 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" orbit_pnt_f INT8 "Additional Layers:MODIS_Grid_3D", "YDim:MODIS_Grid_3D", "XDim:MODIS_Grid_3D" orbit_pnt_c INT8 "TotalAdditionalObservations" metadata value Description: Pointer to the orbit information for each 250m observation. This value is zero relative, with zero (0) refering to the first orbit in the "OrbitCalculatedSpatialDomain" HDF EOS inventory metadata group. "orbit_pnt_1" is for storing the first layer of observations and is always stored. "orbit_pnt_f" and "orbit_pnt_c" are for storing the additional layers of observations. "orbit_pnt_f" is for the full format and is stored only if "L2GStorageFormat1km" is "full". "orbit_pnt_c" is for the compact format and is stored only if "L2GStorageFormat1km" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 42 Variable units STRING 6 "none" valid_range INT8 2 0, 15 _FillValue INT8 1 -1 Note: The attribute "long_name" is "Orbit pointer - first layer" for "orbit_pnt_1", "Orbit pointer - additional layers, full" for "orbit_pnt_f", or "Orbit pointer - additional layers, compact" for "orbit_pnt_c". =========================================================================== Name Data Dimensions Type granule_pnt_1 UINT8 "YDim:MODIS_Grid_2D", "XDim:MODIS_Grid_2D" granule_pnt_f UINT8 "Additional Layers:MODIS_Grid_3D", "YDim:MODIS_Grid_3D", "XDim:MODIS_Grid_3D" granule_pnt_c UINT8 "TotalAdditionalObservations" metadata value Description: Pointer to the granule information for each 250m observation. This value is zero relative, with zero (0) refering to the first overlap granule in the "GranulePointerArray" HDF EOS ArchiveMetadata group. "granule_pnt_1" is for storing the first layer of observations and is always stored. "granule_pnt_f" and "granule_pnt_c" are for storing the additional layers of observations. "orbit_pnt_f" is for the full format and is stored only if "L2GStorageFormat1km" is "full". "orbit_pnt_c" is for the compact format and is stored only if "L2GStorageFormat1km" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 42 Variable units STRING 6 "none" valid_range UINT8 2 0, 254 _FillValue UINT8 1 255 Note: The attribute "long_name" is "Granule pointer - first layer" for "granule_pnt_1", "Granule pointer - additional layers, full" for "granule_pnt_f", or "Granule pointer - additional layers, compact" for "granule_pnt_c". =========================================================================== Name Data Dimensions Type nadd_obs_row INT32 "DataRows" metadata value Description: The number of additional observations in each row in the compact storage form of the L2G grid. This field is only stored if "L2GStorageFormat" is "compact". HDF Attributes: Number of Values or Max. Attribute Data String Value Type Length long_name STRING 41 "Number of additional observations per row" units STRING 4 "none" valid_range INT32 2 0, INT32_MAX _FillValue INT32 1 -1 =========================================================================