MODIS GEOLOCATION VERSION 5 PRODUCT FORMAT Version 6.0.3 June 27, 2012 This document specifies the MODIS geolocation product (MOD03, MYD03) format. The product is stored as a Hierararchical Data Format (HDF) file for each granule of MODIS data. It contains Geodetic position (latitude, longitude, and height above geoid) for the center of each 1 kilometer MODIS Earth View observation, according to the World Geodetic System of 1984. Sun and satellite ('sensor') bearings for each 1 kilometer MODIS Earth View observation. EOS land/sea mask values for the center of each 1 kilometer MODIS Earth View observation. Sun and Moon positions with respect to the MODIS for each scan. Instrument parameter information sufficient to permit geolocation for specific bands and sub-pixel ground location. The specification is organized into four sections: Global Metadata; Processing and Geometric Parameters; Scan Data; and Vgroups. The Metadata are intended to satisfy both the ECS requirements for organizing, ingesting, cataloging, and searching data products; and the user's needs for product documentation. In this document the global metadata are subdivided into ECS granule core, product-specific, and structural metadata and MODIS-specific metadata. The Parameters section includes, for reference purposes, instrument-related parameters which were used in the geolocation processing. The Scan Data include scan- level metadata, spacecraft ephemeris, and spatial element geolocation values. The Vgroups organize the spatial element geolocation data into data groups for the HDF-EOS Swath data structure. The baseline HDF implementation of this product is as follows. ECS granule metadata are stored in the ECS-defined format of large PVL text blocks in HDF global attributes. All other global metadata are stored in individual HDF Attributes. The remaining file-level parameters are stored as HDF scientific data sets (SDSs) with the dimensions specified. Any exceptions to this baseline are noted for the individual field. The scan data are stored as SDSs. Multi-dimensional fields are stored with the scan dimension varying slowest. There are three categories of scan data: scan-level metadata, scan-level navigation data, and spatial element geolocation data. The HDF dimension names and nominal dimension lengths used for each category are listed at the start of the section. The spatial element geolocation fields are all defined as two-dimensional arrays with the dimensions corresponding to the along-track and along- scan dimensions. The array indexing is row dominant, consistent with HDF convention. 1. Global Metadata 1.1 ECS Granule Metadata These metadata elements will be stored using the ECS metadata tools as PVL text blocks in accordance with ECS standards. The inventory fields will be stored in an HDF attribute named CoreMetadata.0 and the archive fields in an attribute named ArchiveMetadata.0. All of these fields are defined in detail in the V2 MODIS Metadata Dictionary. The data type field listed below is relevant for I/O of these fields only, since each set of metadata is stored as a single PVL text block. The supported data types for ECS metadata are STRING, DOUBLE, and INTEGER. 1.1.1 ECS Granule Inventory (Core and Product) Metadata stored in one ECS PVL string in HDF global attribute "CoreMetadata.0". Metadata Name Data Type Example ------------- -------- --------- SHORTNAME STRING "MOD03" or "MYD03" VERSIONID INTEGER 0 PGEVERSION STRING "2.1.1" LOCALVERSIONID STRING "2.10.0" RANGEBEGINNINGDATE STRING "2012-01-01" "YYYY-MM-DD" RANGEBEGINNINGTIME STRING "00:00:00.000000" "HH:MM:SS.SSSSSS" RANGEENDINGDATE STRING "2012-01-01" "YYYY-MM-DD" RANGEENDINGTIME STRING "00:02:30.000000" "HH:MM:SS.SSSSSS" DAYNIGHTFLAG STRING "Day", "Night", "Both", or "NA" ORBITNUMBER.1 INTEGER 256 EQUATORCROSSINGLONGITUDE.1 DOUBLE 90.000 EQUATORCROSSINGDATE.1 STRING "2012-01-01" "YYYY-MM-DD" EQUATORCROSSINGTIME.1 STRING "00:02:30.000000" "HH:MM:SS.SSSSSS" EXCLUSIONGRINGFLAG.1 STRING "N" GRINGPOINTLATITUDE.1 DOUBLE(4) (25., 20., 10., 15.) GRINGPOINTLONGITUDE.1 DOUBLE(4) (20., 40., 35., 15.) GRINGPOINTSEQUENCENO.1 INTEGER(4) (1, 2, 3, 4) ADDITIONALATTRIBUTENAME.1 STRING "GRANULENUMBER" PARAMETERVALUE.1 STRING "1" ADDITIONALATTRIBUTENAME.2 STRING "SCI_STATE" PARAMETERVALUE.2 STRING "0" = instrument test during one or more scans "1" = instrument status normal or unknown during all scans ADDITIONALATTRIBUTENAME.3 STRING "SCI_ABNORM" PARAMETERVALUE.3 STRING "0" = spacecraft in unusual state (i.e., maneuver) during one or more scans "1" = spacecraft state normal or unknown during all scans ADDITIONALATTRIBUTENAME.4 STRING "GEO_EST_RMS_ERROR" PARAMETERVALUE.4 STRING "100" (meters) Estimated RMS error in geolocation (-1 indicates that the error size is unknown) ADDITIONALATTRIBUTENAME.5 STRING "PROCESSVERSION" PARAMETERVALUE.5 STRING "6.0.9" ADDITIONALATTRIBUTENAME.6 STRING "identifier_product_doi" PARAMETERVALUE.6 STRING "10.5067/MODIS/MOD03.006" ADDITIONALATTRIBUTENAME.7 STRING "identifier_product_doi_authority" PARAMETERVALUE.7 STRING "http://dx.doi.org" PRODUCTIONDATETIME STRING "2012-01-01T00:00:00.000Z" CCSDS ASCII Time Code A REPROCESSINGACTUAL STRING "processed once" REPROCESSINGPLANNED STRING "further update anticipated" INPUTPOINTER STRING(6) {"MYD03LUT.coeff.v6.0.14", "MOD01.A2012182.1155.006.2012061024855.hdf", "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:24:SC:AM1EPHN0.001:11837245", "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:24:SC:AM1EPHN0.001:11837253", "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:24:SC:AM1ATTNF.001:11844671", "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:24:SC:AM1ATTNF.001:11846223"} LOCALGRANULEID STRING "MYD03.A2012182.1155.006.2012061024930.hdf" SCIENCEQUALITYFLAG.1 STRING "Not Investigated" AUTOMATICQUALITYFLAG.1 STRING "Failed" - if processing of the granule caused the process to exit with a FAIL status. "Passed" - otherwise AUTOMATICQUALITYFLAGEXPLANATION.1 STRING "Set to 'Failed' if processing error occurred, set to 'Passed' otherwise" PARAMETERNAME.1 STRING "Geolocation" QAPERCENTMISSINGDATA.1 INTEGER The percent of pixels in the granule for which there was insufficient data to perform geolocation. QAPERCENTOUTOFBOUNDSDATA.1 INTEGER The percent of pixels in the granule which were determined to have data off of the earth. ASSOCIATEDPLATFORMSHORTNAME.1 STRING "Terra" for MOD03 files, and "Aqua" for MYD03 files. ASSOCIATEDINSTRUMENTSHORTNAME.1 STRING "MODIS" ASSOCIATEDSENSORSHORTNAME.1 STRING "MODIS" 1.2 ECS Granule Archive Metadata stored in one ECS PVL string in HDF global attribute "ArchiveMetadata.0". Metadata Name Data Type Example ------------- -------- --------- LOCALINPUTGRANULEID STRING "MOD01.A2012001.0000.001.2012002000000.hdf" EASTBOUNDINGCOORDINATE DOUBLE 40.0 NORTHBOUNDINGCOORDINATE DOUBLE 25.0 SOUTHBOUNDINGCOORDINATE DOUBLE 10.0 WESTBOUNDINGCOORDINATE DOUBLE 15.0 DESCRREVISION STRING "6.0" Version of the ESDT description PRODUCTIONHISTORY STRING "PGE01:6.0.14" LONGNAME STRING "MODIS/Terra Geolocation Fields 5-min L1A Swath 1km" PROCESSINGENVIRONMENT STRING The results from running the 'uname -a' command on the processing host. 1.1.3 HDF-EOS Swath Structural Metadata stored in one ECS PVL string in HDF global attribute "StructMetadata.0". SwathStructure: SwathName MODIS_Swath_Type_GEO Dimensions: DimensionName Size (maximum) Dimension_1 nscans*10 2080 Dimension_2 mframes 1354 Dimension_3 nscans*20 4160 Dimension_4 mframes*2 2708 DimensionMaps: GeoDimension DataDimension Offset Inc. DimensionMap_1 nscans*10 nscans*20 0 2 DimensionMap_2 mframes mframes*2 0 2 IndexDimensionMaps: None. GeoFields: Location: internal. GeoFieldName DataType DimList GeoField_1 Latitude DFNT_FLOAT32 (nscans*10,mframes) GeoField_2 Longitude DFNT_FLOAT32 (nscans*10,mframes) DataFields: DataFieldName DataType DimList DataField_1 Scan Offset DFNT_INT8 (nscans*20,mframes*2) DataField_2 Track Offset DFNT_INT8 (nscans*20,mframes*2) DataField_3 Height Offset DFNT_INT8 (nscans*20,mframes*2) DataField_4 Height DFNT_INT16 (nscans*10,mframes) DataField_5 SensorZenith DFNT_INT16 (nscans*10,mframes) DataField_6 SensorAzimuth DFNT_INT16 (nscans*10,mframes) DataField_7 Range DFNT_UINT16 (nscans*10,mframes) DataField_8 SolarZenith DFNT_INT16 (nscans*10,mframes) DataField_9 SolarAzimuth DFNT_INT16 (nscans*10,mframes) DataField_10 Land/SeaMask DFNT_UINT8 (nscans*10,mframes) DataField_12 WaterPresent DFNT_UINT8 (nscans*10,mframes) DataField_13 gflags DFNT_UINT8 (nscans*10,mframes) MergedFields: None. 1.2 MODIS Geolocation Specific Granule Metadata These fields will be stored as individual HDF attributes. Attribute Name Format Example -------------- -------- --------- Number of Scans int32 100 Max Earth Frames int32 1354 (per scan) Max SD Frames int32 50 (per scan) Max SV Frames int32 50 (per scan) Incomplete Scans int32 0 (in granule) Missing Packets int32 0 (in granule) Packets with bad CRC int32 0 (in granule) Discarded Packets int32 0 (in granule) Ephemeris/Attitude Source String "MODIS Packet" or "SDP Toolkit" (in granule) Terrain Correction Flag String "True" or "False" (in granule) Ephemeris Input Files.1 String(6) (null delimited) "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:21: SC:AM1ANC.001:1696687" "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:21: SC:AM1ANC.001:1697514" "\nUR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:21: SC:AM1ANC.001:1697514" "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:23: SC:AM1ATTN0.001:1702751" "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:23: SC:AM1EPHN0.001:1702754" Ephemeris Input Files.2 String(6) may be empty Attitude Input Files.1 String(6) (null delimited) "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:21: SC:AM1ANC.001:1696687" "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:21: SC:AM1ANC.001:1697514" "\nUR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:21: SC:AM1ANC.001:1697514" "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:23: SC:AM1ATTN0.001:1702751" "UR:10:DsShESDTUR:UR:15:DsShSciServerUR:13:[GSF:DSSDSRV]:23: SC:AM1EPHN0.001:1702754" Attitude Input Files.2 String(6) may be empty Parameter Version String "6.9" Version number of the geolocation parameter file used. GEO_EST_RMS_ERROR float32 100 Estimated geolocation RMS error (meters). (-1 means "error unknown") Cumulated gflags uint32(8) 2682 For each bit in gflags, a count of the number of pixels with that bit set. The least significant bit is cumulated in the first element. utcpole File Header String example: "File updated: 1999-10-22T00:00:02Z, using USNO ser7 finals.data file of Oct 21" The first line of the utcpole.dat file Polar Motion float64(3) (0.061000, 0.51000, -0.043200) Polar wander and the difference of UT1 and UTC 0 Pole position x (arc sec) 1 Pole position y (arc sec) 2 UT1-UTC (sec) band_number int16 3 The MODIS band number for which geolocation is performed. HDFEOS_FractionalOffset_nscans*20_MODIS_Swath_Type_GE0 float32 0.5 Fractional amount to be added to the Offset value for DimensionMap_1 HDFEOS_FractionalOffset_mframes*2_MODIS_Swath_Type_GE0 float32 0.0 Fractional amount to be added to the Offset value for DimensionMap_2 identifier_product_doi String "10.5067/MODIS/MOD03.006" identifier_product_doi_authority String "http://dx.doi.org" 2.0 Processing and Geometric Parameters These are instrument model parameters which are all defined in the MODIS Earth Location ATBD (version 2.0, April 1995). HDF Dimension Names: Name Description Length ---- ----------- ----- vecdim Cartesian vector dimension 3 numbands MODIS bands dimension 37 (bands 1-36; band 0 is the 'ideal' band) SDS Name Description Format -------- ------------- -------- Focal_length Focal length for detectors float64(numbands) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters" band_position Scan IFOV Offsets of band trailing float64(numbands) edges with respect to the Optical Center SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "frame sample time" detector_space Nominal detector spacing in the float64(numbands) cross-scan direction SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters" detector_offsets Offsets of detector positions from float64(numbands,2) nominal locations on the focal plane (scan,track) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters" scandim uint32 0 trackdim uint32 1 T_offset Offsets of the first sample for a float64(numbands) a band to time of 1km frame. SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "frame sample time" num_samples Number of samples per frame for each uint16(numbands) band. 3.0 Scan Data 3.1 Scan-level Metadata HDF Dimension Names: Name Description Length ---- ----------- ----- nscans MODIS scans ~200 vecdim Elements in a cartesian vector 3 numenc Mirror encoder data values per scan 25 numqual Quality values per scan 4 SDS Name Description Format -------- ------------- -------- Scan number Scan number in granule int16(nscans) EV frames Number of Earth view frames in scan uint16(nscans) SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range uint16(2) 0, 1400 SD frames Number of solar diffuser frames in scan uint16(nscans) SV frames Number of space view frames in scan uint16(nscans) EV start time Earth view start time (TAI) float64(nscans) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "seconds" _FillValue float64 -2e9 SD start time Solar diffuser view start time (TAI) float64(nscans) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "seconds" _FillValue float64 -2e9 SV start time Space view start time (TAI) float64(nscans) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "seconds" _FillValue float64 -2e9 SD Sun zenith Sun vector zenith angle in SD frame float32(nscans) (with respect to SD Z axis) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "radians" _FillValue float32 9.9692099683868690e+36 SD Sun azimuth Sun vector azimuth angle in SD frame float32(nscans) (counter-clockwise rotation about SD Z axis with respect to SD X axis) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "radians" _FillValue float32 9.9692099683868690e+36 Moon Vector Moon unit vector in instrument frame float32(nscans,vecdim) _FillValue float32 9.9692099683868690e+36 sun_ref Unit Sun vector in ECR frame float32(nscans,vecdim) at scan center time SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range float32(2) -1., 1. _FillValue float32 9.9692099683868690e+36 Mirror side Mirror side uint16(nscans) SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range uint16(2) 0, 1 _FillValue uint16 65535 num_impulse Number of mirror encoder samples for uint8(nscans) this scan SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range uint8(2) 0, numenc. impulse_enc Mirror angles from encoder data. float64(nscans,numenc) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "encoder pulses" valid_range float64(2) 0., 16384. _FillValue float64 9.9692099683868690e+36 impulse_time Mirror encoder sample times from float64(nscans,numenc) start of scan SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "seconds" valid_range float64(2) 0., 1.5. L1 scan quality L1A scan quality flags int32(nscans,numqual) element 0: Scan data presence = 0, no valid data within scan = 1, scan contains some valid data element 1: Missing Packets in scan element 2: Packets with bad CRC in scan element 3: Discarded Packets in scan SDS Attributes: Attribute Name Format Example -------------- ------ ------- _FillValue int32 -1 Geo scan quality Geolocation scan quality flags int8(nscans,numqual) element 0: = 0, valid mirror encoder data for scan = 1, no valid encoder data for scan element 1: = 0, spacecraft in unusual state = 1, spacecraft normal = -127, fill value for SCI_ABNORM in input file element 2: = 0, MODIS test mode = 1, MODIS normal = -127, fill value for SCI_STATE in input file element 3: = 0, spacecraft normal = 1, spacecraft in or near planned maneuver = -127, Fill value SDS Attributes: Attribute Name Format Example -------------- ------ ------- _FillValue int8 -127 Scan Type "Day", "Night", "Other" char8(nscans,10) 3.2 Scan-level Navigation Data HDF Dimension Names: Name Description Length ---- ----------- ----- nscans MODIS scans ~200 vecdim Elements in a cartesian vector 3 SDS Name Description Format -------- ------------- -------- EV center time Earth view center frame time (TAI) float64(nscans) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "seconds" _FillValue float64 -2e9 orb_pos ECR orbit position at scan center time float64(nscans,vecdim) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters" valid_range float64(2) -7200000., 7200000. _FillValue float64 9.9692099683868690e+36 orb_vel ECR orbit velocity at scan center time float64(nscans,vecdim) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters per second" valid_range float64(2) -7600., 7600 _FillValue float64 9.9692099683868690e+36 T_inst2ECR instrument-to-ECR frame transformation float64(nscans,vecdim,vecdim) matrix at scan center time SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range float64(2) -1., 1. _FillValue float64 9.9692099683868690e+36 attitude_angles Spacecraft attitude at scan center float64(nscans,vecdim) time expressed in the Orbital Reference frame (roll, pitch, yaw) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "radians" roll_element uint32 0 pitch_element uint32 1 yaw_element uint32 2 _FillValue float64 9.9692099683868690e+36 thermal_correction Thermal orientation corrections float32(nscans, vecdim) Roll, pitch and yaw components of corrections applied to the instrument orientation, based upon the solar "elevation" angle. units String "degrees" roll_element uint32 0 pitch_element uint32 1 yaw_element uint32 2 valid_range uint32[2] -180.0, 180.0 _FillValue float64 -999.0 attitude_quality Quality flags for attitude data uint32(nscans, mframes) valid_range uint32[2] 0, 0x000D4FFF (Aqua) 0, 0x00034FFF (Terra) overall uint32 0x00000001 data_summary uint32 0x00000002 red_limit_low uint32 0x00000004 yellow_limit_low uint32 0x00000008 yellow_limit_high uint32 0x00000010 red_limit_high uint32 0x00000020 long_gap_follows uint32 0x00000040 short_gap_follows uint32 0x00000080 short_gap_precedes uint32 0x00000100 long_gap_precedes uint32 0x00000200 repaired_data_point uint32 0x00000400 quality_flag_problem uint32 0x00000800 _FillValue uint32 0x00001000 interpolated_point uint32 0x00004000 platform_fatal uint32 0x00010000 Aqua Specific: bad_status_word uint32 0x00020000 missing_status_word uint32 0x00040000 bad_ephemeris_data uint32 0x00080000 Terra Specific: safe_mode uint32 0x00020000 ephemeris_quality Quality flags for ephemeris data uint32(nscans, mframes) valid_range uint32[2] 0, 0x00014FFF (Aqua) 0, 0x00034FFF (Terra) overall uint32 0x00000001 data_summary uint32 0x00000002 red_limit_low uint32 0x00000004 yellow_limit_low uint32 0x00000008 yellow_limit_high uint32 0x00000010 red_limit_high uint32 0x00000020 long_gap_follows uint32 0x00000040 short_gap_follows uint32 0x00000080 short_gap_precedes uint32 0x00000100 long_gap_precedes uint32 0x00000200 repaired_data_point uint32 0x00000400 quality_flag_problem uint32 0x00000800 _FillValue uint32 0x00001000 interpolated_point uint32 0x00004000 platform_fatal uint32 0x00010000 Terra Specific: safe_mode uint32 0x00020000 3.3 Spatial Element Geolocation Data HDF Dimension Names: Name Description Length ---- ----------- ----- nscans*10:MODIS_Swath_Type_GEO MODIS scan-lines ~2000 mframes:MODIS_Swath_Type_GEO Earth view frames per scan ~1354 SDS Name Description Format -------- ------------- -------- Longitude Geodetic longitude float32 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "degrees" valid_range float32(2) -180., 180. _FillValue float32 -999.0 Latitude Geodetic latitude float32 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "degrees" valid_range float32(2) -90., 90. _FillValue float32 -999.0 Height Height above geoid int16 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters" valid_range int16(2) -400,10000 _FillValue int16 -32767 SensorZenith Sensor (spacecraft) zenith int16 angle. (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "degrees" scale_factor float64 0.01 valid_range int16(2) 0, 18000 _FillValue int16 -32767 SensorAzimuth Sensor (spacecraft) azimuth int16 angle, measured clockwise (nscans*10:MODIS_Swath_Type_GEO, from North. mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "degrees" scale_factor float64 0.01 valid_range int16(2) -18000, 18000 _FillValue int16 -32767 Range Slant range (to spacecraft) uint16 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "meters" scale_factor float64 25. valid_range uint16(2) 27000,65535 _FillValue uint16 0 SolarZenith Solar zenith angle int16 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "degrees" scale_factor float64 0.01 valid_range int16(2) 0, 18000 _FillValue int16 -32767 SolarAzimuth Solar azimuth angle int16 Measured clockwise from North. (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "degrees" scale_factor float64 0.01 valid_range int16(2) -18000, 18000 _FillValue int16 -32767 Land/SeaMask EOS Land/Sea Mask uint8 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) DN values: 0: Shallow Ocean (Ocean <5k from coast OR <50m deep). 1: Land (not anything else). 2: Ocean Coastlines and Lake Shorelines. 3: Shallow Inland Water (Inland Water < 5km from shore OR < 50m deep). 4: Ephemeral (intermittent) Water. 5: Deep Inland Water (Inland water > 5km from shoreline AND > 50m deep). 6: Moderate or Continental Ocean (Ocean > 5km from coast AND > 50m deep AND < 500m deep). 7: Deep Ocean (Ocean > 500m deep). SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range uint8(2) 0,7 _FillValue uint8 221 WaterPresent High resolution water mask uint8 (nscans*10:MODIS_Swath_Type_GEO, The low resolution Land/Water mask is filled in by first extracting a Land/Water mask value for the center of each 500m pixel, from a source tabulated with 15 arc second resolution, and then aggregating those values to 1km resolution, giving the center two pixels doubled weight. This SDS indicates the total weight of all high resolution water pixels (Land/Water mask values 0 or 3-7) that were aggregated into the low resolution Land/Water mask. SDS Attributes: Attribute Name Format Example -------------- ------ ------- valid_range uint8(2) 0, 8 _FillValue uint8 255 gflags Geolocation flags uint8 (nscans*10:MODIS_Swath_Type_GEO, mframes:MODIS_Swath_Type_GEO) Bit 7(MSB): 1 = invalid input data Bit 6: 1 = no ellipsoid intersection Bit 5: 1 = no valid terrain data Bit 4: 1 = DEM missing or of inferior quality Bit 3: 1 = invalid sensor range Bit 2: 1 = near limb of earth: sensor zenith>85 degrees SDS Attributes: Attribute Name Format Example -------------- ------ ------- _FillValue uint8 255 Scan offsets 500m offsets, scan direction int8 (nscans*20:MODIS_Swath_Type_GEO, mframes*2:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "km IFOV" scale_factor float64 0.006 valid_range int8(2) -127, 127 _FillValue int8 -128 Track offsets 500m offsets, track direction int8 (nscans*20:MODIS_Swath_Type_GEO, mframes*2:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "km IFOV" scale_factor float64 0.006 valid_range int8(2) -127, 127 _FillValue int8 -128 Height offsets 500m vertical offsets int8 (nscans*20:MODIS_Swath_Type_GEO, mframes*2:MODIS_Swath_Type_GEO) SDS Attributes: Attribute Name Format Example -------------- ------ ------- units String "km" scale_factor float64 0.006 valid_range int8(2) -127, 127 _FillValue int8 -128 4.0 Vgroups In addition to the standard Vgroups automatically stored in an HDF-formatted file, the MODIS geolocation product has Vgroups deliberately created by the MOD_PR03 process. These Vgroups are part of the HDF-EOS Swath structure. Vgroup Name ----------- MODIS_Swath_Type_GEO Class = "SWATH" Contents: Vgroup Geolocation Fields Vgroup Data Fields Vgroup Swath Attributes Geolocation Fields Class = "SWATH Vgroup" Contents: SDS Latitude SDS Longitude Data Fields Class = "SWATH Vgroup" Contents: SDS Height SDS SensorZenith SDS SensorAzimuth SDS Range SDS SolarZenith SDS SolarAzimuth SDS Land/SeaMask SDS gflags SDS Scan offsets SDS Track offsets SDS Height offsets Swath Attributes Class = "SWATH Vgroup" Contents: None. 5.0 Vdatas There will be exactly one record stored in this vdata: Average Temperatures _FillValue: -999.0 Field Name Type ------------------------------- TA_RC_SMIR_CFPA float32 units: "Kelvin" valid_range: 50.0 to 118.0 TP_AO_SMIR_OBJ float32 units: "Celsius" valid_range: -21.0 to 87.0 TP_MF_CALBKHD_SR float32 units: "Celsius" valid_range: -23.0 to 87.0 TP_MF_Z_BKHD_BB float32 units: "Celsius" valid_range: -23.0 to 87.0 TP_SA_RCT1_MIR float32 units: "Celsius" valid_range: -21.0 to 87.0 TP_SR_SNOUT float32 units: "Celsius" valid_range: -23.0 to 87.0