|
| 1 | +[PnetCDF](https://parallel-netcdf.github.io) Version 1.12.2 Release Notes (January 15, 202) |
| 2 | +------------------------------------------------------------------------------ |
| 3 | + |
| 4 | +* Build recipes |
| 5 | + + Starting from GNU Fortran 10.0.0, function/subroutine argument type |
| 6 | + mismatch becomes a compile error. A new compile command-line option |
| 7 | + "-fallow-argument-mismatch" can turn these errors into warnings. This |
| 8 | + command-line option is added automatically in PnetCDF version 1.12.2 and |
| 9 | + later. When building PnetCDF of version 1.12.1 and earlier versions using |
| 10 | + GNU Fortran 10.0.0 and later, please add "-fallow-argument-mismatch" to |
| 11 | + environment variables FFLAGS and FCFLAGS. |
| 12 | + See [issue #61](https://github.com/Parallel-NetCDF/PnetCDF/issues/61) |
| 13 | + and [GCC 10 Release note](https://gcc.gnu.org/gcc-10/changes.html). |
| 14 | + + README.CRAY has been revised to reflect the recent changes of default |
| 15 | + compiling environment on Cori at NERSC. |
| 16 | + |
| 17 | +* Updated utility program |
| 18 | + + ncvalidator now reports the name of variable that violates the NetCDF |
| 19 | + limitation on large variables for CDF-2 files |
| 20 | + + add corrupted file bad_large_fixed_var.nc2 that contains one large |
| 21 | + fixed-size variables that is not defined last |
| 22 | + + add corrupted file bad_large_rec_2_vars.nc2 that contains 2 large record |
| 23 | + variables |
| 24 | + + add corrupted file bad_large_rec_var.nc2 that contains 1 large record |
| 25 | + variable that is not defined last |
| 26 | + + add URLs of NetCDF limitations on large variables for CDF-1 and 2 file |
| 27 | + formats |
| 28 | + |
| 29 | +* Other updates: |
| 30 | + + When calling ncmpi_create() with NC_CLOBBER flag, PnetCDF now calls |
| 31 | + access() to check whether file exists first. If the file does not exist, |
| 32 | + successive calls to truncate() or unlink() can be skipped. |
| 33 | + + Improve detection of HDF5 signature. The HDF5 signature is located at the |
| 34 | + beginning of the HDF5 superblock, but the location of HDF5 superblock may |
| 35 | + not be at the beginning of the file. It is located at byte offset 0, byte |
| 36 | + offset 512, and at successive locations in the file, each a multiple of two |
| 37 | + of the previous location; in other words, at these byte offsets: 0, 512, |
| 38 | + 1024, 2048, and so on. |
| 39 | + |
| 40 | +* Bug fixes |
| 41 | + + Fix more strict aliasing bug when building PnetCDF with -O3 flag. Thanks to |
| 42 | + Gianfranco Costamagna for reporting |
| 43 | + [issue #55](https://github.com/Parallel-NetCDF/PnetCDF/issues/55). See |
| 44 | + [pull request r65](https://github.com/Parallel-NetCDF/PnetCDF/pull/65) for |
| 45 | + the fix. |
| 46 | + + Fix NC_CLOBBER mode for ncmpi_create() when files are existing symbolic |
| 47 | + links. Prior to this release, symbolic links, like other regular files, was |
| 48 | + first deleted and then created. This can result in an unexpected outcome, |
| 49 | + i.e. the deletion of symbolic link. NetCDF-4 library implements this |
| 50 | + differently, by adding O_TRUNC flag when calling open() to truncate the |
| 51 | + file to length 0. Historically, PnetCDF did not adopt the same approach |
| 52 | + because MPI does not define a similar flag to O_TRUNC and the only way to |
| 53 | + achieve the file clobber effect is to through MPI_File_set_size(), which |
| 54 | + can be expensive as the function takes an MPI file handler argument, which |
| 55 | + requires to open the file first with a call to MPI_File_open(). |
| 56 | + + Fix various compile and link bugs when NAG Fortran is used. Bugs include |
| 57 | + flag needed to verbose linking output, unrecognized link option -pthread, |
| 58 | + unmatched C compiler underneath. Thanks Sergey Kosukhin for providing the |
| 59 | + fix in [PR #59](https://github.com/Parallel-NetCDF/PnetCDF/pull/59) |
| 60 | + and [PR #60](https://github.com/Parallel-NetCDF/PnetCDF/pull/60) |
| 61 | + + Fix a bug of calling Fortran getarg() with the first argument k with a |
| 62 | + value > 0 when there is no command-line argument is used. NAG Fortran may |
| 63 | + crash the program. See |
| 64 | + [f16bd3c](https://github.com/Parallel-NetCDF/PnetCDF/commit/f16bd3c1ba1b08eade2384f094c519f3f2dc114e) |
| 65 | + + Fix a bug that limits FLASH-IO to run on less than 16K MPI processes. See |
| 66 | + [1d84fa5](https://github.com/Parallel-NetCDF/PnetCDF/commit/1d84fa5d54ca9179da4a5b1a4ee3b92cc92287ed) |
| 67 | + |
0 commit comments