Version History File MOD_PR35 This file shows the following: (a) What was changed in the process (b) Why it was changed (c) How the output product will be affected by the change (d) The date of the change was made v3.1.1 02/25/2002 ================================================================================ The final modifications were made in order to process both Terra and Aqua data. These and other changes are listed below: - Platform name (Aqua or Terra) is read from both pcf and L1b files and compared. - Threshold file is checked for correct platform name and version number. - Planck function and radiance-to-brightness temperature codes now include response functions for Aqua data. - There are now two sets of mcf files (one each for Aqua and Terra), two pcf files, and two thresholds files. - Minor bug fix in get_regstd.f, affects nighttime ocean results on edge of granule pixels only. - Minor bug fix in reorder_array.f, no discernable difference in results. - Additional check on value of band 26 reflectances, minor change in results. - Some error messages modified for sake of clarity. - Added flags to makefile command. - Minor change in 250-m processing, now look for "dark" spots within sun-glint region. - Modified sun-glint check in NDSI test - makes minor changes to polar regions during times of highest sun. - NISE data sets must be within one week of granule time or NISE data will not be used. v3.1.0 12/04/2001 ================================================================================ This is the first code update after "Consistent Year" processing. The following major changes were submitted. - Shallow lakes and rivers are processed via the "coast" processing path. - An NDVI final confidence confirmation test is performed for all daytime pixels where the coast processing path is used and IR tests did not find evidence of high clouds. Also performed in shallow ocean cases. - Cloud mask results from 1-km pixels are used as "ancillary" input to the 250-m cloud mask process. Separate decision trees are used for land and water. Water: copy 1-km result for sun-glint, ice, and pixels with ambiguous band 2 reflectances. Land: copy 1-km result if 1-km pixel is clear, otherwise use Global Environment Monitoring Index (GEMI) and band 2 reflectance threshold where appropriate. - More pixels are now processed when band 2 is saturated. Band 2 reflectances are considered to be high "valid" values when error codes are 65528 (1-km) or 65533 (250-m) and band 1 reflectances are valid (no error code). - The Level 1B reader has been modified and moved to the ~shared/src_UW library (Read_L1B_V2.2.f). The original reader (Read_L1B_V2.1.f) is unchanged and remains in the ~shared/src_L2 library. A copy of L1B_Reader_V2.1.inc was also placed in the ~shared/src_UW library and renamed L1B_Reader_V2.2.inc. - Bit 22 of the output cloud mask reports the result of the NDVI final con- fidence confirmation test (formerly a spare). - The makefile logic was changed to test first for "linux" (i.e. query the BRAND environment variable) and, if not linux, default to IRIX compilation. This allows successful compilation at the GDAAC where BRAND is not defined. v3.0.2 10/04/2001 ================================================================================ - MOD_PR35 was ported to a Linux platform via changes in the makefile only. If the environment variable BRAND is set to "sgi32" or "sgi64", IRIX compilation is indicated. BRAND set to to "linux" denotes Linux compilation. For this initial port to Linux, the following operating system version and compiler environment were used: Linux 2.4.2-2smp, Red Hat 7.1 (Seawolf) 2.96-79, Portland Group Inc. (PGI) Fortran 77 (pgf77) 3.2-4, Fortran 90 (pgf90) 3.2-4, and GNU C (gcc) 2.96 20000731. v3.0.1 06/25/2001 ================================================================================ Changes in ECS metadata direct the future Aqua Cloud Mask into MODIS Data Collection 003, and comply with recent refinements in MODIS metadata standards. - ECS metadata attribute changes include the following: In MYD35_L2.mcf --------------- * VersionID is reset to 3 * DESCRrevision is reset to 3.0 * AssociatedPlatformInstrumentSensor is set directly in the MCF and not via the PGE code * Attribute ScienceQualityFlagExplanation is initialized to reference the MODIS Atmosphere Discipline team QA Web page In MYD35_QC.mcf -------------- * VersionID is reset to 3 * DESCRrevision is reset to 3.0 * AssociatedPlatformInstrumentSensor, implemented as a multicontainer object as of PGE03 v2.4.1, is restored to a single container object In MYDCSR_G.mcf --------------- * VersionID is reset to 3 * DESCRrevision is reset to 3.0 * Attributes LocalGranuleID, DayNightFlag, ReprocessingActual, ReprocessingPlanned, PGEVersion, InputPointer, AssociatedPlatformInstrumentSensor, and LongName are added to Inventory and Archive Metadata. In MYD_PR35.pcf ----------------- * LocalVersionId is reset to 003 * PGEVersion is reset to 3.0.1 * Runtime Parameters for the group AssociatedPlatformInstrumentSensor and LongName are removed. v3.0.0 04/04/2001 ================================================================================ This code version is delivered to run in the first MODIS Consistent Year processing effort. Reprocessed and forward processed data using frozen PGEs are planned for the data year Nov 1, 2000 to Oct 31, 2001. MODIS products including the Cloud Mask will be stored in MODIS Data Collection 003. - Added documentation for QA bit #s 26-28 in MOD35.V2.CDL file. - Added elevation information to processing. A high elevation flag is set when elevation is > 2000 meters. - Turned off 1.38 um test at high elevations (> 2000 meters). - Renamed some subroutines to more accurately reflect functions. PolarDay_snow.f and PolarNite_snow.f are now called in polar regions only. New routines, Day_snow.f and Nite_snow.f are called for snow/ice surfaces in non-polar areas. - Fixed code bug in snow detection subroutine. - Expanded list of arid ecosystems. - Refined final clear-sky confidence confirmation test for arid regions including an elevation adjustment for the 11 micron brightness temperature threshold. - Created separate subroutine and thresholds for cloud detection in Antarctica. - Adjusted thresholds for snow detection. - Adjusted thresholds for cloud detection over snow-covered surfaces. - ECS metadata were updated to archive the Cloud Mask products in MODIS data collection 003 (i.e. "VersionID" is reset to 3). In addition, the AssociatedPlatformInstrumentSensor group, previously set by the PGE, is now defined in the MCF. v2.4.1 12/12/2000 ================================================================================ - Terra and Aqua QC file MCFs (MOD35_QC.mcf and MY35_QC.mcf) were updated to contain ECS attribute AssociatedPlatformInstrumentSensor (represented as multicontainer object) in the Core metadata. In addition, several attributes including LongName in standard naming convention were added to the Archive metadata. v2.4.0 09/29/2000 ================================================================================ - New sun-glint "final confidence confirmation test" based on 3.75-11 um difference rather than 3.75 um brightness temperature alone. Result is reported in bit #26. In cases of severe sun-glint, confidence of clear sky is determined to be uncertain if no IR test indicates cloud. - Added checks for cloudy pixels mis-identified as snow. - Added an 11 um variability (standard deviation over 3x3 pixel region) test to night, ocean pixels. Result is reported in bit #27. - New daytime desert "final confidence confirmation test". If no IR cloud test indicates cloud, and the 11 um brightness temperature is higher than a given threshold, then pixel is determined to be clear. Result is reported in bit #26. - Added "suspended dust test". Test is performed in daytime, land surface situations. Result is reported in bit #28. - No shadow determinations are attempted in coastal regions. - Negative radiaces values from band 26 are "valid". - If radiance data from any channel normally used in sun-glint regions is not valid, no determination of clear-sky confidence is made. - Various cloud test thresholds were adjusted. - Bit #s 26-28 were added to the cloud mask output: # 26 final confidence confirmation test # 27 nighttime ocean variability test # 28 suspended dust flag v2.3.0 08/25/2000 ================================================================================ THIS VERSION OF THE MODIS CLOUD MASK CODE IS FOR AQUA MOSS TESTING ONLY ! IT SHOULD NEVER BE PUT INTO TERRA OPERATIONS !! The following changes have been made in anticipation of the Aqua MODIS instrument: - Revised MOD_PR35.f to call new routine "get_spacecraft_id.f" located in the UW shared code library (.../atmos_src/src_UW). This routine returns a spacecraft identifier (character string) from the PCF. - Modified "store_context.f" so that the spacecraft id may be passed to the routine "modis_bright.f" (located in the UW shared code library and also updated for Aqua), where brightness temperatures are calculated from radiance data. v2.2.12 09/08/2000 ================================================================================ - An updated MCF file, prior to the public release of the Cloud Mask, was integrated into the delivery package. ECS archive metadata field "LongName" is now set in a "standard" data format in the MCF (previously it was set by PGE). Value of this field is the name by which the Cloud Mask will be identified in the EDG (EOS Data Gateway). v2.2.11 06/19/2000 ================================================================================ These are the first major post-launch updates to the MODIS cloud mask algorithm based on analysis of global MODIS data prior to June 1, 2000. - Land/snow/sun-glint bug fixed. - Added call to set_qa_bit for test bit #25 (allows result of test #25 to be seen). - Added 11-12 micron thin cirrus test to night land and ocean. - Added spatial variability test to oceans (water surface only) pole-ward of 60 degrees latitude. - Modified NDSI test processing: Must have positive NDSI and ancillary snow/ice for all oceans, Same for land between ?60 and +25 latitude. - Output clear-sky radiance data for day, land, (geometric) sun-glint regions. - Turned off CO2 test pole-ward of 60 degrees latitude. - Changed CO2 test threshold from 236K to 226K. - Changed desert 11 micron maximum cloud temperature threshold from 285K to 295K. - Changed maximum valid reflectance values from 100% to 130%. - Additional threshold tuning was done by changes to thresholds.dat table - Code modules Get_Core_Metadata.f, Get_Global_Metadata.f, getcoord.c, isort.f, and read_goode.f were removed from the MOD_PR35 delivery package and are now referenced as modules of the same name in the Univerisity of Wisconsin shared code library in directory .../atmos_src/src_UW. v2.2.10 06/13/2000 ================================================================================ - The C and FORTRAN compiler optimization flags were reset to -O2 in the Cloud Mask makefile, MOD_PR35.mk. Earlier versions had used -O3 optimization. v2.2.9 05/16/2000 ================================================================================ - PGE03 was ported from SGI 32-bit to 64-bit architecture. Only a change to the compile and run environment in the selection of the 64-bit ABI (Application Binary Interface) was needed. - Selection rules on the SEA_ICE and REYNSST ancillary products were changed. If the current SEA_ICE product is unavailable, search a 4-week interval centered on the MODIS collection period for the nearest SEA_ICE product. For the REYNSST product, select from the following priority listing: current week, prior week, following week. - In MOD_PR35.mk, shared code library src_L2_V2.1 was renamed src_L2. This reflects organizational changes in the ClearCase structure below $ROOT_DIR/ATMOS/shared_src/atmos_src (see README.txt for $ROOT_DIR). v2.2.8 04/17/2000 ================================================================================ - The MOD35_L2 metadata configuration file was updated. ODL object ProductionDateTime was reclassified to mandatory TRUE, and object ScienceQualityFlag was defined as "Not Investigated". Collection level metadata changes (to LongName and SensorShortName) were also made at this time and are reflected in the MOD35_L2 descriptor file. v2.2.7 03/09/2000 ================================================================================ - An update to the thresholds.dat look up table was made. Specifically, thresholds for dlref1, dlref1_t2, dovrathi and nl11_4lo were changed to exactly match those implemented with MAS data. v2.2.6 01/27/2000 ================================================================================ - The NISE product metadata access routines were enhanced to read the new NISE product format (with ECS metadata written directly to HDF product file). The revised code reads ECS Core metadata under an arbitrary HDF attribute name, and will successfully parse any ASCII datetime string format supported by the SDPTK. v2.2.5 12/08/1999 ================================================================================ - Selection rules on the weekly ancillary Reynolds SST input product (REYNSST) were changed. The granule prior to the one that overlaps the collection period will be used in the near real-time processing environment. v2.2.4 11/19/1999 ================================================================================ - Twenty-two subroutines in the MOD35 package were updated to account for times when geolocation data may be bad or missing. - Updated v2.1 of the atmosphere archive metadata writer was integrated into MOD_PR35 S/W. - Routine Parse_ECS_DateTime, used for reading the NISE product metadata, was newly integrated into MOD_PR35 S/W. v2.2.3 09/03/1999 ================================================================================ - Shared code modules originally developed by Univ. of Wisc (UW) SCF are now referenced separately in MOD_PR07 makefile in directory cc/cc_vob/ATMOS/shared_src/atmos_src/src_UW. - MAPI version number in README.txt was changed from 2.3.1 to 2.3.2 - Shared code modules developed by Univ. of Wisc (UW) SCF are identified separately in PACKINGLIST from those developed by SDST. - MODCSR_G.mcf was updated by ECS. The GROUPs AdditionalAttributes and RangeDateTime were added as well as OBJECTs DESCRrevision and ProductionHistory. - MOD35_L2.mcf was updated by ECS. The DayNightFlag was recategorized as Mandatory "TRUE", while new attributes DESCRrevision and ProductionHistory were added. v2.2.2 08/12/1999 ================================================================================ - The PCF runtime parameter representing the value of ECS inventory metadata attribute ASSOCIATEDPLATFORMSHORTNAME.1 was changed from "EOS-AM1" to "AM-1". v2.2.1 06/10/1999 ================================================================================ - The high resolution (1km) ecosystem file reader (read_goode.f) was improved using optimized code that reduces MOD_PR35 processing time by about 50 percent. v2.2.0 05/28/1999 ================================================================================ The status of externally provided input data products to MOD_PR35 was changed from "required" to "optional". Only internal MODIS products (minimally, MOD021KM and MOD03) are needed by the current code for successful execution and generation of the Cloud Mask (MOD35_L2) product. The data interface to MOD_PR35 was changed in these significants aspects: * All NCEP input products (GDAS_0ZF, OZ_DAILY, REYNSST and SEA_ICE) are optional. * The L1B 250m radiance product (MOD02QKM) in now optional input. * the land/sea mask is read from the MODIS Geolocation product (MOD03), not the EDC 1-km Land-Sea Mask which had been used up until now. * NISE (Near Real-Time SSM/I EASE-Grid Daily Global Ice Concentration and Snow Extent product) data are read as an additional optional input. * A global 1 km Olson ecosystem map is now used in place of the old 10 minute map and North American 1 km map. The 10 minute map is still to be used as a backup. * Selected bands of L1B radiances for clear scenes are indexed to a global map and output to the interim granule level product, MODCSR_G. Additional code changes are: * atmosphere seed file MODIS_39500.t from the shared code library was used * following unused elements were removed from the delivery package: get_sds.f read_hdf.f MODIS_39500.t * MODCSR_G.CDL.fs was added to the package * updated MCFs were obtained from ECS * Set_CoreMetadata_V2.1.f was used for setting ECS core metadata * following existing files were updated by SCF: get_anc_data.f Get_Core_Metadata.f get_grid_index.f get_pxldat.f init_input.f PolarDay_snow.f PolarNite_snow.f pxinit.f Set_Runtime_Meta.f set_unused_bits.f shadows.f store_context.f trispc.f * following new files provided by SCF were added to the package: clear_radiance.f get_crad_dat.f get_grid_index.f get_rp.f isort.f param_get_value.f param_read_file.f param_real.f param_string.f read_goode.f Set_CLRRAD_Meta.f Set_CoreMetadata_CLR.f thresholds_read.f write_clear_radiance.f * following new files from the shared code library were used in MOD_PR35.mk: ccsds_to_date.f compare_times.f create_hdf_V2.1.f date_to_ccsds.f ezlh_convert.f get_ancillary_V2.1.f get_spec_info_V2.1.f MODIS_SMF_SETDYNAMICMSG_V2.1.f modis_grib_driver_V2.1.c openr_temp_V2.1.f read_nise.f Set_CoreMetadata_V2.1.f setup_create_hdf_V2.1.f strlower.f strpos.f v2.1.1 04/09/1999 ================================================================================ - ECS metadata "Handles" array in file Get_Core_Metadata.f was redefined as character*(PGSd_MET_GROUP_NAME_L) Master_Grp_Hndls(PGSd_MET_NUM_OF_GROUPS). - Used local system's leapsec.dat file. v2.1.0 03/12/1999 ================================================================================ - The L1B product interface was changed to use a new reader (Read_L1B_V2.1.f) and include file (L1B_Reader_V2.1.inc). - Two new files are new in the current delivery package: HISTORY.txt and leapsec.dat.