Next: , Previous: NF__OPEN, Up: Datasets


2.10 NF_OPEN_PAR

This function opens a netCDF-4 dataset for parallel access.

This function is only available if the netCDF library was built with a HDF5 library for which –enable-parallel was used, and which was linked (like HDF5) to MPI libraries.

This opens the file using either MPI-IO or MPI-POSIX. The file must be a netCDF-4 file. (That is, it must have been created using NF_NETCDF4 in the creation mode).

This function is only available if netCDF-4 was build with a version of the HDF5 library which was built with –enable-parallel.

Before either HDF5 or netCDF-4 can be installed with support for parallel programming, and MPI layer must also be installed on the machine, and usually a parallel file system.

NetCDF-4 exposes the parallel access functionality of HDF5. For more information about what is required to install and use the parallel access functions, see the HDF5 web site.

When a netCDF-4 file is opened for parallel access, collective operations are the default. To use independent access on a variable, See NF_VAR_PAR_ACCESS.

Usage

     INTEGER FUNCTION NF_OPEN_PAR(CHARACTER*(*) PATH, INTEGER OMODE,
                                  INTEGER MPI_COMM, INTEGER MPI_INFO,
                                  INTEGER ncid)
PATH
File name for netCDF dataset to be opened.
OMODE
A zero value (or NF_NOWRITE) specifies the default behavior: open the dataset with read-only access.

Otherwise, the mode may be NF_WRITE. Setting the NF_WRITE flag opens the dataset with read-write access. ("Writing" means any kind of change to the dataset, including appending or changing data, adding or renaming dimensions, variables, and attributes, or deleting attributes.)

Setting NF_NETCDF4 is not necessary (or allowed). The file type is detected automatically.

MPI_COMM
The MPI communicator.
MPI_INFO
The MPI info.
ncid
Returned netCDF ID.

Errors

NF_OPEN returns the value NF_NOERR if no errors occurred. Otherwise, the returned status indicates an error. Possible causes of errors include:

Example

This example is from the test program nf_test/ftst_parallel.F.

     !     Reopen the file.
           retval = nf_open_par(FILE_NAME, nf_nowrite, MPI_COMM_WORLD,
          $     MPI_INFO_NULL, ncid)
           if (retval .ne. nf_noerr) stop 2