/******************************************************************************
 *
 *
 *
 * Copyright (C) 2009
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation under the terms of the GNU General Public License is hereby
 * granted. No representations are made about the suitability of this software
 * for any purpose. It is provided "as is" without express or implied warranty.
 * See the GNU General Public License for more details.
 *
 * Documents produced by Doxygen are derivative works derived from the
 * input used in their production; they are not affected by this license.
 *
 */
/*! \page testpio_example testpio: a regression and benchmarking code
The testpio directory, included with the release package, tests both the accuracy 
and performance of reading and writing data 
using the pio library. 
The testpio directory contains 3 perl scripts that you can use to build and run the testpio.F90 code.
<ul>
<li>testpio_build.pl - builds the pio, timing and testpio libraries and executables</li>
<li>testpio_bench.pl - setups, builds and runs a user specified set of test suites using testpio and generates log files with benchmarking information. </li>
<li>testpio_run.pl - setups, builds and runs a user specified set of test suites using testpio. </li>
</ul>
Additional C shell scripts wrappers are packaged with the testpio suite to allow for environment customization of the 3 perl scripts listed above. The following help information describes in more detail how the testpio code works.
 The tests are controlled via a namelist. Sample namelist files
are located in the testpio/namelists directory. It contains a
set of general namelists and specific namelists to setup a computational
decomposition and an IO decomposition.  The computational decomposition
should be setup to duplicate a realistic model data decomposition.  The IO decomposition
is generally not used, but in some cases, can be used and impacts IO performance.
The IO decomposition is an intermediate decomposition that provides
compatability between a relative arbitrary computational decomposition
and the MPI-IO, netcdf, pnetcdf, or other IO layers.  Depending on the
IO methods used, only certain IO decompositions are valid.  In general,
the IO decomposition is not used and is set internally.
The namelist input file is called "testpio_in".  The first namelist
block, io_nml, contains some general settings:
<table border="1" cellpadding="2px">
  <tr>
    <th colspan="2" align="left">namelist io_nml</th>
  </tr>
  <tr>