Next: , Previous: , Up: Files   [Index]


2.19 Exit independent data mode: ncmpi_end_indep_data

This API leaves the netCDF data set from independent data mode and enters into collective data mode.

Operational Mode

This API is a collective subroutine.

This API must be called while the file is in independent data mode. Starting from version 1.9.0, if called in the collective mode, this API takes no effect and returns NC_NOERR immediately.

Usage

int ncmpi_end_indep_data (int ncid);
ncid

NetCDF ID, from a previous call to ncmpi_open or ncmpi_create.

Return Error Codes

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

Example

Here is an example using ncmpi_put_vara_double_all in collective data mode and ncmpi_put_vara_double in independent data mode.

#include <pnetcdf.h>
   ... 
int  err;                       /* error status */
int  ncid;                      /* netCDF ID */
int  varid;                     /* variable ID */
MPI_Offset start[3], count[3];
double *buf;                    /* array to hold values */
    ...
err = ncmpi_create(MPI_COMM_WORLD, "foo.nc", NC_CLOBBER, MPI_INFO_NULL, &ncid);
if (err != NC_NOERR) handle_error(err);
   ...
err = ncmpi_enddef(ncid);
if (err != NC_NOERR) handle_error(err);
   ...
/* collectively write values into netCDF variable */
err = ncmpi_put_vara_double_all(ncid, varid, start, count, buf);
if (err != NC_NOERR) handle_error(err);
   ...
/* entering independent data mode */
err = ncmpi_begin_indep_data(ncid);
if (err != NC_NOERR) handle_error(err);
   ...
/* independently write values into netCDF variable */
err = ncmpi_put_vara_double(ncid, varid, start, count, buf);
if (err != NC_NOERR) handle_error(err);
   ...
/* exiting independent data mode */
err = ncmpi_end_indep_data(ncid);
if (err != NC_NOERR) handle_error(err);

Next: , Previous: , Up: Files   [Index]