//---------------------------------------------------------------------------- // MODIS HDF File Specification MODATML2: MODIS Atmosphere Level 2 Joint // Product at 5 and 10 km spatial resolutions // // This file specification document is written mainly in the network Common // Data Form Language (CDL) to define HDF dimension names and sizes, and to // declare attributes and arrays in terms of the dimensions. Other HDF // objects not representable in CDL constructs (e.g. Vdata, Vgroups and ECS // metadata) are described within comment blocks (any line or lines beginning // with the characters "//"). // // Array indexing is described in terms of the C programming language which // is row dominant. // // Product Notes: // SDS arrays will not appear in the MODATML2 product if for any reason // the L2 product providing the source data is unavailable to the // production system. This occurs regularly and predictably for the // MOD04_L2 aerosol product which is generated only for scenes with a // minimum solar zenith angle less than a specified threshold, currently // set to 72 degrees. Nighttime and most terminator MODATML2 granules // will be absent the aerosol parameters. // // Empty SDS arrays will be found in the MODATML2 product if the data // extracted from the L2 source file contain only fill values. The L2 // MOD06_L2 source product, for example, contains empty array declarations // for the cirrus detection and cloud optical properties parameters at // night when retrievals are not performed. The same is true of the // MOD05_L2 near infrared water vapor parameters for scenes with minimum // solar zenith angles greater than 72 degrees. These array declarations, // with or without data, are copied to the MODATML2 product whenever the // MOD05_L2 and MOD06_L2 input products are available to the production // system. Note that the HDF library returns only FillValue's when // attempting to read empty arrays. // // Last modified at 27-August-2003. //---------------------------------------------------------------------------- netcdf MODATML2 { dimensions: Cell_Along_Swath_5km:atml2 = 406 ; Cell_Across_Swath_5km:atml2 = 270 ; QA_Parameter_5km:atml2 = 1 ; Cell_Along_Swath_10km:atml2 = 203 ; Cell_Across_Swath_10km:atml2 = 135 ; Solution_Ocean:atml2 = 1 ; QA_Byte_Aerosol:atml2 = 1 ; Byte_Segment:atml2 = 1 ; variables: //--------------------------------------------------------------------------------------- // ECS Inventory Metadata // // ECS Inventory Metadata are stored in the HDF attribute "CoreMetadata.0" whose // content is described immediately below. //--------------------------------------------------------------------------------------- // // ECS Number Of Typical Value // ECS Core Attribute Name Data Type Values or Comment // ----------------------- --------- --------- -------------- // SHORTNAME STRING 1 "MODATML2" // VERSIONID INTEGER 1 4 // REPROCESSINGACTUAL STRING 1 "processed once" // REPROCESSINGPLANNED STRING 1 "further update is anticipated" // LOCALGRANULEID STRING 1 file name in MODIS naming // convention // LOCALVERSIONID STRING 1 "004" // DAYNIGHTFLAG STRING 1 "Day/Night/Both" // PRODUCTIONDATETIME DATETIME 1 variable // PGEVERSION STRING 1 "4.0.0" // INPUTPOINTER STRING 30(Max) all input URs // // RangeDateTime // ------------- // RANGEBEGINNINGTIME TIME 1 variable // RANGEENDINGTIME TIME 1 variable // RANGEBEGINNINGDATE DATE 1 variable // RANGEENDINGDATE DATE 1 variable // // Bounding Rectangle // ------------------ // EASTBOUNDINGCOORDINATE DOUBLE 1 variable // WESTBOUNDINGCOORDINATE DOUBLE 1 variable // NORTHBOUNDINGCOORDINATE DOUBLE 1 variable // SOUTHBOUNDINGCOORDINATE DOUBLE 1 variable // // OrbitCalculatedSpatialDomain // ---------------------------- // ORBITNUMBER.1 INTEGER 1 variable // EQUATORCROSSINGLONGITUDE.1 DOUBLE 1 variable // EQUATORCROSSINGDATE.1 DATE 1 variable // EQUATORCROSSINGTIME.1 TIME 1 variable // // MeasuredParameter // ----------------- // PARAMETERNAME.1 STRING 1 "Cloud_Top_Pressure" // AUTOMATICQUALITYFLAG.1 STRING 1 "Passed" or "Failed" // AUTOMATICQUALITYFLAGEXPLANATION.1 STRING 1 "Passed: >10% useable; Failed: <10% useable" // QAPERCENTMISSINGDATA.1 INTEGER 1 variable // // PARAMETERNAME.2 STRING 1 "Corrected_Optical_Depth_Land" // AUTOMATICQUALITYFLAG.2 STRING 1 "Passed"/"Failed"/"Suspect" // AUTOMATICQUALITYFLAGEXPLANATION.2 STRING 1 variable // QAPERCENTMISSINGDATA.2 INTEGER 1 variable // // Additional Attributes (Inventory PSAs) // -------------------------------------- // ADDITIONALATTRIBUTENAME.1 STRING 1 "SuccessfulRetrievalPct" // ADDITIONALATTRIBUTENAME.2 STRING 1 "DayProcessedPct" // ADDITIONALATTRIBUTENAME.3 STRING 1 "NightProcessedPct" // ADDITIONALATTRIBUTENAME.4 STRING 1 "LandProcessedPct" // ADDITIONALATTRIBUTENAME.5 STRING 1 "WaterProcessedPct" // ADDITIONALATTRIBUTENAME.6 STRING 1 "Snow_IceSurfaceProcessedPct" // ADDITIONALATTRIBUTENAME.7 STRING 1 "ShandowFoundPct" // ADDITIONALATTRIBUTENAME.8 STRING 1 "SunglintProcessedPct" // ADDITIONALATTRIBUTENAME.9 STRING 1 "NonCloudObstructionFoundPct" // ADDITIONALATTRIBUTENAME.10 STRING 1 "MaxSolarZenithAngle" // ADDITIONALATTRIBUTENAME.11 STRING 1 "MinSolarZenithAngle" // ADDITIONALATTRIBUTENAME.12 STRING 1 "VeryHighConfidentClearPct" // ADDITIONALATTRIBUTENAME.13 STRING 1 "HighConfidentClearPct" // ADDITIONALATTRIBUTENAME.14 STRING 1 "UncertainConfidentClearPct" // ADDITIONALATTRIBUTENAME.15 STRING 1 "LowConfidentClearPct" // ADDITIONALATTRIBUTENAME.16 STRING 1 "ThinCirrusSolarFoundPct" // ADDITIONALATTRIBUTENAME.17 STRING 1 "ThinCirrusIR_FoundPct" // // PARAMETERVALUE.1 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.2 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.3 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.4 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.5 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.6 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.7 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.8 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.9 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.10 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.11 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.12 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.13 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.14 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.15 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.16 STRING 1 " 54.25", an F8.2 formatted floating point number // PARAMETERVALUE.17 STRING 1 " 54.25", an F8.2 formatted floating point number // // Ancillary Input Granule // ----------------------- // ANCILLARYINPUTTYPE.1 STRING 1 "Geolocation" // ANCILLARYINPPUTPOINTER.1 STRING 1 UR of geolocation granule // // AssociatedPlatformInstrumentSensor // ---------------------------------- // ASSOCIATEDPLATFORMSHORTNAME.1 STRING 1 "Terra" // ASSOCIATEDINSTRUMENTSHORTNAME.1 STRING 1 "MODIS" // ASSOCIATEDSENSORSHORTNAME.1 STRING 1 "MODIS" // // //--------------------------------------------------------------------------------------- // ECS Archive Metadata // // ECS Archive Metadata are stored in the HDF attribute "ArchiveMetadata.0" whose // content is described immediately below. //--------------------------------------------------------------------------------------- // // ECS Number Of Typical Value // ECS Core Attribute Name Data Type Values or Comment // ----------------------- --------- --------- -------------- // DESCRREVISION STRING 1 "4.0" // // Algorithm Package // ----------------- // PROCESSINGENVIRONMENT STRING 1 "IRIX64 modular 6.5 01101245 IP27" // LONGNAME STRING 1 "MODIS/Terra Aerosol, Cloud and // Water Vapor Subset 5-Min L2 Swath 5km and 10km" // INSTRUMENTNAME STRING 1 "Moderate Resolution // Imaging Spectroradiometer" // GPolygon // -------- // EXCLUSIONGRINGFLAG STRING 1 "N", an inner, not exclusion, G-Ring // GRINGPOINTLATITUDE DOUBLE 4 array of 4 corner point latitudes // GRINGPOINTLONGITUDE DOUBLE 4 array of 4 corner point longitudes // GRINGPOINTSEQUENCENO INTEGER 4 sequence of successive points along ring // // //--------------------------------------------------------------------------------------- // ECS Structural Metadata // // ECS Structural Metadata are stored in the HDF attribute "StructMetadata.0" whose // content is described immediately below. //--------------------------------------------------------------------------------------- // //GROUP=SwathStructure\n", // GROUP=SWATH_1 // SwathName="atml2" // GROUP=Dimension // Cell_Along_Swath_5km = 406 (typical size) // Cell_Across_Swath_5km = 270 (typical size) // QA_Parameter_5km = 1 // Cell_Along_Swath_10km = 203 (typical size) // Cell_Across_Swath_10km = 135 (typical size) // Solution_Ocean = 1 // QA_Byte_Aerosol = 1 // Byte_Segment = 1 // // GROUP=DimensionMap (GeoDimension, DataDimension, Offset, Increment) // Cell_Across_Swath_5km,Cell_Across_Swath_10km,0,-2 // Cell_Along_Swath_5km,Cell_Along_Swath_10km,0,-2 // // GROUP=IndexDimensionMap // None // // GROUP=GeoField // DFNT_INT16 Latitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT16 Longitude("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // // GROUP=DataField // DFNT_INT16 Cloud_Optical_Thickness("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT16 Cloud_Effective_Radius("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT16 Cloud_Top_Pressure("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT16 Cirrus_Reflectance("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT16 Cloud_Top_Temperature("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT8 Cloud_Fraction("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT8 Cloud_Quality_Assurance("Cell_Along_Swath_5km","Cell_Across_Swath_5km","QA_Parameter_5km") // DFNT_INT16 Aerosol_Optical_Depth("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT16 Aerosol_Optical_Depth_Ratio_Small("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT8 Aerosol_Solution_Index_Ocean_Small_Average("Solution_Ocean","Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT8 Aerosol_Solution_Index_Ocean_Large_Average("Solution_Ocean","Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT16 Latitude_10km("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT16 "Longitude_10km("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT16 Solar_Zenith_10km("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT16 Viewing_Zenith_10km("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT16 Relative_Azimuth_10km("Cell_Along_Swath_10km","Cell_Across_Swath_10km") // DFNT_INT8 Aerosol_Quality_Assurance("Cell_Along_Swath_10km","Cell_Across_Swath_10km","QA_Byte_Aerosol") // DFNT_INT16 Precipitable_Water_Near_Infrared_Clear("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT16 Precipitable_Water_Infrared_Clear("Cell_Along_Swath_5km","Cell_Across_Swath_5km") // DFNT_INT8 Cloud_Mask("Byte_Segment","Cell_Along_Swath_5km","Cell_Across_Swath_5km") // // GROUP=MergedFields // None // short Latitude(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Latitude:long_name = "Geodetic Latitude at 5km Resolution" ; Latitude:units = "degrees_north" ; Latitude:valid_range = -9000s, 9000s ; Latitude:_FillValue = -32768s ; Latitude:scale_factor = 0.01d ; Latitude:add_offset = 0.d ; Latitude:Parameter_Type = "MODIS Input" ; Latitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Latitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Latitude:Geolocation_Pointer = "Internal geolocation arrays" ; Latitude:size = "219K" ; Latitude:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tLatitude" ; short Longitude(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Longitude:long_name = "Geodetic Longitude at 5km Resolution" ; Longitude:units = "degrees_east" ; Longitude:valid_range = -18000s , 18000s ; Longitude:_FillValue = -32768s ; Longitude:scale_factor = 0.01d ; Longitude:add_offset = 0.d ; Longitude:Parameter_Type = "MODIS Input" ; Longitude:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Longitude:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Longitude:Geolocation_Pointer = "Internal geolocation arrays" ; Longitude:size = "219K" ; Longitude:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tLongitude" ; short Cloud_Optical_Thickness(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cloud_Optical_Thickness:long_name = "Cloud Optical Thickness at 0.66 um" ; Cloud_Optical_Thickness:units = "none" ; Cloud_Optical_Thickness:valid_range = 0s, 10000s ; Cloud_Optical_Thickness:_FillValue = -9999s ; Cloud_Optical_Thickness:scale_factor = 0.01d ; Cloud_Optical_Thickness:add_offset = 0.d ; Cloud_Optical_Thickness:Parameter_Type = "Output" ; Cloud_Optical_Thickness:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Optical_Thickness:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Optical_Thickness:Geolocation_Pointer = "External MODIS geolocation product" ; Cloud_Optical_Thickness:size = "219K" ; Cloud_Optical_Thickness:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tCloud_Optical_Thickness" ; short Cloud_Effective_Radius(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cloud_Effective_Radius:long_name = "Cloud Effective Radius" ; Cloud_Effective_Radius:units = "micron" ; Cloud_Effective_Radius:valid_range = 0s, 10000s ; Cloud_Effective_Radius:_FillValue = -9999s ; Cloud_Effective_Radius:scale_factor = 0.01d ; Cloud_Effective_Radius:add_offset = 0.d ; Cloud_Effective_Radius:Parameter_Type = "Output" ; Cloud_Effective_Radius:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Effective_Radius:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Effective_Radius:Geolocation_Pointer = "External MODIS geolocation product" ; Cloud_Effective_Radius:size = "219K" ; Cloud_Effective_Radius:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tEffective_Particle_Radius" ; byte Cloud_Quality_Assurance(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2, QA_Parameter_5km:atml2) ; Cloud_Quality_Assurance:long_name = "Cloud Quality Assurance at 5km Resolution" ; Cloud_Quality_Assurance:units = "none" ; Cloud_Quality_Assurance:valid_range = '\0', '\377' ; Cloud_Quality_Assurance:_FillValue = '\0' ; Cloud_Quality_Assurance:scale_factor = 1.d ; Cloud_Quality_Assurance:add_offset = 0.d ; Cloud_Quality_Assurance:Parameter_Type = "Output" ; Cloud_Quality_Assurance:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Quality_Assurance:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Quality_Assurance:Geolocation_Pointer = "External MODIS geolocation product" ; Cloud_Quality_Assurance:description = "See MODIS atmosphere QA plan (1 x 1 km Product quality and retrieval processing QA flags) for details" ; Cloud_Quality_Assurance:size = "109K" ; Cloud_Quality_Assurance:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tQuality_Assurance_1km\n", "\tQuality_Assurance_1km\n", "pixel = Quality_Assurance_1km byte 0 bits 1, 2, 6, 7 followed by\n", "Quality_Assurance_1km byte 2 bits 0, 1, 2, 3" ; short Cirrus_Reflectance(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cirrus_Reflectance:long_name = "Cirrus Reflectance at 0.66 um" ; Cirrus_Reflectance:units = "none" ; Cirrus_Reflectance:valid_range = 0s, 8000s ; Cirrus_Reflectance:_FillValue = -9999s ; Cirrus_Reflectance:scale_factor = 0.0002d ; Cirrus_Reflectance:add_offset = 0.d ; Cirrus_Reflectance:Parameter_Type = "Output" ; Cirrus_Reflectance:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cirrus_Reflectance:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cirrus_Reflectance:Geolocation_Pointer = "External MODIS geolocation product" ; Cirrus_Reflectance:size = "219K" ; Cirrus_Reflectance:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tCirrus_Reflectance" ; short Cloud_Top_Pressure(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cloud_Top_Pressure:long_name = "Cloud Top Pressure" ; Cloud_Top_Pressure:units = "hPa" ; Cloud_Top_Pressure:valid_range = 10s, 11000s ; Cloud_Top_Pressure:_FillValue = -32768s ; Cloud_Top_Pressure:scale_factor = 0.1d ; Cloud_Top_Pressure:add_offset = 0.d ; Cloud_Top_Pressure:Parameter_Type = "Output" ; Cloud_Top_Pressure:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Top_Pressure:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Top_Pressure:Geolocation_Pointer = "Internal geolocation arrays" ; Cloud_Top_Pressure:size = "219K" ; Cloud_Top_Pressure:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tCloud_Top_Pressure" ; short Cloud_Top_Temperature(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cloud_Top_Temperature:long_name = "Cloud Top Temperature" ; Cloud_Top_Temperature:units = "K" ; Cloud_Top_Temperature:valid_range = 0s, 20000s ; Cloud_Top_Temperature:_FillValue = -32768s ; Cloud_Top_Temperature:scale_factor = 0.01d ; Cloud_Top_Temperature:add_offset = -15000.d ; Cloud_Top_Temperature:Parameter_Type = "Output" ; Cloud_Top_Temperature:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Top_Temperature:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Top_Temperature:Geolocation_Pointer = "Internal geolocation arrays" ; Cloud_Top_Temperature:size = "219K" ; Cloud_Top_Temperature:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tCloud_Top_Temperature" ; byte Cloud_Fraction(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cloud_Fraction:long_name = "Cloud Fraction" ; Cloud_Fraction:units = "none" ; Cloud_Fraction:valid_range = '\0', '\144' ; Cloud_Fraction:_FillValue = '\177' ; Cloud_Fraction:scale_factor = 0.01d ; Cloud_Fraction:add_offset = 0.d ; Cloud_Fraction:Parameter_Type = "Output" ; Cloud_Fraction:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Fraction:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Fraction:Geolocation_Pointer = "Internal geolocation arrays" ; Cloud_Fraction:size = "109K" ; Cloud_Fraction:source_info = "\n", "MOD06_L2.A2001222.0905.004.2002289222849.hdf\n", "pge06v4.2.0\n", "\tCloud_Fraction" ; short Precipitable_Water_Near_Infrared_Clear(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Precipitable_Water_Near_Infrared_Clear:long_name = "Total Column Precipitable Water Vapor - Near Infrared Clear Retrieval" ; Precipitable_Water_Near_Infrared_Clear:valid_range = 0s, 20000s ; Precipitable_Water_Near_Infrared_Clear:_FillValue = -9999s ; Precipitable_Water_Near_Infrared_Clear:scale_factor = 0.001d ; Precipitable_Water_Near_Infrared_Clear:add_offset = 0.d ; Precipitable_Water_Near_Infrared_Clear:Parameter_Type = "Output" ; Precipitable_Water_Near_Infrared_Clear:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Precipitable_Water_Near_Infrared_Clear:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Precipitable_Water_Near_Infrared_Clear:Geolocation_Pointer = "Internal geolocation arrays" ; Precipitable_Water_Near_Infrared_Clear:size = "219K" ; Precipitable_Water_Near_Infrared_Clear:source_info = "\n", "MOD05_L2.A2001222.0905.004.2002289214141.hdf\n", "pge04v4.1.1\n", "\tWater_Vapor_Near_Infrared\n", "\tQuality_Assurance_Near_Infrared\n", "pixels w/o 0|3 in two most significant bits of QA_Near_IR byte 0 get _FillValue" ; short Precipitable_Water_Infrared_Clear(Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Precipitable_Water_Infrared_Clear:long_name = "Total Column Precipitable Water Vapor - IR Clear Retrieval" ; Precipitable_Water_Infrared_Clear:units = "cm" ; Precipitable_Water_Infrared_Clear:valid_range = 0s, 20000s ; Precipitable_Water_Infrared_Clear:_FillValue = -9999s ; Precipitable_Water_Infrared_Clear:scale_factor = 0.001d ; Precipitable_Water_Infrared_Clear:add_offset = 0.d ; Precipitable_Water_Infrared_Clear:Parameter_Type = "Output" ; Precipitable_Water_Infrared_Clear:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Precipitable_Water_Infrared_Clear:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Precipitable_Water_Infrared_Clear:Geolocation_Pointer = "Internal geolocation arrays" ; Precipitable_Water_Infrared_Clear:size = "219K" ; Precipitable_Water_Infrared_Clear:source_info = "\n", "MOD07_L2.A2001222.0905.004.2002270045057.hdf\n", "pge03v4.1.0\n", "\tWater_Vapor" ; byte Cloud_Mask(Byte_Segment:atml2, Cell_Along_Swath_5km:atml2, Cell_Across_Swath_5km:atml2) ; Cloud_Mask:long_name = "MODIS Cloud Mask" ; Cloud_Mask:units = "none" ; Cloud_Mask:valid_range = '\0', '\377' ; Cloud_Mask:_FillValue = '\0' ; Cloud_Mask:scale_factor = 1.d ; Cloud_Mask:add_offset = 0.d ; Cloud_Mask:Parameter_Type = "Output" ; Cloud_Mask:Cell_Along_Swath_Sampling = 3, 2028, 5 ; Cloud_Mask:Cell_Across_Swath_Sampling = 3, 1348, 5 ; Cloud_Mask:Geolocation_Pointer = "External MODIS geolocation product" ; Cloud_Mask:description = "\n", " \n", " \n", " Bit fields within each byte are numbered from the left: \n", " 7, 6, 5, 4, 3, 2, 1, 0. \n", " The left-most bit (bit 7) is the most significant bit. \n", " The right-most bit (bit 0) is the least significant bit. \n", " \n", " bit field Description Key \n", " --------- ----------- --- \n", " \n", " 0 Cloud Mask Flag 0 = Not determined \n", " 1 = Determined \n", " \n", " 2, 1 Unobstructed FOV Quality Flag 00 = Cloudy \n", " 01 = Uncertain \n", " 10 = Probably Clear \n", " 11 = Confident Clear \n", " PROCESSING PATH \n", " --------------- \n", " 3 Day or Night Path 0 = Night / 1 = Day \n", " 4 Sunglint Path 0 = Yes / 1 = No \n", " 5 Snow/Ice Background Path 0 = Yes / 1 = No \n", " 7, 6 Land or Water Path 00 = Water \n", " 01 = Coastal \n", " 10 = Desert \n", " 11 = Land \n", " " ; Cloud_Mask:size = "267K" ; Cloud_Mask:source_info = "\n", "MOD35_L2.A2001222.0905.004.2002270044804.hdf\n", "pge03v4.1.0\n", "\tCloud_Mask" ; short Latitude_10km(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Latitude_10km:long_name = "Geodetic Latitude at 10km Resolution" ; Latitude_10km:units = "Degrees_north" ; Latitude_10km:valid_range = -9000s, 9000s ; Latitude_10km:_FillValue = -32768s ; Latitude_10km:scale_factor = 0.01d ; Latitude_10km:add_offset = 0.d ; Latitude_10km:Parameter_Type = "MODIS Input" ; Latitude_10km:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Latitude_10km:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Latitude_10km:Geolocation_Pointer = "Geolocation data not applicable" ; Latitude_10km:size = "54K" ; Latitude_10km:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tLatitude" ; short Longitude_10km(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Longitude_10km:long_name = "Geodetic Longitude at 10km Resolution" ; Longitude_10km:units = "Degrees_east" ; Longitude_10km:valid_range = -18000s, 18000s ; Longitude_10km:_FillValue = -32768s ; Longitude_10km:scale_factor = 0.01d ; Longitude_10km:add_offset = 0.d ; Longitude_10km:Parameter_Type = "MODIS Input" ; Longitude_10km:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Longitude_10km:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Longitude_10km:Geolocation_Pointer = "Geolocation data not applicable" ; Longitude_10km:size = "54K" ; Longitude_10km:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tLongitude" ; short Solar_Zenith_10km(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Solar_Zenith_10km:long_name = "Solar Zenith Angle, Cell to Sun at 10km Resolution" ; Solar_Zenith_10km:units = "Degrees" ; Solar_Zenith_10km:valid_range = 0s, 18000s ; Solar_Zenith_10km:_FillValue = -9999s ; Solar_Zenith_10km:scale_factor = 0.01d ; Solar_Zenith_10km:add_offset = 0.d ; Solar_Zenith_10km:Parameter_Type = "MODIS Input" ; Solar_Zenith_10km:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Solar_Zenith_10km:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Solar_Zenith_10km:Geolocation_Pointer = "Internal geolocation arrays" ; Solar_Zenith_10km:size = "54K" ; Solar_Zenith_10km:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tSolar_Zenith" ; short Viewing_Zenith_10km(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Viewing_Zenith_10km:long_name = "Viewing_Zenith Angle, Cell to Sensor at 10km Resolution" ; Viewing_Zenith_10km:units = "Degrees" ; Viewing_Zenith_10km:valid_range = 0s, 18000s ; Viewing_Zenith_10km:_FillValue = -9999s ; Viewing_Zenith_10km:scale_factor = 0.01d ; Viewing_Zenith_10km:add_offset = 0.d ; Viewing_Zenith_10km:Parameter_Type = "MODIS Input" ; Viewing_Zenith_10km:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Viewing_Zenith_10km:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Viewing_Zenith_10km:Geolocation_Pointer = "Internal geolocation arrays" ; Viewing_Zenith_10km:size = "54K" ; Viewing_Zenith_10km:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tSensor_Zenith" ; short Relative_Azimuth_10km(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Relative_Azimuth_10km:long_name = "Relative Azimuth ( RA = ((RA=abs(snsr_az-slr_az))>180)?(360-RA):RA ) at 10km Resolution" ; Relative_Azimuth_10km:units = "Degrees" ; Relative_Azimuth_10km:valid_range = -18000s, 18000s ; Relative_Azimuth_10km:_FillValue = -32768s ; Relative_Azimuth_10km:scale_factor = 0.01d ; Relative_Azimuth_10km:add_offset = 0.d ; Relative_Azimuth_10km:Parameter_Type = "Output" ; Relative_Azimuth_10km:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Relative_Azimuth_10km:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Relative_Azimuth_10km:Geolocation_Pointer = "Internal geolocation arrays" ; Relative_Azimuth_10km:size = "55K" ; Relative_Azimuth_10km:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tSensor_Azimuth\n", "\tSolar_Azimuth\n", "for each pixel: RA = ((RA=abs(snsr_az-slr_az))>180)?(360-RA):RA" ; short Aerosol_Optical_Depth(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Aerosol_Optical_Depth:long_name = "AOT at 0.55 micron for both ocean (best) and land (corrected)" ; Aerosol_Optical_Depth:units = "None" ; Aerosol_Optical_Depth:valid_range = 0s, 5000s ; Aerosol_Optical_Depth:_FillValue = -9999s ; Aerosol_Optical_Depth:scale_factor = 0.001d ; Aerosol_Optical_Depth:add_offset = 0.d ; Aerosol_Optical_Depth:Parameter_Type = "Output" ; Aerosol_Optical_Depth:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Aerosol_Optical_Depth:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Aerosol_Optical_Depth:Geolocation_Pointer = "Internal geolocation arrays" ; Aerosol_Optical_Depth:size = "55K" ; Aerosol_Optical_Depth:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tOptical_Depth_Land_And_Ocean" ; short Aerosol_Optical_Depth_Ratio_Small(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Aerosol_Optical_Depth_Ratio_Small:long_name = "Ratio of small mode optical depth at 0.55 micron" ; Aerosol_Optical_Depth_Ratio_Small:units = "None" ; Aerosol_Optical_Depth_Ratio_Small:valid_range = 0s, 1000s ; Aerosol_Optical_Depth_Ratio_Small:_FillValue = -9999s ; Aerosol_Optical_Depth_Ratio_Small:scale_factor = 0.001d ; Aerosol_Optical_Depth_Ratio_Small:add_offset = 0.d ; Aerosol_Optical_Depth_Ratio_Small:Parameter_Type = "Output" ; Aerosol_Optical_Depth_Ratio_Small:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Aerosol_Optical_Depth_Ratio_Small:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Aerosol_Optical_Depth_Ratio_Small:Geolocation_Pointer = "Internal geolocation arrays" ; Aerosol_Optical_Depth_Ratio_Small:size = "54K" ; Aerosol_Optical_Depth_Ratio_Small:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tOptical_Depth_Ratio_Small_Land_And_Ocean" ; byte Aerosol_Solution_Index_Ocean_Small_Average(Solution_Ocean:atml2, Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Aerosol_Solution_Index_Ocean_Small_Average:long_name = "Solution Number index (1 through 4) small particles" ; Aerosol_Solution_Index_Ocean_Small_Average:units = "None" ; Aerosol_Solution_Index_Ocean_Small_Average:valid_range = '\1', '\4' ; Aerosol_Solution_Index_Ocean_Small_Average:_FillValue = '\235' ; Aerosol_Solution_Index_Ocean_Small_Average:scale_factor = 1.d ; Aerosol_Solution_Index_Ocean_Small_Average:add_offset = 0.d ; Aerosol_Solution_Index_Ocean_Small_Average:Parameter_Type = "Output" ; Aerosol_Solution_Index_Ocean_Small_Average:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Aerosol_Solution_Index_Ocean_Small_Average:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Aerosol_Solution_Index_Ocean_Small_Average:Geolocation_Pointer = "Internal geolocation arrays" ; Aerosol_Solution_Index_Ocean_Small_Average:size = "27K" ; Aerosol_Solution_Index_Ocean_Small_Average:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tSolution_Index_Ocean_Small" ; byte Aerosol_Solution_Index_Ocean_Large_Average(Solution_Ocean:atml2, Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2) ; Aerosol_Solution_Index_Ocean_Large_Average:long_name = "Solution Number index (5 through 9) large particles" ; Aerosol_Solution_Index_Ocean_Large_Average:units = "None" ; Aerosol_Solution_Index_Ocean_Large_Average:valid_range = '\5', '\11' ; Aerosol_Solution_Index_Ocean_Large_Average:_FillValue = '\235' ; Aerosol_Solution_Index_Ocean_Large_Average:scale_factor = 1.d ; Aerosol_Solution_Index_Ocean_Large_Average:add_offset = 0.d ; Aerosol_Solution_Index_Ocean_Large_Average:Parameter_Type = "Output" ; Aerosol_Solution_Index_Ocean_Large_Average:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Aerosol_Solution_Index_Ocean_Large_Average:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Aerosol_Solution_Index_Ocean_Large_Average:Geolocation_Pointer = "Internal geolocation arrays" ; Aerosol_Solution_Index_Ocean_Large_Average:size = "27K" ; Aerosol_Solution_Index_Ocean_Large_Average:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tSolution_Index_Ocean_Large" ; byte Aerosol_Quality_Assurance(Cell_Along_Swath_10km:atml2, Cell_Across_Swath_10km:atml2, QA_Byte_Aerosol:atml2) ; Aerosol_Quality_Assurance:long_name = "Runtime QA flags" ; Aerosol_Quality_Assurance:units = "None" ; Aerosol_Quality_Assurance:valid_range = '\0', '\377' ; Aerosol_Quality_Assurance:_FillValue = '\0' ; Aerosol_Quality_Assurance:scale_factor = 1.d ; Aerosol_Quality_Assurance:add_offset = 0.d ; Aerosol_Quality_Assurance:Parameter_Type = "Output" ; Aerosol_Quality_Assurance:Cell_Along_Swath_Sampling = 5, 2025, 10 ; Aerosol_Quality_Assurance:Cell_Across_Swath_Sampling = 5, 1345, 10 ; Aerosol_Quality_Assurance:Geolocation_Pointer = "Internal geolocation arrays" ; Aerosol_Quality_Assurance:description = "see MODIS atmosphere QA plan for details" ; Aerosol_Quality_Assurance:size = "27K" ; Aerosol_Quality_Assurance:source_info = "\n", "MOD04_L2.A2001222.0905.004.2002289214427.hdf\n", "pge04v4.1.1\n", "\tQuality_Assurance_Land\n", "\tQuality_Assurance_Ocean\n", "pixel = Quality_Assurance_Land byte 0 bits 1, 2, 5, 6 followed by\n", "Quality_Assurance_Ocean byte 0 bits 5, 6\n", "bits 6, 7 unused" ; }