From 4e1897e074e7197fe933ee25cebc5253ef870980 Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Tue, 30 Apr 2019 09:26:07 -0600 Subject: [PATCH 1/9] fixed docs --- doc/source/GettingStarted.txt | 40 +++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/doc/source/GettingStarted.txt b/doc/source/GettingStarted.txt index 40fe348d534..d2aaaf3603e 100644 --- a/doc/source/GettingStarted.txt +++ b/doc/source/GettingStarted.txt @@ -20,21 +20,49 @@ /*! \page intro Introduction -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 . +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 \ref PIO_init and all tasks associated with that communicator must participate in all subsequent calls to PIO. An application can make multiple calls to \ref PIO_init in order to support multiple MPI communicators. +PIO calls are collective. A MPI communicator is set in a call to \ref +PIO_init and all tasks associated with that communicator must +participate in all subsequent calls to PIO. An application can make +multiple calls to \ref PIO_init in order to support multiple MPI +communicators. -Begin by checking out a copy from [gitHub](https://github.com/PARALLELIO/ParallelIO) and installing on your system as per the instructions in the [Installation](@ref install) document. Take a look at examples of PIO usage in both complex and simple test programs in the [Examples](@ref examp) document. Finally, read through the [FAQ](@ref faq) to see if any remaining questions can be answered. +Begin by getting and unpacking the most recent release of PIO from +[gitHub](https://github.com/PARALLELIO/ParallelIO/releases) and +installing on your system as per the instructions in the +[Installation](@ref install) document. Take a look at examples of PIO +usage in both complex and simple test programs in the [Examples](@ref +examp) document. Finally, read through the [FAQ](@ref faq) to see if +any remaining questions can be answered. ### Using PIO has three basic steps. ### -1. Your program should call the \ref 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. +1. Your program should call the \ref 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 \ref PIO_createfile or \ref 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. +2. You can open a file for reading or writing with a call to \ref +PIO_createfile or \ref 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. 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 \ref 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?) +3. 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 \ref 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. */ From 3f0112f2ccd3d3182bfaed80ee1a11dcf40b67bb Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Tue, 30 Apr 2019 09:38:29 -0600 Subject: [PATCH 2/9] updated README --- README.md | 21 +++++++++++++++++---- doc/source/GettingStarted.txt | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c94f5d8c71d..8595e6d5c80 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ cdash site at [http://my.cdash.org/index.php?project=PIO](http://my.cdash.org/in ## Dependencies -PIO can use NetCDF (version 4.3.3+) and/or PnetCDF (version 1.6.0+) +PIO can use NetCDF (version 4.6.1+) and/or PnetCDF (version 1.9.0+) for I/O. NetCDF may be built with or without netCDF-4 features. NetCDF is required for PIO, PnetCDF is optional. @@ -29,6 +29,19 @@ 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. +## Building PIO + +To build PIO, unpack the distribution tarball and do: + +``` +CC=mpicc FC=mpif90 ./configure --enable-fortran && make check install +``` + +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 @@ -88,7 +101,7 @@ 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 +### Building Once you have successfully configured PIO with CMake in a build directory. From within the build directory, build PIO with: @@ -99,7 +112,7 @@ make This will build the `pioc` and `piof` libraries. -## Testing +### Testing If you desire to do testing, and `PIO_ENABLE_TESTS=ON` (which is the default setting), you may build the test executables with: @@ -136,7 +149,7 @@ job submission script. It is important to understand, however, that `ctest` its 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 +### 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: diff --git a/doc/source/GettingStarted.txt b/doc/source/GettingStarted.txt index d2aaaf3603e..09ea7864ebe 100644 --- a/doc/source/GettingStarted.txt +++ b/doc/source/GettingStarted.txt @@ -32,7 +32,7 @@ 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 participate in all subsequent calls to PIO. An application can make -multiple calls to \ref PIO_init in order to support multiple MPI +multiple calls to PIO_init() in order to support multiple MPI communicators. Begin by getting and unpacking the most recent release of PIO from From 5030bf3c68592f5387bf19c154639197add3d18e Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Tue, 30 Apr 2019 10:17:01 -0600 Subject: [PATCH 3/9] more doc fixes --- README.md | 131 +++--------------- doc/source/GettingStarted.txt | 2 +- doc/source/Installing.txt | 2 +- doc/source/base.txt | 30 ++-- doc/source/faq.txt | 2 +- docs/_c_a_mexample.html | 2 +- docs/annotated.html | 2 +- docs/api.html | 2 +- docs/contributing_code.html | 2 +- docs/decomp.html | 2 +- docs/deprecated.html | 2 +- .../dir_105b7c361203833ef447ec1f3c9e0fde.html | 2 +- .../dir_209baab7a174f8da935e472521be6c82.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_6df6542b1223c38c3752260fabab64d0.html | 2 +- .../dir_d28a4824dc47e487b107a5db32ef43c4.html | 2 +- .../dir_fbdd47254eba6596566cfbbd6768a55d.html | 2 +- docs/error.html | 2 +- docs/examp.html | 2 +- docs/example1_8c.html | 2 +- docs/example2_8c.html | 2 +- docs/example_pio_8c.html | 2 +- docs/example_pio_8f90.html | 2 +- docs/faq.html | 4 +- docs/files.html | 2 +- docs/globals.html | 2 +- docs/globals_defs.html | 2 +- docs/globals_func.html | 2 +- docs/globals_type.html | 2 +- docs/globals_vars.html | 2 +- docs/graph_legend.html | 2 +- docs/group___p_i_o__advanceframe.html | 2 +- docs/group___p_i_o__closefile.html | 2 +- docs/group___p_i_o__createfile.html | 2 +- docs/group___p_i_o__def__dim.html | 2 +- docs/group___p_i_o__def__var.html | 2 +- docs/group___p_i_o__enddef.html | 2 +- docs/group___p_i_o__error__method.html | 2 +- docs/group___p_i_o__finalize.html | 2 +- docs/group___p_i_o__freedecomp.html | 2 +- docs/group___p_i_o__get__att.html | 2 +- ...roup___p_i_o__get__local__array__size.html | 2 +- docs/group___p_i_o__get__var.html | 2 +- docs/group___p_i_o__getnumiotasks.html | 2 +- docs/group___p_i_o__init.html | 2 +- docs/group___p_i_o__initdecomp.html | 2 +- docs/group___p_i_o__inq__att.html | 2 +- docs/group___p_i_o__inq__attlen.html | 2 +- docs/group___p_i_o__inq__attname.html | 2 +- docs/group___p_i_o__inq__dimid.html | 2 +- docs/group___p_i_o__inq__dimlen.html | 2 +- docs/group___p_i_o__inq__dimname.html | 2 +- docs/group___p_i_o__inq__natts.html | 2 +- docs/group___p_i_o__inq__ndims.html | 2 +- docs/group___p_i_o__inq__nvars.html | 2 +- docs/group___p_i_o__inq__unlimdim.html | 2 +- docs/group___p_i_o__inq__var__deflate.html | 2 +- docs/group___p_i_o__inq__vardimid.html | 2 +- docs/group___p_i_o__inq__varid.html | 2 +- docs/group___p_i_o__inq__varname.html | 2 +- docs/group___p_i_o__inq__varnatts.html | 2 +- docs/group___p_i_o__inq__varndims.html | 2 +- docs/group___p_i_o__inq__vartype.html | 2 +- docs/group___p_i_o__inquire.html | 2 +- docs/group___p_i_o__inquire__dimension.html | 2 +- docs/group___p_i_o__inquire__variable.html | 2 +- docs/group___p_i_o__iotype.html | 2 +- docs/group___p_i_o__kinds.html | 2 +- docs/group___p_i_o__openfile.html | 2 +- docs/group___p_i_o__put__att.html | 2 +- docs/group___p_i_o__put__var.html | 2 +- docs/group___p_i_o__read__darray.html | 2 +- docs/group___p_i_o__rearr__comm__dir.html | 2 +- ...oup___p_i_o__rearr__comm__fc__options.html | 2 +- docs/group___p_i_o__rearr__comm__t.html | 2 +- docs/group___p_i_o__rearr__method.html | 2 +- docs/group___p_i_o__rearr__options.html | 2 +- docs/group___p_i_o__redef.html | 2 +- docs/group___p_i_o__set__blocksize.html | 2 +- docs/group___p_i_o__set__hint.html | 2 +- docs/group___p_i_o__set__log__level.html | 2 +- docs/group___p_i_o__setdebuglevel.html | 2 +- docs/group___p_i_o__seterrorhandling.html | 2 +- docs/group___p_i_o__setframe.html | 2 +- docs/group___p_i_o__strerror.html | 2 +- docs/group___p_i_o__syncfile.html | 2 +- docs/group___p_i_o__write__darray.html | 2 +- docs/group__error__return.html | 2 +- docs/group__iodesc__generate.html | 2 +- docs/index.html | 8 +- docs/install.html | 4 +- ...rray_1_1_p_i_oc__read__darray-members.html | 2 +- ...acepiodarray_1_1_p_i_oc__read__darray.html | 2 +- ..._p_i_oc__write__darray__multi-members.html | 2 +- ...rray_1_1_p_i_oc__write__darray__multi.html | 2 +- ..._1_1_p_i_oc__get__att__double-members.html | 2 +- ...att__mod_1_1_p_i_oc__get__att__double.html | 2 +- ...d_1_1_p_i_oc__get__att__float-members.html | 2 +- ...fatt__mod_1_1_p_i_oc__get__att__float.html | 2 +- ...mod_1_1_p_i_oc__get__att__int-members.html | 2 +- ...onfatt__mod_1_1_p_i_oc__get__att__int.html | 2 +- ...od_1_1_p_i_oc__get__att__text-members.html | 2 +- ...nfatt__mod_1_1_p_i_oc__get__att__text.html | 2 +- ..._1_1_p_i_oc__put__att__double-members.html | 2 +- ...att__mod_1_1_p_i_oc__put__att__double.html | 2 +- ...d_1_1_p_i_oc__put__att__float-members.html | 2 +- ...fatt__mod_1_1_p_i_oc__put__att__float.html | 2 +- ...mod_1_1_p_i_oc__put__att__int-members.html | 2 +- ...onfatt__mod_1_1_p_i_oc__put__att__int.html | 2 +- ...od_1_1_p_i_oc__put__att__text-members.html | 2 +- ...nfatt__mod_1_1_p_i_oc__put__att__text.html | 2 +- ..._1_1_p_i_oc__get__var__double-members.html | 2 +- ...get__mod_1_1_p_i_oc__get__var__double.html | 2 +- ...d_1_1_p_i_oc__get__var__float-members.html | 2 +- ...fget__mod_1_1_p_i_oc__get__var__float.html | 2 +- ...mod_1_1_p_i_oc__get__var__int-members.html | 2 +- ...onfget__mod_1_1_p_i_oc__get__var__int.html | 2 +- ...1_1_p_i_oc__get__vara__double-members.html | 2 +- ...et__mod_1_1_p_i_oc__get__vara__double.html | 2 +- ..._1_1_p_i_oc__get__vara__float-members.html | 2 +- ...get__mod_1_1_p_i_oc__get__vara__float.html | 2 +- ...od_1_1_p_i_oc__get__vara__int-members.html | 2 +- ...nfget__mod_1_1_p_i_oc__get__vara__int.html | 2 +- ...d_1_1_p_i_oc__get__vara__text-members.html | 2 +- ...fget__mod_1_1_p_i_oc__get__vara__text.html | 2 +- ...1_1_p_i_oc__put__vara__double-members.html | 2 +- ...ut__mod_1_1_p_i_oc__put__vara__double.html | 2 +- ..._1_1_p_i_oc__put__vara__float-members.html | 2 +- ...put__mod_1_1_p_i_oc__put__vara__float.html | 2 +- ...od_1_1_p_i_oc__put__vara__int-members.html | 2 +- ...nfput__mod_1_1_p_i_oc__put__vara__int.html | 2 +- ...d_1_1_p_i_oc__put__vara__text-members.html | 2 +- ...fput__mod_1_1_p_i_oc__put__vara__text.html | 2 +- docs/intro.html | 8 +- docs/mach_walkthrough.html | 2 +- docs/modules.html | 2 +- docs/pages.html | 2 +- docs/pio_8_f90.html | 2 +- docs/pio__kinds_8_f90.html | 2 +- docs/pio__nc4_8c.html | 2 +- docs/pio__support_8_f90.html | 2 +- docs/pio__types_8_f90.html | 2 +- docs/piodarray_8_f90.html | 2 +- docs/piolib__mod_8_f90.html | 2 +- docs/pionfatt__mod_8_f90.html | 2 +- docs/pionfget__mod_8_f90.html | 2 +- docs/pionfput__mod_8_f90.html | 2 +- ...uctpio__types_1_1decompmap__t-members.html | 2 +- docs/structpio__types_1_1decompmap__t.html | 2 +- ...ctpio__types_1_1file__desc__t-members.html | 2 +- docs/structpio__types_1_1file__desc__t.html | 2 +- ...ructpio__types_1_1io__desc__t-members.html | 2 +- docs/structpio__types_1_1io__desc__t.html | 2 +- ...o__types_1_1iosystem__desc__t-members.html | 2 +- ...structpio__types_1_1iosystem__desc__t.html | 2 +- ...1pio__rearr__comm__fc__opt__t-members.html | 2 +- ...types_1_1pio__rearr__comm__fc__opt__t.html | 2 +- ...__types_1_1pio__rearr__opt__t-members.html | 2 +- ...tructpio__types_1_1pio__rearr__opt__t.html | 2 +- ...uctpio__types_1_1var__desc__t-members.html | 2 +- docs/structpio__types_1_1var__desc__t.html | 2 +- ...pioexample_1_1pioexampleclass-members.html | 2 +- docs/structpioexample_1_1pioexampleclass.html | 2 +- docs/test.html | 2 +- docs/testpio_example.html | 2 +- 165 files changed, 207 insertions(+), 296 deletions(-) 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 @@

      From 6d7a936b0bf28478e70750bc61bc3055ea3a0f45 Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Tue, 30 Apr 2019 10:18:54 -0600 Subject: [PATCH 4/9] more doc fixes --- doc/source/GettingStarted.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/GettingStarted.txt b/doc/source/GettingStarted.txt index d2a510d9a8b..aee7661482b 100644 --- a/doc/source/GettingStarted.txt +++ b/doc/source/GettingStarted.txt @@ -32,7 +32,7 @@ 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 participate in all subsequent calls to PIO. An application can make -multiple calls to PIO_init() in order to support multiple MPI +multiple calls to \ref PIO_init in order to support multiple MPI communicators. Begin by getting and unpacking the most recent release of PIO from From f395aa9c2506b6bca774265055bb2be51b1365b3 Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Wed, 1 May 2019 04:37:08 -0600 Subject: [PATCH 5/9] changed example --- examples/c/darray_no_async.c | 73 +++++++++++++++++++++++------------- examples/c/run_tests.sh | 12 +++++- src/clib/pio.h | 2 +- 3 files changed, 57 insertions(+), 30 deletions(-) diff --git a/examples/c/darray_no_async.c b/examples/c/darray_no_async.c index 126adcd5ba0..784612acdcf 100644 --- a/examples/c/darray_no_async.c +++ b/examples/c/darray_no_async.c @@ -6,7 +6,7 @@ * (one unlimited) and one variable. It first writes, then reads the * sample file using distributed arrays. * - * This example can be run in parallel for 4 processors. + * This example can be run in parallel for 16 processors. */ #include "config.h" @@ -32,10 +32,10 @@ #define NUM_TIMESTEPS 2 /* The length of our sample data in X dimension.*/ -#define DIM_LEN_X 4 +#define DIM_LEN_X 8 /* The length of our sample data in Y dimension.*/ -#define DIM_LEN_Y 4 +#define DIM_LEN_Y 8 /* The name of the variable in the netCDF output file. */ #define VAR_NAME "foo" @@ -48,7 +48,7 @@ #define START_DATA_VAL 42 /* Number of tasks this example runs on. */ -#define TARGET_NTASKS 4 +#define TARGET_NTASKS 16 /* Logging level. */ #define LOG_LEVEL -1 @@ -59,6 +59,11 @@ int dim_len[NDIM3] = {NC_UNLIMITED, DIM_LEN_X, DIM_LEN_Y}; /* Names of dimensions. */ char dim_name[NDIM3][PIO_MAX_NAME + 1] = {"unlimted", "x", "y"}; +/* These are used when writing the decomposition file. */ +#define DECOMP_FILENAME "darray_no_async_decomp.nc" +#define DECOMP_TITLE "Example Decomposition from darray_no_async.c" +#define DECOMP_HISTORY "This file is created by the program darray_no_async in the PIO C library" + /* Handle MPI errors. This should only be used with MPI library * function calls. */ #define MPIERR(e) do { \ @@ -180,25 +185,33 @@ int check_file(int iosysid, int ntasks, char *filename, int iotype, has the following contents (as shown by ncdump):
      -   netcdf darray_no_async_iotype_1 {
      -   dimensions:
      -   unlimted = UNLIMITED ; // (2 currently)
      -   x = 4 ;
      -   y = 4 ;
      -   variables:
      -   int foo(unlimted, x, y) ;
      -   data:
      -
      -   foo =
      -   42, 42, 42, 42,
      -   43, 43, 43, 43,
      -   44, 44, 44, 44,
      -   45, 45, 45, 45,
      -   142, 142, 142, 142,
      -   143, 143, 143, 143,
      -   144, 144, 144, 144,
      -   145, 145, 145, 145 ;
      -   }
      +netcdf darray_no_async_iotype_1 {
      +dimensions:
      +	unlimted = UNLIMITED ; // (2 currently)
      +	x = 8 ;
      +	y = 8 ;
      +variables:
      +	int foo(unlimted, x, y) ;
      +data:
      +
      + foo =
      +  42, 42, 42, 42, 43, 43, 43, 43,
      +  44, 44, 44, 44, 45, 45, 45, 45,
      +  46, 46, 46, 46, 47, 47, 47, 47,
      +  48, 48, 48, 48, 49, 49, 49, 49,
      +  50, 50, 50, 50, 51, 51, 51, 51,
      +  52, 52, 52, 52, 53, 53, 53, 53,
      +  54, 54, 54, 54, 55, 55, 55, 55,
      +  56, 56, 56, 56, 57, 57, 57, 57,
      +  142, 142, 142, 142, 143, 143, 143, 143,
      +  144, 144, 144, 144, 145, 145, 145, 145,
      +  146, 146, 146, 146, 147, 147, 147, 147,
      +  148, 148, 148, 148, 149, 149, 149, 149,
      +  150, 150, 150, 150, 151, 151, 151, 151,
      +  152, 152, 152, 152, 153, 153, 153, 153,
      +  154, 154, 154, 154, 155, 155, 155, 155,
      +  156, 156, 156, 156, 157, 157, 157, 157 ;
      +}
          
      */ @@ -239,7 +252,7 @@ int main(int argc, char* argv[]) /* Check that a valid number of processors was specified. */ if (ntasks != TARGET_NTASKS) - fprintf(stderr, "Number of processors must be 4!\n"); + fprintf(stderr, "Number of processors must be 16!\n"); printf("%d: ParallelIO Library darray_no_async example running on %d processors.\n", my_rank, ntasks); @@ -253,7 +266,7 @@ int main(int argc, char* argv[]) /* Initialize the PIO IO system. This specifies how many and * which processors are involved in I/O. */ - if ((ret = PIOc_Init_Intracomm(MPI_COMM_WORLD, 1, ioproc_stride, + if ((ret = PIOc_Init_Intracomm(MPI_COMM_WORLD, 4, ioproc_stride, ioproc_start, PIO_REARR_BOX, &iosysid))) ERR(ret); @@ -268,9 +281,15 @@ int main(int argc, char* argv[]) /* Create the PIO decomposition for this example. Since this * is a variable with an unlimited dimension, we want to * create a 2-D composition which represents one record. */ - printf("rank: %d Creating decomposition...\n", my_rank); + printf("rank: %d Creating decomposition, elements_per_pe %lld...\n", my_rank, + elements_per_pe); if ((ret = PIOc_init_decomp(iosysid, PIO_INT, NDIM3 - 1, &dim_len[1], elements_per_pe, - compdof, &ioid, 0, NULL, NULL))) + compdof, &ioid, PIO_REARR_SUBSET, NULL, NULL))) + ERR(ret); + + /* Write the decomposition file. */ + if ((ret = PIOc_write_nc_decomp(iosysid, DECOMP_FILENAME, NC_CLOBBER, + ioid, DECOMP_TITLE, DECOMP_HISTORY, 0))) ERR(ret); /* The number of favors may change with the build parameters. */ diff --git a/examples/c/run_tests.sh b/examples/c/run_tests.sh index 1cfb586d292..caf49573aba 100755 --- a/examples/c/run_tests.sh +++ b/examples/c/run_tests.sh @@ -11,7 +11,8 @@ trap exit INT TERM printf 'running PIO examples...\n' #PIO_EXAMPLES='examplePio' -PIO_EXAMPLES='example1 examplePio darray_no_async' +PIO_EXAMPLES='example1 examplePio' +PIO_EXAMPLES_16='darray_no_async' success1=true for EXAMPLE in $PIO_EXAMPLES @@ -20,9 +21,16 @@ do echo "running ${EXAMPLE}" mpiexec -n 4 ./${EXAMPLE} && success1=true || break done +success2=true +for EXAMPLE in $PIO_EXAMPLES_16 +do + success2=false + echo "running ${EXAMPLE}" + mpiexec -n 16 ./${EXAMPLE} && success2=true || break +done # Did we succeed? -if test x$success1 = xtrue; then +if test x$success1 = xtrue -a x$success2 = xtrue; then exit 0 fi exit 1 diff --git a/src/clib/pio.h b/src/clib/pio.h index d88a4b3f3f6..f5647e364a0 100644 --- a/src/clib/pio.h +++ b/src/clib/pio.h @@ -410,7 +410,7 @@ typedef struct iosystem_desc_t MPI_Comm comp_comm; /** This is an MPI inter communicator between IO communicator and - * computation communicator. */ + * computation communicator, only used for async mode. */ MPI_Comm intercomm; /** This is a copy (but not an MPI copy) of either the comp (for From cbf0a485dd240e2878c3f28a27f9577443ff2606 Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Wed, 1 May 2019 04:39:30 -0600 Subject: [PATCH 6/9] returned docs directory --- docs/_c_a_mexample.html | 2 +- docs/annotated.html | 2 +- docs/api.html | 2 +- docs/contributing_code.html | 2 +- docs/decomp.html | 2 +- docs/deprecated.html | 2 +- docs/dir_105b7c361203833ef447ec1f3c9e0fde.html | 2 +- docs/dir_209baab7a174f8da935e472521be6c82.html | 2 +- docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- docs/dir_6df6542b1223c38c3752260fabab64d0.html | 2 +- docs/dir_d28a4824dc47e487b107a5db32ef43c4.html | 2 +- docs/dir_fbdd47254eba6596566cfbbd6768a55d.html | 2 +- docs/error.html | 2 +- docs/examp.html | 2 +- docs/example1_8c.html | 2 +- docs/example2_8c.html | 2 +- docs/example_pio_8c.html | 2 +- docs/example_pio_8f90.html | 2 +- docs/faq.html | 4 ++-- docs/files.html | 2 +- docs/globals.html | 2 +- docs/globals_defs.html | 2 +- docs/globals_func.html | 2 +- docs/globals_type.html | 2 +- docs/globals_vars.html | 2 +- docs/graph_legend.html | 2 +- docs/group___p_i_o__advanceframe.html | 2 +- docs/group___p_i_o__closefile.html | 2 +- docs/group___p_i_o__createfile.html | 2 +- docs/group___p_i_o__def__dim.html | 2 +- docs/group___p_i_o__def__var.html | 2 +- docs/group___p_i_o__enddef.html | 2 +- docs/group___p_i_o__error__method.html | 2 +- docs/group___p_i_o__finalize.html | 2 +- docs/group___p_i_o__freedecomp.html | 2 +- docs/group___p_i_o__get__att.html | 2 +- docs/group___p_i_o__get__local__array__size.html | 2 +- docs/group___p_i_o__get__var.html | 2 +- docs/group___p_i_o__getnumiotasks.html | 2 +- docs/group___p_i_o__init.html | 2 +- docs/group___p_i_o__initdecomp.html | 2 +- docs/group___p_i_o__inq__att.html | 2 +- docs/group___p_i_o__inq__attlen.html | 2 +- docs/group___p_i_o__inq__attname.html | 2 +- docs/group___p_i_o__inq__dimid.html | 2 +- docs/group___p_i_o__inq__dimlen.html | 2 +- docs/group___p_i_o__inq__dimname.html | 2 +- docs/group___p_i_o__inq__natts.html | 2 +- docs/group___p_i_o__inq__ndims.html | 2 +- docs/group___p_i_o__inq__nvars.html | 2 +- docs/group___p_i_o__inq__unlimdim.html | 2 +- docs/group___p_i_o__inq__var__deflate.html | 2 +- docs/group___p_i_o__inq__vardimid.html | 2 +- docs/group___p_i_o__inq__varid.html | 2 +- docs/group___p_i_o__inq__varname.html | 2 +- docs/group___p_i_o__inq__varnatts.html | 2 +- docs/group___p_i_o__inq__varndims.html | 2 +- docs/group___p_i_o__inq__vartype.html | 2 +- docs/group___p_i_o__inquire.html | 2 +- docs/group___p_i_o__inquire__dimension.html | 2 +- docs/group___p_i_o__inquire__variable.html | 2 +- docs/group___p_i_o__iotype.html | 2 +- docs/group___p_i_o__kinds.html | 2 +- docs/group___p_i_o__openfile.html | 2 +- docs/group___p_i_o__put__att.html | 2 +- docs/group___p_i_o__put__var.html | 2 +- docs/group___p_i_o__read__darray.html | 2 +- docs/group___p_i_o__rearr__comm__dir.html | 2 +- docs/group___p_i_o__rearr__comm__fc__options.html | 2 +- docs/group___p_i_o__rearr__comm__t.html | 2 +- docs/group___p_i_o__rearr__method.html | 2 +- docs/group___p_i_o__rearr__options.html | 2 +- docs/group___p_i_o__redef.html | 2 +- docs/group___p_i_o__set__blocksize.html | 2 +- docs/group___p_i_o__set__hint.html | 2 +- docs/group___p_i_o__set__log__level.html | 2 +- docs/group___p_i_o__setdebuglevel.html | 2 +- docs/group___p_i_o__seterrorhandling.html | 2 +- docs/group___p_i_o__setframe.html | 2 +- docs/group___p_i_o__strerror.html | 2 +- docs/group___p_i_o__syncfile.html | 2 +- docs/group___p_i_o__write__darray.html | 2 +- docs/group__error__return.html | 2 +- docs/group__iodesc__generate.html | 2 +- docs/index.html | 8 ++++---- docs/install.html | 4 ++-- ...terfacepiodarray_1_1_p_i_oc__read__darray-members.html | 2 +- docs/interfacepiodarray_1_1_p_i_oc__read__darray.html | 2 +- ...iodarray_1_1_p_i_oc__write__darray__multi-members.html | 2 +- ...terfacepiodarray_1_1_p_i_oc__write__darray__multi.html | 2 +- ...ionfatt__mod_1_1_p_i_oc__get__att__double-members.html | 2 +- ...terfacepionfatt__mod_1_1_p_i_oc__get__att__double.html | 2 +- ...pionfatt__mod_1_1_p_i_oc__get__att__float-members.html | 2 +- ...nterfacepionfatt__mod_1_1_p_i_oc__get__att__float.html | 2 +- ...cepionfatt__mod_1_1_p_i_oc__get__att__int-members.html | 2 +- .../interfacepionfatt__mod_1_1_p_i_oc__get__att__int.html | 2 +- ...epionfatt__mod_1_1_p_i_oc__get__att__text-members.html | 2 +- ...interfacepionfatt__mod_1_1_p_i_oc__get__att__text.html | 2 +- ...ionfatt__mod_1_1_p_i_oc__put__att__double-members.html | 2 +- ...terfacepionfatt__mod_1_1_p_i_oc__put__att__double.html | 2 +- ...pionfatt__mod_1_1_p_i_oc__put__att__float-members.html | 2 +- ...nterfacepionfatt__mod_1_1_p_i_oc__put__att__float.html | 2 +- ...cepionfatt__mod_1_1_p_i_oc__put__att__int-members.html | 2 +- .../interfacepionfatt__mod_1_1_p_i_oc__put__att__int.html | 2 +- ...epionfatt__mod_1_1_p_i_oc__put__att__text-members.html | 2 +- ...interfacepionfatt__mod_1_1_p_i_oc__put__att__text.html | 2 +- ...ionfget__mod_1_1_p_i_oc__get__var__double-members.html | 2 +- ...terfacepionfget__mod_1_1_p_i_oc__get__var__double.html | 2 +- ...pionfget__mod_1_1_p_i_oc__get__var__float-members.html | 2 +- ...nterfacepionfget__mod_1_1_p_i_oc__get__var__float.html | 2 +- ...cepionfget__mod_1_1_p_i_oc__get__var__int-members.html | 2 +- .../interfacepionfget__mod_1_1_p_i_oc__get__var__int.html | 2 +- ...onfget__mod_1_1_p_i_oc__get__vara__double-members.html | 2 +- ...erfacepionfget__mod_1_1_p_i_oc__get__vara__double.html | 2 +- ...ionfget__mod_1_1_p_i_oc__get__vara__float-members.html | 2 +- ...terfacepionfget__mod_1_1_p_i_oc__get__vara__float.html | 2 +- ...epionfget__mod_1_1_p_i_oc__get__vara__int-members.html | 2 +- ...interfacepionfget__mod_1_1_p_i_oc__get__vara__int.html | 2 +- ...pionfget__mod_1_1_p_i_oc__get__vara__text-members.html | 2 +- ...nterfacepionfget__mod_1_1_p_i_oc__get__vara__text.html | 2 +- ...onfput__mod_1_1_p_i_oc__put__vara__double-members.html | 2 +- ...erfacepionfput__mod_1_1_p_i_oc__put__vara__double.html | 2 +- ...ionfput__mod_1_1_p_i_oc__put__vara__float-members.html | 2 +- ...terfacepionfput__mod_1_1_p_i_oc__put__vara__float.html | 2 +- ...epionfput__mod_1_1_p_i_oc__put__vara__int-members.html | 2 +- ...interfacepionfput__mod_1_1_p_i_oc__put__vara__int.html | 2 +- ...pionfput__mod_1_1_p_i_oc__put__vara__text-members.html | 2 +- ...nterfacepionfput__mod_1_1_p_i_oc__put__vara__text.html | 2 +- docs/intro.html | 8 ++++---- docs/mach_walkthrough.html | 2 +- docs/modules.html | 2 +- docs/pages.html | 2 +- docs/pio_8_f90.html | 2 +- docs/pio__kinds_8_f90.html | 2 +- docs/pio__nc4_8c.html | 2 +- docs/pio__support_8_f90.html | 2 +- docs/pio__types_8_f90.html | 2 +- docs/piodarray_8_f90.html | 2 +- docs/piolib__mod_8_f90.html | 2 +- docs/pionfatt__mod_8_f90.html | 2 +- docs/pionfget__mod_8_f90.html | 2 +- docs/pionfput__mod_8_f90.html | 2 +- docs/structpio__types_1_1decompmap__t-members.html | 2 +- docs/structpio__types_1_1decompmap__t.html | 2 +- docs/structpio__types_1_1file__desc__t-members.html | 2 +- docs/structpio__types_1_1file__desc__t.html | 2 +- docs/structpio__types_1_1io__desc__t-members.html | 2 +- docs/structpio__types_1_1io__desc__t.html | 2 +- docs/structpio__types_1_1iosystem__desc__t-members.html | 2 +- docs/structpio__types_1_1iosystem__desc__t.html | 2 +- ...io__types_1_1pio__rearr__comm__fc__opt__t-members.html | 2 +- .../structpio__types_1_1pio__rearr__comm__fc__opt__t.html | 2 +- docs/structpio__types_1_1pio__rearr__opt__t-members.html | 2 +- docs/structpio__types_1_1pio__rearr__opt__t.html | 2 +- docs/structpio__types_1_1var__desc__t-members.html | 2 +- docs/structpio__types_1_1var__desc__t.html | 2 +- docs/structpioexample_1_1pioexampleclass-members.html | 2 +- docs/structpioexample_1_1pioexampleclass.html | 2 +- docs/test.html | 2 +- docs/testpio_example.html | 2 +- 160 files changed, 168 insertions(+), 168 deletions(-) diff --git a/docs/_c_a_mexample.html b/docs/_c_a_mexample.html index 68c288eaa7c..91aecb86dc7 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 0038650a1ce..20e9b4f9c2d 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -106,7 +106,7 @@ diff --git a/docs/api.html b/docs/api.html index 425fccd849b..97525a227e0 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 0e578e94e05..9e35b709902 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 6bd346c5c80..fedf51e5a50 100644 --- a/docs/decomp.html +++ b/docs/decomp.html @@ -94,7 +94,7 @@

      diff --git a/docs/deprecated.html b/docs/deprecated.html index de31ce1fd62..443a5e6f56b 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 e306bffe847..dc6b5a16fbc 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 c41eb46ce64..350e6007336 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 788e5ab5592..758346e4fad 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 beea7359c81..338148199a3 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 9c8a0fa1611..3329aee9930 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 892b554dca0..a447b8260a2 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 a474f69c72b..3e5ef4dfefd 100644 --- a/docs/error.html +++ b/docs/error.html @@ -83,7 +83,7 @@ diff --git a/docs/examp.html b/docs/examp.html index 09befdf5117..8b8eb15e00e 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 de9b2f61e13..00a4ec02683 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 498cccae138..07774f6030a 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 e8c0c66db46..5861423db33 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 a6ae90fdfb0..eb18de3d5fe 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 b5ed408fdcf..1d00a702f75 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 tests for PIO. They are run my 'make check'. The tests use mpiexec to run tests on 4, 8, or 16 processors.

    +

    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.

    diff --git a/docs/files.html b/docs/files.html index d75085f200a..5c3df4b5a36 100644 --- a/docs/files.html +++ b/docs/files.html @@ -85,7 +85,7 @@ diff --git a/docs/globals.html b/docs/globals.html index c57a4c4f7ca..c346e9d424e 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 1362cec83ad..787c467c645 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 e2eefdee0ce..9bc3ae1f2e3 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 4759b7acde7..6bd9538248a 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 e4bebf9a1f1..7a995df30fb 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 c7bb75e7b56..a143a6256cf 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 e1ede585646..56b1bdf718e 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 0c2c193f7ae..7e2482a41ed 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 849a804f962..20c647f4b1f 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 db701b79536..a65e904fa81 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 58accfae4ab..c08e1771d08 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 04a52d35851..b839e28b644 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 02fb89fd7ab..6f36f08c030 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 f08bb94d3f0..0079043b887 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 541116f910d..e80d1f9ac47 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 68514099054..30fa5ba3820 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 855dcac8d5d..d8f0bf4bcca 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 e8e81bf22b8..997aaca2be2 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 05e765da2d2..d9b5c8ffbf8 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 fc842042cb9..965d80fa578 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 99af6c816fb..2e88ea74272 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 d38049109c3..ed843f2d410 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 2a98955b6fe..e3a77b69c21 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 d436d7f17f7..cb2d46d3842 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 68a80e1ae05..4600b511d72 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 53b5ed77bd2..21df17ee80c 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 1b1a230a959..674d7871d95 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 f2bc3238ac7..748979daccc 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 c25f5500dcf..91f9c8b5e34 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 de1e56d79a3..c73c938609f 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 930324be296..941f83a9f33 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 cb011c4c662..6f5b6e121b4 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 52c71baffde..0d7d2567683 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 fe48544a278..9299726a4a9 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 712f4acbdf1..5e38df36d4e 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 1de24e0594e..e2c3922e640 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 283d6927769..3ad0e9f4ebc 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 fe10a8d8934..e52b005a965 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 9ac3d1d5a72..c13cf6892dd 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 9f5a169bf8c..ad82eeba458 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 62055ba92f5..09faffeb217 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 bdb42e913f6..8aa9eac3373 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 8d7012f6e75..20abd0db714 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 fda3c72ebb4..05023620c6a 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 d22d304920d..fbe53ac509b 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 a02f2f52158..e33b3971ece 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 35acbc717ec..d87409ba442 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 ccd04b5b01b..c5c0d196987 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 bb7e8d98226..ba35ba36476 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 ccaf10971c1..fd93abe4ebd 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 7d75bfa779f..0306297aed6 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 7dffaec1e77..18b6f5710fc 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 680a7f62eb0..0ba9549c37a 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 4e8342d4759..1da5939369b 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 1c196d0aaa9..546d79b0a50 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 c445b52ae2c..a64370f000f 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 8bbbb22448b..f835592f018 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 49fbd72d2ba..18c6b2b2a5f 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 5adc552f42d..2f1c2e6bf02 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 d14244e1231..9a8a9456e7d 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 01b9bf00a17..db9e7bdf964 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 514dfb1bbe1..747b62e6275 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 aefefbf65e6..492a3d9d2a8 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 37541d182e7..0a52003d2e4 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 da212039423..36f13004ce8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -71,9 +71,9 @@ Mariana Vertenstein
      Edward Hartnett
      -

      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.

      +

      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.

      • Introduction
      • Installing PIO
      • @@ -89,7 +89,7 @@ diff --git a/docs/install.html b/docs/install.html index 2893a6017f1..73b130eafec 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.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.

        +

        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.

        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 7c0bad82e64..6266a29a915 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 f47cac2b662..0fa0a50720e 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 89e9a08287d..2e45b11b840 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 1ed3b0fe168..a8af9132196 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 7e8305628fa..bf90dcdaaff 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 5020209064b..abcc44b35d4 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 427accb8a40..b7d348d525b 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 576aaf6eed3..3f8f182f79b 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 87d1f0121d9..7264ddceeb4 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 a801b3094a4..1794f1ed2c2 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 1f28854318c..17cd636b0dd 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 f5fa5ee3683..776add05c3a 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 27a19d7558f..e5de330885f 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 c6d9d1017d5..4247fca2af1 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 285e360089b..526a5388010 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 c3cb719fac8..af08979a97c 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 a935ac4ef80..03d88c9d7b2 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 4c841c68e50..0a61d811e6e 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 12ce0d88877..1c81d220269 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 a4c846f5b59..b7d2833da3a 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 ee8e719371b..0cf233ddf13 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 8d426422dc3..ed2fbfe3395 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 06d2015e76a..90e18abce96 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 24d77f21bdf..3e2b7458911 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 3e7433429ad..0f6b23903fc 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 3c93ecc062f..ef4a3d1438b 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 646f08282d4..0aca452a671 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 bd6c6338e37..b5d29907600 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 e29b9f3af19..c18d928ada7 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 89d0ac14afd..d1394a6a685 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 7b38bcb2ff9..84f6037e234 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 f3fb05399b1..7759f5b9cc1 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 5cb1dea1334..a967153300d 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 4b14379061d..7803162b520 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 3a8ba952b54..e13d432a161 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 5fd4fad2eb6..ba9b0fe7d27 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 9727646307f..04fab7e1124 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 529634d0380..302ff55ac32 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 31836bcd2a1..9733c8ce61b 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 7b015a84c8a..0501466c78d 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 f0fe512d081..0a231b90602 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 57dd23d0d97..db71c514d6e 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 3c9a6f2f962..fc28df52ef3 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 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.

        +

        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.

        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.
        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. (what happens next?)
        diff --git a/docs/mach_walkthrough.html b/docs/mach_walkthrough.html index 416c22af0ce..59131960365 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 2202ff55e2b..c43ce20211d 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -129,7 +129,7 @@ diff --git a/docs/pages.html b/docs/pages.html index 7e8f21284cc..5e3c8e6746f 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 26ca67d53d5..58c43a370d2 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 95d17e788bd..a482707cd6a 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 809765f3a69..765df994aad 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 249c3e43e0c..61560e60470 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 2022449d665..3366e7c6f38 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 e9711cfed1d..4c04bd1af46 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 c1f061ff7fb..5df413bb9c3 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 e509ae254d9..5afcd728afa 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 f3ff66a05aa..1339b1fd96f 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 1f84a0221f8..b69f5d4c4a5 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 1880d53be24..444bcad3a63 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 6f865748be1..f8ebf317b0c 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 d5ab0032a4d..7465a904ec2 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 19a8874358c..565fe77a674 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 5605653bdfe..cb367471646 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 a51b1bd27a1..0a323de62dc 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 49256470a0f..3a36d8374a1 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 0d373811f98..43ec78b9986 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 0ff44b3cd0e..99455824828 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 a944feeedef..a74eb9e9f93 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 dba5673f8d9..46bf41a5c12 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 34280c8ad28..ab4b6fe7071 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 a8a452b4e99..0aa5def6989 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 474b44361ff..93409eebc3d 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 4833842a0e6..847b3b971cb 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 9f38dff252f..ff022f3abc8 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 bd5994a3e9e..78f74a00b30 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 e01f811c23f..4fce9ecba71 100644 --- a/docs/testpio_example.html +++ b/docs/testpio_example.html @@ -290,7 +290,7 @@

        From 080fe0ae66ee2ac83f9cb320829baa845567602b Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Wed, 1 May 2019 05:08:22 -0600 Subject: [PATCH 7/9] fixed codacy warnings --- README.md | 1 - examples/c/run_tests.sh | 10 ++++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 38eacdbf0ca..6e8b263e018 100644 --- a/README.md +++ b/README.md @@ -69,4 +69,3 @@ CC=mpicc FC=mpif90 cmake [-DOPTION1=value1 -DOPTION2=value2 ...] /path/to/pio/so Full instructions for the cmake build can be found in the installation documentation. - diff --git a/examples/c/run_tests.sh b/examples/c/run_tests.sh index caf49573aba..0d369bbb53d 100755 --- a/examples/c/run_tests.sh +++ b/examples/c/run_tests.sh @@ -19,14 +19,20 @@ for EXAMPLE in $PIO_EXAMPLES do success1=false echo "running ${EXAMPLE}" - mpiexec -n 4 ./${EXAMPLE} && success1=true || break + mpiexec -n 4 ./${EXAMPLE} && success1=true + if test $success1 = false; then + break + fi done success2=true for EXAMPLE in $PIO_EXAMPLES_16 do success2=false echo "running ${EXAMPLE}" - mpiexec -n 16 ./${EXAMPLE} && success2=true || break + mpiexec -n 16 ./${EXAMPLE} && success2=true + if test $success2 = false; then + break + fi done # Did we succeed? From 0f9122efa79c8354b6747a372b4a09055aa69236 Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Wed, 1 May 2019 07:26:48 -0600 Subject: [PATCH 8/9] fixe codacity warning --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e8b263e018..dd1ec51418d 100644 --- a/README.md +++ b/README.md @@ -68,4 +68,4 @@ CC=mpicc FC=mpif90 cmake [-DOPTION1=value1 -DOPTION2=value2 ...] /path/to/pio/so ``` Full instructions for the cmake build can be found in the installation -documentation. +documentation. \ No newline at end of file From 59b88bccef6b3c664e4adb73fb052867637c387a Mon Sep 17 00:00:00 2001 From: Ed Hartnett Date: Wed, 1 May 2019 09:36:02 -0600 Subject: [PATCH 9/9] fixed warning --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd1ec51418d..6e8b263e018 100644 --- a/README.md +++ b/README.md @@ -68,4 +68,4 @@ CC=mpicc FC=mpif90 cmake [-DOPTION1=value1 -DOPTION2=value2 ...] /path/to/pio/so ``` Full instructions for the cmake build can be found in the installation -documentation. \ No newline at end of file +documentation.