9 #include "ncdispatch.h"
13 nc_create_par(
const char *path,
int cmode, MPI_Comm comm,
14 MPI_Info info,
int *ncidp)
29 return NC_create(path, cmode, 0, 0, NULL, 1, &data, ncidp);
35 nc_open_par(
const char *path,
int mode, MPI_Comm comm,
36 MPI_Info info,
int *ncidp)
45 if ((mode &
NC_MPIIO) || (mode & NC_MPIPOSIX)) {
55 return NC_open(path, mode, 0, NULL, 1, &mpi_data, ncidp);
61 nc_open_par_fortran(
const char *path,
int mode,
int comm,
72 #ifdef HAVE_MPI_COMM_F2C
73 comm_c = MPI_Comm_f2c(comm);
74 info_c = MPI_Info_f2c(info);
76 comm_c = (MPI_Comm)comm;
77 info_c = (MPI_Info)info;
80 return nc_open_par(path, mode, comm_c, info_c, ncidp);
87 nc_var_par_access(
int ncid,
int varid,
int par_access)
93 if ((stat = NC_check_id(ncid, &ncp)))
99 return ncp->dispatch->var_par_access(ncid,varid,par_access);
105 nc_create_par_fortran(
const char *path,
int cmode,
int comm,
106 int info,
int *ncidp)
116 #ifdef HAVE_MPI_COMM_F2C
117 comm_c = MPI_Comm_f2c(comm);
118 info_c = MPI_Info_f2c(info);
120 comm_c = (MPI_Comm)comm;
121 info_c = (MPI_Info)info;
124 return nc_create_par(path, cmode, comm_c, info_c, ncidp);
#define NC_PNETCDF
Use parallel-netcdf library; alias for NC_MPIIO.
#define NC_MPIIO
Turn on MPI I/O.
#define NC_EINVAL
Invalid Argument.
#define NC_ENOPAR
Parallel operation on file opened for non-parallel access.
#define NC_NOERR
No Error.
#define NC_MPIPOSIX
Turn on MPI POSIX I/O.