Hi Jim, I've tested your program on the latest version of HDF5 and the latest version of netCDF-4 and it's working fine with "mpirun -np 4 ./bug". I did have to tweak your program slightly to get it to compile, so maybe that's the issue you are having: #include <stdio.h> #include "netcdf.h" #include "mpi.h" #include "netcdf_par.h" int main( int argc, char *argv[]) { int mype, npe; int fh, ierr; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &npe); MPI_Comm_rank(MPI_COMM_WORLD, &mype); ierr = nc_create_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, &fh); printf("%d %d\n",__LINE__,ierr); ierr = nc_enddef(fh); printf("%d %d\n",__LINE__,ierr); ierr = nc_close(fh); printf("%d %d\n",__LINE__,ierr); ierr = nc_open_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, &fh); printf("%d %d\n",__LINE__,ierr); ierr = nc_close(fh); printf("%d %d\n",__LINE__,ierr); MPI_Finalize(); } Give that version a try a see if it works for you, Quincey > I have a very simple unit test that is failing when I try to use netcdf4 > parallel. The test creates a file, calls enddef, closes the file, then > trys to reopen it. Using netcdf 4.3.0 built with hdf5 1.8.11 I am getting > an assert error when I run this test, > 3:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed. > 0:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed. > 1:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed. > 2:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed. > > The same test written in F90 instead of C passes. > > #include <netcdf.h> > #include <mpi.h> > #include <netcdf_par.h> > > int main( int *argc, char ***argv) > { > int mype, npe; > int fh, ierr; > MPI_Init(argc,argv); > MPI_Comm_size(MPI_COMM_WORLD, &npe); > MPI_Comm_rank(MPI_COMM_WORLD, &mype); > > ierr = nc_create_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, > &fh); > printf("%d %d\n",__LINE__,ierr); > ierr = nc_enddef(fh); > printf("%d %d\n",__LINE__,ierr); > ierr = nc_close(fh); > printf("%d %d\n",__LINE__,ierr); > > ierr = nc_open_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, &fh); > printf("%d %d\n",__LINE__,ierr); > ierr = nc_close(fh); > printf("%d %d\n",__LINE__,ierr); > > MPI_Finalize(); > } >
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
netcdfgroup
archives: