diff --git a/README.md b/README.md index 8595e6d5c80..38eacdbf0ca 100644 --- a/README.md +++ b/README.md @@ -42,122 +42,31 @@ For a full description of the available options and flags, try: ./configure --help ``` -## Configuring with CMake - -To configure the build, PIO requires CMake version 2.8.12+. The typical -configuration with CMake can be done as follows: - -``` -CC=mpicc FC=mpif90 cmake [-DOPTION1=value1 -DOPTION2=value2 ...] /path/to/pio/source -``` - -where `mpicc` and `mpif90` are the appropriate MPI-enabled compiler wrappers -for your system. - -The `OPTIONS` section typically should consist of pointers to the install -locations for various dependencies, assuming these dependencies are not -located in *canonical* search locations. - -For each dependency `XXX`, one can specify the location of its -installation path with the CMake variable `XXX_PATH`. If the `C` and -`Fortran` libraries for the dependency are installed in different locations -(such as can be done with NetCDF), then you can specify individually -`XXX_C_PATH` and `XXX_Fortran_PATH`. Hence, you can specify the locations -of both NetCDF-C and NetCDF-Fortran, as well as PnetCDF, with the following -CMake configuration line: - -``` -CC=mpicc FC=mpif90 cmake -DNetCDF_C_PATH=/path/to/netcdf-c \ - -DNetCDF_Fortran_PATH=/path/to/netcdf-fortran \ - -DPnetCDF_PATH=/path/to/pnetcdf \ - /path/to/pio/source -``` - -This works for the dependencies: `NetCDF`, `PnetCDF`, `HDF5`, `LIBZ`, `SZIP`. - -### Additional CMake Options - -Additional configuration options can be specified on the command line. - -The `PIO_ENABLE_TIMING` option can be set to `ON` or `OFF` to enable or -disable the use of GPTL timing in the PIO libraries. This feature requires -the GPTL C library for the PIO `C` library and the GPTL Fortran library with -the `perf_mod.mod` and `perf_utils.mod` interface modules. If these GPTL -libraries are already installed on the system, the user can point PIO to the -location of these libraries with the `GPTL_PATH` variable (or, individually, -`GPTL_C_PATH` and `GPTL_Fortran_Perf_PATH` variables). However, if these -GPTL libraries are not installed on the system, and GPTL cannot be found, -then PIO will build its own internal version of GPTL. - -If PnetCDF is not installed on the system, the user can disable its use by -setting `-DWITH_PNETCDF=OFF`. This will disable the search for PnetCDF on the -system and disable the use of PnetCDF from within PIO. - -If the user wishes to disable the PIO tests, then the user can set the -variable `-DPIO_ENABLE_TESTS=OFF`. This will entirely disable the CTest -testing suite, as well as remove all of the test build targets. - -If you wish to install PIO in a safe location for use later with other -software, you may set the `CMAKE_INSTALL_PREFIX` variable to point to the -desired install location. - -### Building - -Once you have successfully configured PIO with CMake in a build directory. -From within the build directory, build PIO with: - -``` -make -``` - -This will build the `pioc` and `piof` libraries. - -### Testing - -If you desire to do testing, and `PIO_ENABLE_TESTS=ON` (which is the default -setting), you may build the test executables with: - -``` -make tests -``` - -Once the tests have been built, you may run tests with: - -``` -ctest -``` - -If you have not run `make tests` before you run `ctest`, then you will see -all of the tests fail. - -Alternatively, you may build the test executables and then run tests -immediately with: - -``` +Note that environment variables CC and FC may need to be set to the +MPI versions of the C and Fortran compiler. Also CPPFLAGS and LDFLAGS +may need to be set to indicate the locations of one or more of the +dependent libraries. (If using MPI compilers, the entire set of +dependent libraries should be built with the same compilers.) For +example: + +``` +export CC=mpicc +export FC=mpifort +export CPPFLAGS='-I/usr/local/netcdf-fortran-4.4.5_c_4.6.3_mpich-3.2/include -I/usr/local/netcdf-c-4.6.3_hdf5-1.10.5/include -I/usr/local/pnetcdf-1.11.0_shared/include' +export LDFLAGS='-L/usr/local/netcdf-c-4.6.3_hdf5-1.10.5/lib -L/usr/local/pnetcdf-1.11.0_shared/lib' +./configure --prefix=/usr/local/pio-2.4.2 --enable-fortran make check +make install ``` -(similar to the typical `make check` Autotools target). +## Building with CMake -**NOTE:** It is important to note that these tests are designed to run in parallel. -If you are on one of the supported supercomputing platforms (i.e., NERSC, NWSC, ALCF, -etc.), then the `ctest` command will assume that the tests will be run in an appropriately -configured and scheduled parallel job. This can be done by requesting an interactive -session from the login nodes and then running `ctest` from within the interactive -terminal. Alternatively, this can be done by running the `ctest` command from a -job submission script. It is important to understand, however, that `ctest` itself -will preface all of the test executable commands with the appropriate `mpirun`/`mpiexec`/`runjob`/etc. -Hence, you should not further preface the `ctest` command with these MPI launchers. - -### Installing - -Once you have built the PIO libraries, you may install them in the location -specified by the `CMAKE_INSTALL_PREFIX`. To do this, simply type: +The typical configuration with CMake can be done as follows: ``` -make install +CC=mpicc FC=mpif90 cmake [-DOPTION1=value1 -DOPTION2=value2 ...] /path/to/pio/source ``` -If the internal GPTL libraries were built (because GPTL could not be found -and the `PIO_ENABLE_TIMING` variable is set to `ON`), then these libraries -will be installed with PIO. +Full instructions for the cmake build can be found in the installation +documentation. + diff --git a/doc/source/GettingStarted.txt b/doc/source/GettingStarted.txt index 09ea7864ebe..d2a510d9a8b 100644 --- a/doc/source/GettingStarted.txt +++ b/doc/source/GettingStarted.txt @@ -27,7 +27,7 @@ href=http://www.unidata.ucar.edu/software/netcdf/docs/html_guide/index.html#user netcdf and pnetcdf . -Basic description of how to optimize IO in a parallel environment... +Basic description of how to optimize IO in a parallel environment: PIO calls are collective. A MPI communicator is set in a call to \ref PIO_init and all tasks associated with that communicator must diff --git a/doc/source/Installing.txt b/doc/source/Installing.txt index 6f281152248..05aa5d1dd61 100644 --- a/doc/source/Installing.txt +++ b/doc/source/Installing.txt @@ -20,7 +20,7 @@ The PIO code is currently stored on github at
How do I test if PIO is installed and working correctly?
-
The PIO Library distribution contains a testpio subdirectory with a number of programs to test the PIO library. Please see the \ref examp page for details.
+
The PIO Library distribution contains tests for PIO. They are run my 'make check'. The tests use mpiexec to run tests on 4, 8, or 16 processors.
*/ diff --git a/docs/_c_a_mexample.html b/docs/_c_a_mexample.html index 91aecb86dc7..68c288eaa7c 100644 --- a/docs/_c_a_mexample.html +++ b/docs/_c_a_mexample.html @@ -107,7 +107,7 @@

diff --git a/docs/annotated.html b/docs/annotated.html index 20e9b4f9c2d..0038650a1ce 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -106,7 +106,7 @@ diff --git a/docs/api.html b/docs/api.html index 97525a227e0..425fccd849b 100644 --- a/docs/api.html +++ b/docs/api.html @@ -149,7 +149,7 @@

diff --git a/docs/contributing_code.html b/docs/contributing_code.html index 9e35b709902..0e578e94e05 100644 --- a/docs/contributing_code.html +++ b/docs/contributing_code.html @@ -94,7 +94,7 @@

Indentation and Spacing

diff --git a/docs/decomp.html b/docs/decomp.html index fedf51e5a50..6bd346c5c80 100644 --- a/docs/decomp.html +++ b/docs/decomp.html @@ -94,7 +94,7 @@

diff --git a/docs/deprecated.html b/docs/deprecated.html index 443a5e6f56b..de31ce1fd62 100644 --- a/docs/deprecated.html +++ b/docs/deprecated.html @@ -77,7 +77,7 @@ diff --git a/docs/dir_105b7c361203833ef447ec1f3c9e0fde.html b/docs/dir_105b7c361203833ef447ec1f3c9e0fde.html index dc6b5a16fbc..e306bffe847 100644 --- a/docs/dir_105b7c361203833ef447ec1f3c9e0fde.html +++ b/docs/dir_105b7c361203833ef447ec1f3c9e0fde.html @@ -102,7 +102,7 @@ diff --git a/docs/dir_209baab7a174f8da935e472521be6c82.html b/docs/dir_209baab7a174f8da935e472521be6c82.html index 350e6007336..c41eb46ce64 100644 --- a/docs/dir_209baab7a174f8da935e472521be6c82.html +++ b/docs/dir_209baab7a174f8da935e472521be6c82.html @@ -78,7 +78,7 @@ diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 758346e4fad..788e5ab5592 100644 --- a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -75,7 +75,7 @@ diff --git a/docs/dir_6df6542b1223c38c3752260fabab64d0.html b/docs/dir_6df6542b1223c38c3752260fabab64d0.html index 338148199a3..beea7359c81 100644 --- a/docs/dir_6df6542b1223c38c3752260fabab64d0.html +++ b/docs/dir_6df6542b1223c38c3752260fabab64d0.html @@ -84,7 +84,7 @@ diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html b/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html index 3329aee9930..9c8a0fa1611 100644 --- a/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html +++ b/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html @@ -75,7 +75,7 @@ diff --git a/docs/dir_fbdd47254eba6596566cfbbd6768a55d.html b/docs/dir_fbdd47254eba6596566cfbbd6768a55d.html index a447b8260a2..892b554dca0 100644 --- a/docs/dir_fbdd47254eba6596566cfbbd6768a55d.html +++ b/docs/dir_fbdd47254eba6596566cfbbd6768a55d.html @@ -78,7 +78,7 @@ diff --git a/docs/error.html b/docs/error.html index 3e5ef4dfefd..a474f69c72b 100644 --- a/docs/error.html +++ b/docs/error.html @@ -83,7 +83,7 @@ diff --git a/docs/examp.html b/docs/examp.html index 8b8eb15e00e..09befdf5117 100644 --- a/docs/examp.html +++ b/docs/examp.html @@ -87,7 +87,7 @@

Other Examples

diff --git a/docs/example1_8c.html b/docs/example1_8c.html index 00a4ec02683..de9b2f61e13 100644 --- a/docs/example1_8c.html +++ b/docs/example1_8c.html @@ -475,7 +475,7 @@

diff --git a/docs/example2_8c.html b/docs/example2_8c.html index 07774f6030a..498cccae138 100644 --- a/docs/example2_8c.html +++ b/docs/example2_8c.html @@ -703,7 +703,7 @@

diff --git a/docs/example_pio_8c.html b/docs/example_pio_8c.html index 5861423db33..e8c0c66db46 100644 --- a/docs/example_pio_8c.html +++ b/docs/example_pio_8c.html @@ -624,7 +624,7 @@

diff --git a/docs/example_pio_8f90.html b/docs/example_pio_8f90.html index eb18de3d5fe..a6ae90fdfb0 100644 --- a/docs/example_pio_8f90.html +++ b/docs/example_pio_8f90.html @@ -149,7 +149,7 @@

diff --git a/docs/faq.html b/docs/faq.html index 1d00a702f75..b5ed408fdcf 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -74,14 +74,14 @@ Note that num_iotasks is the maximum number of IO tasks to use for an IO operation. The size of the field being read or written along with the tunable blocksize parameter, PIO_set_blocksize, determines the actual number of tasks used for a given IO operation.
How do I test if PIO is installed and working correctly?
-

The PIO Library distribution contains a testpio subdirectory with a number of programs to test the PIO library. Please see the Examples page for details.

+

The PIO Library distribution contains tests for PIO. They are run my 'make check'. The tests use mpiexec to run tests on 4, 8, or 16 processors.

diff --git a/docs/files.html b/docs/files.html index 5c3df4b5a36..d75085f200a 100644 --- a/docs/files.html +++ b/docs/files.html @@ -85,7 +85,7 @@ diff --git a/docs/globals.html b/docs/globals.html index c346e9d424e..c57a4c4f7ca 100644 --- a/docs/globals.html +++ b/docs/globals.html @@ -249,7 +249,7 @@

- x -

    diff --git a/docs/globals_defs.html b/docs/globals_defs.html index 787c467c645..1362cec83ad 100644 --- a/docs/globals_defs.html +++ b/docs/globals_defs.html @@ -111,7 +111,7 @@ diff --git a/docs/globals_func.html b/docs/globals_func.html index 9bc3ae1f2e3..e2eefdee0ce 100644 --- a/docs/globals_func.html +++ b/docs/globals_func.html @@ -141,7 +141,7 @@ diff --git a/docs/globals_type.html b/docs/globals_type.html index 6bd9538248a..4759b7acde7 100644 --- a/docs/globals_type.html +++ b/docs/globals_type.html @@ -68,7 +68,7 @@ diff --git a/docs/globals_vars.html b/docs/globals_vars.html index 7a995df30fb..e4bebf9a1f1 100644 --- a/docs/globals_vars.html +++ b/docs/globals_vars.html @@ -82,7 +82,7 @@ diff --git a/docs/graph_legend.html b/docs/graph_legend.html index a143a6256cf..c7bb75e7b56 100644 --- a/docs/graph_legend.html +++ b/docs/graph_legend.html @@ -96,7 +96,7 @@ diff --git a/docs/group___p_i_o__advanceframe.html b/docs/group___p_i_o__advanceframe.html index 56b1bdf718e..e1ede585646 100644 --- a/docs/group___p_i_o__advanceframe.html +++ b/docs/group___p_i_o__advanceframe.html @@ -114,7 +114,7 @@

    diff --git a/docs/group___p_i_o__closefile.html b/docs/group___p_i_o__closefile.html index 7e2482a41ed..0c2c193f7ae 100644 --- a/docs/group___p_i_o__closefile.html +++ b/docs/group___p_i_o__closefile.html @@ -104,7 +104,7 @@

    diff --git a/docs/group___p_i_o__createfile.html b/docs/group___p_i_o__createfile.html index 20c647f4b1f..849a804f962 100644 --- a/docs/group___p_i_o__createfile.html +++ b/docs/group___p_i_o__createfile.html @@ -148,7 +148,7 @@

    diff --git a/docs/group___p_i_o__def__dim.html b/docs/group___p_i_o__def__dim.html index a65e904fa81..db701b79536 100644 --- a/docs/group___p_i_o__def__dim.html +++ b/docs/group___p_i_o__def__dim.html @@ -268,7 +268,7 @@

    diff --git a/docs/group___p_i_o__def__var.html b/docs/group___p_i_o__def__var.html index c08e1771d08..58accfae4ab 100644 --- a/docs/group___p_i_o__def__var.html +++ b/docs/group___p_i_o__def__var.html @@ -583,7 +583,7 @@

    diff --git a/docs/group___p_i_o__enddef.html b/docs/group___p_i_o__enddef.html index b839e28b644..04a52d35851 100644 --- a/docs/group___p_i_o__enddef.html +++ b/docs/group___p_i_o__enddef.html @@ -133,7 +133,7 @@

    diff --git a/docs/group___p_i_o__error__method.html b/docs/group___p_i_o__error__method.html index 6f36f08c030..02fb89fd7ab 100644 --- a/docs/group___p_i_o__error__method.html +++ b/docs/group___p_i_o__error__method.html @@ -73,7 +73,7 @@ diff --git a/docs/group___p_i_o__finalize.html b/docs/group___p_i_o__finalize.html index 0079043b887..f08bb94d3f0 100644 --- a/docs/group___p_i_o__finalize.html +++ b/docs/group___p_i_o__finalize.html @@ -124,7 +124,7 @@

    diff --git a/docs/group___p_i_o__freedecomp.html b/docs/group___p_i_o__freedecomp.html index e80d1f9ac47..541116f910d 100644 --- a/docs/group___p_i_o__freedecomp.html +++ b/docs/group___p_i_o__freedecomp.html @@ -165,7 +165,7 @@

    diff --git a/docs/group___p_i_o__get__att.html b/docs/group___p_i_o__get__att.html index 30fa5ba3820..68514099054 100644 --- a/docs/group___p_i_o__get__att.html +++ b/docs/group___p_i_o__get__att.html @@ -439,7 +439,7 @@

    diff --git a/docs/group___p_i_o__get__local__array__size.html b/docs/group___p_i_o__get__local__array__size.html index d8f0bf4bcca..855dcac8d5d 100644 --- a/docs/group___p_i_o__get__local__array__size.html +++ b/docs/group___p_i_o__get__local__array__size.html @@ -104,7 +104,7 @@

    diff --git a/docs/group___p_i_o__get__var.html b/docs/group___p_i_o__get__var.html index 997aaca2be2..e8e81bf22b8 100644 --- a/docs/group___p_i_o__get__var.html +++ b/docs/group___p_i_o__get__var.html @@ -2651,7 +2651,7 @@

    diff --git a/docs/group___p_i_o__getnumiotasks.html b/docs/group___p_i_o__getnumiotasks.html index d9b5c8ffbf8..05e765da2d2 100644 --- a/docs/group___p_i_o__getnumiotasks.html +++ b/docs/group___p_i_o__getnumiotasks.html @@ -120,7 +120,7 @@

    diff --git a/docs/group___p_i_o__init.html b/docs/group___p_i_o__init.html index 965d80fa578..fc842042cb9 100644 --- a/docs/group___p_i_o__init.html +++ b/docs/group___p_i_o__init.html @@ -240,7 +240,7 @@

    diff --git a/docs/group___p_i_o__initdecomp.html b/docs/group___p_i_o__initdecomp.html index 2e88ea74272..99af6c816fb 100644 --- a/docs/group___p_i_o__initdecomp.html +++ b/docs/group___p_i_o__initdecomp.html @@ -611,7 +611,7 @@

    diff --git a/docs/group___p_i_o__inq__att.html b/docs/group___p_i_o__inq__att.html index ed843f2d410..d38049109c3 100644 --- a/docs/group___p_i_o__inq__att.html +++ b/docs/group___p_i_o__inq__att.html @@ -150,7 +150,7 @@

    diff --git a/docs/group___p_i_o__inq__attlen.html b/docs/group___p_i_o__inq__attlen.html index e3a77b69c21..2a98955b6fe 100644 --- a/docs/group___p_i_o__inq__attlen.html +++ b/docs/group___p_i_o__inq__attlen.html @@ -143,7 +143,7 @@

    diff --git a/docs/group___p_i_o__inq__attname.html b/docs/group___p_i_o__inq__attname.html index cb2d46d3842..d436d7f17f7 100644 --- a/docs/group___p_i_o__inq__attname.html +++ b/docs/group___p_i_o__inq__attname.html @@ -86,7 +86,7 @@ diff --git a/docs/group___p_i_o__inq__dimid.html b/docs/group___p_i_o__inq__dimid.html index 4600b511d72..68a80e1ae05 100644 --- a/docs/group___p_i_o__inq__dimid.html +++ b/docs/group___p_i_o__inq__dimid.html @@ -168,7 +168,7 @@

    diff --git a/docs/group___p_i_o__inq__dimlen.html b/docs/group___p_i_o__inq__dimlen.html index 21df17ee80c..53b5ed77bd2 100644 --- a/docs/group___p_i_o__inq__dimlen.html +++ b/docs/group___p_i_o__inq__dimlen.html @@ -140,7 +140,7 @@

    diff --git a/docs/group___p_i_o__inq__dimname.html b/docs/group___p_i_o__inq__dimname.html index 674d7871d95..1b1a230a959 100644 --- a/docs/group___p_i_o__inq__dimname.html +++ b/docs/group___p_i_o__inq__dimname.html @@ -167,7 +167,7 @@

    diff --git a/docs/group___p_i_o__inq__natts.html b/docs/group___p_i_o__inq__natts.html index 748979daccc..f2bc3238ac7 100644 --- a/docs/group___p_i_o__inq__natts.html +++ b/docs/group___p_i_o__inq__natts.html @@ -154,7 +154,7 @@

    diff --git a/docs/group___p_i_o__inq__ndims.html b/docs/group___p_i_o__inq__ndims.html index 91f9c8b5e34..c25f5500dcf 100644 --- a/docs/group___p_i_o__inq__ndims.html +++ b/docs/group___p_i_o__inq__ndims.html @@ -154,7 +154,7 @@

    diff --git a/docs/group___p_i_o__inq__nvars.html b/docs/group___p_i_o__inq__nvars.html index c73c938609f..de1e56d79a3 100644 --- a/docs/group___p_i_o__inq__nvars.html +++ b/docs/group___p_i_o__inq__nvars.html @@ -154,7 +154,7 @@

    diff --git a/docs/group___p_i_o__inq__unlimdim.html b/docs/group___p_i_o__inq__unlimdim.html index 941f83a9f33..930324be296 100644 --- a/docs/group___p_i_o__inq__unlimdim.html +++ b/docs/group___p_i_o__inq__unlimdim.html @@ -67,7 +67,7 @@ diff --git a/docs/group___p_i_o__inq__var__deflate.html b/docs/group___p_i_o__inq__var__deflate.html index 6f5b6e121b4..cb011c4c662 100644 --- a/docs/group___p_i_o__inq__var__deflate.html +++ b/docs/group___p_i_o__inq__var__deflate.html @@ -242,7 +242,7 @@

    diff --git a/docs/group___p_i_o__inq__vardimid.html b/docs/group___p_i_o__inq__vardimid.html index 0d7d2567683..52c71baffde 100644 --- a/docs/group___p_i_o__inq__vardimid.html +++ b/docs/group___p_i_o__inq__vardimid.html @@ -136,7 +136,7 @@

    diff --git a/docs/group___p_i_o__inq__varid.html b/docs/group___p_i_o__inq__varid.html index 9299726a4a9..fe48544a278 100644 --- a/docs/group___p_i_o__inq__varid.html +++ b/docs/group___p_i_o__inq__varid.html @@ -136,7 +136,7 @@

    diff --git a/docs/group___p_i_o__inq__varname.html b/docs/group___p_i_o__inq__varname.html index 5e38df36d4e..712f4acbdf1 100644 --- a/docs/group___p_i_o__inq__varname.html +++ b/docs/group___p_i_o__inq__varname.html @@ -136,7 +136,7 @@

    diff --git a/docs/group___p_i_o__inq__varnatts.html b/docs/group___p_i_o__inq__varnatts.html index e2c3922e640..1de24e0594e 100644 --- a/docs/group___p_i_o__inq__varnatts.html +++ b/docs/group___p_i_o__inq__varnatts.html @@ -206,7 +206,7 @@

    diff --git a/docs/group___p_i_o__inq__varndims.html b/docs/group___p_i_o__inq__varndims.html index 3ad0e9f4ebc..283d6927769 100644 --- a/docs/group___p_i_o__inq__varndims.html +++ b/docs/group___p_i_o__inq__varndims.html @@ -136,7 +136,7 @@

    diff --git a/docs/group___p_i_o__inq__vartype.html b/docs/group___p_i_o__inq__vartype.html index e52b005a965..fe10a8d8934 100644 --- a/docs/group___p_i_o__inq__vartype.html +++ b/docs/group___p_i_o__inq__vartype.html @@ -206,7 +206,7 @@

    diff --git a/docs/group___p_i_o__inquire.html b/docs/group___p_i_o__inquire.html index c13cf6892dd..9ac3d1d5a72 100644 --- a/docs/group___p_i_o__inquire.html +++ b/docs/group___p_i_o__inquire.html @@ -193,7 +193,7 @@

    diff --git a/docs/group___p_i_o__inquire__dimension.html b/docs/group___p_i_o__inquire__dimension.html index ad82eeba458..9f5a169bf8c 100644 --- a/docs/group___p_i_o__inquire__dimension.html +++ b/docs/group___p_i_o__inquire__dimension.html @@ -139,7 +139,7 @@

    diff --git a/docs/group___p_i_o__inquire__variable.html b/docs/group___p_i_o__inquire__variable.html index 09faffeb217..62055ba92f5 100644 --- a/docs/group___p_i_o__inquire__variable.html +++ b/docs/group___p_i_o__inquire__variable.html @@ -164,7 +164,7 @@

    diff --git a/docs/group___p_i_o__iotype.html b/docs/group___p_i_o__iotype.html index 8aa9eac3373..bdb42e913f6 100644 --- a/docs/group___p_i_o__iotype.html +++ b/docs/group___p_i_o__iotype.html @@ -77,7 +77,7 @@ diff --git a/docs/group___p_i_o__kinds.html b/docs/group___p_i_o__kinds.html index 20abd0db714..8d7012f6e75 100644 --- a/docs/group___p_i_o__kinds.html +++ b/docs/group___p_i_o__kinds.html @@ -77,7 +77,7 @@ diff --git a/docs/group___p_i_o__openfile.html b/docs/group___p_i_o__openfile.html index 05023620c6a..fda3c72ebb4 100644 --- a/docs/group___p_i_o__openfile.html +++ b/docs/group___p_i_o__openfile.html @@ -142,7 +142,7 @@

    diff --git a/docs/group___p_i_o__put__att.html b/docs/group___p_i_o__put__att.html index fbe53ac509b..d22d304920d 100644 --- a/docs/group___p_i_o__put__att.html +++ b/docs/group___p_i_o__put__att.html @@ -499,7 +499,7 @@

    diff --git a/docs/group___p_i_o__put__var.html b/docs/group___p_i_o__put__var.html index e33b3971ece..a02f2f52158 100644 --- a/docs/group___p_i_o__put__var.html +++ b/docs/group___p_i_o__put__var.html @@ -5790,7 +5790,7 @@

    diff --git a/docs/group___p_i_o__read__darray.html b/docs/group___p_i_o__read__darray.html index d87409ba442..35acbc717ec 100644 --- a/docs/group___p_i_o__read__darray.html +++ b/docs/group___p_i_o__read__darray.html @@ -1360,7 +1360,7 @@

    diff --git a/docs/group___p_i_o__rearr__comm__dir.html b/docs/group___p_i_o__rearr__comm__dir.html index c5c0d196987..ccd04b5b01b 100644 --- a/docs/group___p_i_o__rearr__comm__dir.html +++ b/docs/group___p_i_o__rearr__comm__dir.html @@ -77,7 +77,7 @@ diff --git a/docs/group___p_i_o__rearr__comm__fc__options.html b/docs/group___p_i_o__rearr__comm__fc__options.html index ba35ba36476..bb7e8d98226 100644 --- a/docs/group___p_i_o__rearr__comm__fc__options.html +++ b/docs/group___p_i_o__rearr__comm__fc__options.html @@ -76,7 +76,7 @@ diff --git a/docs/group___p_i_o__rearr__comm__t.html b/docs/group___p_i_o__rearr__comm__t.html index fd93abe4ebd..ccaf10971c1 100644 --- a/docs/group___p_i_o__rearr__comm__t.html +++ b/docs/group___p_i_o__rearr__comm__t.html @@ -75,7 +75,7 @@ diff --git a/docs/group___p_i_o__rearr__method.html b/docs/group___p_i_o__rearr__method.html index 0306297aed6..7d75bfa779f 100644 --- a/docs/group___p_i_o__rearr__method.html +++ b/docs/group___p_i_o__rearr__method.html @@ -76,7 +76,7 @@ diff --git a/docs/group___p_i_o__rearr__options.html b/docs/group___p_i_o__rearr__options.html index 18b6f5710fc..7dffaec1e77 100644 --- a/docs/group___p_i_o__rearr__options.html +++ b/docs/group___p_i_o__rearr__options.html @@ -85,7 +85,7 @@ diff --git a/docs/group___p_i_o__redef.html b/docs/group___p_i_o__redef.html index 0ba9549c37a..680a7f62eb0 100644 --- a/docs/group___p_i_o__redef.html +++ b/docs/group___p_i_o__redef.html @@ -133,7 +133,7 @@

    diff --git a/docs/group___p_i_o__set__blocksize.html b/docs/group___p_i_o__set__blocksize.html index 1da5939369b..4e8342d4759 100644 --- a/docs/group___p_i_o__set__blocksize.html +++ b/docs/group___p_i_o__set__blocksize.html @@ -78,7 +78,7 @@ diff --git a/docs/group___p_i_o__set__hint.html b/docs/group___p_i_o__set__hint.html index 546d79b0a50..1c196d0aaa9 100644 --- a/docs/group___p_i_o__set__hint.html +++ b/docs/group___p_i_o__set__hint.html @@ -85,7 +85,7 @@ diff --git a/docs/group___p_i_o__set__log__level.html b/docs/group___p_i_o__set__log__level.html index a64370f000f..c445b52ae2c 100644 --- a/docs/group___p_i_o__set__log__level.html +++ b/docs/group___p_i_o__set__log__level.html @@ -68,7 +68,7 @@ diff --git a/docs/group___p_i_o__setdebuglevel.html b/docs/group___p_i_o__setdebuglevel.html index f835592f018..8bbbb22448b 100644 --- a/docs/group___p_i_o__setdebuglevel.html +++ b/docs/group___p_i_o__setdebuglevel.html @@ -108,7 +108,7 @@

    diff --git a/docs/group___p_i_o__seterrorhandling.html b/docs/group___p_i_o__seterrorhandling.html index 18c6b2b2a5f..49fbd72d2ba 100644 --- a/docs/group___p_i_o__seterrorhandling.html +++ b/docs/group___p_i_o__seterrorhandling.html @@ -244,7 +244,7 @@

    diff --git a/docs/group___p_i_o__setframe.html b/docs/group___p_i_o__setframe.html index 2f1c2e6bf02..5adc552f42d 100644 --- a/docs/group___p_i_o__setframe.html +++ b/docs/group___p_i_o__setframe.html @@ -125,7 +125,7 @@

    diff --git a/docs/group___p_i_o__strerror.html b/docs/group___p_i_o__strerror.html index 9a8a9456e7d..d14244e1231 100644 --- a/docs/group___p_i_o__strerror.html +++ b/docs/group___p_i_o__strerror.html @@ -68,7 +68,7 @@ diff --git a/docs/group___p_i_o__syncfile.html b/docs/group___p_i_o__syncfile.html index db9e7bdf964..01b9bf00a17 100644 --- a/docs/group___p_i_o__syncfile.html +++ b/docs/group___p_i_o__syncfile.html @@ -104,7 +104,7 @@

    diff --git a/docs/group___p_i_o__write__darray.html b/docs/group___p_i_o__write__darray.html index 747b62e6275..514dfb1bbe1 100644 --- a/docs/group___p_i_o__write__darray.html +++ b/docs/group___p_i_o__write__darray.html @@ -1507,7 +1507,7 @@

    diff --git a/docs/group__error__return.html b/docs/group__error__return.html index 492a3d9d2a8..aefefbf65e6 100644 --- a/docs/group__error__return.html +++ b/docs/group__error__return.html @@ -72,7 +72,7 @@ diff --git a/docs/group__iodesc__generate.html b/docs/group__iodesc__generate.html index 0a52003d2e4..37541d182e7 100644 --- a/docs/group__iodesc__generate.html +++ b/docs/group__iodesc__generate.html @@ -71,7 +71,7 @@ diff --git a/docs/index.html b/docs/index.html index 36f13004ce8..da212039423 100644 --- a/docs/index.html +++ b/docs/index.html @@ -71,9 +71,9 @@ Mariana Vertenstein
    Edward Hartnett
    -

    The Parallel I/O (PIO) library has been developed over several years to improve the ability of component models of the Community Earth System Model (CESM) to perform I/O. We believe that the interface is sufficiently general to be useful to a broader spectrum of applications. The focus of development has been on backend tools that use the NetCDF file format. PIO currently supports NetCDF and PnetCDF as backend libraries, both can be linked and used with runtime options controlling which is used for a given file.

    -

    PIO2 represents a significant rewrite of the PIO library and includes a C API as well as the original F90 API. A new decomposition strategy has been introduced which gives the user more ability to tune io communications.

    -

    This user's guide provides information about the PIO library and examples on how it can be used. Please review the ChangeLog that is included with the distribution for up-to-date release information.

    +

    The Parallel IO libraries (PIO) are high-level parallel I/O C and Fortran libraries for structured grid applications. PIO provides a netCDF-like API, and allows users to designate some subset of processors to perform IO. Computational code calls netCDF-like functions to read and write data, and PIO uses the IO processors to perform all necessary IO.

    +

    PIO also supports the creation of multiple computation components, each containing many processors, and one shared set of IO processors. The computational components can perform write operation asynchronously, and the IO processors will take care of all storage interaction.

    +

    This user's guide provides information about the PIO library and examples on how it can be used. Please watch the PIO GitHub site [https://github.com/NCAR/ParallelIO] for announcements and new releases.

    • Introduction
    • Installing PIO
    • @@ -89,7 +89,7 @@ diff --git a/docs/install.html b/docs/install.html index 73b130eafec..2893a6017f1 100644 --- a/docs/install.html +++ b/docs/install.html @@ -66,7 +66,7 @@

      The PIO code is currently stored on github at https://github.com/PARALLELIO/ParallelIO. For questions about downloading or developing this code, consult the CIME Git Wiki or email jedwa.nosp@m.rds@.nosp@m.ucar..nosp@m.edu.

      Dependencies

      -

      PIO can use NetCDF (version 4.3.3+) and/or PnetCDF (version 1.6.1+) for I/O. Ideally, the NetCDF version should be built with MPI, which requires that it be linked with an MPI-enabled version of HDF5. Optionally, NetCDF can be built with DAP support, which introduces a dependency on CURL. Additionally, HDF5, itself, introduces dependencies on LIBZ and (optionally) SZIP.

      +

      PIO can use NetCDF (version 4.6.1+) and/or PnetCDF (version 1.9.0+) for I/O. Ideally, the NetCDF version should be built with MPI, which requires that it be linked with an MPI-enabled version of HDF5. Optionally, NetCDF can be built with DAP support, which introduces a dependency on CURL. Additionally, HDF5, itself, introduces dependencies on LIBZ and (optionally) SZIP.

      Configuring with CMake

      To configure the build, PIO requires CMake version 2.8.12+. The typical configuration with CMake can be done as follows:

      > CC=mpicc FC=mpif90 cmake [-DOPTION1=value1 -DOPTION2=value2 ...] /path/to/pio/source
      @@ -110,7 +110,7 @@ 

      Examples

      diff --git a/docs/interfacepiodarray_1_1_p_i_oc__read__darray-members.html b/docs/interfacepiodarray_1_1_p_i_oc__read__darray-members.html index 6266a29a915..7c0bad82e64 100644 --- a/docs/interfacepiodarray_1_1_p_i_oc__read__darray-members.html +++ b/docs/interfacepiodarray_1_1_p_i_oc__read__darray-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepiodarray_1_1_p_i_oc__read__darray.html b/docs/interfacepiodarray_1_1_p_i_oc__read__darray.html index 0fa0a50720e..f47cac2b662 100644 --- a/docs/interfacepiodarray_1_1_p_i_oc__read__darray.html +++ b/docs/interfacepiodarray_1_1_p_i_oc__read__darray.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi-members.html b/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi-members.html index 2e45b11b840..89e9a08287d 100644 --- a/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi-members.html +++ b/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi.html b/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi.html index a8af9132196..1ed3b0fe168 100644 --- a/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi.html +++ b/docs/interfacepiodarray_1_1_p_i_oc__write__darray__multi.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double-members.html index bf90dcdaaff..7e8305628fa 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double.html index abcc44b35d4..5020209064b 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__double.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float-members.html index b7d348d525b..427accb8a40 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float.html index 3f8f182f79b..576aaf6eed3 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__float.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int-members.html index 7264ddceeb4..87d1f0121d9 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int.html index 1794f1ed2c2..a801b3094a4 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__int.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text-members.html index 17cd636b0dd..1f28854318c 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text.html index 776add05c3a..f5fa5ee3683 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__get__att__text.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double-members.html index e5de330885f..27a19d7558f 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double.html index 4247fca2af1..c6d9d1017d5 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__double.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float-members.html index 526a5388010..285e360089b 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float.html index af08979a97c..c3cb719fac8 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__float.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int-members.html index 03d88c9d7b2..a935ac4ef80 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int.html index 0a61d811e6e..4c841c68e50 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__int.html @@ -84,7 +84,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text-members.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text-members.html index 1c81d220269..12ce0d88877 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text-members.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text-members.html @@ -75,7 +75,7 @@ diff --git a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text.html b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text.html index b7d2833da3a..a4c846f5b59 100644 --- a/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text.html +++ b/docs/interfacepionfatt__mod_1_1_p_i_oc__put__att__text.html @@ -89,7 +89,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double-members.html index 0cf233ddf13..ee8e719371b 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double.html index ed2fbfe3395..8d426422dc3 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__double.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float-members.html index 90e18abce96..06d2015e76a 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float.html index 3e2b7458911..24d77f21bdf 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__float.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int-members.html index 0f6b23903fc..3e7433429ad 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int.html index ef4a3d1438b..3c93ecc062f 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__var__int.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double-members.html index 0aca452a671..646f08282d4 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double.html index b5d29907600..bd6c6338e37 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__double.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float-members.html index c18d928ada7..e29b9f3af19 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float.html index d1394a6a685..89d0ac14afd 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__float.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int-members.html index 84f6037e234..7b38bcb2ff9 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int.html index 7759f5b9cc1..f3fb05399b1 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__int.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text-members.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text-members.html index a967153300d..5cb1dea1334 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text-members.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text.html b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text.html index 7803162b520..4b14379061d 100644 --- a/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text.html +++ b/docs/interfacepionfget__mod_1_1_p_i_oc__get__vara__text.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double-members.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double-members.html index e13d432a161..3a8ba952b54 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double-members.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double.html index ba9b0fe7d27..5fd4fad2eb6 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__double.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float-members.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float-members.html index 04fab7e1124..9727646307f 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float-members.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float.html index 302ff55ac32..529634d0380 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__float.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int-members.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int-members.html index 9733c8ce61b..31836bcd2a1 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int-members.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int.html index 0501466c78d..7b015a84c8a 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__int.html @@ -76,7 +76,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text-members.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text-members.html index 0a231b90602..f0fe512d081 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text-members.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text-members.html @@ -74,7 +74,7 @@ diff --git a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text.html b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text.html index db71c514d6e..57dd23d0d97 100644 --- a/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text.html +++ b/docs/interfacepionfput__mod_1_1_p_i_oc__put__vara__text.html @@ -76,7 +76,7 @@ diff --git a/docs/intro.html b/docs/intro.html index fc28df52ef3..3c9a6f2f962 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -66,18 +66,18 @@

      PIO is a software interface layer designed to encapsolate the complexities of parallel IO and make it easier to replace the lower level software backend. It currently supports netcdf and pnetcdf .

      Basic description of how to optimize IO in a parallel environment...

      -

      PIO calls are collective. A MPI communicator is set in a call to PIO_init and all tasks associated with that communicator must participate in all subsequent calls to PIO. An application can make multiple calls to PIO_init in order to support multiple MPI communicators.

      -

      Begin by checking out a copy from gitHub and installing on your system as per the instructions in the Installation document. Take a look at examples of PIO usage in both complex and simple test programs in the Examples document. Finally, read through the FAQ to see if any remaining questions can be answered.

      +

      PIO calls are collective. A MPI communicator is set in a call to PIO_init and all tasks associated with that communicator must participate in all subsequent calls to PIO. An application can make multiple calls to PIO_init() in order to support multiple MPI communicators.

      +

      Begin by getting and unpacking the most recent release of PIO from gitHub and installing on your system as per the instructions in the Installation document. Take a look at examples of PIO usage in both complex and simple test programs in the [Examples](Examples) document. Finally, read through the FAQ to see if any remaining questions can be answered.

      Using PIO has three basic steps.

      1. Your program should call the PIO_init function, and provide the MPI communicator (and the rank within that communicator) of the calling task. This call initializes an IO system type structure that will be used in subsequent file and decomposition functions.
      2. You can open a file for reading or writing with a call to PIO_createfile or PIO_openfile. In this call you will specify the file type: pio_iotype_netcdf, pio_iotype_pnetcdf, pio_iotype_netcdf4c or pio_iotype_netcdf4p; along with the file name and optionally the netcdf mode.
      3. -
      4. Finally, you can read or write decomposed data to the output file. You must describe the mapping between the organization of data in the file and that same data in the application space. This is done in a call to PIO_initdecomp. In the simplest call to this function, a one dimensional integer array is passed from each task, the values in the array represent the offset from the beginning of the array on file. (what happens next?)
      5. +
      6. Finally, you can read or write decomposed data to the output file. You must describe the mapping between the organization of data in the file and that same data in the application space. This is done in a call to PIO_initdecomp. In the simplest call to this function, a one dimensional integer array is passed from each task, the values in the array represent the offset from the beginning of the array on file.
      diff --git a/docs/mach_walkthrough.html b/docs/mach_walkthrough.html index 59131960365..416c22af0ce 100644 --- a/docs/mach_walkthrough.html +++ b/docs/mach_walkthrough.html @@ -491,7 +491,7 @@ diff --git a/docs/modules.html b/docs/modules.html index c43ce20211d..2202ff55e2b 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -129,7 +129,7 @@ diff --git a/docs/pages.html b/docs/pages.html index 5e3c8e6746f..7e8f21284cc 100644 --- a/docs/pages.html +++ b/docs/pages.html @@ -84,7 +84,7 @@ diff --git a/docs/pio_8_f90.html b/docs/pio_8_f90.html index 58c43a370d2..26ca67d53d5 100644 --- a/docs/pio_8_f90.html +++ b/docs/pio_8_f90.html @@ -166,7 +166,7 @@

      diff --git a/docs/pio__kinds_8_f90.html b/docs/pio__kinds_8_f90.html index a482707cd6a..95d17e788bd 100644 --- a/docs/pio__kinds_8_f90.html +++ b/docs/pio__kinds_8_f90.html @@ -106,7 +106,7 @@ diff --git a/docs/pio__nc4_8c.html b/docs/pio__nc4_8c.html index 765df994aad..809765f3a69 100644 --- a/docs/pio__nc4_8c.html +++ b/docs/pio__nc4_8c.html @@ -351,7 +351,7 @@

      diff --git a/docs/pio__support_8_f90.html b/docs/pio__support_8_f90.html index 61560e60470..249c3e43e0c 100644 --- a/docs/pio__support_8_f90.html +++ b/docs/pio__support_8_f90.html @@ -395,7 +395,7 @@

      diff --git a/docs/pio__types_8_f90.html b/docs/pio__types_8_f90.html index 3366e7c6f38..2022449d665 100644 --- a/docs/pio__types_8_f90.html +++ b/docs/pio__types_8_f90.html @@ -197,7 +197,7 @@ diff --git a/docs/piodarray_8_f90.html b/docs/piodarray_8_f90.html index 4c04bd1af46..e9711cfed1d 100644 --- a/docs/piodarray_8_f90.html +++ b/docs/piodarray_8_f90.html @@ -253,7 +253,7 @@ diff --git a/docs/piolib__mod_8_f90.html b/docs/piolib__mod_8_f90.html index 5df413bb9c3..c1f061ff7fb 100644 --- a/docs/piolib__mod_8_f90.html +++ b/docs/piolib__mod_8_f90.html @@ -351,7 +351,7 @@

      diff --git a/docs/pionfatt__mod_8_f90.html b/docs/pionfatt__mod_8_f90.html index 5afcd728afa..e509ae254d9 100644 --- a/docs/pionfatt__mod_8_f90.html +++ b/docs/pionfatt__mod_8_f90.html @@ -254,7 +254,7 @@ diff --git a/docs/pionfget__mod_8_f90.html b/docs/pionfget__mod_8_f90.html index 1339b1fd96f..f3ff66a05aa 100644 --- a/docs/pionfget__mod_8_f90.html +++ b/docs/pionfget__mod_8_f90.html @@ -254,7 +254,7 @@ diff --git a/docs/pionfput__mod_8_f90.html b/docs/pionfput__mod_8_f90.html index b69f5d4c4a5..1f84a0221f8 100644 --- a/docs/pionfput__mod_8_f90.html +++ b/docs/pionfput__mod_8_f90.html @@ -389,7 +389,7 @@ diff --git a/docs/structpio__types_1_1decompmap__t-members.html b/docs/structpio__types_1_1decompmap__t-members.html index 444bcad3a63..1880d53be24 100644 --- a/docs/structpio__types_1_1decompmap__t-members.html +++ b/docs/structpio__types_1_1decompmap__t-members.html @@ -76,7 +76,7 @@ diff --git a/docs/structpio__types_1_1decompmap__t.html b/docs/structpio__types_1_1decompmap__t.html index f8ebf317b0c..6f865748be1 100644 --- a/docs/structpio__types_1_1decompmap__t.html +++ b/docs/structpio__types_1_1decompmap__t.html @@ -87,7 +87,7 @@ diff --git a/docs/structpio__types_1_1file__desc__t-members.html b/docs/structpio__types_1_1file__desc__t-members.html index 7465a904ec2..d5ab0032a4d 100644 --- a/docs/structpio__types_1_1file__desc__t-members.html +++ b/docs/structpio__types_1_1file__desc__t-members.html @@ -76,7 +76,7 @@ diff --git a/docs/structpio__types_1_1file__desc__t.html b/docs/structpio__types_1_1file__desc__t.html index 565fe77a674..19a8874358c 100644 --- a/docs/structpio__types_1_1file__desc__t.html +++ b/docs/structpio__types_1_1file__desc__t.html @@ -100,7 +100,7 @@ diff --git a/docs/structpio__types_1_1io__desc__t-members.html b/docs/structpio__types_1_1io__desc__t-members.html index cb367471646..5605653bdfe 100644 --- a/docs/structpio__types_1_1io__desc__t-members.html +++ b/docs/structpio__types_1_1io__desc__t-members.html @@ -75,7 +75,7 @@ diff --git a/docs/structpio__types_1_1io__desc__t.html b/docs/structpio__types_1_1io__desc__t.html index 0a323de62dc..a51b1bd27a1 100644 --- a/docs/structpio__types_1_1io__desc__t.html +++ b/docs/structpio__types_1_1io__desc__t.html @@ -89,7 +89,7 @@ diff --git a/docs/structpio__types_1_1iosystem__desc__t-members.html b/docs/structpio__types_1_1iosystem__desc__t-members.html index 3a36d8374a1..49256470a0f 100644 --- a/docs/structpio__types_1_1iosystem__desc__t-members.html +++ b/docs/structpio__types_1_1iosystem__desc__t-members.html @@ -75,7 +75,7 @@ diff --git a/docs/structpio__types_1_1iosystem__desc__t.html b/docs/structpio__types_1_1iosystem__desc__t.html index 43ec78b9986..0d373811f98 100644 --- a/docs/structpio__types_1_1iosystem__desc__t.html +++ b/docs/structpio__types_1_1iosystem__desc__t.html @@ -89,7 +89,7 @@ diff --git a/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t-members.html b/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t-members.html index 99455824828..0ff44b3cd0e 100644 --- a/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t-members.html +++ b/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t-members.html @@ -77,7 +77,7 @@ diff --git a/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t.html b/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t.html index a74eb9e9f93..a944feeedef 100644 --- a/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t.html +++ b/docs/structpio__types_1_1pio__rearr__comm__fc__opt__t.html @@ -90,7 +90,7 @@ diff --git a/docs/structpio__types_1_1pio__rearr__opt__t-members.html b/docs/structpio__types_1_1pio__rearr__opt__t-members.html index 46bf41a5c12..dba5673f8d9 100644 --- a/docs/structpio__types_1_1pio__rearr__opt__t-members.html +++ b/docs/structpio__types_1_1pio__rearr__opt__t-members.html @@ -78,7 +78,7 @@ diff --git a/docs/structpio__types_1_1pio__rearr__opt__t.html b/docs/structpio__types_1_1pio__rearr__opt__t.html index ab4b6fe7071..34280c8ad28 100644 --- a/docs/structpio__types_1_1pio__rearr__opt__t.html +++ b/docs/structpio__types_1_1pio__rearr__opt__t.html @@ -101,7 +101,7 @@ diff --git a/docs/structpio__types_1_1var__desc__t-members.html b/docs/structpio__types_1_1var__desc__t-members.html index 0aa5def6989..a8a452b4e99 100644 --- a/docs/structpio__types_1_1var__desc__t-members.html +++ b/docs/structpio__types_1_1var__desc__t-members.html @@ -76,7 +76,7 @@ diff --git a/docs/structpio__types_1_1var__desc__t.html b/docs/structpio__types_1_1var__desc__t.html index 93409eebc3d..474b44361ff 100644 --- a/docs/structpio__types_1_1var__desc__t.html +++ b/docs/structpio__types_1_1var__desc__t.html @@ -92,7 +92,7 @@ diff --git a/docs/structpioexample_1_1pioexampleclass-members.html b/docs/structpioexample_1_1pioexampleclass-members.html index 847b3b971cb..4833842a0e6 100644 --- a/docs/structpioexample_1_1pioexampleclass-members.html +++ b/docs/structpioexample_1_1pioexampleclass-members.html @@ -102,7 +102,7 @@ diff --git a/docs/structpioexample_1_1pioexampleclass.html b/docs/structpioexample_1_1pioexampleclass.html index ff022f3abc8..9f38dff252f 100644 --- a/docs/structpioexample_1_1pioexampleclass.html +++ b/docs/structpioexample_1_1pioexampleclass.html @@ -668,7 +668,7 @@

      diff --git a/docs/test.html b/docs/test.html index 78f74a00b30..bd5994a3e9e 100644 --- a/docs/test.html +++ b/docs/test.html @@ -130,7 +130,7 @@

      PIO2 Unit Tests

      diff --git a/docs/testpio_example.html b/docs/testpio_example.html index 4fce9ecba71..e01f811c23f 100644 --- a/docs/testpio_example.html +++ b/docs/testpio_example.html @@ -290,7 +290,7 @@