HDF-EOS V2 MODIS L3 Surface Reflectance Product
Revision 6.0.0, 09-FEB-09

Product ID: MYD_PR09Q1

Description:
	MODIS Level 3 (L3) Land Surface Reflectance (LSR) - The L3 LSR product
	is a composite over a eight day period of the LSR data.  For each
	grid location one value is selected which is the best possible value
	of the surface reflectance.  The criteria for the choice are the
	cloudiness; cloud shadows; low solar zenith angle; and when several
	values pass these minimum quality criteria, the minimum channel 3
	(blue) value.

Point of Contact:
	Jim Ray
	Science Systems and Applications, Inc.
	NASA's Goddard Space Flight Center, Code 614.5
	Greenbelt, MD 20771
	(301) 405-8120
	jim@ltdri.org


Principal Investigator:
	Eric Vermote
	University of Maryland, College Park
	NASA's Goddard Space Flight Center, Code 614.5
	Greenbelt, MD 20771
	(301) 405-8052
	eric@ltdri.org

 ===========================================================================

ECS metadata

GROUP = INVENTORYMETADATA
GROUPTYPE = MASTERGROUP
   GROUP = ECSDataGranule
      OBJECT = LocalGranuleID
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "STRING"
      END_OBJECT = LocalGranuleID
      OBJECT = ProductionDateTime
         Mandatory = "TRUE"
         Data_Location = "TK"
         NUM_VAL = 1
         TYPE = "DATETIME"
      END_OBJECT = ProductionDateTime
      OBJECT = DayNightFlag
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "STRING"
      END_OBJECT = DayNightFlag
      OBJECT = ReprocessingActual
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "STRING"
      END_OBJECT = ReprocessingActual
      OBJECT = LocalVersionID
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "STRING"
      END_OBJECT = LocalVersionID
      OBJECT = ReprocessingPlanned
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "STRING"
      END_OBJECT = ReprocessingPlanned
   END_GROUP = ECSDataGranule
   GROUP = MeasuredParameter
      OBJECT = MeasuredParameterContainer
         Data_Location = "NONE"
         Mandatory = "TRUE"
         CLASS = "M"
         GROUP = QAFlags
            CLASS = "M"
            OBJECT = ScienceQualityFlag
               Mandatory = "FALSE"
               Data_Location = "DP"
               NUM_VAL = 1
               TYPE = "STRING"
               Value = "Not Investigated"
            END_OBJECT = ScienceQualityFlag
            OBJECT = AutomaticQualityFlagExplanation
               Mandatory = "TRUE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "STRING"
            END_OBJECT = AutomaticQualityFlagExplanation
            OBJECT = AutomaticQualityFlag
               Mandatory = "TRUE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "STRING"
            END_OBJECT = AutomaticQualityFlag
            OBJECT = ScienceQualityFlagExplanation
               Mandatory = "FALSE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "STRING"
            END_OBJECT = ScienceQualityFlagExplanation
         END_GROUP = QAFlags
         GROUP = QAStats
            CLASS = "M"
            OBJECT = QAPercentMissingData
               Mandatory = "TRUE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "INTEGER"
            END_OBJECT = QAPercentMissingData
            OBJECT = QAPercentOutofBoundsData
               Mandatory = "TRUE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "INTEGER"
            END_OBJECT = QAPercentOutofBoundsData
            OBJECT = QAPercentInterpolatedData
               Mandatory = "TRUE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "INTEGER"
            END_OBJECT = QAPercentInterpolatedData
         END_GROUP = QAStats
         OBJECT = ParameterName
            Mandatory = "TRUE"
            CLASS = "M"
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
         END_OBJECT = ParameterName
      END_OBJECT = MeasuredParameterContainer
   END_GROUP = MeasuredParameter
   GROUP = OrbitCalculatedSpatialDomain
      OBJECT = OrbitCalculatedSpatialDomainContainer
         Data_Location = "NONE"
         Mandatory = "TRUE"
         CLASS = "M"
         OBJECT = EquatorCrossingDate
            Mandatory = "TRUE"
            CLASS = "M"
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "DATE"
         END_OBJECT = EquatorCrossingDate
         OBJECT = EquatorCrossingTime
            Mandatory = "TRUE"
            CLASS = "M"
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "TIME"
         END_OBJECT = EquatorCrossingTime
         OBJECT = OrbitNumber
            Mandatory = "TRUE"
            CLASS = "M"
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "INTEGER"
         END_OBJECT = OrbitNumber
         OBJECT = EquatorCrossingLongitude
            Mandatory = "TRUE"
            CLASS = "M"
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "DOUBLE"
         END_OBJECT = EquatorCrossingLongitude
      END_OBJECT = OrbitCalculatedSpatialDomainContainer
   END_GROUP = OrbitCalculatedSpatialDomain
   GROUP = CollectionDescriptionClass
      OBJECT = VersionID
         Mandatory = "TRUE"
         Data_Location = "MCF"
         NUM_VAL = 1
         TYPE = "INTEGER"
         Value = 6
      END_OBJECT = VersionID
      OBJECT = ShortName
         Mandatory = "TRUE"
         Data_Location = "MCF"
         NUM_VAL = 1
         TYPE = "STRING"
         Value = "MYD09Q1"
      END_OBJECT = ShortName
   END_GROUP = CollectionDescriptionClass
   GROUP = InputGranule
      OBJECT = InputPointer
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 100
         TYPE = "STRING"
      END_OBJECT = InputPointer
   END_GROUP = InputGranule
   GROUP = SpatialDomainContainer
      GROUP = HorizontalSpatialDomainContainer
         GROUP = GPolygon
            OBJECT = GPolygonContainer
               Data_Location = "NONE"
               Mandatory = "TRUE"
               CLASS = "M"
               GROUP = GRingPoint
                  CLASS = "M"
                  OBJECT = GRingPointLongitude
                     Mandatory = "TRUE"
                     Data_Location = "PGE"
                     NUM_VAL = 4
                     TYPE = "DOUBLE"
                  END_OBJECT = GRingPointLongitude
                  OBJECT = GRingPointLatitude
                     Mandatory = "TRUE"
                     Data_Location = "PGE"
                     NUM_VAL = 4
                     TYPE = "DOUBLE"
                  END_OBJECT = GRingPointLatitude
                  OBJECT = GRingPointSequenceNo
                     Mandatory = "TRUE"
                     Data_Location = "PGE"
                     NUM_VAL = 4
                     TYPE = "INTEGER"
                  END_OBJECT = GRingPointSequenceNo
               END_GROUP = GRingPoint
               GROUP = GRing
                  CLASS = "M"
                  OBJECT = ExclusionGRingFlag
                     Mandatory = "TRUE"
                     Data_Location = "PGE"
                     NUM_VAL = 1
                     TYPE = "STRING"
                  END_OBJECT = ExclusionGRingFlag
               END_GROUP = GRing
            END_OBJECT = GPolygonContainer
         END_GROUP = GPolygon
      END_GROUP = HorizontalSpatialDomainContainer
   END_GROUP = SpatialDomainContainer
   GROUP = RangeDateTime
      OBJECT = RangeEndingDate
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "DATE"
      END_OBJECT = RangeEndingDate
      OBJECT = RangeEndingTime
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "TIME"
      END_OBJECT = RangeEndingTime
      OBJECT = RangeBeginningDate
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "DATE"
      END_OBJECT = RangeBeginningDate
      OBJECT = RangeBeginningTime
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "TIME"
      END_OBJECT = RangeBeginningTime
   END_GROUP = RangeDateTime
   GROUP = PGEVersionClass
      OBJECT = PGEVersion
         Mandatory = "TRUE"
         Data_Location = "PGE"
         NUM_VAL = 1
         TYPE = "STRING"
      END_OBJECT = PGEVersion
   END_GROUP = PGEVersionClass
   GROUP = AssociatedPlatformInstrumentSensor
      OBJECT = AssociatedPlatformInstrumentSensorContainer
         Data_Location = "NONE"
         Mandatory = "TRUE"
         CLASS = "1"
         OBJECT = AssociatedSensorShortName
            Mandatory = "TRUE"
            CLASS = "1"
            Data_Location = "MCF"
            NUM_VAL = 1
            TYPE = "STRING"
            Value = "MODIS"
         END_OBJECT = AssociatedSensorShortName
         OBJECT = AssociatedPlatformShortName
            Mandatory = "TRUE"
            CLASS = "1"
            Data_Location = "MCF"
            NUM_VAL = 1
            TYPE = "STRING"
            Value = "Aqua"
         END_OBJECT = AssociatedPlatformShortName
         OBJECT = AssociatedInstrumentShortName
            Mandatory = "TRUE"
            CLASS = "1"
            Data_Location = "MCF"
            NUM_VAL = 1
            TYPE = "STRING"
            Value = "MODIS"
         END_OBJECT = AssociatedInstrumentShortName
      END_OBJECT = AssociatedPlatformInstrumentSensorContainer
   END_GROUP = AssociatedPlatformInstrumentSensor
   GROUP = AdditionalAttributes
      OBJECT = AdditionalAttributesContainer
         Data_Location = "NONE"
         Mandatory = "FALSE"
         CLASS = "M"
         OBJECT = AdditionalAttributeName
            Mandatory = "FALSE"
            CLASS = "M"
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
         END_OBJECT = AdditionalAttributeName
         GROUP = InformationContent
            CLASS = "M"
            OBJECT = ParameterValue
               Mandatory = "FALSE"
               Data_Location = "PGE"
               NUM_VAL = 1
               TYPE = "STRING"
            END_OBJECT = ParameterValue
         END_GROUP = InformationContent
      END_OBJECT = AdditionalAttributesContainer
   END_GROUP = AdditionalAttributes

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 = RESOLUTIONBANDS1AND2
ADDITIONALATTRIBUTENAME.10 = QAPERCENTPOOROUTPUT250MBAND1
ADDITIONALATTRIBUTENAME.11 = QAPERCENTPOOROUTPUT250MBAND2

END_GROUP = INVENTORYMETADATA
GROUP = ARCHIVEDMETADATA
GROUPTYPE = MASTERGROUP
OBJECT = SPSOParameters
Data_Location = "MCF"
TYPE = "STRING"
NUM_VAL = 1
Mandatory = "TRUE"
Value = "2015"
END_OBJECT = SPSOParameters
GROUP = BoundingRectangle
OBJECT = NorthBoundingCoordinate
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = NorthBoundingCoordinate
OBJECT = SouthBoundingCoordinate
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = SouthBoundingCoordinate
OBJECT = EastBoundingCoordinate
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = EastBoundingCoordinate
OBJECT = WestBoundingCoordinate
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = WestBoundingCoordinate
END_GROUP = BoundingRectangle
OBJECT = GeoAnyAbnormal
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = GeoAnyAbnormal
OBJECT = GeoEstMaxRMSError
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = GeoEstMaxRMSError
OBJECT = LongName
Data_Location = "MCF"
TYPE = "STRING"
NUM_VAL = 1
Mandatory = "TRUE"
Value = "MODIS/Aqua Surface Reflectance 8-Day L3 Global 250m SIN Grid"
END_OBJECT = LongName
OBJECT = ProcessingCenter
Data_Location = "MCF"
TYPE = "STRING"
NUM_VAL = 1
Mandatory = "TRUE"
Value = "MODAPS"
END_OBJECT = ProcessingCenter
OBJECT = SystemFileName
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 100
Mandatory = "FALSE"
END_OBJECT = SystemFileName
OBJECT = NumberOfGranules
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = NumberOfGranules
OBJECT = GranuleDayNightFlag
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 32
Mandatory = "TRUE"
END_OBJECT = GranuleDayNightFlag
OBJECT = GranuleDayOfYear
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 32
Mandatory = "FALSE"
END_OBJECT = GranuleDayOfYear
OBJECT = GranuleBeginningDateTime
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 32
Mandatory = "TRUE"
END_OBJECT = GranuleBeginningDateTime
OBJECT = GranuleEndingDateTime
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 32
Mandatory = "TRUE"
END_OBJECT = GranuleEndingDateTime
OBJECT = NumberOfOrbits
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = NumberOfOrbits
OBJECT = CharacteristicBinAngularSize250m
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = CharacteristicBinAngularSize250m
OBJECT = CharacteristicBinSize250m
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = CharacteristicBinSize250m
OBJECT = DataColumns250m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = DataColumns250m
OBJECT = DataRows250m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = DataRows250m
OBJECT = GlobalGridColumns250m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = GlobalGridColumns250m
OBJECT = GlobalGridRows250m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = GlobalGridRows250m
OBJECT = NadirDataResolution250m
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = NadirDataResolution250m
OBJECT = CharacteristicBinAngularSize500m
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = CharacteristicBinAngularSize500m
OBJECT = CharacteristicBinSize500m
Data_Location = "PGE"
TYPE = "DOUBLE"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = CharacteristicBinSize500m
OBJECT = DataColumns500m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = DataColumns500m
OBJECT = DataRows500m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = DataRows500m
OBJECT = GlobalGridColumns500m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = GlobalGridColumns500m
OBJECT = GlobalGridRows500m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = GlobalGridRows500m
OBJECT = NadirDataResolution500m
Data_Location = "PGE"
TYPE = "STRING"
NUM_VAL = 1
Mandatory = "TRUE"
END_OBJECT = NadirDataResolution500m
OBJECT = QualityClassPercentage250MBand1
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 16
Mandatory = "TRUE"
END_OBJECT = QualityClassPercentage250MBand1
OBJECT = QualityClassPercentage250MBand2
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 16
Mandatory = "TRUE"
END_OBJECT = QualityClassPercentage250MBand2
OBJECT = PercentDifferentOrbit250m
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = PercentDifferentOrbit250m
OBJECT = PercentProcessed
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = PercentProcessed
OBJECT = PercentLand
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = PercentLand
OBJECT = PercentCloudy
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = PercentCloudy
OBJECT = PercentShadow
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = PercentShadow
OBJECT = PercentLowSun
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 1
Mandatory = "FALSE"
END_OBJECT = PercentLowSun
OBJECT = PercentLandSeaMaskClass
Data_Location = "PGE"
TYPE = "INTEGER"
NUM_VAL = 8
Mandatory = "FALSE"
END_OBJECT = PercentLandSeaMaskClass
OBJECT = ProcessingEnvironment
Data_Location = "PGE"
Mandatory = "FALSE"
TYPE = "STRING"
NUM_VAL = 1
END_OBJECT = ProcessingEnvironment
OBJECT = DESCRrevision
Data_Location = "MCF"
Mandatory = "TRUE"
NUM_VAL = 1
TYPE = "STRING"
VALUE = "5.0"
END_OBJECT = DESCRrevision
OBJECT = ProductionHistory
Data_Location = "PGE"
Mandatory = "FALSE"
NUM_VAL = 1
TYPE = "STRING"
END_OBJECT = ProductionHistory
END_GROUP = ARCHIVEDMETADATA
END


StructuralMetadata.0
    This string will be populated automatically by HDF-EOS.



Grid Structure:  MOD_Grid_250m_Surface_Reflectance

    Data Fields:
        sur_refl_b01, sur_refl_b02 and sur_refl_qc_250m

    Dimensions:

        Dimension Name                       	  Metadata Value

        YDim_MOD_Grid_250m_Surface_Reflectance    "DataRows250m"

        XDim_MOD_Grid_250m_Surface_Reflectance    "DataColumns250m"

    Corner Locations:

        Corner                Values

        UpperLeftPointMtrs    (Variable, Variable)

        LowerRightPointMtrs   (Variable, Variable)

    Geographic Grid Projection Parameters:

        Integrized Sinusoidal Projection
	    Projection	      GCTP_SNSOID
	    ProjParam[0]          6371007.181
	    ProjParam[1 to 7]     0.0
	    ProjParam[8]          21600
	    ProjParam[9]          0.0
	    ProjParam[10]         1.0
	    ProjParam[11 to 12]   0.0
	    Spherecode            -1
	    GridOrigin            HDFE_GD_UL

        Interrupted Goodes Homolosine Projection
	    Projection		  GCTP_GOOD
	    ProjParam[0 to 12]    0.0
	    Spherecode            19
	    GridOrigin            HDFE_GD_UL

        Lambert Azimuthal Equal Area Projection
	    Projection		  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


===========================================================================

Data Fields:

Each data field 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 data fields also contain some of the following attributes:

        add_offset (float64)
        add_offset_err (float64)
        calibrated_nt (int32)
        scale_factor (float64)
        scale_factor_err (float64)
        QA bitmap index (STRING)

Data conversions:

        parameter =  scale_factor * (file data - add_offset)
        file data = (parameter / scale_factor) + add_offset

The dimensions for all SDSs are

  YDim_MOD_Grid_250m_Surface_Reflectance
  XDim_MOD_Grid_250m_Surface_Reflectance

A value of "Variable" indicates that this value will vary
according to the granule being processed.

===========================================================================

    Name		Data	Dimensions
			Type

    sur_refl_b01	INT16	(see grid structure)

    Description:
	MODIS Land Surface Reflectance for Band 1.

    HDF Attributes:
                                  Number of
	                          Values or
	                            Max.
	Attribute        Data      String    Value
	                 Type      Length

	long_name        STRING      60	     Surface_reflectance_for_band_1
	units            STRING      11      reflectance
	valid_range      INT16       2       -100, 16000
	_FillValue       INT16       1       -28672
	scale_factor     FLOAT64     1       0.0001
	add_offset       FLOAT64     1       0.0
	scale_factor_err  FLOAT64    1       0.0
	add_offset_err   FLOAT64     1       0.0
	calibrated_nt    INT32       1       5

===========================================================================

    Name		Data	Dimensions
			Type

    sur_refl_b02	INT16	(see grid structure)

    Description:
	MODIS Land Surface Reflectance for Band 2.

    HDF Attributes:
                                  Number of
	                          Values or
	                            Max.
	Attribute        Data      String    Value
	                 Type      Length

	long_name        STRING      60	     Surface_reflectance_for_band_2
	units            STRING      11      reflectance
	valid_range      INT16       2       -100, 16000
	_FillValue       INT16       1       -28672
	scale_factor     FLOAT64     1       0.0001
	add_offset       FLOAT64     1       0.0
	scale_factor_err  FLOAT64    1       0.0
	add_offset_err   FLOAT64     1       0.0
	calibrated_nt    INT32       1       5

===========================================================================

    Name		Data	Dimensions
			Type

    sur_refl_state_250m	UINT16	(see grid structure)

    Description:
	MODIS Land Surface Reflectance 250m State flags.

	Bit    Description
	15     PGE11 internal snow mask;
	       key: snow (1) or no snow (0)
	14     BRDF correction performed;
	       key: yes (1) or no (0)
	13     Pixel is adjacent to cloud;
	       key: yes (1) or no (0)
	12     Snow/ice flag;
	       key: yes (1) or no (0)
	11     PGE11 internal fire mask;
	       key: fire (1) or no fire (0)
	10     PGE11 internal cloud mask;
	       key: cloudy (1) or clear (0)
	8-9    Cirrus detected;
	       key: 00 (0): none
	            01 (1): small
		    10 (2): average
		    11 (3): high
	6-7    Aerosol quantity;
	       key: 00 (0): climatology
	            01 (1): low
		    10 (2): average
		    11 (3): high
	3-5    Land/water flag;
	       key: 000 (0): shallow ocean
        	    001 (1): land
	            010 (2): ocean coastlines and land shorelines
	            011 (3): shallow inland water
	            100 (4): ephemeral water
	            101 (5): deep inland water
	            110 (6): ocean
	            111 (7): surface unknown (treated as land)
	2      Cloud shadow;
	       key: yes (1) or no (0)
	0-1    Cloud state;
	       key: 00 (0): clear
	            01 (1): cloudy
        	    10 (2): mixed
	            11 (3): not set, assumed clear

    HDF Attributes:
                                  Number of
	                          Values or
	                            Max.
	Attribute        Data      String    Value
	                 Type      Length

	long_name        STRING      60     Surface_reflectance_250m_state_flags
	units            STRING      9      bit field
	valid_range      UINT16      2      0, 57343
	_FillValue       UINT16      1      65535
        QA bitmap index  STRING    2400     an index of how each value is
	                                    mapped (see the description, above)

===========================================================================

    Name		Data	Dimensions
			Type

    sur_refl_qc_250m	UINT16	(see grid structure)

    Description:
	MODIS Land Surface Reflectance 250m Band Quality Control flags.

	Bit     Description
	15	Spare (TBD)
	14	Different orbit from 500m;
		key: yes (1) or no (0)
	13      Adjacency correction performed;
	        key: yes (1) or no (0)
	12      Atmospheric correction performed;
	        key: yes (1) or no (0)
	8-11    Band 2 data quality, four bit range; test
	        key: 0000  (0): highest quality
                     0111  (7): noisy detector
                     1000  (8): dead detector; data copied from adjacent
                                detector
                     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): quality so low that it is not useful
	             1110 (14): L1B data faulty
	             1111 (15): not useful for any other reason/not
	                        processed (e.g. clouds, ocean)
	4-7     Band 1 data quality, four bit range;
	        key: (same as "Band 2 data quality")
	2-3     Spare (TBD)
	0-1	MODLAND QA bits;
	        key: 00 (0): corrected product produced at ideal
                             quality -- all bands
	             01 (1): corrected product produced,
		     	     less than ideal quality -- some or all bands
	             10 (2): corrected product not produced due to
	                     cloud effects -- all bands
	             11 (3): corrected product not produced for
	                     other reasons -- some or all bands,
	                     may be fill value
	        [Note that a value of (11) overrides a value of (01)]

    HDF Attributes:
                                  Number of
	                          Values or
	                            Max.
	Attribute        Data      String    Value
	                 Type      Length

	long_name        STRING      60      Surface_reflectance_250m_quality_control_flags
	units            STRING      9       bit field
	valid_range      UINT16      2       0, 32767
	_FillValue       UINT16      1       65535
        QA bitmap index  STRING    2200      an index of how each value is
	                                     mapped (see the description, above)
	
	

Last updated: October 24, 2019