Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Previous: NF90_RENAME_VAR, Up: Variables


6.20 Change between Collective and Independent Parallel Access: NF90_VAR_PAR_ACCESS

The function NF90_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 NF90_CREATE_PAR (see NF90_CREATE_PAR) or opened with NF90_OPEN_PAR (see NF90_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

       function nf90_var_par_access(ncid, varid, access)
         integer, intent(in) :: ncid
         integer, intent(in) :: varid
         integer, intent(in) :: access
         integer :: nf90_var_par_access
       end function nf90_var_par_access
ncid
NetCDF ID, from a previous call to NF90_OPEN_PAR (see NF90_OPEN_PAR) or NF90_CREATE_PAR (see NF90_CREATE_PAR).
varid
Variable ID.
access
NF90_INDEPENDENT to set this variable to independent operations. NF90_COLLECTIVE to set it to collective operations.

Return Values

NF90_NOERR
No error.
NF90_ENOTVAR
No variable found.
NF90_ENOTNC4
Not a netCDF-4 file.
NF90_NOPAR
File not opened for parallel access.

Example

This example comes from test program nf_test/f90tst_parallel.f90. 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.

       call handle_err(nf90_var_par_access(ncid, varid, nf90_collective))
 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690