==============================================================
  Description of changes
==============================================================
Tag name:  perl5lib_090613
Originator(s):  erik
Date: Sat Jun 13, 2009
One-line Summary: Add %ymd indicator for streams so can do year-month-days

M      Streams/Template.pm ---- Add ability to write out %ymd year-month-day
                                for filenames in streams. It assumes a noleap
                                calendar -- could easily be extended to make
                                Gregorian optional.
M      t/01.t ---- Change formatting of successful test
M      t/02.t ---- Add more tests for %ymd, and offset
M      t/03.t ---- Change formatting of successful test
M      t/04.t ---- Change formatting of successful test
M      t/datm.streams.txt ---------- Add another year and the last-month
                                     to start for testing
A      t/datm.ymd.streams.txt ------ Add streams test file with %ymd
M      t/datm.template.streams.xml - Add CPLHIST test section with %ymd
M      README --- Add notes about Streams and Decomp directories.

==============================================================
Tag name:  perl5lib_090609
Originator(s):  tcraig
Date: Tue Jun 9, 2009
One-line Summary: add offset support for streams template

M      Streams/Template.pm

==============================================================
Tag name:  perl5lib_090424
Originator(s):  erik
Date: Fri Apr 24 14:10:42 MDT 2009
One-line Summary: Allow opt hash to be sent to is_valid_value method

M      Build/NamelistDefinition.pm --- Allow an opt hash be sent to the
                                       is_valid_value method. This way
                                       noquotes or other options can be
                                       given to the get_valid_values method
                                       used within is_valid_value.

==============================================================
Tag name:  perl5lib_081008
Originator(s):  erik
Date: Wed Oct  8 21:39:24 MDT 2008
One-line Summary: Get unit tests working

M Build/Namelist.pm --- Be more careful with spacing between array elements
                        Get complex to work, make sure long lists with new-lines
                        can be parsed correctly.
M t/01.t -------- Comment out last test as it fails (Config object with no files)
M t/04.t -------- Add in test for integer array with new lines, and add some tests
                  that are commented that currently fail (complex and character multi-lines).
                  Also set variable names with mixed case variable names.
M t/namelist_definition_cam.xml --- Add a complex variable so can be tested
M t/output_test_namelist.nl ------- New longer namelist testing more aspects

==============================================================
Tag name:  perl5lib_081007
Originator(s):  eaton
Date: Tue Oct  7 18:32:46 MDT 2008
One-line Summary: Modify Build::Namelist* user interfaces to be case insensitive.

Modify the user interfaces of the Build::Namelist* modules.  The user
interfaces include the object methods and the xml definition and defaults
files.  By storing the variable names internally as lower case strings in
the Namelist* objects, the xml files can contain variable names in mixed
case without affecting the objects' internal representations.  Similarly,
by converting variable names that are passed as method arguments to lower
case, the user can supply mixed case variable names as arguments, and the
correct variables from the definition and defaults files will be found
regardless of the case that appeared in those files.

Build/Config.pm
. die if no definition file is supplied to the new() method.

Build/Namelist.pm
. Change validate_variable_value() from an object method to a class method,
  and remove the unused argument.
. add fix to _split_namelist_value method to replace embedded newlines by
  spaces.

Build/NamelistDefaults.pm
. make the method interfaces case insensitive by converting all variable
  names passed as arguments to lower case, and by maintaining the variable
  names in lower case in the internal data structures.
. Changed behavior of adding additional defaults from multiple files.
  Previously an exception was triggered if the same variable contained
  defaults in multiple files.  The new behavior just accumulates all
  default specifications for a variable, whether they come from a single
  file or from multiple files.  It's the responsibility of the get_value
  method to find the best match among all possible default values.

Build/NamelistDefinition.pm
. added methods for extracting data from the namelist definition file for
  the purpose of producing documentation
. moved the validate_variable_value call to the _validate_pair method
. make the method interfaces case insensitive by converting all variable
  names passed as arguments to lower case, and by maintaining the variable
  names in lower case in the internal data structures.

==============================================================
Tag name:  perl5lib_081001
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Wed Oct  1 19:18:52 MDT 2008
One-line Summary:  Fix validate_variable_value so will work from a generic namelist

Add unit test to set a variable in a generic namelist and use validate_variable_value
to verify it's value is correct for the right one. This required sending the variable
value into valicate_variable_value.

M      Build/NamelistDefinition.pm
M      Build/Namelist.pm
M      t/04.t
M      t/output_test_namelist.nl

==============================================================
Tag name:  perl5lib_080924
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Wed Sep 24 17:22:07 MDT 2008
One-line Summary:  Add ability to read in additional files for defaults and definition, add empty config, and add lastmonth option to streams

M      Build/NamelistDefaults.pm ------- Add "add" method to read in an additional file
                                         after object already constructed.
M      Build/Config.pm ----------------- Add ability to create an empty config object.
M      Build/NamelistDefinition.pm ----- Add "add" method to read in an additional file
                                         after object already constructed.
M      Streams/Template.pm ------------- Add option to output previous year December in
                                         list of filenames for %ym (lastmonth option)
>>>>>>>>>>>>>> Get testing working with above changes and features added
M      t/datm.streams.txt
M      t/01.t ----------------------- Test that empty config works
M      t/namelist_defaults_cam.xml -- Separate defaults into cam and clm parts
M      t/02.t ----------------------- Test that lastmonth option works for streams
D      t/namelist_definition.xml ---- Separate definition into cam and clm parts
M      t/04.t ----------------------- Test that add method works for both defaults
                                      and namelistdefinition.
A      t/namelist_defaults_clm.xml -- Just the clm defaults
A  +   t/namelist_definition_clm.xml  Just the clm part of the definition
A      t/namelist_definition_cam.xml  Everything but the clm part of the definition

==============================================================
Tag name:  perl5lib_080715
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Mon Aug 11 10:44:52 MDT 2008
One-line Summary: Turn off printing of file existance if NOT -verbose

M      Streams/Template.pm ----------- Turn off printing of file
                checking if NOT $printing;

==============================================================
Tag name:  perl5lib_080715
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Tue Jul 15 15:51:06 MDT 2008
One-line Summary: Add ability to optionally include tInterpAlgo

M      Streams/Template.pm ----------- Add optional ability to deal with tInterpAlgo
M      t/02.t ------------------------ Add tInterpAlgo unit test
M      t/datm.template.streams.xml --- Add new stream with tInterpAlgo

==============================================================
Tag name:  perl5lib_080701
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Tue Jul  1 14:52:20 MDT 2008
One-line Summary: Include previous year December for streams %ym form

M      Streams/Template.pm ---- Include the year before beg_year December when listing
       year-month files with the %ym form.
>>>>>>>> Change so unit-test for streams will work
M      t/datm.streams.txt
M      t/02.t

==============================================================
Tag name:  perl5lib_080611
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Wed Jun 11 13:10:37 MDT 2008
One-line Summary: Increase line length to 90 characters before split up values...

M Build/Namelist.pm --- Split up line after 90 characters long instead of 70.

==============================================================
Tag name:  perl5lib_080604
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Wed Jun  4 13:11:56 MDT 2008
One-line Summary: Finalize validation changes

Improve documentation, make sure all public methods are documented. Remove notes
about needing to do validation as is done now. Change the validate methods a bit
and make them more robust.

M  Build/Config.pm --------------- Add get_valid_values method and use it internally.
M  Build/NamelistDefinition.pm --- Add namelist validate_variable_value to validate
                                   method. Add option to return without quotes to
                                   get_valid_values method.
M  Build/Namelist.pm ------------- Make validate_variable_value more robust.

>>>>> Get unit tests to work with above changes and add tests for new methods.

M  t/01.t
M  t/namelist_definition.xml
M  t/04.t
M  t/config_cache.xml
M  t/config_definition.xml

==============================================================
Tag name:  perl5lib_080522
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Thu May 22 23:41:48 MDT 2008
One-line Summary: Add methods to check valid values

M     Build/Namelist.pm ------------- Add validate_variable_value method
M     Build/NamelistDefinition.pm --- Add get_valid_values method
M     t/04.t ------------------------ Add tests for new methods
M     t/output_test_namelist.nl ----- Add new variables that are being checked

==============================================================
Tag name:  perl5lib_080517
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Wed Apr 30 16:45:02 MDT 2008
One-line Summary: Add optional method to add comments to end of namelist file

M      Build/Namelist.pm ------------- new method and option to write method
M      t/datm.streams.txt ------------ add comments
M      t/output_test_namelist.nl ----- add comments
M      t/04.t ------------------------ add new option
M      t/config_definition.xml ------- change so sets needed data

==============================================================
Tag name:  perl5lib_080430
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Wed Apr 30 16:45:02 MDT 2008
One-line Summary: Add file check for DIN_LOC_ROOT and add Namelist stuff

Add file check for DIN_LOC_ROOT in Streams/Template.pm
Add new files and simple tests for Namelist objects from cam3_5_43.

------------ New namelist objects from cam3_5_43
A      Build/NamelistDefaults.pm
A      Build/NamelistDefinition.pm --- change hgrid attribute to res.
A      Build/Namelist.pm
------------ Tests for namelist objects.
A      t/namelist_defaults_cam.xml
A      t/namelist_definition.xml
A      t/output_test_namelist.nl
A      t/04.t
------------ Changes
M      t/config_cache.xml ----- Set resolution and dyn to something.
M      Streams/Template.pm ---- Change so can test for files with DIN_LOC_ROOT in them.

==============================================================
Tag name:  perl5lib_071204
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Tue Dec  4 13:13:42 MST 2007
One-line Summary: Add in decomposition stuff

Add Decomp::Config object and add tests for it in the test directory.

==============================================================
Tag name:  perl5lib_070928
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Fri Sep 28 12:56:01 MDT 2007
One-line Summary: Add in Streams Template stuff

Also add a get_names method to Build/Config.pm
And add in tests to Streams::Template. Modify Config
tests to use relative path rather than a specific absolute
path to a directory for Brian Eaton.

==============================================================
==============================================================
Tag name:  perl5lib_070817
Originator(s):  erik (KLUZEK ERIK 1326 CGD)
Date: Fri Aug 17 15:24:50 MDT 2007
One-line Summary: Initial checkin from cam3_5_08
==============================================================
