Previous: NF_RENAME_VAR, Up: Variables


6.32 Change between Collective and Independent Parallel Access: NF_VAR_PAR_ACCESS

The function NF_VAR_PAR_ACCESS changes whether read/write operations on a parallel file system are performed collectively (the default) or independently on the variable. This function can only be called if the file was created with NF_CREATE_PAR (see NF_CREATE_PAR) or opened with NF_OPEN_PAR (see NF_OPEN_PAR).

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.

Calling this function affects only the open file - information about whether a variable is to be accessed collectively or independently is not written to the data file. Every time you open a file on a parallel file system, all variables default to collective operations. The change a variable to independent lasts only as long as that file is open.

The variable can be changed from collective to independent, and back, as often as desired.

Usage

     INTEGER NF_VAR_PAR_ACCESS(INTEGER NCID, INTEGER VARID, INTEGER ACCESS);
NCID
NetCDF ID, from a previous call to NF_OPEN_PAR (see NF_OPEN_PAR) or NF_CREATE_PAR (see NF_CREATE_PAR).
varid
Variable ID.
access
NF_INDEPENDENT to set this variable to independent operations. NF_COLLECTIVE to set it to collective operations.

Return Values

NF_NOERR
No error.
NF_ENOTVAR
No variable found.
NF_ENOTNC4
Not a netCDF-4 file.
NF_NOPAR
File not opened for parallel access.

Example

This example comes from test program nf_test/ftst_parallel.F. For this test to be run, netCDF must have been built with a parallel-enabled HDF5, and –enable-parallel-tests must have been used when configuring netcdf.

           retval = nf_var_par_access(ncid, varid, nf_collective)
           if (retval .ne. nf_noerr) stop 2