Nagg HISTORY
============
This file contains history of the HDF NPP aggregation tool releases.

%%%%1.5.0%%%%
============================================
Nagg version 1.5.0 released on 2013-04-29.
============================================

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 64bits with gcc 4.1.2 and icc 12.1.0


3. New features and bug fixes since Version 1.3.0
=================================================
    Configuration
    -------------
    - None

    Features
    --------
    - The -l <example file> option was added in version 1.4.0, and version 1.5.0
      extends it to detect from <example file> (1) that no geolocation should be
      processed (equivalent to "-g no"), (2) that only geolocation should be
      processed (equivalent to no "-t products" and "-g <geoproduct>"), or (3)
      that data product and geolocation product granules should be put in
      separate output files (equivalent to "-S"). (LK 2012/03/01)

    - For three pairs of geolocation products that are related by terrain
      correction (GATRO/GCRIO, GIMGO/GITCO, and GMODO/GMTCO) nagg version 1.5.0
      will allow packaging data products for which one product in the pair is
      the designated geolocation product in the JPSS control book tables with
      either product in the pair.  The geolocation product ID to be packaged may
      now be specified in the nagg command by -g <geoproduct id> along with
      -t <data products>.  nagg 1.5.0 will also package any data product having
      a designated geolocation product in one of these pairs with any other data
      product having a designated geolocation product in the same pair.
      (LK 2013/03/01)

    Bug Fixes
    ---------
    - The inclusion of "-g no in the nagg command "nagg -t <products> -g no
      <input files>" skipped all checking of compatibility of products and
      geolocation products.  While incorrect this did provide a workaround
      for packaging with products related by terrain corrected geolocation
      until the extended compatibility for terrain corrected geolocation
      feature was added in this version. (LK 2013/02/17)

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
    Current release has the following limitations:
       * Like (--like) option retrieve two properties (number of granules and
         types contained) from the example file. Note that it does not
         retrieve properties such as geolocation product used, packaged or
         unpackaged, origin and domain. It also does not support geolocation
         product only aggregation since it does not retrieve geolocation
         product properties.
       * 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.
       * Compression on output is 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
=================
    None
         
%%%%1.4.0%%%%
============================================
Nagg version 1.4.0 released on 2012-08-31.
============================================

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 64bits with gcc 4.1.2 and icc 12.0.4


3. New features and bug fixes since Version 1.3.0
=================================================
    Configuration
    -------------
    - None
    
    Features
    --------
    - Added support for nagg like (-l, --like) option. It packages file like
      the given example file. (AKC 2012/08/30)
    - Added support for nagg --version. (LK 2012/08/01)
      
    Bug Fixes
    ---------
    - The NPP product table had an incorrect granule duration for IICMO, nagg
      -h or --help printed incorrect granule durations for some of the GEO
      products, and 2 of the NPP products had incorrect GEO products listed.
      These errors have been corrected in this version. (LK 2012/08/01)

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
    Current release has the following limitations: 
       * Like (--like) option retrieve two properties (number of granules and
         types contained) from the example file. Note that it does not
	 retrieve properties such as geolocation product used, packaged or
	 unpackaged, origin and domain. It also does not support geolocation
	 product only aggregation since it does not retrieve geolocation
	 product properties.
       * 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.
       * Compression on output is 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
=================
    None

%%%%1.3.0%%%%
============================================
Nagg version 1.3.0 released on 2012-07-29.
============================================

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 64bits with gcc 4.1.2 and icc 12.0.4


3. New features and bug fixes since Version 1.2.0
=================================================
    Configuration
    -------------
    - None
    
    Features
    --------
    - Added -A aggregation time option. (AKC 2012/07/13)
    - Added support for the output directory, -d, option. (AKC 2012/07/09)
      
    Bug Fixes
    ---------
    - If the output directory (-d dir) does not exist, Nagg will issue error
      message during command option parsing and exit without attempting to
      create the output files in the non-existing directory.
      (JPSS-60) (AKC 2012/07/29)
    - Output file names now have the product IDs, including Geolocation
      product ID if given, in sorted order as defined by the Control Book.
      (JPSS-59) (AKC 2012/07/28)

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
    Current release has the following limitations: 
       * 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.
       * Compression on output is 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.
           -l - not supported

      
4. Known problems
=================
    None
%%%%1.2.0%%%%
============================================
Nagg version 1.2.0-post0 currently under development.
============================================

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 64bits with gcc 4.1.2 and icc 12.0.4


3. New features and bug fixes since Version 1.1.1
=================================================
    Configuration
    -------------
    - None
    
    Features
    --------
    - Added dump option TOOLTEST in testnagg.sh so that it dumps the output
      files produced by the Nagg tool and verify the granules are as expected.
      (AKC 2012/05/30)

    - A user document, "NPP Aggregation Tool for JPSS Product Files (nagg)",
      is composed to explain the purpose of the Nagg tool and the procedure of
      building the tool, plus examples of using the tool. It is available in
      the doc directory as "nagg-User-Examples" in both Word and PDF formats.
      (LRK 2012/05/30).

    - The limit of the maximum number of granules that can be managed by the
      Nagg tool is increased from 7000 to 10000. (AKC 2012/05/22).

    - Added new test script called, testnagg_more.sh, which tests cases that
      require more resources such as big number of input files, long
      execution time, more disk spaces, etc.  This test will run only if 
      the extra test input files are present and the environment variable,
      NAGG_TESST_MORE, is defined. This test is intended for The HDF Group staff
      internal testing, therefore the extra test input files are not included
      in the source code distribution.  (AKC 2012/05/22)

    - Improve the testing by adding features to verify if the output generated
      matches the expected output. (AKC 2012/05/16)

    - Added the --debug option which, when given, prints all the granules in
      all input files. This includes fill granules plus geolocation granules
      if asked for.  It only reads and prints granules in the input files and
      does not do any further processing. (AKC 2012/05/10)
      
    Bug Fixes
    ---------
    - When there were more granules than the limit of maximum number of
      granules, the Nagg tool would ended in segmentation fault. It is fixed
      that the tool would report the limit exceeded and exit with a non-zero
      code. (AKC 2012/05/22).

    - There was a bug that would write duplicated granules of the same Granule
      and Product ID but different versions.  Now only the granule of the latest
      version is written. Other granules of earlier versions are filtered.
      (AKC 2012/05/22).

    - Testing with larger numbers of granules after the input file limit was 
      removed revealed several missing calls to H5Fclose, H5Gclose, and H5Dclose 
      that resulted in failure to open files due to too many open files.  The 
      missing calls to close objects have been added. (LRK 2012/05/18)   

    - Removed the limit of maximum number of input files (was 100).  Now if
      the user can specify the input files on the command line, Nagg will
      accept them all. (AKC 2012/05/18).

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
    Current release has the following limitations: 
       * Environment variables or command line options for compliance 
         with file naming convention presume valid types and packaging as
	 defined in the "nagg.h" file.
       * Grouping by time rather than number of granules (-A flag) is not
         supported (e.g., 7 minute 59 second granules starting at a given time
	 rather than just at the earliest granule encountered.)
       * Warnings or failures if granule gaps exceed some threshold are not
         supported.
       * Compression on output is 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.
           -l - not supported
           -A - not supported
           -d - not suported

      
4. Known problems
=================
    Output file names generated do not have the product IDs appeared in sorted
    order. (AKC 2012/04/09).

    -d option is accepted but is not supported, that is, has no effect.
    (AKC 2012/3/29).
  
%%%%1.1.1%%%%
============================================
Nagg version 1.1.1 released on May 8, 2012.
============================================

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 64bits with gcc 4.1.2 and icc 12.0.4


3. New features and bug fixes since Version 1.1.0
=================================================
    Configuration
    -------------
    - Added detection if getopt_long is available. getopt_long is used to
      implement the --xxx style of command options. (AKC 2012/5/7).
    
    Features
    --------
    - Added support for long options of --help, --directory, --help, --number,
      --simple, and --type. (AKC 2012/5/7)
      
    Bug Fixes
    ---------
    - JPSS-41 2012/04/27  Attempts to resize fixed dimension datasets for
      larger aggregations fail.  nagg will now handle datasets with either 
      fixed or unlimited dimensions.  The datasets in the output file will 
      have the same dimension type as those in the first input file (for 
      each aggregation). 
    - JPSS-42 2012/05/04  With some input files an uninitialized granule stucture
      member was used for a conditional expression, resulting in a segmentation 
      fault.  The member is now initialized before use in the expression.

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
    Current release has the following limitations: 
       * Environment variables or command line options for compliance 
         with file naming convention presume valid types and packaging as
	 defined in the "nagg.h" file.
       * Grouping by time rather than number of granules (-A flag) is not
         supported (e.g., 7 minute 59 second granules starting at a given time
	 rather than just at the earliest granule encountered.)
       * Warnings or failures if granule gaps exceed some threshold are not
         supported.
       * Compression on output is 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.
           -l - not supported
           -A - not supported
           -d - not suported

      
4. Known problems
=================
    Output file names generated do not have the product IDs appeared in sorted
    order. (AKC 2012/04/09).
    -d option is accepted but is not supported, that is, has no effect.
    (AKC 2012/3/29).

%%%%1.1.0%%%%
============================================
nagg version 1.1.0 released on April 9, 2012.
============================================

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 64bits with gcc 4.1.2 and icc 12.0.4


3. New features and bug fixes since Version 1.0.0
=================================================
    Configuration
    -------------
    - A bug that happened during build with icc compiler, has been fixed.
      (LRK 2012/2/25)
    
    Features
    --------
    - Implemented -S option, Simplified File, which directs nagg to put each
      product one file, that is, unpackaged format. The default is to produce
      in Packaged format which has all products packed into 1 file.
      (AKC 2012/04/09)
    - Implemented packaged input and output with one or more compatible sensor
      data products plus the GEO product.  (LRK 2012/04/09) 
    - Granules are added to the granule table only for requested products and
      from GEO files corresponding to files containing granules of requested
      products.  (LRK 2012/04/09)
    - Fill granules for a product will be created as long as the input files
      for an aggregation contain one real granule.  (LRK 2012/04/09)
    - The test script, testnagg.sh, is revamped to produce clear test results.
      (AKC 2012/04/03)
    - Implemented "-g no" option.  The no option directs nagg to aggregate or
      deaggregate product granules without finding Geolocation input granules
      and without writing any Geolocation output granules. (LRK 2012/03/07)
    - Added a new command option "-g" which controls the criterion for
      searching the Geolocation granules.  See command help page for details.
      "strict" and "yes" criterions are implemented. "no" will be implemented
      in the next version.  (AKC 2012/02/28)
    - Added the correct granule size (duration) for all products and expect
      to produce the same aggregations as DDS and CLASS, pending any revisions
      that may be made to the aggregation methodology. (AKC 2012/02/28) 

    Bug Fixes
    ---------
    - Changed default output format to Packaged format which packs all products
      in the same file. (AKC 2012/03/28).
    - JPSS-38 - Missing granules result in UNKNO geofiles.
    - JPSS-39 - Duplicate granules cause production of extra output files.
    - JPSS-40 - EndingDate value for fill granules is "N/A".

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
    Current release has the following limitations: 
       * Environment variables or command line options for compliance 
         with file naming convention presume valid types and packaging as
	 defined in the "nagg.h" file.
       * Grouping by time rather than number of granules (-A flag) is not
         supported (e.g., 7 minute 59 second granules starting at a given time
	 rather than just at the earliest granule encountered.)
       * Warnings or failures if granule gaps exceed some threshold are not
         supported.
       * Compression on output is 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.
           -l - not supported
           -A - not supported
           -d - not suported

      
4. Known problems
=================
    Output file names generated do not have the product IDs appeared in sorted
    order. (AKC 2012/04/09).
    -d option is accepted but is not supported, that is, has no effect.
    (AKC 2012/3/29).

%%%%1.0.0%%%%

=============================================
nagg version 1.0.0 released on Feb 17, 2012
=============================================

1. Introduction
===============

This document describes the NPP Aggregation tool, nagg, and contains
information on the 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 64bits with gcc 4.1.2


3. New features and bug fixes since Version 0.0.1
=================================================
    Configuration
    -------------
    - [None]
    
    Features
    --------
    - Output files are alignment with the bucket boundry as defined in the
      Control Book.  Fill granules are added when there are no granules
      available for "slots" in a bucket.  Leading and trailing fill granules
      are not generated for the first and last output files respectively.
      Therefore, first and last output files may be partial files that
      consists of granules fewer than requested.
    - Geolocation file names can be approximate such that only the beginning
      parts upto creation date are matched.  E.g., if the sensor data files
      defines its geolocation file is:
      GMTCO_npp_d20100906_t0701368_e0703013_b00004_c20111024161933653314_noaa_ops.h5
      the tool will accept any file matching this pattern acceptable and will
      use the one with the latest creation date.
      GMTCO_npp_d20100906_t0701368_e0703013_b00004_c*.h5

    Limits
    ------
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
      Current release has the following limitations: 
       * Environment variables or command line options for compliance 
         with file naming convention presume valid types and packaging as defined 
         in the "nagg.h" file.
       * Grouping by time rather than number of granules (-A flag) is not supported
         (e.g., 7 minute 59 second granules starting at a given time rather than just at 
         the earliest granule encountered.)
       * Warnings or failures if granule gaps exceed some threshold are not
         supported.
       * Compression on output is 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.
           -t - only one single type is supported.
           -l - not supported
           -A - not supported
           -S - not suported
           -d - not suported

      
4. Known problems
=================
[none]

%%%%0.0.1%%%%

=============================================
nagg version 0.0.1 released December 21, 2011
=============================================

New Features
============

    Configuration
    -------------
    - The nagg tool uses GNU autoconf tool for configuration
      and compilation.
    
    Tool
    -----
    - See nagg.docx (html, pdf) in the same directory for proposed functionality.
      Current release has the following limitations: 
       * Environment variables or command line options for compliance 
         with file naming convention presume valid types and packaging as defined 
         in the "nagg.h" file.
       * Aggregation alignment and creation of fill granules is not supported.
       * Grouping by time rather than number of granules (-A flag) is not supported
         (e.g., 7 minute 59 second granules starting at a given time rather than just at 
         the earliest granule encountered.)
       * Warnings or failures if granule gaps exceed some threshold are not
         supported.
       * Compression on output is 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.
           -t - only single type is supported.
           -l - not supported
           -A - not supported
           -S - not suported
           -d - not suported

      

Platforms Tested
================
Linux 2.6 32bit and 64bits with gcc 4.2.1
