PnetCDF 1.6.1 Release Notes
Release Date: June 1, 2015.
New Features:
- PnetCDF now supports fill mode. ncmpi_set_fill() can be used to set the fill mode for the entire data set. Note the differences from netCDF:
- The default mode in PnetCDF is NC_NOFILL.
- Setting fill mode for the entire file or individual variables must be done in define mode.
- For non-record variables, they are filled at the time ncmpi_enddef() is called.
- For record variables, users must explicitly call ncmpi_fill_var_rec() to fill one record at a time before writing to the record of that variable.
New APIs:
New error code:
- NC_ENOTRECVAR when attempting operation only for record variables
- NC_ENOTFILL when attempting to fill a variable when its fill mode is off
- NC_EMULTIDEFINE_FILL_MODE when inconsistent dataset fill mode is detected
- NC_EMULTIDEFINE_VAR_FILL_MODE when inconsistent variable fill mode is detected
- NC_EMULTIDEFINE_VAR_FILL_VALUE when inconsistent variable fill value is detected
- Fortran versions of the above error codes are also added.
New example programs:
- C/fill_mode.c shows the use of ncmpi_set_fill(), ncmpi_def_var_fill(), ncmpi_inq_var_fill() and ncmpi_fill_var_rec()
- C/ghost_cell.c shows how to use varm API for writing from a user buffer as a 2D array with ghost cells on both ends of every dimension.
New test programs:
Other updates:
- Change the chunk size used for moving variable data when the file header extent expands. The default is now 1MB. If the file's striping unit size is known (from MPI-IO hint striping_unit) then the chunk size is set to the striping unit size.
Bug fixes:
- Add missing F90 function overloading for f90mpi_put_var_all, f90mpi_get_var_all, f90mpi_put_vard_all, and f90mpi_get_vard_all, when the user buffer is a scalar.
- Fix when the request IDs passed in argument array_of_requests[] of ncmpi_wait_all() are not in an increasing order. See r2023.
- Fix C++ compile error for converting NULL to string. See r2039.
Return to PnetCDF Home