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