|
| 1 | +[PnetCDF](https://parallel-netcdf.github.io) Version 1.12.0 Release Notes (September 30, 2019) |
| 2 | +------------------------------------------------------------------------------ |
| 3 | + |
| 4 | +* New features |
| 5 | + + BP file read capability is supported -- By being built on top of ADIOS |
| 6 | + library PnetCDF can now read files in BP format. Note write capability is |
| 7 | + not supported. This feature is added for convenience purpose, i.e. the |
| 8 | + existing PnetCDF programs can read BP files without change. The read |
| 9 | + performance of BP files is expected no difference from using ADIOS library |
| 10 | + directly. More information can be found in doc/README.ADIOS.md. |
| 11 | + |
| 12 | +* New Limitations |
| 13 | + + Writing to BP files is not supported. |
| 14 | + |
| 15 | +* Update configure options |
| 16 | + + To enable ADIOS BP file support, two new options can be used. |
| 17 | + - `--enable-adios`: enables read capability for BP files |
| 18 | + - `--with-adios=/path/to/adios`: can be used to specify the path to ADIOS |
| 19 | + library installation |
| 20 | + By default, this option is disabled. |
| 21 | + + Option `--with-netcdf4` now allows a form of `--with-netcdf4=INC,LIB` in |
| 22 | + addition to `--with-netcdf4=DIR`. This is in case the include and lib |
| 23 | + folders of NetCDF-4 installation are in different locations. |
| 24 | + |
| 25 | +* New C and Fortran constants |
| 26 | + + NC_BP, NF_BP, and NF90_BP are the flags indicating BP file access mode. |
| 27 | + + NC_FORMAT_BP, NF_FORMAT_BP, and NF90_FORMAT_BP indicate BP file format. |
| 28 | + |
| 29 | +* New error codes |
| 30 | + + NC_EADIOS, NF_EADIOS, NF90_EADIOS - indicate ADIOS library internal |
| 31 | + errors. |
| 32 | + |
| 33 | +* New/updated utility program |
| 34 | + + `cdfdiff` is a new utility program. It is a serial version of `ncmpidiff` |
| 35 | + that is compiled with gcc without PnetCDF library. It can run on the login |
| 36 | + node in a cross-compile environment. `cdfdiff` only compares files in the |
| 37 | + classic NetCDF formats, i.e. CDF-1, CDF-2, and CDF-5. |
| 38 | + + `ncmpidiff` now checks file format versions of two files, and reports |
| 39 | + difference if not the same. Even if formats are different, it continues to |
| 40 | + compare the contents of file headers and values in variables. |
| 41 | + + A new command-line option `-t` is added to utility program `ncmpidiff` to |
| 42 | + compare variable differences within a tolerance. See the man page of |
| 43 | + `ncmpidiff` for usage. Thanks to Carl Ponder for contributing the source |
| 44 | + codes. See [PR #53](https://github.com/Parallel-NetCDF/PnetCDF/pull/53) |
| 45 | + + `ncmpidump` can now dump contents of BP files. |
| 46 | + |
| 47 | +* Other updates: |
| 48 | + + The MPI info object now includes all PnetCDF hints once obtained from a |
| 49 | + call to ncmpi_inq_file_info(). If any hint is not set by the users, its |
| 50 | + default value is set in the info object. |
| 51 | + |
| 52 | +* Bug fixes |
| 53 | + + When calling a nonblocking API with a zero-length request and argument |
| 54 | + request ID being NULL, segmentation fault may occur. See |
| 55 | + [PR #51](https://github.com/Parallel-NetCDF/PnetCDF/pull/51) |
| 56 | + |
| 57 | +* New example programs |
| 58 | + + examples/adios/read_metadata.c - dumps metadata of a BP file. |
| 59 | + + examples/adios/read_var.c - reads a variable from a BP file generated by |
| 60 | + the ADIOS example program examples/C/arrays/arrays_write. |
| 61 | + + examples/adios/read_var_nb.c - reads a variable from a BP file generated |
| 62 | + by the ADIOS example program examples/C/arrays/arrays_write using PnetCDF |
| 63 | + non-blocking APIs. |
| 64 | + |
| 65 | +* New test program |
| 66 | + + test/adios/open.c - tests if PnetCDF recognize BP files. |
| 67 | + + test/adios/header.c - tests if PnetCDF can parse BP header. |
| 68 | + + test/adios/var.c - tests if PnetCDF can read variables from a BP file |
| 69 | + + test/adios/varm.c - tests varm APIS for reading a BP file |
| 70 | + + test/adios/vars.c - tests vars APIs for reading a BP file |
| 71 | + + test/adios/ivar.c - tests nonblocking API for reading a BP file |
| 72 | + + test/adios/ivars.c - tests nonblocking vars APIs for reading a BP file |
| 73 | + + test/adios/ivarm.c - tests nonblocking varm APIs for reading a BP file |
| 74 | + + test/adios/att.c - tests reading attributes from a BP file |
| 75 | + + test/adios/indep.c - tests reading a BP file in independent data mode |
| 76 | + + test/burst_buffer/varn.c -- tests varn APIs when burst buffer driver is |
| 77 | + used. The test includes cases when argument `counts` contains some of the |
| 78 | + elements being NULL. |
| 79 | + + test/nc4/notsupport.c - test if error code NC_ENOTSUPPORT is properly |
| 80 | + returned when calling APIs for unsupported NetCDF-4 feature. |
| 81 | + + test/nc4/tst_rec_vars.c - tests writing and reading record variables from |
| 82 | + NetCDF-4 files |
| 83 | + + test/nc4/rec2 - tests reading a record variables with 2 unlimited |
| 84 | + dimensions from NetCDF-4 files. |
| 85 | + |
| 86 | +* Issues related to MPI library vendors: |
| 87 | + + Per-file thread-safe capability is not supported when using OpenMPI with |
| 88 | + ROMIO backend, i.e. when `--mca io romio321` is used at `mpirun` command |
| 89 | + line. See OpenMPI github issue |
| 90 | + [6951](https://github.com/open-mpi/ompi/issues/6951) |
| 91 | + |
0 commit comments