A little more info: If I go ahead and define a variable and write it to
the file, I still get the assert error when I try to reopen it.
On Wed, Feb 12, 2014 at 9:48 AM, Jim Edwards <jedwards@xxxxxxxx> wrote:
> 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
>
--
Jim Edwards
CESM Software Engineering Group
National Center for Atmospheric Research
Boulder, CO
303-497-1842