================================================================================
SVN $Id: ChangeLog 45058 2013-03-20 16:12:21Z jedwards $
SVN $URL: https://parallelio.googlecode.com/svn/trunk $
================================================================================
This file describes what tags were created and why
===========================
Originator: jedwards
Date: Jan 14, 2015
Model: pioi
Version: pio1_9_10
One-line : improved handling of overlaps

M box_rearrange.F90.in

===========================
Originator: jedwards
Date: Dec 26, 2014
Model: pio
Version: pio1_9_9
One-line : remove broken BGQ opt

M  pio/piolib_mod.F90

===========================
Originator: jedwards
Date: Nov 26, 2014
Model: pio
Version: pio1_9_0
One-line : Add code for pio2 api compatability

M        pio/nf_mod.F90
M        pio/pio.F90
M        pio/piolib_mod.F90
	
===========================
Originator: jedwards/santos
Date: Nov 19, 2014
Model: pio
Version: pio1_8_14
One-line : Fix minor errors pointed out by valgrind

M   piolib_mod.F90

===========================
Originator: jedwards/santos
Date: Oct 28, 2014
Model: pio
Version: pio1_8_13
One-line : Fix minor errors pointed out by valgrind

M   pio_support.F90
M   nf_mod.F90


===========================
Originator: jamroz
Date: April 8, 2014
Model: pio
Version: pio1_8_12
One-line : Update cmake tag

M      .
M       SVN_EXTERNAL_DIRECTORIES

===========================
Originator: jedwards
Date: Mar 17, 2014
Model: pio
Version: pio1_8_11
One-line : timing build should be optional

M   pio/CMakeLists.txt

===========================
Originator: jedwards
Date: Feb 20, 2014
Model: pio
Version: pio1_8_10
One-line : add gptl timing library support 

M              924   pio/CMakeLists.txt
M              924   testpio/CMakeLists.txt
M              924   timing/CMakeLists.txt
M              924   unittests/driver.F90
M              924   unittests/CMakeLists.txt

===========================
Originator: jedwards
Date: Feb 12, 2014
Model: pio
Version: pio1_8_9
One-line : bug fix in darray_write_complete

M    piodarray.F90.in
M    pio_types.F90

===========================
Originator: jedwards
Date: Jan 24, 2014
Model: pio
Version: pio1_8_8
One-line : Fix some issues with netcdf4c

M              924   pionfatt_mod.F90.in
M              924   piodarray.F90.in
M              924   pionfget_mod.F90.in
M              924   pionfread_mod.F90.in



===========================
Originator: jedwards
Date: Jan 16, 2014
Model: pio
Version: pio1_8_7
One-line  Fix issues with BGQ topology, fix minor memleaks

M   topology.c
M   piolib_mod.F90


===========================
Originator: jedwards
Date: Dec 11, 2013
Model: pio
Version: pio1_8_6
One-line summary: further build updates



===========================
Originator: jedwards
Date: Dec 06, 2013
Model: pio
Version: pio1_8_5
One-line summary: Get cmake utilities from external repository

D pio/cmake
D SVN_EXTERNAL_DIRECTORIES
A pio/SVN_EXTERNAL_DIRECTORIES
 
===========================
Originator: jedwards
Date: Dec 06, 2013
Model: pio
Version: pio1_8_4
One-line summary: added unittests - tested on yellowstone_intel and hopper_pgi - these tests must be run from an
  interative login session

A unittests/

===========================
Originator: jedwards
Date: Dec 03, 2013
Model: pio
Version: pio1_8_3
One-line summary: cmake updates

M pio/cmake/TryCSizeOf.f90
M pio/cmake/TryMPISERIAL.f90
M pio/CMakeLists.txt


===========================
Originator: jedwards
Date: Nov 24, 2013
Model: pio
Version: pio1_8_2
One-line summary: fix issues with put in pnetcdf

M   pionfput_mod.F90.in
M   pionfput_mod.F90

===========================
Originator: jedwards
Date: Nov 19, 2013
Model: pio
Version: pio1_8_1
One-line summary: Fixes for problems found in the build of cesm1_3_alpha06c

  M pio_types.F90
  M pio.F90
  M nf_mod.F90



===========================
Originator: jedwards
Date: Nov 13, 2013
Model: pio
Version: pio1_8_0
One-line summary:  switch to a cmake build, updates for mira, fixes for netcdf4p

	remove all autoconf support files, add cmake support files. 
	it is currently required to run tests by hand, a cmake implimentation
	of tests is planned but incomplete.   CESM tests have been run 
	on this tag.   

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_7_2
Originator(s): Jim
Date: 05-31-2013
One-line Summary: Bug fix in calcdecomp.F90

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
M   Calcdecomp.F90  - only mark as converged if all iotasks are counted
M   box_rearranger.F90.in - add code to avoid an infinate loop
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:   Bugzilla 1721

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:  Jim 

Summary of pre-tag testing:

  Regression tests:  
	testpio.693883.stdout:test complete on yellowstone 103 tests PASS, 0 tests FAIL
        testpio.696040.stdout:test complete on yellowstone_gnu 80 tests PASS, 0 tests FAIL
        testpio.696166.stdout:test complete on yellowstone_pgi 80 tests PASS, 0 tests FAIL


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_7_1
Originator(s): Jim
Date: 05-20-2013
One-line Summary: bug fix in calcdecomp.F90

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
               M     calcdecomp.F90
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: edge case in ROF model, problem was found in cesm test 
	ERS_N2.f19_g16.B20TRC5CN.yellowstone_intel

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Self

Summary of pre-tag testing:   

  Regression tests:   
	testpio.693883.stdout:test complete on yellowstone 103 tests PASS, 0 tests FAIL
        testpio.696040.stdout:test complete on yellowstone_gnu 80 tests PASS, 0 tests FAIL
        testpio.696166.stdout:test complete on yellowstone_pgi 80 tests PASS, 0 tests FAIL
	cesm1_2_rel03 prebeta yellowstone intel tests all pass. 


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_7_0
Originator(s): Jim
Date: May 10, 2013
One-line Summary: Bug fix in calcdecomp, remove parameters from mpi_bcast
	and pass variables to satisfy f90 module issues.  

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
               pionfput_mod.F90.in
               piolib_mod.F90
               pionfget_mod.F90.in
               pionfatt_mod.F90.in
               piodarray.F90.in
                  Remove constant fields from mpi_bcast calls, these were not errors, but 
	          caused problems with the F90 interface in fujitsues mpi.mod
	       calcdecomp.F90
	           Every io task now computes all io tasks start and count and checks them
	           for consistancy, if inconsistant reduce the number of io tasks by 1 and try 
	           again.

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: 

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:  Jim

Summary of pre-tag testing:

  Regression tests:
     test complete on yellowstone 103 tests PASS, 0 tests FAIL
     test complete on yellowstone_gnu 80 tests PASS, 0 tests FAIL
     test complete on yellowstone_pgi 80 tests PASS, 0 tests FAIL
     cesm intel prealpha tests on yellowstone

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_9
Originator(s): Jim
Date: May 01, 2013
One-line Summary: minor fix (again) in box_rearrange.F90 for mpi-serial

M                 pio/box_rearrange.F90.in
M                 pio/box_rearrange.F90

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_8
Originator(s): Jim
Date: April 23, 2013
One-line Summary: minor fix in box_rearrange.F90 for mpi-serial
	
M                 pio/box_rearrange.F90.in
M                 pio/box_rearrange.F90

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_7
Originator(s): Jim
Date: April 22, 2013
One-line Summary: bug fixes in async interface, mpi-serial interface

List all subroutines eliminated:

List all subroutines added and what they do:
	readded file dtypes.h which is generated but timestamps were causing issues

List all existing files that have been modified, and describe the changes:
M                 pio/pio_msg_callbacks.F90
M                 pio/piolib_mod.F90
M                 pio/Makefile
M                 pio/pio_msg_mod.F90
A                  pio/dtypes.h
M                 pio/nf_mod.F90
M                 pio/piodarray.F90.in
M                 pio/piodarray.F90
M                 pio/iompi_mod.F90.in
M                 pio/iompi_mod.F90
M                 pio/box_rearrange.F90.in
M                 pio/box_rearrange.F90
M                 pio/pionfput_mod.F90.in
M                 pio/pionfput_mod.F90



	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim 

Summary of pre-tag testing: cesm prealpha testing
	

  Regression tests:
test complete on yellowstone 103 tests PASS, 0 tests FAIL
test complete on yellowstone_gnu 80 tests PASS, 0 tests FAIL
test complete on yellowstone_pgi 80 tests PASS, 0 tests FAIL


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_6
Originator(s): Jim, Alice
Date: Apr 03, 2013
One-line Summary: Documentation update, mv genf90.pl to external, bug fix in nfput for pnetcdf 

List all subroutines eliminated:  pio_quicksort.F90 (not used), dtypes.h (now autogenerated) genf90.pl (now external)

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	Many changes in documentation.   
	pionfput_mod.F90.in: Made put_var_0d_{TYPE} explicit and seperate from put_var_{DIMS}d_{TYPE} to allow
	for a bug fix in 0d vars written using pnetcdf and to allow some CPP code cleanup.
	

List all component tags that were used to create pio tag:
                    genf90: genf90_130402
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: Bugzilla 1647

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:  Jim

Summary of pre-tag testing:

  Regression tests:   cesm1_2_beta05 yellowstone_intel.prealpha tests
	                    test complete on yellowstone_gnu 80 tests PASS, 0 tests FAIL
	                    test complete on yellowstone 103 tests PASS, 0 tests FAIL
                            test complete on titan 102 tests PASS, 0 tests FAIL
	 


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_5 
Originator(s): Jim
Date: 03-07-2013
One-line Summary: minor change to work with mpi-serial

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
    piolib_mod.F90 : add ifdef around MPI datatype calls (not supported by mpi-serial lib)
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_4
Originator(s): Jim
Date: 03-06-2013
One-line Summary: improved init_decomp performance

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
M             pio/configure.ac
M             pio/configure
                    Updated version number in configure
M             pio/piolib_mod.F90
M             pio/box_rearrange.F90
M             pio/box_rearrange.F90.in
                    Refactored search algorythm for ionodes significantly reducing the
	            time required for this operation
	
M             testpio/build_defaults.xml
A             testpio/ystest.sh
	             Changes to allow yellowstone to run netcdf4 tests, requires
	             a new script to submit compile to caldera.
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:
       box_rearrange_create time was reduced significantly with a change
	to the search algorythm


Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:    test complete on yellowstone 103 tests PASS, 0 tests FAIL
	                       cesm yellowstone prealpha tests completed (cesm1_2_alpha03c)
	
===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_3
Originator(s): Jim
Date: 02-28-2013
One-line Summary: Remove indep mode calls from pnetcdf interface

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	 testpio/testpio.F90  - reordered write of integer test file, useful for debugging
	 testpio/testpio_run.pl - fix netcdf4 test match
	 testpio/build_defaults.xml - update yellowstone interface to work with netcdf4 tests
	                                           a minor change to make the file xml compliant
	 testpio/check_mod.F90 - update test to avoid underflow warning
	 testpio/Utils.pm - update modules loaded for yellowstone
	                            a minor change to support xml compliance in build_defaults.xml
	 pio/configure.ac  - fix sizeof test issue
	 pio/configure
	 pio/calcdisplace_mod.F90 - remove intent from pointer argument
	 pio/pionfput_mod.F90.in  - rework interface to pnetcdf to avoid indep_mode
	 pio/pionfput_mod.F90
	 pio/piolib_mod.F90 - add gensubarray routine to create subarray mpitype 
	 pio/piovdc.F90 - reindent file

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:  test complete on yellowstone 103 tests PASS, 0 tests FAIL
                    test complete on titan 102 tests PASS, 0 tests FAIL

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_2
Originator(s): jim
Date: 02-07-2013
One-line Summary: support for large data (bug fix), autoconf update

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
M              703   testpio/testpio_run.pl   - When using --twopass option do not
	                    submit job unless build completes successfully
M              700   testpio/gdecomp_mod.F90  - fix a dependancy issue
M              700   pio/calcdisplace_mod.F90  - fail silently on overflow of displace
	                          array, this data is not used for pnetcdf so by failing silently 
	                          here we defer the failure of mpiio i/o until the read or write call
M              700   pio/configure.ac  -  change line length max to 132 to support nag 
	                          fortran compiler
M              703   pio/piolib_mod.F90 - if displace array overflows in calcdisplace_mod
	                          set filetype to mpi_datatype_null
M              700   pio/configure
M              700   pio/aclocal.m4
M              700   pio/config.h.in
                                                   these autoconf generated files are in the repo 
	                                           for convience

	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:  Jim

Summary of pre-tag testing:

  Regression tests: Tested on challenger, titan, yellowstone with xlf,
  pgi, and intel compilers   


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_1
Originator(s): Jim
Date: 02-05-2013
One-line Summary: bug fix in reading 1d arrays

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
M   pio/piolib_mod.F90 lenblocks was incorrectly set to 1 for 1D arrays
M   testpio/Utils.pm updates for yellowstone_pgi
M  testpio/testpio_run.pl match yellowstone_pgi to host yellowstone
	  
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:   test complete on yellowstone 81 tests PASS, 0 tests FAIL
	                     test complete on titan  80 tests PASS, 0 tests FAIL
                             test complete on yellowstone_pgi 80 tests PASS, 0 tests FAIL
                             Also ran cesm1_2_alpha02a prealpha tests

===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_6_0
Originator(s): Jim
Date: 02-04-2013
One-line Summary: fix bug in genindexedblock to allow larger arrays, separate vdc init routine

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	M   piolib_mod.F90
	M   calcdisplace_mod.F90
	M   pio_types.F90 

	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:   mpas decomp issue when two leading non-decomposed dimensions.

Describe any changes made to scripts/build system:
                    Updated tests to reflect 
Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

Regression tests:   test complete on yellowstone 81 tests PASS, 0 tests FAIL
	                     test complete on titan  80 tests PASS, 0 tests FAIL
                             test complete on yellowstone_pgi 80 tests PASS, 0 tests FAIL

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_5_7
Originator(s): Jim
Date: 11-04-2012
One-line Summary: minor change in box_rearrange to avoid intel compiler bug

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
            box_rearranger.F90.in : a variable was changed from i4 to i8 that didn't need to be
	                            this was tickling a known issue in the intel compiler v 11.1
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Self

Summary of pre-tag testing:

  Regression tests:
                     yellowstone 80 tests PASS, 0 tests FAIL
                     lynx_intel 81 tests PASS, 0 tests FAIL
                     bluefire 114 tests PASS, 0 tests FAIL
===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name:pio1_5_6
Originator(s): Jim
Date: 10-30-2012
One-line Summary: minor change in pnetcdf interface, update documentation, update yellowstone in testpio

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
  Index: Doxyfile
  Index: doc/Decomp.txt
  Index: doc/GettingStarted.txt
  Index: doc/base.txt
  Index: testpio/testpio.F90
  Index: testpio/testpio_run.pl
  Index: testpio/build_defaults.xml
  Index: testpio/Utils.pm
  Index: pio/pionfwrite_mod.F90 
  Index: pio/pionfwrite_mod.F90.in
  Index: pio/pionfput_mod.F90
  Index: pio/pionfput_mod.F90.in
  Index: pio/pio_types.F90
  Index: pio/piolib_mod.F90
  Index: pio/piovdc.F90
  Index: pio/iompi_mod.F90.in

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
                  bluefire 114 tests PASS, 0 tests FAIL
		  yellowstone 80 tests PASS, 0 tests FAIL		  


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_5_5
Originator(s): Jim Edwards
Date: 10-15-2012
One-line Summary: bug fix for large >4GB data, cmake tools, updated timing lib

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	 testpio/build_defaults.xml:
	 testpio/Utils.pm:
	 testpio/testpio_run.pl : port to erebus and yellowstone
	 pio/box_rearrange.F90.in : promote some variables i4 to i8, remove debug prints
	 pio/calcdecomp.F90 : correct product calculation to i8
	 pio/topology.c : remove extra print statements (bluegene only)
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: 

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
                  bluefire 114 tests PASS, 0 tests FAIL
		  yellowstone 80 tests PASS, 0 tests FAIL		  

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_5_4   (ChangeLog was not updated for pio1_5_3)
Originator(s): Jim Edwards
Date: 9-12-2012
One-line Summary: move testlib to test directory make sure f95 compatible when 
	_COMPRESSION is not defined.  Clean up pionfput_mod.F90.in

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
       testpio/testpio.F90
       testpio/testpio_run.pl
       testpio/build_defaults.xml
       testpio/namelists/testpio_in.vdc01
       testpio/test_lib.F90
       testpio/gdecomp_mod.F90
       testpio/Utils.pm
       pio/pionfwrite_mod.F90.in
       pio/C_interface_mod.F90
       pio/calcdisplace_mod.F90
       pio/pionfput_mod.F90.in
       pio/pio_types.F90
       pio/box_rearrange.F90.in
       pio/pio_support.F90
       pio/pionfatt_mod.F90
       pio/pio_spmd_utils.F90
       pio/piodarray.F90.in
       pio/nf_mod.F90

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Jim

Summary of pre-tag testing: tested with several cesm1_1_alpha18a tests

  Regression tests:
                   bluefire 114 tests PASS, 0 tests FAIL
	           carver 81 tests PASS, 0 tests FAIL (intel)
                   hopper 80 tests PASS, 0 tests FAIL (pgi)
===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_5_2
Originator(s): Jim
Date: 7-21-2012
One-line Summary: bug fix in calcdecomp, port to carver

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
    M pio/calcdecomp_mod.F90
    M testpio/Utils.pm
    M testpio/build_defaults.xml

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: Wrong length of gaps array caused computation of block length to always return 1
            which increased memory consumption 3x or more

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:
               Substantial memory reduction in box_rearranger


Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:114 of 114 tests pass on Bluefire
                     81 of 81 pass on lynx_intel
                     81 of 81 pass on carver

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_5_1
Originator(s): Jedwards
Date: July 09, 2012
One-line Summary: Fix issues in async, make pnetcdf put calls root only

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	 testpio/build_defaults.xml
	 pio/piodarray.F90
	 pio/pio_msg_callbacks.F90
	 pio/pionfput_mod.F90
	 pio/pionfput_mod.F90.in
	 pio/piolib_mod.F90
	 pio/pio_msg_mod.F90
	 pio/piodarray.F90.in
	 pio/test_lib.F90

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:  81 of 81 tests pass on Janus
	             114 of 114 tests pass on Bluefire
	             80 of 80 pass on lynx


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_5_0
Originator(s): jedwards, ypolius
Date: 6-28-2012
One-line Summary:  New VDC2 output feature added

List all subroutines eliminated:
	 testpio/utils_mod.F90
	   subroutine Readheader is not used and was removed
List all files added and what they do:
          pio/piovdc.F90
	     Interface to the piovdc library
          testpio/namelists/testpio_in.vdc01
	     A test of vdc2 functionality
	  pio/m4/expat.m4
	     Test of expat availability for autoconf
    	  pio/C_interface_mod.F90
	     Some helper functions for c_interoperability
     	  pio/test_lib.F90
	     Another vdc2 developement test - this should probably be removed.
	
List all existing files that have been modified, and describe the changes:
	 testpio/testpio.F90
	 testpio/namelist_mod.F90
	 testpio/testpio_run.pl
	 testpio/gdecomp_mod.F90
   	   Updated dof arrays to be i8, added a vdc test
	   
	 testpio/testpio_build.pl
	 testpio/build_defaults.xml
	 testpio/Makefile
	   Updated to link with CXX compiler if nessasary and libraries to support vdc2 (expat)

	 testpio/namelists/testpio_in.wr01
           Fix a minor typo

	 pio/aclocal.m4
	 pio/configure.ac
	 pio/configure
	 pio/Makefile
	 pio/config.h.in
	 pio/Makefile.conf.in
	    Refactored to allow building with CXX and the (external) piovdc library

	 pio/pio_types.F90
	    Added new pio_iotype_vdc2

	 pio/pio.F90
	 pio/piolib_mod.F90
	 pio/piodarray.F90.in
	 pio/nf_mod.F90
            Added support for vdc2 datatype (requires _COMPRESSION)

	 pio/pio_support.F90.in
	 pio/box_rearrange.F90.in
	     Changed several variables to be of type pio_offset and added a test to check the kind of this variable
	
	 pio/calcdecomp.F90
	      Removed dead code

	
List all component tags that were used to create pio tag:
          https://parallelio.googlecode.com/svn/libpiovdc/trunk_tags/libpiovdc_1_0_1
	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:  Janus:  81 tests pass, 0 fail
	             Bluefire: 115 tests pass, 0 fail
                     Lynx:  80 tests pass, 0 fail
                     Lynx_intel: 80 pass, 0 fail
	             Intrepid(Challenger) 74 pass, 0 fail (testpio_run.pl was modified to avoid tests that are expected to fail)
	
===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_4_6
Originator(s): abaker, jedwards, goldhaber
Date: 6-26-2012
One-line Summary: Improve BGP performance, bug fix in GCD calculation

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	 timing/GPTLget_memusage.c
            Memory usage on intrepid was only being reported for IO nodes,
	    with this fix we now report all tasks
	 testpio/testpio.F90
	    Problem with mpi_finalize on bg machines - needs to be addressed
	 testpio/testpio_run.pl
	    Fix issue with path to NETCDF on bluefire
	 testpio/build_defaults.xml
	    Update testpio paths on lynx, lynx_intel
	 pio/calcdisplace_mod.F90
	    Fix GCD calculation bug
	 pio/piolib_mod.F90
	    Update Bluegene interface 
	 pio/topology.c


	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:  GCD was not always giving consistant results

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:  intrepid 74 tests PASS, 6 tests FAIL (expected)
                     Bluefire:  113 tests PASS, 0 tests FAIL
	             lynx intel :  80 tests PASS, 0 tests FAIL
	             lynx pgi : 80 tests PASS, 0 tests FAIL	


===============================================================
Tag name: pio1_4_5
Originator: Jim
Date: 05-19-2012
One-line Summary: bug fix in calcdecomp.F90
   pio/calcdecomp.F90

tests:
   bluefire
   lynx pgi
   lynx intel
   challenger (intrepid) 

===============================================================
Tag name: pio1_4_4 
Originator: Jim
Date: 04-18-2012
One-line Summary: Minor fixes for mpi-serial build and mpi_abort syntax

Modified Files:
  pio/pio_support.F90.in
  pio/pio_support.F90
  pio/pio_types.F90

test complete on lynx 80 tests PASS, 0 tests FAIL


Tag name: pio1_4_3
Originator(s): Jim, John Dennis
Date: 03-21-2012
One-line Summary: Add test decomp for MPAS, additional lustre optimizations

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

       testpio/testpio.F90
       testpio/config_bench.xml
       testpio/MPASA30km.csh
       testpio/CAM05.csh
       testpio/build_defaults.xml
       testpio/POPDv2.csh
       testpio/testpio_bench.pl
       testpio/namelist_mod.F90
       testpio/gdecomp_mod.F90
       testpio/MPASA60km.csh
       testpio/Utils.pm
       testpio/POPB.csh

       pio/pio_types.F90      
       pio/piolib_mod.F90
       pio/pio_kinds.F90
       pio/box_rearrange.F90.in
       pio/box_rearrange.F90
          Fix some minor issues including further protections against calling mpi with invalid (comm,info) handles.
	

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:
  Regression tests:  Bluefire:  113 tests PASS, 0 tests FAIL
	             lynx intel :  80 tests PASS, 0 tests FAIL
	             lynx pgi : 80 tests PASS, 0 tests FAIL


===============================================================
Tag name: pio1_4_2
Originator(s): Jim
Date: 03-??-2012
One-line Summary: Correct cppdef flags around use mpi call in pio_msg_callbackes.F90
	
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_4_1
Originator(s): Jim
Date: 02-23-2012
One-line Summary: async pnetcdf writes, bug fix in calcdecomp

List all subroutines eliminated:

List all subroutines added and what they do:
	pio_set_blocksize: PIO will try to generate contiguous blocks of this size on
	                       each iotask
	pio_set_buffer_limit_size: PIO will buffer up to this limit of bytes of data
	                        before flushing to disk (pnetcdf only)

List all existing files that have been modified, and describe the changes:

pio/calcdecomp.F90 
	Add code allowing for runtime setting of blocksize with default 884736 bytes
	Correct bug introduced in 1.4.0 which may cause index to exceed dimension bounds
pio/calcdisplace_mod.F90
	A few more variables need to be i8 for > 2GB array support
pio/pio.F90 
	Add new functions pio_set_buffer_size_limit and pio_set_blocksize to public entities

pio/piolib_mod.F90 
pio/pio_msg_callbacks.F90 
	Add function freedecomp_handler for async interface (fixes longstanding expected test failure)
pio/pio_msg_mod.F90
	Correct handling of iodesc when io is async
pio/pio_types.F90 
pio/piodarray.F90.in 
pio/pionfwrite_mod.F90.in 
	Add support for buffering IO fields written using pnetcdf async interface



testpio/POPDv2.csh
testpio/Utils.pm 
testpio/build_defaults.xml
testpio/namelists/testpio_in.pb06
  Update hopper interface, reduce size of arrays in pb06 to prevent memory blowout
	

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):
     
Bugs fixed: 

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:
   async pnetcdf change appears to be a 10x improvement on some systems


Code reviewed by: Self

Summary of pre-tag testing:

  Regression tests:  Bluefire:  113 tests PASS, 0 tests FAIL
	             lynx intel :  80 tests PASS, 0 tests FAIL
	             Hopper pgi : 113 tests PASS, 0 tests FAIL
                   

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name:  pio1_4_0
Originator(s): Jim
Date: 02-07-2012
One-line Summary:  add i8 ldof support 

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	 testpio/testpio.F90
	 testpio/testpio_run.pl
	 testpio/utils_mod.F90
	 testpio/Makefile
	 testpio/build_defaults.xml
	 testpio/testpio_bench.pl
	 testpio/namelist_mod.F90
	 testpio/check_mod.F90
	 testpio/Utils.pm


   	 pio/pio_msg_getput_callbacks.F90
	 pio/configure
	 pio/pionfwrite_mod.F90
	 pio/alloc_mod.F90
	 pio/pionfwrite_mod.F90.in
	 pio/piodarray.F90
	 pio/pio_msg_callbacks.F90
	 pio/alloc_mod.F90.in
	 pio/pio_spmd_utils.F90.in
	 pio/pionfput_mod.F90
	 pio/pionfread_mod.F90
	 pio/calcdisplace_mod.F90
	 pio/configure.ac
	 pio/rearrange.F90
	 pio/pio_utils.F90
	 pio/pionfput_mod.F90.in
	 pio/pio_types.F90
	 pio/iompi_mod.F90
	 pio/pio_mpi_utils.F90
	 pio/piolib_mod.F90
	 pio/pionfget_mod.F90.in
	 pio/pio_kinds.F90
	 pio/box_rearrange.F90.in
	 pio/pio_support.F90
	 pio/pionfatt_mod.F90
	 pio/pio_support.F90.in
	 pio/pio_msg_getput_callbacks.F90.in
	 pio/pio_spmd_utils.F90
	 pio/calcdecomp.F90
	 pio/ionf_mod.F90
	 pio/pio_msg_mod.F90
	 pio/piodarray.F90.in
	 pio/nf_mod.F90
	 pio/pionfget_mod.F90
	 pio/rearrange.F90.in
	 pio/pionfread_mod.F90.in
	 pio/box_rearrange.F90
	 pio/aclocal.m4
	 pio/iompi_mod.F90.in

         Added code to detect mpi.mod and use it if it exists, falling back to the 
	 mpif.h if it does not.   With some mpi implemenations this gives strong type checking
	 in the mpi interface.   Made all ldof related internals size i8 and added interfaces 
	 to call pio_initdecomp with i8 dof's, corrected calcdecomp code to consider max block 
	 size as well as min block size.   
         
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
	Bluefire:
	Janus - pgi
	lynx - intel


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_13
Originator(s): Jim, John
Date: 1-23-2012
One-line Summary: remove extra arrays for memory savings

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   pio_types.F90 add an ndof field and a padding int to the iodesc type structure
   box_rearranger.F90.in deallocate dest_ioproc and dest_ioindex after iodesc initialization.
     these are only needed for mpi-serial after this point.
   piodarray.F90.in allow for 7 possible dimensions on input arrays - this is the fortran limit.
   

	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:

Summary of pre-tag testing:

  Regression tests: Lynx PGI  74 Pass, 6 expected failures
	            Bluefire  74 pass, 6 expected failures.


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_12
Originator(s): Jim 
Date:  10-31-2011
One-line Summary:  Make flowcontrol default, add workaround for mpi_rsend bug in cray/gemini

List all subroutines eliminated: none

List all subroutines added and what they do: none

List all existing files that have been modified, and describe the changes:
     pio_spmd_utils.F90.in
     pio_support.F90.in
     box_rearrange.F90.in

	Added code to replace MPI_RSEND, MPI_IRSEND with MPI_SEND and MPI_ISEND when _NO_MPI_RSEND is 
	defined.   Made _USE_FLOW_CONTROL the default by replacing the macro with its negative _NO_FLOW_CONTROL
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:


Code reviewed by: self

Summary of pre-tag testing:  Full set of pretag testing completed on hopper.

  Regression tests:  bluefire 74 PASS, 6 expected failures
                      hopper  74 tests PASS, 6 tests FAIL

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_11
Originator(s): Jim
Date: 8/26/2011
One-line Summary: Further improvement of calcdecomp.F90

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   calcdecomp.F90 : After computing the optimal number of ioprocs we
	adjust that number down to be a multiple of the last decomposed 
	dimension.   This appears to be very robust, avoiding the edge cases
	that all of these recent tags have tried to address.
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:

Summary of pre-tag testing:

  Regression tests:  74 PASS, 6 expected failures
	             lynx       74 PASS, 6 expected failures
                    edinburgh  22 PASS, 2 expected failures
	In addition the startandcount serial test program was run on
	bluefire, this program should be run following any subsequent
	changes to calcdecomp.F90


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name:  pio1_3_10
Originator(s): Edwards
Date: 8/23/11
One-line Summary: A robust solution for calcdecomp.F90

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
       Calcdecomp.F90  - Added a correction for an unstanding edge
	condition in this algorytm,  tested hopefully thoroghly
       buildconf.xml  updated settings for netcdf on bluefire	

	
List all component tags that were used to create pio tag:

Describe the changes for each comdponent above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:  74 PASS, 6 expected failures
	             lynx       74 PASS, 6 expected failures
                    edinburgh  22 PASS, 2 expected failures
	In addition the startandcount serial test program was run on
	bluefire, this program should be run following any subsequent
	changes to calcdecomp.F90


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_9
Originator(s): Edwards
Date: 8-12-2011
One-line Summary: refactor calcdecomp again

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
    Calcstartandcount it is clear that the testsuite is not providing adequate
	coverage for testing the validity of this algorythm.  I keep finding issues
	with cesm

	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Self

Summary of pre-tag testing:

  Regression tests: bluefire   74 PASS, 6 expected failures
	             lynx       74 PASS, 6 expected failures
                    edinburgh  22 PASS, 2 expected failures


===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_8
Originator(s): Edwards
Date: 8-9-2011
One-line Summary: Update Cacldecomp.F90 

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
     Corrected a further edge error in calcdecomp.F90, added startandcount
	target to Makefile
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:  bluefire   74 PASS, 6 expected failures
	             lynx       74 PASS, 6 expected failures
                     edinburgh  22 PASS, 2 expected failures

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_7
Originator(s): Edwards
Date: 8-9-2011
One-line Summary: Update Cacldecomp.F90 

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   Calcdecomp.F90 was generating bad start and count arrays when
   gdims(n) was smaller than the number of io tasks.   
   Algorythm was changed to resolve this and a unit test was added in case
   of further issues.
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:  bluefire   74 PASS, 6 expected failures
	             lynx       74 PASS, 6 expected failures
                     edinburgh  22 PASS, 2 expected failures

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_6
Originator(s): Edwards
Date: 8-4-2011
One-line Summary: handle genf90.pl correctly

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
  pio/Makefile
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing: none - testing in cesm1_1_alpha02b

  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_5
Originator(s): Edwards
Date: 8-4-2011
One-line Summary: update autoconf and build stuff

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
 Index: testpio/testpio.F90
 Index: testpio/build_defaults.xml
	  Add code to use the AMPI compiler from the NCSA CHARM++ project, this 
	  is not working yet.
 Index: pio/m4/acx_mpi.m4
          Updated to work on cray systems with ftn and cc
 Index: pio/m4/fortran.m4
          Updated to latest autoconf 
 Index: pio/alloc_mod.F90.in
 Index: pio/alloc_mod.F90
	  Added Debug code
 Index: pio/pio_msg_callbacks.F90
	  Added an impicit none statement	
 Index: pio/Makefile
 Index: pio/config.h.in
 Index: pio/Makefile.conf.in
 Index: pio/configure.ac
	   Clean up and make configure and build work from other than the source directory
 Index: pio/pio_types.F90
	   Added null initialization for start and count variables - this is an F95 feature
 Index: pio/piolib_mod.F90
           Fixed some issues in start and count variables of iodesc_t structure.
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:

Summary of pre-tag testing:

  Regression tests: bluefire: 74 tests PASS, 6 tests FAIL(expected)  
	            edinburgh: 20 pass 2 fail (expected)
	            lynx : test complete on lynx 74 tests PASS, 6 tests FAIL (expected)


===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_2
Originator(s): Edwards
Date: 7-24-2011
One-line Summary: Fix some autoconf and cesm issues

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   Added some debug logging in alloc_mod.F90.in
   Added null initialization of some pointers in pio_types.F90, this is a f95 issue.
	

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:

Summary of pre-tag testing:

  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_3_1
Originator(s): Edwards, Dennis
Date: 07/06/2011
One-line Summary: update autoconf tools, remove getiostartandcount,
	 Add optimizations for lustre platform

List all subroutines eliminated:

List all subroutines added and what they do:
  added m4 subdirectory with various autoconf tools
  config.h.in
  added calcdecomp as a replacement for getiostartandcount
	
List all existing files that have been modified, and describe the changes:
  configure.ac, Makefile.conf.in
  Updated autoconf support 
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: http://bugs.cgd.ucar.edu/show_bug.cgi?id=1372

Describe any changes made to scripts/build system:
     configure.ac was brought up to compatability with autoconf 2.63
     a macros subdirectory was added with additional fortran and netcdf macros
	
Describe any substantial timing or memory changes:



Code reviewed by: Edwards

Summary of pre-tag testing:

  Regression tests: bluefire         80 pass, 0 fail
	            jaguar (pgi)     80 tests PASS, 0 tests FAIL
	            lynx_gnu         80 tests PASS, 0 tests FAIL
	            edinburgh (pgi)  22 pass 2 fail (expected)
	            
	


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name:pio1_3_0
Originator(s): Edwards, Dennis
Date: 05/04/2011
One-line Summary: Code Clean up, box rearranger bug fixes

List all subroutines eliminated:  mct_rearrange.F90.in mct_rearrange.F90.in

List all subroutines added and what they do: 

List all existing files that have been modified, and describe the changes:
	testpio/build_defaults.xml
	testpio/namelist_mod.F90
	pio/configure.in
	pio/configure
	pio/rearrange.F90.in
	pio/pio_types.F90	
	pio/Makefile
	pio/pio.F90
	   Remove support for mct rearranger
	pio/piodarray.F90.in
	   Fix line return in string issue
	pio/calcdisplace_mod.F90
	   Fix issues with handling gaps (holes) in source data array
	pio/piolib_mod.F90
	   Remove calcdisplace code duplicated in calcdisplace_mod
	pio/box_rearranger.F90.in
	   Avoid 0 sized array errors
	

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: Errors with handling holes in input arrays found with cam regression tests

Describe any changes made to scripts/build system:
	Removed references to mct in build

Describe any substantial timing or memory changes:
       

Code reviewed by: Edwards

Summary of pre-tag testing: Cam regressions on bluefire and edinburgh with xlf, pgi, lahey compilers - all pass

                     bluefire 80 tests PASS, 0 tests FAIL
                     edinburgh (lahey) 22 pass 2 fail (expected)
                     jaguar (pgi) 80 pass, 0 Fail
  

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_7
Originator(s): John Dennis
Date: 04-25-2011
One-line Summary: Significant reduction in memory usage due to changes in the way MPI data structures are used in the box rearranger.

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:   cam pretag testing on bluefire and edinburgh(PGI) all pass

  Regression tests:  bluefire (AIX) 80 PASS, 0 FAIL
                     edinburgh (lahey) 22 pass 2 fail (expected)
                     lynx (pgi) 80 pass, 0 Fail
                     frost (BGL) 74 pass, 6 fail (expected)

===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_6
Originator(s): Jim
Date: 11-19-2010
One-line Summary: Fix problems with single task run, cleanup mpi_info_set calls
	make start and count args static 

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:   cam pretag testing on bluefire and edinburgh(PGI) all pass

  Regression tests:  bluefire (AIX) 113 PASS, 0 FAIL
	             edinburgh (lahey) 22 pass 2 fail (expected)
	             lynx (pgi) 80 pass, 0 Fail
	             frost (BGL) 74 pass, 6 fail (expected)


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name:pio1_2_5
Originator(s): Jim
Date: 11-17-2010
One-line Summary: Fixed problems with single task (mpi-serial) runs.
                  Improved lynx port
	
List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
  pio/piolib_mod.F90  force rearranger to none when total tasks = 1
  testpio/Utils.pm    added module support for lynx
  
	
List all component tags that were used to create pio tag:
    MCT2_7_0_100228-mpiserial101109_tag02
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:


Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:   lynx      80 PASS 0  FAIL
	              bluefire  107 PASS, 0 FAIL
	              frost     74 PASS, 6 FAIL   (expected failures) 
	              edinburgh 22 PASS, 2 FAIL   (expected failures) 


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_4
Originator(s): Jim
Date: 11-15-2010
One-line Summary: Port to mirage, mpi-serial

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
    Some compilers export symbols included with include 'mpif.h even though
    the module is default private, fixed by using only clause in pio_types
    include statements
	
List all component tags that were used to create pio tag:
    MCT2_7_0_100228-mpiserial101109_tag02
	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:  

Describe any changes made to scripts/build system:
     added test for mirage1 
	
Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:  CESM lnd serial build

  Regression tests
        test complete on mirage1 11 tests PASS, 2 tests FAIL   (new system mpiserial intel compiler) 
	Jaguarpf          80 tests pass
        frost             74 PASS, 6 FAIL   (expected failures) 
	bluefire          
        edinburgh         22 pass, 2 fail   (expected failures) 

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_3
Originator(s): Jim
Date:11-12-2010
One-line Summary: bug fix in get_attname

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
    Added an internal variable of PIO_MAX_NAME length to get att names
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Jim

Summary of pre-tag testing:  cesm1_0_beta11 pretag testing on bluefire

  Regression tests:
           Edinburgh (lahey) 22 tests pass 2 fail (expected async tests)
	   Bluefire         107 tests pass
	   Jaguarpf          70 tests pass


===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_2
Originator(s): Jim
Date: 11-11-2010
One-line Summary: minor bug fixes

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   nf_mod.F90 : modified pio_def_var to avoid a bounds check error from
	 the pgi compiler
   piolib_mod.F90 : Removed NEED_MPI_ROOT ifdef and replaced with
	NO_MPI2 and MPISERIAL wrappers
   pio_support.F90 : fixed bug in variable declaration (missing ::)
   
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing: cam stand alone and cesm tests

  Regression tests:
           Edinburgh (lahey) 22 tests pass 2 fail (expected async tests)
	   Bluefire         107 tests pass
	   Jaguarpf          70 tests pass
	   frost             74 tests pass 6 fail (expected async tests)


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_1
Originator(s): Jim, Pat Worley
Date: 11-04-2010
One-line Summary:  bug fixes 

List all subroutines eliminated: 

List all subroutines added and what they do: 
	 camlike_decomp_generator:   Adds a cam type deconfiguration generator for testing and performance studies
	 

List all existing files that have been modified, and describe the changes:
	Index: testpio/testpio_build.pl
	Index: testpio/testpio.F90
	Index: testpio/testpio_run.pl
	Index: testpio/build_defaults.xml
	Index: testpio/testpio_bench.pl
	Index: testpio/namelist_mod.F90
	Index: testpio/gdecomp_mod.F90
	Index: testpio/Utils.pm
        Added support for a realistic cam-like decomp, added a new host edinburgh_openmpi, bug fix for 
	mpich-1 on edinburgh (MPI_ROOT is not defined in mpif.h)
        Updated intrepid flags to use netcdf-4
	
	Index: pio/aclocal.m4
	Index: pio/configure
	Index: pio/configure.ac
        Fixed a bug in getting mpif90 from the environment
	
	Index: pio/piolib_mod.F90
	Index: pio/ionf_mod.F90
        Improved Debug print statements, code clean up
	
	Index: pio/nf_mod.F90
        Renamed some variables which had the same name as the fortran len intrensic

	Index: pio/box_rearrange.F90.in
	Index: pio/box_rearrange.F90
        Minor change in flow control options (Pat)

        alloc_mod
	piolib_mod
	pio_support
	Removed references to mpi_comm_world
	
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:
                     cam regressions on bluefire
  Regression tests:  
                     bluefire 107 tests PASS, 0 tests FAIL
        	     jaguar 80 tests PASS, 0 tests FAIL
	             intrepid 60 tests PASS, 5 tests FAIL 
	                 Support for async on bluegene is incomplete in this tag.
		     test complete on edinburgh 22 tests PASS, 2 tests FAIL
     	                snet asb01    FAIL 
                        snet asb04    FAIL 
                        These are expected failures due to mpich not 
	                      supporting MPI-2 intercommunicators	  
                      

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_2_0
Originator(s):  Jim
Date: 10-14-2010
One-line Summary: Support for disjoint IO tasks

List all subroutines eliminated: 

List all subroutines added and what they do:
A  +            -   pio_msg_callbacks.F90
A  +            -   pio_msg_getput_callbacks.F90.in
      The subroutines in these files are the interface between the disjoint io tasks
	and the pio functions, to avoid circular dependencies they are not written in
	module form.   Each subroutine collects the input arguments from the compute
	tasks and calls the requested function.  Communication of function outputs back to the 
	compute tasks happens within the function so no post call clean up is required.
	
A  +            -   pio_msg_mod.F90
       This module contains the loop in which the disjoint io tasks wait for requests from 
	compute tasks.  Multiple compute communicators with distinct iosystem descripters are
	supported.   

	
A  +            -   dtypes.h
	Move type macros to an include file to be shared by multiple pio internal files


List all existing files that have been modified, and describe the changes:
    pionfwrite_mod.F90.in
    piodarray.F90
    pio_utils.F90
    pionfput_mod.F90.in
    pio_types.F90
    piolib_mod.F90
    pionfget_mod.F90.in
    Makefile
    pio_support.F90
    box_rearrange.F90.in
    pio.F90
    pio_support.F90.in
    pionfatt_mod.F90.in
    ionf_mod.F90
    piodarray.F90.in
    nf_mod.F90
    genf90.pl
    mct_rearrange.F90

      Add support for disjoint io tasks.   Add tests for disjoint tasks to testsuite.
      Improve support for netcdf4.  	


List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:   Added new files to build 

Describe any substantial timing or memory changes:

Code reviewed by:  Jim

Summary of pre-tag testing:

  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_1_2
Originator(s):  Jim
Date:  9-27-2010
One-line Summary: getiostartandcount fix

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
     piolib_mod.F90: removed fanning functionality in getiostartandcount
	this feature was not robust and was failing to converge in a number of cases.
        Fixed a case which allowed division by 0 if count(1)==0.
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:


Code reviewed by: self, Tony

Summary of pre-tag testing:

  Regression tests:
                     bluefire 107 tests PASS, 0 tests FAIL
        	     jaguar 74 tests PASS, 0 tests FAIL
		     edinburg 22 tests PASS, 0 tests FAIL
	
===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_1_1
Originator(s): Jim
Date: 05-26-2010
One-line Summary: fix for mpi-serial build

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
  piolib_mod.F90 correct #enddef placement.
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:
  updated jaguar modules
Describe any substantial timing or memory changes:



Code reviewed by: Jim

Summary of pre-tag testing:  
  Regression tests:  bluefire 107 tests PASS, 0 tests FAIL
        	     jaguar 80 tests PASS, 0 tests FAIL
		     test complete on edinburgh 22 tests PASS, 2 tests FAIL
     	                snet asb01    FAIL 
                        snet asb04    FAIL 
                        These are expected failures due to mpich not 
	                      supporting MPI-2 intercommunicators

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_1_0
Originator(s): Jim
Date: 05-20-2010
One-line Summary: code cleanup, improved netcdf4 performance 

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   updated optional timing library
   testpio.F90
   piolib_mod.F90
   topology.c
   namelist_mod.F90
	added BGP optimizations
   build_defaults.xml
   Utils.pm
   testpio_run.pl
   testpio_bench.pl
	added support for intrepid bgp platform

   testpio_run.pl
	added -twopass option to allow for compiling on the
	front end before submitting.  Default on Jaguar.
   check_mod.F90
	improved error message
   configure.ac
	added HAVE_MPI flag needed by timing
   pionfput_mod.F90.in 
	fixed a bug that created a potential race
	condition in the pnetcdf interface
   piolib_mod.F90
	Explicitly read input arguments on task 0 and ignore 
	others in pio_init, pio_openfile and pio_createfile
	calls.
   pio_kinds.F90
	Increase default string length
   box_rearrange.F90.in	
        Moved stdout info to debug mode only
   ionf_mod.F90
	Improved error handling
   
  

	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
	bluefire 107 tests PASS, 0 tests FAIL
	edinburgh 22 tests PASS, 0 tests FAIL 
	edinburgh_intel 22 tests PASS, 0 tests FAIL
	intrepid 
	jaguarpf 


===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_18
Originator(s): John
Date: 03-19-2010
One-line Summary: Reworked testpio execution scripts

List all subroutines eliminated: 

List all subroutines added and what they do:

	* runString creates a 'mpirun' string for a particular system (Utils.pm)	
	* submitString creates a 'qsub' string for a particular system (Utils.pm)	

List all existing files that have been modified, and describe the changes:

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:  pgi compiler could not open large files with direct access thus causing ccsm restart failures

Describe any changes made to scripts/build system:

	Reworked the testpio execution scripts such that the number of cores is now a 
	command line arguement.  Added preliminary support for columbia

Describe any substantial timing or memory changes:

Code reviewed by:  self & Jim

Summary of pre-tag testing:

  Regression tests:
	     bluefire 107 tests PASS, 0 tests FAIL
	     edinburgh 22 tests PASS, 0 tests FAIL 
	     edinburgh_intel 22 tests PASS, 0 tests FAIL
             frost 74 tests PASS, 0 tests FAIL
	     kraken 74 tests PASS, 0 tests FAIL

===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_17
Originator(s): Jim
Date: 03-18-2010
One-line Summary: Remove file detection subroutine

List all subroutines eliminated:  check_file_type

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:  pgi compiler could not open large files with direct access thus causing ccsm restart failures

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:  self 

Summary of pre-tag testing:

  Regression tests:
               ccsm regression on jaguar
	     bluefire 107 tests PASS, 0 tests FAIL
	     edinburgh 22 tests PASS, 0 tests FAIL 
	     edinburgh_intel 22 tests PASS, 0 tests FAIL
             frost 75 tests PASS, 0 tests FAIL
	     jaguar 75 tests PASS, 0 tests FAIL

===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_16
Originator(s): John
Date: 03-10-2010
One-line Summary: Updates to testing infrastructure

List all subroutines eliminated:

List all subroutines added and what they do:

   - Added file config_bench.xml which describes several different
     benchmarks which can be run.
   - Added fine testpio_bench.pl which executes a benchmark using
     a single command.

List all existing files that have been modified, and describe the changes:

   - Minor cleanup of memory usage in testpio
   - Moved some host specific code into Utils.pm
   - Marked code in the perl scripts that are host specific
   - Allowed the use of negative numIOprocs in namelist for BGL
   - Removed the b14 benchmark.  This was only added as experimental 
     code and it exceeds memory on Blue Genel/L when running on 
     64 MPI tasks.
   - Removed the 'bench' testsuite.  This was only added as 
     experimental code.
   - Added support for Kraken in PIO testsuite
   - Added script support in tesetpio_run.pl on Frost.
   - Turned on flow-control as default mode on frost

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

   - Minor cleanup of memory usage in testpio

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
             bluefire 107 tests PASS, 0 tests FAIL  **
             frost 74 tests PASS, 0 tests FAIL      **
             kraken 74 tests PASS, 0 tests FAIL     
             CAM regression
             ccsm pretags

  ** Note that reduction in the number of tests is the result of removing the 'bench' testsuite

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_15
Originator(s): Jim
Date: 03-03-2010
One-line Summary: unfix of pionfread_mod.F90

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
	     bluefire 119 tests PASS, 0 tests FAIL
	     edinburgh 22 tests PASS, 0 tests FAIL 
	     edinburgh_intel 22 tests PASS, 0 tests FAIL
             frost 75 tests PASS, 0 tests FAIL
	     jaguar 75 tests PASS, 0 tests FAIL
             ccsm pretags

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_13
Originator(s): Jim
Date: 3-2-2010
One-line Summary: fix bug in internal start and count array lengths

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
    pionfread_mod.F90.in
    pionfwrite_mod.F90.in
    pionfput_mod.F90.in
	internal start and count arrays were dependent on the lengths of
	the start and count arrays passed in.  They should instead be dependent
	on the number of dimensions of the variable being read or written.
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:


Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:
	     bluefire 119 tests PASS, 0 tests FAIL
	     edinburgh 22 tests PASS, 0 tests FAIL 
	     edinburgh_intel 22 tests PASS, 0 tests FAIL
             frost 75 tests PASS, 0 tests FAIL
	     jaguar 75 tests PASS, 0 tests FAIL
             all cam pretag tests on bluefire


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_12
Originator(s): Jim, John
Date: 02-35-2010
One-line Summary: bug fixes based on cam tests (future tags should be made after running cam regression)

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
	piolib_mod : corrected assumptions about number of decomp dimensions and number of tasks in io.
	

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by: Jim

Summary of pre-tag testing:
         
  Regression tests:
	     bluefire 119 tests PASS, 0 tests FAIL
	     edinburgh 22 tests PASS, 0 tests FAIL 
	     edinburgh_intel 22 tests PASS, 0 tests FAIL
             frost 75 tests PASS, 0 tests FAIL
	     jaguar 75 tests PASS, 0 tests FAIL
       all cam pretag tests on bluefire, edinburgh and calgary.

===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_11   (No changelog entry was made for pio1_0_10)
Originator(s): Jim, John
Date: 02-24-2010
One-line Summary: Blue Gene specific optimization 

List all subroutines eliminated:
     Removed the Makefile.conf.bluefire and changed testpio_run.pl so that configure is 
     run using the bash shell on bluefire.  (ksh is slow)
	
List all subroutines added and what they do: 
   
     PIO_getnumiotasks: This returns the actual number of IO tasks 
	 used by PIO.
    
     nextlarger: Calculates the next larger value which even divides an input arguement.


     determineiotasks:  A special routine only for Blue Gene which will load balance 
	io-tasks accross IO-nodes

     identity:	A Blue Gene specific routine which prints out node identity
      
List all existing files that have been modified, and describe the changes:

    pio/configure.ac

	Added CFLAGS to configure stdout 
   
    pio/pio_types.F90
	
	Moved ioranks array into type declaration.  This is a 
	necessary generalization because we no longer have even 
	strides for the IO ranks.  

    pio/piolib_mod.F90

        getiostartandcount has been generallized the provide more 
	functionality including:

	   - Block decomposition in the z-dimension 
	   - A fan-in/out limiter for the decomposition creation loop   	
       
        PIO_inidecomp_dof has been modified to call determineiotasks 
	if on a Blue Gene system 

	add BGP and BGL ifdef

    pio/Makefile 

	Includes the Blue Gene specific topology.c file

    pio/box_rearrange.F90.in

	Removed assumption about a fixed io-stride in the box rearranger

    pio/pio.F90

	exported public PIO_getnumiotasks subroutine 
	

    testpio/testpio_build.pl

	Exported ALLCFLAGS


    testpio/tstpio.F90

	Added test which only allocates arrays if they are used by the code.  
	
	Added the option to do 2-phase pass to measure performance.  The 
	first phase writes out all files, while the second phase will read all 
	files.  This 2-phase approach does a better job of filtering out the 
	impact of read-caching on performance measurements. 

	Fixed the diagnostic which prints out the location of the maximum memory usage

     testpio/testpio_run.pl 

	Added the new testsuite 'bench'

     testpio/build_defaults.xml 

	updated the version of pnetcdf on frost

     testpio/Utils.pm

	Added some module commands for kraken


List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

	Blue Gene specific optimizations that balance the number of io-tasks to io-nodes. 

	Added test which only allocates arrays if they are used by the code.  

	Added the option to do 2-phase pass to measure performance.  The 
	first phase writes out all files, while the second phase will read all 
	files.  This 2-phase approach does a better job of filtering out the 
	impact of read-caching on performance measurements. 

Code reviewed by: John, Jim

Summary of pre-tag testing:
	     bluefire 119 tests PASS, 0 tests FAIL
	     edinburgh 22 tests PASS, 0 tests FAIL 
	     edinburgh_intel 22 tests PASS, 0 tests FAIL
             frost 75 tests PASS, 0 tests FAIL
	     jaguar 75 tests PASS, 0 tests FAIL
        Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_9
Originator(s): Jim, Pat Worley
Date:
One-line Summary: handshaking for cray

List all subroutines eliminated: 

List all subroutines added and what they do:  pnetcdf_version_check
	 check that the pnetcdf version is new enough for pio

List all existing files that have been modified, and describe the changes:

  pio_spmd_utils.F90.in
        - Minor clean-up.

  pio_support.F90.in
    - Introduced of a new routine PIO_FC_GATHER_INT
    - Replaced call to MPI_GATHER in pio_writedof with a call to PIO_FC_GATHER_INT
    - Added handshaking messages to point-to-point gather-like operation in pio_writedof, enabled by the CPP flag _USE_FLOW_CONTROL. Without this flag, the original logic is executed.

	I do not know if the original MPI_GATHER call was causing
	problems, but gathers have become a red flag to me. If the CPP
	flag _USE_FLOW_CONTROL is not defined, then PIO_FC_GATHER_INT
	defaults to a call to MPI_GATHER. Defining _USE_FLOW_CONTROL
	enables the point-to-point implementation with flow control. I
	originally put this new routine in pio_spmd_utils, but circular
	module dependencies forced me to put it here.

   box_rearrange.F90.in

     - Added the following to the module preamble:

#ifdef _USE_FLOW_CONTROL
#define _USE_COMP2IO_FC 1
#define _USE_IO2COMP_FC 1
#define _USE_CREATE_FC 1
#endif

     - Minor clean-ups: renamed USESPACE to be _USE_SPACE, introduced more consistent spacing in subroutine calls, assignments, etc.

     - Introduced replacement implementations of the routines BOX_REARRANGE_CREATE and COMPUTE_COUNTS when _USE_FLOW_CONTROL is defined.

        The new BOX_REARRANGE_CREATE uses PIO_FC_GATHER_INT. The new
	COMPUTE_COUNTS uses SWAPM. The memory requirements are similar to
	the USESPACE branch in the original code, which is the default as
	far as I can tell. (The comments are a little confusing.) The
	performance of the MPI communication logic should be reasonable in
	the new implementations. Any extra cost will come from the memory
	requirements (allocate/assignment/deallocate). Since this is
	similar to what is used in USESPACE, I doubt that we will notice
	any difference.
     
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:
                          bluefire 107 tests PASS, 0 tests FAIL
			  jaguarpf 74 tests PASS, 0 tests FAIL
	                  edinburgh (intel compiler)  22 tests PASS, 0 tests FAIL
	                  edinburgh (lahey compiler)  22 tests PASS, 0 tests FAIL
	                  frost 74 tests PASS, 0 tests FAIL
	Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_8
Originator(s): Jim
Date: 02-02-10
One-line Summary: add netcdf4 backend

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
M              58   pionfwrite_mod.F90.in
M              58   pionfput_mod.F90.in
M              58   pionfatt_mod.F90.in
M              58   piodarray.F90.in
M              58   pionfget_mod.F90.in
M              58   pionfread_mod.F90.in
M              58   pio_types.F90
M              58   pio.F90
M              58   ionf_mod.F90
M              58   nf_mod.F90
M              58   pio_utils.F90
M              58   piolib_mod.F90
M              58   pio_spmd_utils.F90
M              58   configure.ac
M              58   aclocal.m4
     Added support for netcdf4, two new iotypes are defined  PIO_IOTYPE_NETCDF4C and PIO_IOTYPE_NETCDF4P
	for compressed and parallel options of netcdf4.   Files opened for read should open in the correct
	format 
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:
    Added tests for netcdf4 on bluefire
        
	
Describe any substantial timing or memory changes:



Code reviewed by: Jim 

Summary of pre-tag testing:
       bluefire: 107 tests PASS, 0 tests FAIL
       frost   : 74 tests PASS, 0 tests FAIL
       dublin  : 22 tests PASS, 0 tests FAIL
  Regression tests:   Tested in cam 


===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_7
Originator(s): Jim
Date: 1-12-10
One-line Summary: fix piolib_mod.F90 cpp macro bug

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
   piolib_mod.F90 corrected case of cpp macros
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:



Code reviewed by:  self

Summary of pre-tag testing:

  Regression tests:   cam test and bluefire


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio1_0_6
Originator(s): Jim & John
Date: 01-08-2010
One-line Summary: Moved repository to google code, changed revision naming scheme
List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:
	Removed the mct requirement
        Removed OPT flags added by default in configure, no OPT flags are
	included unless explicitly added by the user.
	
Describe any substantial timing or memory changes:

Code reviewed by: Jim and John

Summary of pre-tag testing:  

  Regression tests:  Bluefire, frost, dublin (pgi and intel) all tests pass

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio60_prod
Originator(s): Jim
Date:  12-07-2009
One-line Summary: Fix problems when using lahey compiler, fix last two 
	problems in testsuite.

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:

  pionfwrite_mod.F90.in : Removed irecv and replaced with recv
	irecv waitall combination was failing on dublin with lahey compiler
	no explaination was found.
  alloc_mod.F90.in : Changed variable named size to varlen to avoid conflict
	with intrensic of same name.
  piolib_mod.F90 : Modified GenIndexedBlock to allow for 0 length writes
	thus allowing tests bn01 and bn03 to pass.
  pio_support.F90.in: Removed a #ifdef USEMPIIO that was unneeded.	

  genf90.pl : Modified to print line numbers at the beginning of routines 
	instead of the end.  This should make line numbers from compilers and
	debuggers more accurate.
  iompi_mod.F90.in : 


	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:
   fixed the bn01 and bn03 tests.
	
Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:
     all 74 tests PASS on bluefire, frost and Jaguar
     all 22 tests PASS on dublin using lahey and intel compilers.
	
  Regression tests:
     

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio59_prod
Originator(s): Jim
Date: 10-20-2009 
One-line Summary: bug fix in pio_get_var

List all subroutines eliminated:

List all subroutines added and what they do:

List all existing files that have been modified, and describe the changes:
     Renamed functions in nf_mod to avoid redirection, this was done for the intel compiler
     Updated ChangeLog_template
	
List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:  MPI_Bcast was incorrect when number of dimensions on file
	 was greater than number of dimensions in variable.

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:  bluefire 70 of 74
                            cam regression
  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio58_prod
Originator(s): Jim
Date: 10-19-2009
One-line Summary:  Extend support for netcdf

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:  self

Summary of pre-tag testing:
                      Bluefire  70 of 74
		      cam regressions
  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio57_prod
Originator(s): Jim, Pat Worley
Date: 10-12-2009
One-line Summary: Fix bug in put_var_text, remove definition of MPI_INFO_NULL - defined in mpi_serial library.   Change logic of handshaking to avoid deadlock

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

pionf_mod.F90.in fixed a bug that caused text writes to fail if the text variable included the netcdf unlimited dimension

genf90.pl fixed preprocessor line numbering to refer to correct .in 
	file line numbers.  Debuggers and core files should now point back to
	the correct source line.  

pio_spmd_utils.F90.in : Changed send to isend in handshaking algorythm to avoid potential deadlock should mpi buffers become filled.

pio_types.F90 removed definition of MPI_INFO_NULL when compiled with mpi-serial, mpi-serial already defines this variable.

	
Bugs fixed:
	
Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: Self

Summary of pre-tag testing:
                      testpio was run on bluefire and frost
		      cam regression tests run on bluefire, calgary and dublin
	              homme interpolation tested
  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio56_prod
Originator(s): Jim
Date: 10-08-09
One-line Summary: Fixed a bug in mpi_free_info

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:  mpi_free_info was being called on an undefined mpi_info handle

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:  bluefire passes 70 of 74.
	cam regression test.

  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio55_prod
Originator(s): Jim
Date: 09-29-09
One-line Summary: New test scripts.  Added support for multidimensional darrays.
                  New documentation
	
List all component tags that were used to create pio tag: 

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

   There is no longer a need to flatten multidimensional arrays when calling
   pio_read_darray and pio_write_darray.  

Bugs fixed:

Describe any changes made to scripts/build system:  testpio_build.pl and testpio_run.pl 
	replace individual csh scripts.  

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:  Tested on bluefire, frost, dublin, athena, jaguar
	70 tests now pass and 4 fail - (bn01 and bn03).   
	Tests were also run with the cam testsuite.
	
  Regression tests:


==============================================================

*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio54_prod
Originator(s): J. Dennis
Date: 9-18-09
One-line Summary: Added PIO_finalize method. Reworked some of the logic checks in PIO_freedecomp.

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:  Bluefire test suite (12 failures expected)
                             Kraken test suite (12 failues expected)
  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio53_prod
Originator(s): Jim
Date: 9-11-09
One-line Summary: Rearranged structure of testpio so that memory leaks would be easier to detect.
	Added code to pio_freedecomp to deallocate mpi_types created in initdecomp.

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:

Describe any changes made to scripts/build system:  

Describe any substantial timing or memory changes: 

Code reviewed by: self

Summary of pre-tag testing:  Bluefire test suite (12 failures expected)
                             cam test suite on bluefire
  Regression tests:


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio52_prod
Originator(s): Jim
Date: 09-02-2009
One-line Summary: Additional options for testpio, reduce number of switchs to indep mode

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Added a new variable to the testpio_in namelist: nvars 
	which controls the number of variables written to the r4 and r8 files
	also added an unlimited dimension to test file variables
	moved setframe calls in testpio
	
Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: 

  Regression tests: bluefire test suite (12 failures expected)


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio51_prod
Originator(s): Jim
Date: 07-20-2009
One-line Summary: bug fix in piolib_mod (mpi_sum should have been mpi_max).
	          unmask error flag in nf_mod
		  netcdf f90 interface bug workaround in pionfputmod.F90

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:  

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:   Cam regressions (all pass).  bluefire test suite (12 failures expected)


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio50_prod
Originator(s): Jim, Tony, Mariana, John
Date: 7-1-2009
One-line Summary: bug fix in piolib_mod to accept base=0.  
	          fixed intel compiler line length problem
	          fixed getiostartandcount for large processor counts
	          fixed problems and improved testing on bluegene platforms

List all component tags that were used to create pio tag:
    mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
    timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221
    testpio/perl5lib https://svn-ccsm-models.cgd.ucar.edu/perl5lib/trunk_tags/perl5lib_090613/

	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):


Bugs fixed:

Describe any changes made to scripts/build system:
        Began working on improved test scripts using xml and perl - this is a
	work in progress, your contribution would be welcome.
	
Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:

  Regression tests:  
      bluefire: 62 PASS, 12 FAIL


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio49_prod
Originator(s): Jim
Date: 06-11-2009
One-line Summary: Improved boxrearranger performance

List all component tags that were used to create pio tag:
   mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
   timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221	
	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

   Disabled timing tests in frost test suite - the timing library needs a few changes 
	to work on frost
   Replaced getiostartandcount with an algorithm provided by Tony, this is doing a better
	job of decomposing into optimal strips
   Relaxed an error condition in box_rearranger that required the size of the comp location
	to be equal to the size of the dof.  We now require that the comp location is >= the
	size of the dof.
   Added a cpp instruction to allow a build with pnetcdf but without netcdf to work on a single
	processor.   This reduces the number of expected failures from 13 to 12.

   Changed cpp formating in box_rearranger.F90.in to satisfy fussy cpp in intel compiler.
	
Bugs fixed:

Describe any changes made to scripts/build system:
   Disabled timing tests in frost test suite - the timing library needs a few changes 
	to work on frost

Describe any substantial timing or memory changes:
    
Code reviewed by: Jim, Mariana

Summary of pre-tag testing:  testpio suite on bluefire and frost
	 cam testsuite on bluefire and calgary

  Regression tests:
      bluefire: 62 PASS, 12 FAIL
      frost   : 

===============================================================


===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio48_prod
Originator(s): John
Date: 06-05-09
One-line Summary: Added support for benchmark and testsuite on frost

List all component tags that were used to create pio tag:
   mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
   timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221	

	Added support for the benchmark and testsuite on frost.  

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:

Summary of pre-tag testing:

  Regression tests:
     A total of 50 passed and 24 failures.
	
===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio47_prod
Originator(s): Jim, Pat Worley
Date: 05-28-09
One-line Summary: Added communications options to box_rearranger

List all component tags that were used to create pio tag:
   mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
   timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221	

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):
      There are a number of options to be exercised,
      and exercising these is not yet very convenient.
      The options can be set in the calls to

      box_rearrange_comp2io_{TYPE}
      box_rearrange_io2comp_{TYPE}

      as optional parameters. As the calls to these routine
      don't do this currently, you will need to add defines
      to the Makefile and/or modify the code in order
      to enable the different options.

      1) Out of the box, the original cam3_6_39 algorithms
      are used. 

      2) Compiling with

      -D_USE_ALLTOALLW

      (after deleting box_rearrange.o :-) )

      will use the MPI_ALLTOALLW branch that
      Ray put in originally. Note that this code is always
      compiled. The ifdef now simply sets the option
      variable and a runtime if-test selects calling
      MPI_ALLTOALLW .

      3) Compiling with

      -D_USE_COMP2IO_FC

      (and not compiling with -D_USE_ALLTOALLW and
      deleting box_rearrange.o)) will use the
      pio_swapm routine in box_rearrange_comp2io_{TYPE} .

      Similarly, compiling with

      -D_USE_COMP2IO_FC

      will use the pio_swapm routine in box_rearrange_io2comp_{TYPE} .

       a) The default for this is to use handshaking, use MPI_SEND (not MPI_ISEND),
       and set the throttle on the number of nonblocking requests to 64.

        b) If you want to try one of the other options, modify the defaults at the
	top of box_rearrange.F90 as follows:

	enabling/disabling handshaking (true/false)
	#define DEF_P2P_HANDSHAKE .true.

	enabling/disabling using MPI_ISEND  (true/false)
	#define DEF_P2P_ISEND .false.

	setting/disbling the throttle (>0, -1)
	#define DEF_P2P_MAXREQ 64

	and recompile.

	

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:

Summary of pre-tag testing:

  Regression tests:
      Passed all expected tests on bluefire and jaguar (13 expected failures on each)
      Passed cam regression tests
	
===============================================================
===============================================================

*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio46_prod
Originator(s): John
Date: 05-22-09
One-line Summary: Bug fixes to benchmark code

List all component tags that were used to create pio tag:
   mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
   timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

	* Reduced the amount of memory used in gdecomp_DOF subroutine
	* Added several new benchmark configurations
	* Addressed bug in decomposition calculation algorithm 
	* Added support for full specification of IO decomposition
	  using namelist 
	* Added output of maximum memory across processors in testpio code
	


Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:  kraken tests completed
                     there are 13 tests expected to fail on kraken and 61 pass.

===============================================================

*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio45_prod
Originator(s): Jim, Pat Worley
Date: 05-19-09
One-line Summary: Changed send recv algorythm in pionfwrite_mod, minor bug fixes

List all component tags that were used to create pio tag: 
   mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
   timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221
	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):
    
	Added handshaking to make sure that irecv is posted prior to send in
	communications for netcdf output method in pionfwrite_mod.
	Replaced mpi_int with mpi_integer.  

	
Bugs fixed:  

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:  bluefire tests completed
	             there are 13 tests expected to fail on bluefire and 61 pass.
                     cam regression suite completed

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio44_prod
Originator(s): Jim
Date: 05-15-09
One-line Summary: Rewrite getiostartandcount routine in piolib_mod.F90

List all component tags that were used to create pio tag: 
   mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
   timing  https://svn-ccsm-models.cgd.ucar.edu/timing/trunk_tags/timing_081221
	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):
   
   A complete rewrite of thegetiostartandcount routine includes 3 options for
	how arrays should be decomposed onto the io processors plus allows the 
	user to specify start and count arrays at the application level.   
        The initdecomp interface therefor has three additional optional parameters
	
	initDecomp_1dof_nf_box(Iosystem,basepioTYPE,dims,compDOF, IOdesc, start, count, method_in)

	where start and count are of type PIO_OFFSET and have the same number of dimensions as dims
	and method_in is an integer with value 1 (inner dim first) ,2 (outer dim first), or 3 (largest to smallest)
	If either start or count is provided both must be and method_in is ignored.

Bugs fixed:  

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:  bluefire tests completed
	             there are 13 tests expected to fail on bluefire and 61 pass.
                     cam regression suite completed

===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio43_prod
Originator(s): Jim
Date: May 11, 2009
One-line Summary:  PGI compiler doesnt like 0 sized arrays.


Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: testpio run on bluefire

  Regression tests: cam tests on bluefire and calgary(lahey and pgi)


==============================================================================================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio42_prod
Originator(s): Jim
Date: May 4, 2009
One-line Summary:  Fixed problem when size of field output with parallel mechanism write_darray was smaller than the number of io procs.   Added a minimum count per io proc - currently set to 16.


Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: 

  Regression tests: 


===============================================================

===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio41_prod
Originator(s): Jim
Date: May 1, 2009
One-line Summary:  fixed a configure error: -D_MPISERIAL define was missing


Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: 

  Regression tests: bluefire all pass


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***

Tag name: pio40_prod
Originator(s): Jim
Date: May 1, 2009
One-line Summary:  Added pio_64bit_offset flag, --enable-mpiserial forces --disable-pnetcdf


Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: 

  Regression tests: bluefire all pass


===============================================================
===============================================================
*** You must run 'make predist' in the pio subdirectory before committing. ***
===============================================================

Tag name: pio39_prod
Originator(s): tcraig
Date: April 30, 2009
One-line Summary: Comment out 64BIT_OFFSET in nf_mod.F90

- commented out use of the 64BIT_OFFSET hardwired setting
  in nf_mod.F90, createfile.

===============================================================
Tag name: pio38_prod
Originator(s): Jim
Date: April 17, 2009
One-line Summary: Fixed generated files, clarified procedure for commiting

===============================================================
 
Tag name: pio37_prod
Originator(s): tcraig
Date: 03/20/2009
One-line Summary: add Makefile.conf.bluefire for ccsm build

add Makefile.conf.bluefire for ccsm build.  has no effect on
standalone implementation.

===============================================================
 
Tag name: pio36_prod
Originator(s): Jim
Date: 03/20/2009
One-line Summary: minor bug fix and sanity check

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: Subname variable was undeclared in mct_rearrange_init

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:

Summary of pre-tag testing:  

  Regression tests: cam regression tests


===============================================================

===============================================================
 
Tag name: pio35_prod
Originator(s): tcraig
Date: 03/05/09
One-line Summary: merge testdev11_pio34_prod to trunk

 - Add timing lib
 - Update tests
 - Update error checking
 - Update testpio scripts
 - and more...

===============================================================
 
Tag name: pio34_prod
Originator(s): tcraig
Date: 03/05/09
One-line Summary: pio bug fixes

 - Fix pio_types bug for MPIIO builds only in pio_types.F90 (jedwards)
 - Fix xl__trbk calls in pio_support.F90.in (jedwards)
 - Fix argument attributes on dof in pio_support.F90.in (jedwards)
 - Fix use of pio_nofill and pio_unlimited in ifdef in pio.F90 (jedwards)
 - Fix fill value bug in piodarray.F90.in (tcraig)

===============================================================
 
Tag name: pio33_prod
Originator(s): tcraig
Date: 02/06/09
One-line Summary: testpio update, pio update

 - Fix a couple pio bugs (jedwards)
 - Add pio_readdof, pio_writedof subroutines in pio_support
 - Update build and run scripts for bluefire, jaguar,
   franklin, kraken, and intrepid.
 - Update suite of tests to better reflect capabilities
 - Update testpio to add readdof and writedof capability
 - Update README
 - Extend testpio logic wrt test capabilities

===============================================================
 
Tag name: pio32_prod
Originator(s): tcraig
Date: 01/30/09
One-line Summary: Merge testdev07_pio31_prod to trunk

 - Update testpio
 - Update pio for fixes to bin/rearrange mode (jd)

testpio.bluefire.run
testpio_suite.bluefire.run
testdecomp.bluefire.run

all run to completion on bluefire
	
===============================================================
 
Tag name: pio31_prod
Originator(s): Jim Edwards
Date: 01/30/09
One-line Summary: Minor bug fix, update configure for mpiio

  pio/configure    
  pio/configure.ac 
  pio/piolib_mod.F90
	
===============================================================
 
Tag name: pio30_prod
Originator(s): Jim Edwards
Date: 01/30/09
One-line Summary: Minor bug fixes for Lahey compiler

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:

Summary of pre-tag testing:  cam regression on bluefire and calgary

  Regression tests:


===============================================================

===============================================================
 
Tag name: pio29_prod
Originator(s): John Dennis
Date: 01/21/09
One-line Summary:  Exported more symbols need by POP

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:

Summary of pre-tag testing:

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio28_prod
Originator(s): Jim
Date: 12/16/08
One-line Summary: Changed configure to not try to compute sizeof when --host is specified

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by:

Summary of pre-tag testing:

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio27_prod
Originator(s): Jim, Ray
Date: 12/10/08
One-line Summary: configuration changes

List all component tags that were used to create pio tag:
  mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_5_1_080912
	
Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):
	Reconfigured to build as a standalone library in CCSM build.
    
Bugs fixed:

Describe any changes made to scripts/build system:
   configuration tools moved to pio subdirectory to allow exporting
   pio lib without test directory and externals
	
Describe any substantial timing or memory changes:

Code reviewed by: Jim

Summary of pre-tag testing:  tested using cam test suite on bluefire and calgary

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio26_prod
Originator(s): Jim
Date: 10/20/08
One-line Summary: Minor bug fixes

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: 

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: tested with homme/cam on bluefire and calgary

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio25_prod
Originator(s): Jim
Date: 10/03/08
One-line Summary:  Port to lf95 6.1 compiler

List all component tags that were used to create pio tag: MCT2_5_1_080912

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:  

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: me

Summary of pre-tag testing:  tested against cam on bluefire and bangkok

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio24_prod
Originator(s): Jim
Date: 8/28/08
One-line Summary:  mem leak fix, updates to pio unified interface

List all component tags that were used to create pio tag: MCT2_5_1_080522

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: me

Summary of pre-tag testing:  tested on bluefire and with cam and homme interfaces

  Regression tests:


===============================================================

===============================================================
 
Tag name: pio23_prod
Originator(s): Jim
Date: 4/24/08
One-line Summary:  Added line-number generation to code generator

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing: tested on aix and with cam

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio22_prod
Originator(s): Jim Edwards
Date: 4/14/08
One-line Summary:  Moved F90 generation from cpp to perl script genf90.pl

List all component tags that were used to create pio tag: 
	mct   https://svn-ccsm-models.cgd.ucar.edu/mct/trunk_tags/MCT2_4_2_071026

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):
       This change reduces duplication of code and reduces reliance on CPP
       which can be a bit finicky.

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:   Tested on AIX

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio21_prod
Originator(s): Jim Edwards
Date: 4-9-2008
One-line Summary: Consolidate all exports into a single pio module

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:  tested on blueice

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio20_prod
Originator(s): Jim Edwards
Date: 3-26-2008
One-line Summary: bug fixes for pnetcdf interface

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: text variables were not handled correctly in nf_put and nf_get

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: me

Summary of pre-tag testing: tested on blueice

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio18_prod
Originator(s): Jim Edwards
Date: 03-20-2008
One-line Summary:  minor updates to netcdf attributes and put/get functions

List all component tags that were used to create pio tag: 

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system: none
 
Describe any substantial timing or memory changes: none

Code reviewed by: me

Summary of pre-tag testing:  tested against cam on blueice

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio16_prod
Originator(s): John Dennis
Date: 03-14-2008
One-line Summary: Improved decomposition support in testcode.
A	testpio/factor_mod.F90

		Several factoring need by the new decompostion algorthm in testcode

M	testpio/Makefile
		
		Added the source file factor_mod.F90 to build 

M	testpio/check_mod.F90	
	
		Eliminated excessive error messages generation

M	testpio/testPIO.F90
M	testpio/pdiff.F90

		Minor changes to use the improved decomposition algorithm

M	testpio/decomp.F90

		Added a slightly more generate decompostion algorithm


List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

	See above. 

Code reviewed by: John

Summary of pre-tag testing:

  Regression tests:
	tested on frost for binary files 


===============================================================
===============================================================
 
Tag name: pio15_prod
Originator(s): Jim Edwards
Date: 03-07-2008
One-line Summary:  API changes
M            9138   pio/pionfread.inc
M            9138   pio/mct_rearrange.inc
M            9138   pio/pionfget.inc
M            9138   pio/alloc_mod.F90
M            9138   pio/box_rearrange.inc
M            9138   pio/pioreadmpiio.inc
M            9138   pio/pioread.inc
M            9138   pio/pionfatt.inc
M            9138   pio/pionfwrite.inc
M            9138   pio/nf_mod.F90
M            9138   pio/rearrange.F90
M            9138   pio/mct_rearrange.F90
M            9138   pio/pio_types.F90
M            9138   pio/piowritempiio.inc
M            9138   pio/iompi_mod.F90
M            9138   pio/piolib_mod.F90
M            9138   pio/piowrite.inc
M            9138   pio/box_rearrange.F90
M            9138   pio/pionfput.inc
M            9138   pio/rearrange.inc
M            9138   Makefile.ncarAIX
M            9138   testpio/decomp.F90
M            9138   testpio/testPIO.F90
M            9138   testpio/pdiff.F90
M            9138   testpio/popio_in

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

 Rename PIO_INITFILE to PIO_INIT and create a iosystem_desc_t structure which consists of the file independent portion of the file_desc_t structure remove iotype as an argument to this routine.
 Change the arguments to PIO_OPENFILE and PIO_CREATEFILE  from (File, filename) to (PIO, FIle, iotype, filename)
 Change the first argument to PIO_INITDECOMP from file_desc_t to iosystem_desc_t
 Explicitly include the io_desc_t  in calls to pio_read_darray and pio_write_darray
	
Bugs fixed:

Describe any changes made to scripts/build system:
 Remove mct from defaults on ncarAIX
Describe any substantial timing or memory changes:

Code reviewed by:
Jim
Summary of pre-tag testing:
  Tested on blueice with bin, netcdf and pnetcdf all passed
  Regression tests:


===============================================================
===============================================================
 
Tag name: pio14_prod
Originator(s): J. Dennis
Date: 03/04/08
One-line Summary: Add rearranger support for binary files

M	testPIO.F90

	- Added code to use rearranger for binary files 

	- Added namelist variables to control number of IO processors (nprocsIO)

M 	piolib_mod.F90

	- Cleaned up some dead code in initDecomp_2dof_BIN 

M	iompi_mod.F90

	- Removed broadcast of MPI-IO file handle

List all component tags that were used to create pio tag:

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: J. Dennis

Summary of pre-tag testing:  tested on BGL

  Regression tests:


===============================================================
===============================================================
 
Tag name: pio13_prod
Originator(s): J. Dennis
Date: 02/29/08
One-line Summary: Changes to improve benchmarking of testpio code. 

M	testPIO.F90

	- Added ability to read/write to a other directories
	
	- Added support to flush buffer cache

	- Added support to run performance test several iterations.

m	Makefile.ncarbgl

	- Changed flags to support box rearranger

List all component tags that were used to create pio tag:

  mct MCT2_4_2_071026

Describe the changes for each component above that was changed relative
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed:

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:

     Passed pio test on frost

===============================================================
===============================================================
 
Tag name: pio11_prod
Originator(s):  Jim Edwards
Date: 01/17/08
One-line Summary:  Additional functionality in netcdf interface

M            8542   mct_rearrange.inc
	Replaced stop statements with piodie calls
M            8542   pionfget.inc
	Added support for calls using vdesc instead of vdesc%var_id
M            8542   box_rearrange.inc
	Changed some io format for port to pgi compiler
M            8542   pio_quicksort.F90
	Removed DOS style EOL characters (^M)
M            8542   pioread.inc
	minor format changes
A  +            -   pionfatt.inc
	Moved from nf_mod and added support for calls using vdesc instead of vdesc%var_id
M            8542   pionfwrite.inc
	Added timing calls 
M            8542   nf_mod.F90
	Added support for calls using vdesc instead of vdesc%var_id
M            8542   rearrange.F90
	minor format changes
M            8542   pio_types.F90
	Additional types copied from (p)netcdf
M            8542   piolib_mod.F90
	minor format changes
M            8542   piowrite.inc
	minor format changes
M            8542   box_rearrange.F90
	added  MPI_TYPE_CREATE_INDEXED_BLOCK for platforms without MPI2 support (NO_MPI2)
M            8542   pionfput.inc
	Added support for calls using vdesc instead of vdesc%var_id
M            8542   rearrange.inc
        minor format changes
	
List all component tags that were used to create pio tag:

  mct MCT2_4_2_071026

Describe the changes for each component above that was changed relative 
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

Bugs fixed: 

Describe any changes made to scripts/build system:

Describe any substantial timing or memory changes:

Code reviewed by: self

Summary of pre-tag testing:

  Regression tests:

     Passed pio test on blueice

===============================================================
===============================================================

Changes since last tag

	updated to MCT2_4_2_071026
        use MCT_initialized to determine if need to start MCT
	added timers to rearranger

	
===============================================================
 
Tag name: pio10_prod
Originator(s): Ray Loy
Date: Jan 3, 2008
One-line Summary: changed initDecomp args from MPI types to PIO types

List all component tags that were used to create pio tag:

  mct 	MCT2_3_0_070524    

Describe the changes for each component above that was changed relative 
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

	all interfaces of PIO_initDecomp are now changed to use
        PIO_{double,real,int,char} instead of 
        MPI_{DOUBLE_PRECISION,REAL,INTEGER,CHAR}

        this is to be more consistent
	
Bugs fixed: 


Summary of pre-tag testing:

  Regression tests:

	testpio run on BG/L

  Machine (frost):
    Regression tests:

  Machine (nyblue):
    Regression tests:

===============================================================
 
Tag name: pio09_prod
Originator(s): Ray Loy
Date: Dec 5, 2007
One-line Summary: added mp_alltoallw option to box rearrange

List all component tags that were used to create pio tag:

  mct 	MCT2_3_0_070524    

Describe the changes for each component above that was changed relative 
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

	box_rearrange.inc will use mpi_alltoall2 instead
        of point-to-point sends if you compile with -D_USE_ALLTOALLW

        on some platforms this might be faster.

Bugs fixed: 


Summary of pre-tag testing:

  Regression tests:

	box rearranger test and testpio run on BG/L

  Machine (frost):
    Regression tests:

  Machine (nyblue):
    Regression tests:

===============================================================
 
Tag name: pio08_prod
Originator(s): Ray Loy
Date: Nov 30, 2007
One-line Summary: mpi type caching in box rearranger

List all component tags that were used to create pio tag:

  mct 	MCT2_3_0_070524    

Describe the changes for each component above that was changed relative 
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

box rearranger restructured so that the creation of the scatter/gather
mpi types happens up front in the rearranger_create instead of at the
time of the rearrange.

also was able to remove some of the data in IODesc because it is no
longer needed after the type creation.

	

Bugs fixed: 


Summary of pre-tag testing:

  Regression tests:

	box rearranger test and testpio run on BG/L

  Machine (frost):
    Regression tests:

  Machine (nyblue):
    Regression tests:

===============================================================
 
Tag name: pio05_prod
Originator(s): John Dennis
Date: Oct 23, 2007
One-line Summary: Support for PIO in POP

List all component tags that were used to create pio tag:

  mct 	MCT2_3_0_070524    

Describe the changes for each component above that was changed relative 
to the previous ccsm tag in this sequence (this includes description
of new functionality and how user can use it):

PIO in POP

	Several major changes were applied to PIO to enable use in 
POP.  This included the porting of the old version of the subroutine 
initDecomp_2dof_BIN.  The previous version of the subroutine does not 
use the two separate IODOF properly.

ChangeLog

	PIO now uses a changed log and new form of tags:  pio##_prod


Bugs fixed: 

	Binary writing with MPI-IO now works again.  

Summary of pre-tag testing:

  Regression tests:

	Minor testing on BlueGene within LANL POP and CCSM POP in coupled system.  

  Machine (frost):
    Regression tests:

  Machine (nyblue):
    Regression tests:

===============================================================
