9 #include "ncdispatch.h" 98 MPI_Info info,
int *ncidp)
113 if (cmode & NC_NETCDF4)
119 return NC_create(path, cmode, 0, 0, NULL, 1, &data, ncidp);
197 MPI_Info info,
int *ncidp)
202 NC_MPI_INFO mpi_data;
204 mpi_data.comm = comm;
205 mpi_data.info = info;
207 return NC_open(path, omode, 0, NULL, 1, &mpi_data, ncidp);
245 int info,
int *ncidp)
255 #ifdef HAVE_MPI_COMM_F2C 256 comm_c = MPI_Comm_f2c(comm);
258 comm_c = (MPI_Comm)comm;
260 #ifdef HAVE_MPI_INFO_F2C 261 info_c = MPI_Info_f2c(info);
263 info_c = (MPI_Info)info;
266 return nc_open_par(path, omode, comm_c, info_c, ncidp);
352 if ((stat = NC_check_id(ncid, &ncp)))
355 return ncp->dispatch->var_par_access(ncid,varid,par_access);
399 int info,
int *ncidp)
409 #ifdef HAVE_MPI_COMM_F2C 410 comm_c = MPI_Comm_f2c(comm);
412 comm_c = (MPI_Comm)comm;
414 #ifdef HAVE_MPI_INFO_F2C 415 info_c = MPI_Info_f2c(info);
417 info_c = (MPI_Info)info;
int nc_open_par(const char *path, int omode, MPI_Comm comm, MPI_Info info, int *ncidp)
Open an existing netCDF file for parallel I/O.
#define NC_ENOTBUILT
Attempt to use feature that was not turned on when netCDF was built.
int nc_create_par(const char *path, int cmode, MPI_Comm comm, MPI_Info info, int *ncidp)
Create a netCDF file for parallel I/O.
int nc_create_par_fortran(const char *path, int cmode, int comm, int info, int *ncidp)
Create a netCDF file for parallel access from the Fortran API.
int nc_var_par_access(int ncid, int varid, int par_access)
This function will change the parallel access of a variable from independent to collective and vice v...
#define NC_NETCDF4
Use netCDF-4/HDF5 format.
#define NC_ENOPAR
Parallel operation on file opened for non-parallel access.
int nc_open_par_fortran(const char *path, int omode, int comm, int info, int *ncidp)
This is the same as nc_open_par(), but accepts the MPI comm/info as integers.
#define NC_NOERR
No Error.