9 #include "ncdispatch.h"
13 extern int fileno(FILE*);
102 MPI_Info info,
int *ncidp)
122 if (cmode & NC_NETCDF4)
128 return NC_create(path, cmode, 0, 0, NULL, 1, &data, ncidp);
206 MPI_Info info,
int *ncidp)
216 NC_MPI_INFO mpi_data;
218 mpi_data.comm = comm;
219 mpi_data.info = info;
221 return NC_open(path, omode, 0, NULL, 1, &mpi_data, ncidp);
259 int info,
int *ncidp)
274 #ifdef HAVE_MPI_COMM_F2C
275 comm_c = MPI_Comm_f2c(comm);
277 comm_c = (MPI_Comm)comm;
279 #ifdef HAVE_MPI_INFO_F2C
280 info_c = MPI_Info_f2c(info);
282 info_c = (MPI_Info)info;
285 return nc_open_par(path, omode, comm_c, info_c, ncidp);
368 NC_UNUSED(par_access);
374 if ((stat = NC_check_id(ncid, &ncp)))
377 return ncp->dispatch->var_par_access(ncid,varid,par_access);
421 int info,
int *ncidp)
436 #ifdef HAVE_MPI_COMM_F2C
437 comm_c = MPI_Comm_f2c(comm);
439 comm_c = (MPI_Comm)comm;
441 #ifdef HAVE_MPI_INFO_F2C
442 info_c = MPI_Info_f2c(info);
444 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.