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.
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: