Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.

[netcdfgroup] bug in nc_open_par?

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
  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: