NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Howdy all! Ignore this email unless you use parallel I/O with netCDF-4 from the C library. (Fortran users are unaffected by this change). For those who are still reading, there is an important change in the way you must use netCDF with your C programs. Your parallel programs must now include the new header file netcdf_par.h instead of (or before) netcdf.h. For example: #include <netcdf.h> becomes: #include <netcdf_par.h> It is OK to also include netcdf.h, but you must not include netcdf.h BEFORE netcdf_par.h, or you will get a compile-time error. This change is motivated by complex use scenarios which over-strain the method by which MPI_Comm and MPI_Info types are handled in netcdf.h. (These types are defined in mpi.h). The separation of functions which use these types allows for a more straightforward and consistent way of dealing with these types. Basically, I got a little too tricky with the way netCDF-4 handled those types, and that caused problems. Now the trickery will end. The unfortunate side-effect is that parallel programmers must now include netcdf_par.h instead of netcdf.h. If you forget, you will find that there are no prototypes for nc_create_par, nc_open_par, and nc_par_access in netcdf.h. Anyone who has been (perhaps unsuccessfully) trying to use netcdf-4 in a sequential way from a parallel program will find that this change makes everything work as expected. The use of the new header file is in the current daily snapshot, and will take full effect for the upcoming 4.1.2 release. Its use can be seen in any of the parallel tests which are enabled with configure option --enable-parallel-tests, such as nc_test4/tst_parallel.c. Feedback is welcome as always. Thanks, Ed -- Ed Hartnett -- ed@xxxxxxxxxxxxxxxx
netcdfgroup
archives: