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();
}
--
Jim Edwards
CESM Software Engineering Group
National Center for Atmospheric Research
Boulder, CO
303-497-1842