============================================ Nagg version 1.6.1 released on 2014-04-01. ============================================ 1. Introduction =============== This document describes the NPP Aggregation tool, nagg, and contains information on platforms tested, changes since last release and any known problems. If you have any questions or comments, please send them to: help@hdfgroup.org 2. Platforms Tested =================== Linux 2.6 32bit and 64bit with gcc 4.1.2, gcc 4.4.7 and icc 13.1.3 3. New features and bug fixes since Version 1.6.0 ================================================= Configuration ------------- - None Features -------- - None Bug Fixes --------- - In version 1.6.0, when a dataset contained exclusively fill values, nagg created null values in a "Data_Products" granule (as defined in CDFCB-X volume I p. 75) instead of valid region references to each corresponding hyperslab in the "All_Data" datasets. The h5dump output for such a granule will appear as follows: ... DATASET "/Data_Products/VIIRS-M1-SDR/VIIRS-M1-SDR_Gran_0" { DATATYPE H5T_REFERENCE { H5T_STD_REF_DSETREG } DATASPACE SIMPLE { ( 16 ) / ( H5S_UNLIMITED ) } DATA { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } ... The data for a granule should not be NULL. Each granule's DATA should consist of a list of region references such as this: ... DATASET "/Data_Products/VIIRS-M1-SDR/VIIRS-M1-SDR_Gran_0" { DATATYPE H5T_REFERENCE { H5T_STD_REF_DSETREG } DATASPACE SIMPLE { ( 16 ) / ( H5S_UNLIMITED ) } DATA { DATASET /All_Data/VIIRS-M1-SDR_All/Radiance {(0,0)-(767,3199)}, DATASET /All_Data/VIIRS-M1-SDR_All/Reflectance {(0,0)-(767,3199)}, ... DATASET /All_Data/VIIRS-M1-SDR_All/ReflectanceFactors {(0)-(1)} } ... This version of nagg creates correct region references to the dataset region even when no data is stored in the hyperslab. (JPSS-86) LK 20140321 - If an output file with NULL granule entries as shown above is used as an input file for any previous nagg version, nagg is unable to process the file. Version 1.6.1 and above will detect this condition and create the missing references without writing any data to the target dataset. (JPSS-87) LK 20140321 - De-aggregating a very large aggregation (129 granules each for 16 VIIRS products plus a GEO product) resulted in a nagg failure with too many open files on Linux systems. Open objects were delaying the closing of files by H5Fclose(). Debugging code was added to identify the types of objects that are open just before H5Fclose() is called. The open objects were identified and properly closed. nagg now opens 1 input file and 17 output files for each output aggregation (of size 1) when de-aggregating and unpackaging the file. The 17 output files are closed before opening 17 new files for the next output aggregation. (JPSS-91) LK 20140331 Limits ------ - See nagg.docx (html, pdf) in the same directory for proposed functionality. Current release has the following limitations: * Like (--like) option retrieves three properties (number of granules, types contained, and geolocation product or external geolocation file attribute) from the example file. Whether the output should be packaged or unpackaged is determined from the geolocation characteristics of the example file. Geolocation only aggregation is now supported, but origin and domain are determined only from the command line options. * Environment variables or command line options for compliance with file naming convention presume valid types and packaging as defined in the "nagg.h" file. * Warnings or failures if granule gaps exceed some threshold are not supported. * Options to choose repair granule are not supported; for now, the one with the latest version is used. * Option to replace existing granule with repair granule is not supported. * Restrictions on flags and input parameters: Directory input is not supported. 4. Known problems ================= - nagg copies the value of the BeginningOrbitNumber attribute from the first granule in an aggregation and the value of the EndingOrbitNumber attribute to the attributes in the ..._Aggr dataset for the aggregation. If either of those granules are fill granules the value of these attributes may be 0 or a fill value. - nagg may fail with a segmentation fault if there is insufficient disk drive space to hold the output files. In general the ouput files will require the same amount of disk space as the input files.