NetCDF  4.3.2
 All Data Structures Files Functions Variables Typedefs Macros Modules Pages
RELEASE_NOTES.md
1 Release Notes {#release_notes}
2 ===============================
3 
4 \brief Release notes file for the netcdf-c package.
5 
6 This file contains a high-level description of this package's evolution. Releases are in reverse chronological order (most recent first). Note that, as of netcdf 4.2, the netcdf-c++ and netcdf-fortran libraries have been separated into their own libraries.
7 
8 ## 4.3.2 Released 2014-04-23
9 
10 * As part of an ongoing project, the Doxygen-generated netcdf documentation has been reorganized. The goal is to make the documentation easier to parse, and to eliminate redundant material. This project is ongoing.
11 
12 * The oc .dodsrc reader was improperly handling the user name and password entries. [NCF-299](https://bugtracking.unidata.ucar.edu/browse/NCF-299)
13 
14 * CTestConfig.cmake has been made into a template so that users may easily specify the location of an alternative CDash-based Dashboard using the following two options:
15 
16  * `NC_TEST_DROP_SITE` - Specify an alternative Dashboard by URL or IP address.
17 
18  * `NC_CTEST_DROP_LOC_PREFIX` - Specify a prefix on the remote webserver relative to the root directory. This lets CTest accommodate dashboards that do not live at the top level of the web server.
19 
20 * Return an error code on open instead of an assertion violation for truncated file.
21 
22 ### 4.3.2-rc2 Released 2014-04-15
23 
24 * Cleaned up a number of CMake inconsistencies related to CMake usage, parallel builds.
25 * Now passing -Wl,--no-undefined to linker when appropriate.
26 * Corrected an issue preventing large file tests from running correctly under Windows.
27 * Misc Bug Fixes detected by static analysis.
28 
29 ### 4.3.2-rc1 Released 2014-03-20
30 
31 * Pre-built Windows downloads will now be bundled with the latest (as of the time of this writing) versions of the various dependencies:
32  * `hdf5: 1.8.12`
33  * `zlib: 1.2.8`
34  * `libcurl: 7.35.0`
35 
36 * Added a separate flag to enable DAP AUTH tests. These tests are disabled by default. The flags for autotools and CMAKE-based builds are (respectively):
37  * --enable-dap-auth-tests
38  * -DENABLE\_DAP\_AUTH\_TESTS
39 
40 * Fixed small default chunk size for 1-dimensional record variables. [NCF-211](https://bugtracking.unidata.ucar.edu/browse/NCF-211)
41 
42 * Cleaned up type handling in netCDF-4 to fix bugs with fill-values.
43 
44 * Corrected "BAIL" macros to avoid infinite loop when logging is disabled and an error occurs.
45 
46 * Refactored how types are used for attributes, variables, and committed types, clarifying and categorizing fields in structs, and eliminating duplicated type information between variables and types they use.
47 
48 * Made type structure sharable by committed datatypes and variables that use it.
49 
50 * Handled string datatypes correctly, particularly for fill value attributes. Expanded testing for string fill values.
51 
52 * Simplified iteration of objects in the file when it's opened, tracking fewer objects and using less memory.
53 
54 * Enabled netCDF-4 bit-for-bit reproducibility for nccopy and other applications (thanks to Rimvydas Jasinskas and Quincey Koziol) by turning off HDF5 object creation, access, and modification time tracking. [NCF-290](https://bugtracking.unidata.ucar.edu/browse/NCF-290)
55 
56 * Addressed an issue where `cmake`-based builds would not properly create a `pkg-config` file. This file is now created properly by `cmake`. [NCF-288](https://bugtracking.unidata.ucar.edu/browse/NCF-288)
57 
58 * Addressed an issue related to old DAP servers. [NCF-287](https://bugtracking.unidata.ucar.edu/browse/NCF-287)
59 
60 ## 4.3.1.1 Released 2014-02-05
61 
62 This is a bug-fix-only release for version 4.3.1.
63 
64 * Corrected a DAP issue reported by Jeff Whitaker related to non-conforming servers.
65 
66 * Corrected an issue with DAP tests failing in a 64-bit Cygwin environment. [NCF-286](https://bugtracking.unidata.ucar.edu/browse/NCF-286)
67 
68 ## 4.3.1 Released 2014-01-16
69 
70 * Add an extended format inquiry method to the netCDF API: nc\_inq\_format\_extended. NC\_HAVE\_INQ\_FORMAT\_EXTENDED is defined in netcdf.h [NCF-273]
71 
72 [NCF-273]:https://bugtracking.unidata.ucar.edu/browse/NCF-273
73 
74 
75 ### 4.3.1-rc6 Released 2013-12-19
76 
77 * Fixed fill value handling for string types in nc4\_get\_vara().
78 
79 * Corrected behavior of nc\_inq\_unlimdim and nv\_inq\_unlimdims to report dimids
80  in same order as nc\_inq\_dimids.
81 
82 * Addressed an issue reported by Jeff Whitaker regarding `nc_inq_nvars` returning an incorrect number of dimensions (this issue was introduced in 4.3.1-rc5). Integrated a test contributed by Jeff Whitaker.
83 
84 * A number of previously-disabled unit tests were reviewed and made active.
85 
86 
87 ### 4.3.1-rc5 Released 2013-12-06
88 
89 * When opening a netCDF-4 file, streamline the iteration over objects in the underlying HDF5 file.
90 
91 * Fixed netCDF-4 failure when renaming a dimension and renaming a variable using that dimension, in either order. [NCF-177]
92 
93 [NCF-177]:https://bugtracking.unidata.ucar.edu/browse/NCF-177
94 
95 * When compiling with `hdf4` support, both autotools and cmake-based builds now properly look for the `libjpeg` dependency and will link against it when found (or complain if it's not). Also added `ENABLE_HDF4_FILE_TESTS` option to CMake-based builds.
96 
97 * Fixed bug in ncgen; it was not properly filling empty string constants ("") to be the proper length. [NCF-279]
98 
99 [NCF-279]:https://bugtracking.unidata.ucar.edu/browse/NCF-279
100 
101 * Fixed bug in ncgen where it was interpreting int64 constants
102  as uint64 constants. [NCF-278]
103 
104 [NCF-278]:https://bugtracking.unidata.ucar.edu/browse/NCF-278
105 
106 * Fixed bug in handling Http Basic Authorization. The code was actually there but was not being executed. [NCF-277]
107 
108 [NCF-277]:https://bugtracking.unidata.ucar.edu/browse/NCF-277
109 
110 * Added hack to the DAP code to address a problem with the Columbia.edu server. That server does not serve up proper DAP2 DDS replies. The Dataset {...} name changes depending on if the request has certain kinds of constraints. [NCF-276]
111 
112 [NCF-276]:https://bugtracking.unidata.ucar.edu/browse/NCF-276
113 
114 * Fixed bugs with ncdump annotation of values, using -b or -f
115  options. [NCF-275]
116 
117 [NCF-275]:https://bugtracking.unidata.ucar.edu/browse/NCF-275
118 
119 
120 ### 4.3.1-rc4 Released 2013-11-06
121 
122 * Addressed an issue on Windows where `fstat` would report an incorrect file size on files > 4GB. [NCF-219]
123 
124 
125 * Added better documentation about accessing ESG datasets.
126  See http://www.unidata.ucar.edu/software/netcdf/docs/esg.html.
127 
128 * Corrected an issue with CMake-based builds enabling HDF4 support where the HDF4 libraries were in a non-standard location.
129 
130 * Fix bug introduced by [NCF-267] where octal constants above
131 '\177' were not recognized as proper octal constants. [NCF-271]
132 
133 [NCF-271]:https://bugtracking.unidata.ucar.edu/browse/NCF-271
134 
135 * Fixed an issue where the `netcdf.3` man page was not being installed by CMake-based builds. [Github](https://github.com/Unidata/netcdf-c/issues/3)
136 
137 
138 
139 ### 4.3.1-rc3 Released 2013-09-24
140 
141 * Modify ncgen to support NUL characters in character array
142  constants. [NCF-267]
143 
144 [NCF-267]:https://bugtracking.unidata.ucar.edu/browse/NCF-267
145 
146 * Modify ncgen to support disambiguating references to
147  an enum constant in a data list. [NCF-265]
148 
149 [NCF-265]:https://bugtracking.unidata.ucar.edu/browse/NCF-265
150 
151 * Corrected bug in netCDF-4 dimension ID ordering assumptions, resulting in access that works locally but fails through DAP server. [NCF-166]
152 
153 [NCF-166]:https://bugtracking.unidata.ucar.edu/browse/NCF-166
154 
155 * Added a new configuration flag, `NC_USE_STATIC_CRT` for CMake-based Windows builds. The default value is 'OFF'. This will allow the user to define whether to use the shared CRT libraries (\\MD) or static CRT libraries (\\MT) in Visual Studio builds.
156 
157 * Ensure netCDF-4 compiles with OpenMPI as an alternative to MPICH2. [NCF-160]
158 
159 [NCF-160]:https://bugtracking.unidata.ucar.edu/browse/NCF-160
160 
161 * Addressed issue with hanging Parallel netCDF-4 using HDF5 1.8.10. [NCF-240]
162 
163 [NCF-240]:https://bugtracking.unidata.ucar.edu/browse/NCF-240
164 
165 * Addressed issue with Large File Support on Windows, using both 32 and 64-bit builds. [NCF-219]
166 
167 [NCF-219]:https://bugtracking.unidata.ucar.edu/browse/NCF-219
168 
169 * Removed deprecated directories:
170  * librpc/
171  * udunits/
172  * libcf/
173  * libcdmr/
174 
175 ### 4.3.1-rc2 Released 2013-08-19
176 
177 * Added `configure` and accompanying configuration files/templates to release repository. **These will only be added to tagged releases on GitHub**.
178 
179 * Integrated a fix by Quincey Koziol which addressed a variation of [NCF-250], *Fix issue of netCDF-4 parallel independent access with unlimited dimension hanging*.
180 
181 [NCF-250]:https://www.unidata.ucar.edu/jira/browse/NCF-250
182 
183 * Integrated change contributed by Orion Poplawski which integrated GNUInstallDirs into the netCDF-C CMake system; this will permit systems that install into lib64 (such as Fedora) to `make install` without problem.
184 
185 * Corrected an error with the CMake config files that resulted in the `netcdf.3` manpage not being built or installed.
186 
187 ### 4.3.1-rc1 Released 2013-08-09
188 
189 * Migrated from the netCDF-C `subversion` repository to a publically available GitHub repository available at https://github.com/Unidata/netCDF-C. This repository may be checked out (cloned) with the following command:
190 
191  $ git clone https://github.com/Unidata/netCDF-C.git
192 
193 * Note: in this release, it is necessary to generate the `configure` script and makefile templates using `autoreconf` in the root netCDF-C directory.:
194 
195  $ autoreconf -i -f
196 
197 * Added `nc_rename_grp` to allow for group renaming in netCDF-4 files. [NCF-204]
198 
199 [NCF-204]: https://bugtracking.unidata.ucar.edu/browse/NCF-204
200 
201 * Added a `NC_HAVE_RENAME_GRP` macro to netcdf.h, [as per a request by Charlie Zender][cz1]. This will allow software compiling against netcdf to easily query whether or not nc\_rename\_grp() is available.
202 
203 [cz1]: https://www.unidata.ucar.edu/esupport/staff/index.php?_m=tickets&_a=viewticket&ticketid=22442
204 
205 * Added Greg Sjaardema's contributed optimization for the nc4\_find\_dim\_len function in libsrc4/nc4internal.c. The patch eliminates several malloc/free calls that exist in the original coding.
206 
207 * Added support for dynamic loading, to compliment the dynamic loading support introduced in hdf 1.8.11. Dynamic loading support depends on libdl, and is enabled as follows: [NCF-258]
208  * autotools-based builds: --enable-dynamic-loading
209  * cmake-based builds: -DENABLE\_DYNAMIC\_LOADING=ON
210 
211 [NCF-258]: https://www.unidata.ucar.edu/jira/browse/NCF-258
212 
213 * Fix issue of netCDF-4 parallel independent access with unlimited dimension hanging. Extending the size of an unlimited dimension in HDF5 must be a collective operation, so now an error is returned if trying to extend in independent access mode. [NCF-250]
214 
215 [NCF-250]: https://bugtracking.unidata.ucar.edu/browse/NCF-250
216 
217 * Fixed bug with netCDF-4's inability to read HDF5 scalar numeric attributes. Also allow, in addition to zero length strings, a new NULL pointer as a string value. to improve interoperability with HDF5. This required a new CDL constant, 'NIL', that can be output from ncdump for such a string value in an HDF5 or netCDF-4 file. The ncgen utility was also modified to properly handle such NIL values for strings. [NCF-56]
218 
219 [NCF-56]: https://bugtracking.unidata.ucar.edu/browse/NCF-56
220 
221 * Parallel-build portability fixes, particularly for OpenMPI and gcc/gfortran-4.8.x on OSX.
222 
223 * Fix contributed by Nath Gopalaswamy to large file problem reading netCDF classic or 64-bit offset files that have a UINT32_MAX flag for large last record size of a variable that has values larger than 1 byte. This problem had previously been fixed for *writing* such data, but was only tested with an ncbyte variable.
224 
225 * Fixed various minor documentation problems.
226 
227 ## 4.3.0 Released 2013-04-29
228 
229 * fsync: Changed default in autotools config file; fsync must now be
230 explicitely enabled instead of explicitely disabled. [NCF-239]
231 
232 [NCF-239]: https://www.unidata.ucar.edu/jira/browse/NCF-239
233 
234 * Fixed netCDF-4 bug where odometer code for libdap2 mishandled stride > 1. Bug reported by Ansley Manke. [NCF-249]
235 
236 [NCF-249]: https://www.unidata.ucar.edu/jira/browse/NCF-249
237 
238 * Fixed netCDF-4 bug so netCDF just ignores objects of HDF5 reference type in
239 the file, instead of rejecting the file. [NCF-29]
240 
241 [NCF-29]: https://www.unidata.ucar.edu/jira/browse/NCF-29
242 
243 * Fixed netCDF-4 bug with particular order of creation of dimensions,
244 coordinate variables, and subgroups resulting in two dimensions with the
245 same dimension ID. [NCF-244]
246 
247 [NCF-244]: https://www.unidata.ucar.edu/jira/browse/NCF-244
248 
249 * Fixed netCDF-4 bug with a multidimensional coordinate variable in a
250 subgroup getting the wrong dimension IDs for its dimensions. [NCF-247]
251 
252 [NCF-247]: https://www.unidata.ucar.edu/jira/browse/NCF-247
253 
254 * Fixed bug with incorrect fixed-size variable offsets in header getting
255 written when schema changed for files created by parallel-netcdf. Thanks
256 to Wei-keng Liao for developing and contributing the fix. [NCF-234]
257 
258 [NCF-234]: https://www.unidata.ucar.edu/jira/browse/NCF-234
259 
260 * Fixed bug in handling old servers that do not do proper Grid to
261 Structure conversions. [NCF-232]
262 
263 [NCF-232]: https://www.unidata.ucar.edu/jira/browse/NCF-232
264 
265 * Replaced the oc library with oc2.0
266 
267 * Fix bug with nc\_get\_var1\_uint() not accepting unsigned ints larger
268 than 2\*\*31. [NCF-226]
269 
270 [NCF-226]: https://www.unidata.ucar.edu/jira/browse/NCF-226
271 
272 * Fix to convert occurrences of '/' in DAP names to %2f. [NCF-223]
273 
274 [NCF-223]: https://www.unidata.ucar.edu/jira/browse/NCF-223
275 
276 * Fix bug in netCDF-4 with scalar non-coordinate variables with same name
277 as dimensions. [NCF-222]
278 
279 [NCF-222]: https://www.unidata.ucar.edu/jira/browse/NCF-222
280 
281 * Fix bug in which calling netCDF-4 functions in which behavior that
282 should not depend on order of calls sometimes produces the wrong
283 results. [NCF-217]
284 
285 [NCF-217]: https://www.unidata.ucar.edu/jira/browse/NCF-217
286 
287 * Merged in nccopy additions from Martin van Driel to support -g and -v
288 options for specifying which groups or variables are to be copied.
289 [NCF-216]
290 
291 [NCF-216]: https://www.unidata.ucar.edu/jira/browse/NCF-216
292 
293 * Merged in parallel-netcdf bugs fixes from Greg Sjaardema. [NCF-214]
294 
295 [NCF-214]: https://www.unidata.ucar.edu/jira/browse/NCF-214
296 
297 * Modify ncgen so that if the incoming file has a special attribute, then
298 it is used to establish the special property of the netcdf file, but the
299 attribute is not included as a real attribute in the file. [NCF-213].
300 
301 [NCF-213]: https://www.unidata.ucar.edu/jira/browse/NCF-213
302 
303 * Added library version info to the user-agent string so that the server
304 logs will be more informative. [NCF-210]
305 
306 [NCF-210]: https://www.unidata.ucar.edu/jira/browse/NCF-210
307 
308 * Added work around for bad servers that sometimes sends DAP dataset with
309 duplicate field names. [NCF-208]
310 
311 [NCF-208]: https://www.unidata.ucar.edu/jira/browse/NCF-208
312 
313 * Fixed bug with strided access for NC\_STRING type. [NCF-206]
314 
315 [NCF-206]: https://www.unidata.ucar.edu/jira/browse/NCF-206
316 
317 * Prevented adding an invalid \_FillValue attribute to a variable (with
318 nonmatching type or multiple values), to avoid later error when any
319 record variable is extended. [NCF-190]
320 
321 [NCF-190]: https://www.unidata.ucar.edu/jira/browse/NCF-190
322 
323 * Fix bug in which some uses of vlen within compounds causes HDF5 errors.
324 [NCF-155]
325 
326 [NCF-155]: https://www.unidata.ucar.edu/jira/browse/NCF-155
327 
328 * Fixed ncdump bug in display of data values of variables that use
329 multiple unlimited dimensions. [NCF-144]
330 
331 [NCF-144]: https://www.unidata.ucar.edu/jira/browse/NCF-144
332 
333 * Fix bug in which interspersing def\_var calls with put\_var calls can
334 lead to corrupt metadata in a netCDF file with groups and inherited
335 dimensions. [NCF-134]
336 
337 [NCF-134]: https://www.unidata.ucar.edu/jira/browse/NCF-134
338 
339 * Building shared libraries works with DAP and netCDF4 functionality.
340 [NCF-205] [NCF-57]
341 
342 [NCF-205]: https://www.unidata.ucar.edu/jira/browse/NCF-205
343 [NCF-57]: https://www.unidata.ucar.edu/jira/browse/NCF-57
344 
345 * 32-and-64-bit builds are working under MinGW on Windows. [NCF-112]
346 
347 [NCF-112]: https://www.unidata.ucar.edu/jira/browse/NCF-112
348 
349 * Config.h for Windows compiles are included in the build. [NCF-98]
350 
351 [NCF-98]: https://www.unidata.ucar.edu/jira/browse/NCF-98
352 
353 * NetCDF-4 dependency on NC\_MAX\_DIMS has been removed. [NCF-71]
354 
355 [NCF-71]: https://www.unidata.ucar.edu/jira/browse/NCF-71
356 
357 * 64-bit DLL's are produced on Windows. [NCF-65]
358 
359 [NCF-65]: https://www.unidata.ucar.edu/jira/browse/NCF-65
360 
361 * DLL Packaging issues are resolved. [NCF-54]
362 
363 [NCF-54]: https://www.unidata.ucar.edu/jira/browse/NCF-54
364 
365 * The CMake build system (with related ctest and cdash systems for
366 testing) has been integrated into netCDF-C. This allows for Visual
367 Studio-based builds in addition to gcc-based builds. This requires at
368 least CMake version 2.8.8. This replaces/supplements the cross-compiled
369 set of Visual-Studio compatible netCDF libraries introduced in netCDF
370 4.2.1-rc1.
371 
372 ## 4.2.1.1 Released 2012-08-03
373 
374 * Patched libdap2/ncdap3.c to fix DAP performance bug remotely accessing large files (> 2GiB).
375 
376 * Patched ncdump/dumplib.c to properly escape special characters in CDL output from ncdump for netCDF-4 string data.
377 
378 
379 ### 4.2.1 Released 2012-07-18
380 
381 * Added a specific NC\_MMAP mode flag to modify behavior of NC\_DISKLESS.
382 
383 * Changed the file protections for NC\_DISKLESS created files to 0666
384 [NCF-182]
385 
386 * Fixed ncdump to report error when an unsupported option is specified.
387 [NCF-180]
388 
389 * Fixed documentation of CDL char constants in Users Guide and ncgen man
390 page.
391 
392 * Fixed memory leak detected by valgrind in one of the HDF5 tests.
393 
394 * Fixed problem with \#elif directives in posixio.c revealed by PGI
395 compilers.
396 
397 ### 4.2.1-rc1 Released 2012-06-18
398 
399 * Ported static and shared libraries (DLL's) for both 32- and 64-bit
400 Windows, including support for DAP remote access, with netCDF-3 and
401 netCDF-4/HDF5 support enabled. The environment for this build is
402 MSYS/MinGW/MinGW64, but the resulting DLLs may be used with Visual
403 Studio. [NCF-112] [NCF-54] [NCF-57] [NCF-65]
404 
405 * Implemented diskless files for all netCDF formats. For nc\_create(),
406 diskless operation performs all operations in memory and then optionally
407 persists the results to a file on close. For nc\_open(), but only for
408 netcdf classic files, diskless operation caches the file in-memory,
409 performs all operations on the memory resident version and then writes
410 all changes back to the original file on close.
411 [NCF-110][NCF-109][NCF-5]
412 
413 * Added MMAP support. If diskless file support is enabled, then it is
414 possible to enable implementation of diskless files using the operating
415 system's MMAP facility (if available). The enabling flag is
416 "--enable-mmap". This is most useful when using nc\_open() and when only
417 parts of files, a single variable say, need to be read.
418 
419 * Added configure flag for --disable-diskless.
420 
421 * Added nccopy command-line options to exploit diskless files, resulting
422 in large speedups for some operations, for example converting unlimited
423 dimension to fixed size or rechunking files for faster access. Upgraded
424 doxygen and man-page documentation for ncdump and nccopy utilities,
425 including new -w option for diskless nccopy, with an example.
426 
427 * Modified Makefile to allow for concurrent builds and to support builds
428 outside the source tree, e.g. 'mkdir build; cd build;
429 SOURCE-DIR/configure' where SOURCE-DIR is the top-level source
430 directory.
431 
432 * Fixed some netCDF-4 bugs with handling strings in non-netCDF-4 HDF5
433 files. [NCF-150]
434 
435 * Fixed bug using nccopy to compress with shuffling that doesn't compress
436 output variables unless they were already compressed in the input file.
437 [NCF-162]
438 
439 * Fixed bug in 64-bit offset files with large records, when last record
440 variable requires more than 2\*\*32 bytes per record. [NCF-164]
441 
442 * Fix bug in which passing a NULL path to nc\_open causes failure.
443 [NCF-173]
444 
445 * Fixed ncgen bugs in parsing and handling opaque data.
446 
447 * Fixed ncdump bug, not escaping characters special to CDL in enumeration
448 labels. [NCF-169]
449 
450 * Fixed bug reading netCDF int into a C longlong or writing from longlong
451 to external int on 32-bit platforms with classic format files. The upper
452 32 bits of the longlong were not cleared on read or used on write.
453 [NCF-171]
454 
455 * Resolved some erroneous returns of BADTYPE errors and RANGE errors due
456 to conflating C memory types with external netCDF types when accessing
457 classic or 64-bit offset files. [NCF-172]
458 
459 * Fixed bug with ncdump -t interpreting unit attribute without base time
460 as a time unit. [NCF-175]
461 
462 * Changed port for testing remote access test server to increase
463 reliability of tests.
464 
465 * Modified ncio mechanism to support multiple ncio packages, so that it is
466 possible to have e.g. posixio and memio operating at the same time.
467 
468 * Generation of documentation is disabled by default. Use --enable-doxygen
469 to generate. [NCF-168]
470 
471 * Added description of configure flags to installation guide.
472 
473 * Clarified documentation of arguments to nc**open() and nc**create() and
474 their default values.
475 
476 * Fixed doxygen installation guide source file to preserve line breaks in
477 code and scripts. [NCF-174]
478 
479 * Cleaned up a bunch of lint issues (unused variables, etc.) and some
480 similar problems reported by clang static analysis.
481 
482 * Updated and fixed pkg-config source file netcdf.pc.in to work with
483 separated netCDF language-specific packages. Also fixed nc-config to
484 call nf-config, ncxx-config, and ncxx4-config for for backward
485 compatibility with use of nc-config in current Makefiles. [NCF-165]
486 [NCF-179]
487 
488 * 4.2 Released 2012-03-19 (Note: Jira entries include reference to
489 '[NCF-XX]')
490 
491 * Completely rebuilt the DAP constraint handling. This primarily affects
492 users who specify a DAP constraint as part of their URL. [NCF-120]
493 
494 * Fixed cause of slow nccopy performance on file systems with many records
495 and large disk block size or many record variables, by accessing data a
496 record at a time instead of a variable at a time. [NCF-142]
497 
498 * Performance improvement to DAP code to support fetching partial
499 variables into the cache; especially important when using nc\_get\_var()
500 API. A partial variable is one that has ranges attached to the
501 projection variables (e.g. x[1:10][20:21]) [NCF-157]
502 
503 * Separate the Fortran and C++ libraries and release the C library and
504 ncdump/ncgen/nccopy without Fortran or C++. [NCF-24]
505 
506 * Documentation mostly migrated to Doxygen, from Texinfo. [NCF-26]
507 
508 * Properly convert vara start/count parameters to DAP [NCF-105][NCF-106]
509 
510 * Fixed major wasted space from previous default variable chunk sizes
511 algorithm. [NCF-81]
512 
513 * Fixed bug in nccopy, in which compression and chunking options were
514 ignored for netCDF-4 input files. [NCF-79]
515 
516 * Fixed bug in ncgen in which large variables (more than 2**18 elements)
517 duplicates the first 2**18 values into subsequent chunks of data
518 [NCF-154].
519 
520 * Applied Greg Sjaardema's nccopy bug fix, not compressing output
521 variables f they were not already using compression on the input file
522 when shuffle specified. [NCF-162]
523 
524 * Fixed problem when a URL is provided that contains only a host name.
525 [NCF-103]
526 
527 * Fixed behavior of ncgen flags so that -o => -lb and, in the absence of
528 any other markers, make the default be -k1 [NCF-158]
529 
530 * Created a text INSTALL file for netCDF-4.2 release. [NCF-161]
531 
532 * Fixed bug in ncgen for vlen arrays as fields of compound types where
533 datalists for those types was improperly interpreted [NCF-145] (but see
534 NCF-155).
535 
536 * Improve use of chunk cache in nccopy utility, making it practical for
537 rechunking large files. [NCF-85]
538 
539 * Fixed nccopy bug copying a netCDF-4 file with a chunksize for an
540 unlimited dimension that is larger than the associated dimension size.
541 [NCF-139]
542 
543 * Fixed nccopy bug when rechunking a netCDF-4 file with a chunkspec option
544 that doesn't explicitly specify all dimensions. [NCF-140]
545 
546 * Fixed bug in netCDF-4 files with non-coordinate variable with the same
547 name as a dimension. [NCF-141]
548 
549 * Incorporated Wei Huang's fix for bug where netCDF-4 sometimes skips over
550 too many values before adding fill values to an in-memory buffer.
551 [NCF-143]
552 
553 * Fixed ncgen bug with netCDF-4 variable-length constants (H/T to Lynton
554 Appel). [NCF-145]
555 
556 * Incorporated Peter Cao's performance fixes using HDF5 link iterator for
557 any group with many variables or types. [NCF-148]
558 
559 * Incorporated Constantine Khroulev's bug fix for invalid usage of
560 MPI\_Comm\_f2c in nc\_create\_par. [NCF-135]
561 
562 * Fixed turning off fill values in HDF5 layers when NOFILL mode is set in
563 netCDF-4 API (thanks to Karen Schuchardt). [NCF-151]
564 
565 * Fixed bug with scalar coordinate variables in netCDF-4 files, causing
566 failure with --enable-extra-tests [NCF-149]
567 
568 * Cleaned up the definition and use of nulldup. [NCF-92][NCF-93][NCF-94]
569 
570 * Fixed various '\#include' bugs. [NCF-91][NCF-96][NCF-127]
571 
572 * v2 API functions modified to properly call the external API instead of
573 directly calling the netcdf-3 functions. [NCF-100]
574 
575 * Fixed problem with 64-bit offset format where writing more than 2\*\*31
576 records resulted in erroneous NC\_EINVALCOORDS error. [NCF-101]
577 
578 * Restored original functionality of ncgen so that a call with no flags,
579 only does the syntax check. [NCF-104]
580 
581 * Corrected misc. test bugs [NCF-107]
582 
583 * Modified ncdump to properly output various new types (ubyte, ushort,
584 uint, int64, and uint64). [NCF-111]
585 
586 * Fixed incorrect link flag for szip in configure.ac [NCF-116]
587 
588 * ncdump -t now properly parses ISO "T" separator in date-time strings.
589 [NCF-16]
590 
591 * ncdump -t "human time" functionality now available for attributes and
592 bounds variables [NCF-70]
593 
594 * In ncdump, add -g option to support selection of groups for which data
595 is displayed. [NCF-11]
596 
597 * Now supports bluefire platform [NCF-52]
598 
599 * ncdump now properly displays values of attributes of type NC\_USHORT as
600 signed shorts [NCF-82]
601 
602 * Rename some code files so that there are no duplicate filenames.
603 [NCF-99]
604 
605 * Demonstration of netCDF-4 Performance Improvement with KNMI Data
606 [NCF-113]
607 
608 * Dimension size in classic model netCDF-4 files now allows larger sizes
609 than allowed for 64-bit offset classic files. [NCF-117]
610 
611 * ncdump now reports correct error message when "-x" option specifying
612 NcML output is used on netCDF-4 enhanced model input. [NCF-129]
613 
614 * Fixed bug causing infinite loop in ncdump -c of netCDF-4 file with
615 subgroup with variables using inherited dimensions. [NCF-136]
616 
617 ## 4.1.3 2011-06-17
618 
619 * Replace use of --with-hdf5= and other such configure options that
620 violate conventions and causes build problems. Set environment variables
621 CPPFLAGS, LDFLAGS, and LD\_LIBRARY\_PATH instead, before running
622 configure script. [NCF-20]
623 
624 * Detect from configure script when szlib is needed [NCF-21]
625 
626 * Fix bug that can silently zero out portions of a file when writing data
627 in nofill mode beyond the end of a file, crossing disk-block boundaries
628 with region to be written while in-memory buffer is in a specific state.
629 This bug was observed disabling fill mode using Lustre (or other large
630 blksize file system) and writing data slices in reverse order on disk.
631 [NCF-22]
632 
633 * Fix bug that prevents netCDF-4/HDF5 files created with netCDF-4.1.2 from
634 being read by earlier versions of netCDF or HDF5 versions before 1.8.7.
635 [NCF-23]
636 
637 * Fix bug in configure that did not make the search for the xdr library
638 depend on --enable-dap. [NCF-41]
639 
640 * Fix ncgen bug that did not use the value of a \_Format attribute in the
641 input CDL file to determine the kind of output file created, when not
642 specified by the -k command-line flag. [NCF-42]
643 
644 * Fix ncgen bug, not properly handling unsigned longlong parsing. [NCF-43]
645 
646 * Fix DAP client code to suppress variables with names such as "x.y",
647 which DAP protocol interprets as variable "y" inside container "x". Such
648 variables will be invisible when accessed through DAP client. [NCF-47]
649 
650 * Define uint type for unsigned integer, if not otherwise available.
651 Symptom was compile error involving uint in putget.c. [NCF-49]
652 
653 * Fix username+password handling in the DAP client code. [NCF-50]
654 
655 * Add test for handling parallel I/O problem from f77 when user forgets to
656 turn on one of the two MPI flags. [NCF-60]
657 
658 * Resolved "make check" problems when ifort compiler. Some "make install"
659 problems remain when using MPI and shared libraries. [NCF-61]
660 
661 * Fix problem with f90\_def\_var not always handle deflate setting when
662 compiler was ifort. [NCF-67]
663 
664 * Check that either MPIIO or MPIPOSIX flag is set when parallel create or
665 open is called. Also fix examples that didn't set at least one of these
666 flags. [NCF-68]
667 
668 * Improve documentation on handling client-side certificates [NCF-48]
669 
670 * Document that array arguments, except in varm functions, must point to
671 contiguous blocks of memory. [NCF-69]
672 
673 * Get netCDF-4 tests working for DLLs generated with mingw. [NCF-6]
674 
675 * Make changes necessary for upgrading to HDF5 1.8.7 [NCF-66]
676 
677 ### 4.1.3-rc1 2011-05-06
678 
679 * Stop looking for xdr if --disable-dap is used.
680 
681 * Don't try to run (some) fortran configure tests on machines with no
682 fortran.
683 
684 * Allow nccopy to rechunk with chunksizes larger than current dimension
685 lengths.
686 
687 * Initial implementation of CDMREMOTE is complete; needs comprehensive
688 testing.
689 
690 ### 4.1.3-beta1 2011-04-29
691 
692 * Fixed szlib not linking bug.
693 
694 * Fixed dreaded "nofill bug", lurking in netCDF classic since at least
695 1999. Writing more than a disk block's worth of data that crossed disk
696 block boundaries more than a disk block beyond the end of file in nofill
697 mode could zero out recently written earlier data that hadn't yet been
698 flushed to disk.
699 
700 * Changed setting for H5Pset\_libver\_bounds to ensure that all netCDF-4
701 files can be read by HDF5 1.8.x.
702 
703 * Merged libncdap3 and libncdap4 into new libdap2 library. The suffix dap2
704 now refers to the dap protocol. This is in prep for adding dap4 protocol
705 support.
706 
707 * Took out --with-hdf5 and related options due to high cost of maintaining
708 this non-standard way of finding libraries.
709 
710 ## 4.1.2 2011-03-29
711 
712 * Changes in build system to support building dlls on cygwin/mingw32.
713 
714 * Changes to fix portability problems and get things running on all test
715 platforms.
716 
717 * Some minor documentation fixes.
718 
719 * Fixed opendap performance bug for nc\_get\_vars; required adding
720 nc\_get\_var{s,m} to the dispatch table.
721 
722 * Now check for libz in configure.ac.
723 
724 * Fixed some bugs and some performance problems with default chunksizes.
725 
726 ### 4.1.2-beta2 2011-01-11
727 
728 * Add "-c" option to nccopy to specify chunk sizes used in output in terms
729 of list of dimension names.
730 
731 * Rewrite netCDF-4 attribute put code for a large speedup when writing
732 lots of attributes.
733 
734 * Fix nc-config --libs when static dependent libraries are not installed
735 in the same directory as netCDF libraries (thanks to Jeff Whitaker).
736 
737 * Build shared libraries by default, requiring separate Fortran library.
738 Static libraries now built only with --disable-shared.
739 
740 * Refactor of HDF5 file metadata scan for large speedup in opening files,
741 especially large files.
742 
743 * Complete rewrite of the handling of character datalist constants. The
744 heuristics are documented in ncgen.1.
745 
746 * Eliminate use of NC\_MAX\_DIMS and NC\_MAX\_VARS in ncdump and nccopy,
747 allocating memory as needed and reducing their memory footprint.
748 
749 * Add documentation for new nc\_inq\_path() function.
750 
751 * Use hashing to speedup lookups by name for files with lots of dimensions
752 and variables (thanks to Greg Sjaardema).
753 
754 * Add options to nccopy to support uniform compression of variables in
755 output, shuffling, and fixing unlimited dimensions. Documented in
756 nccopy.1 man page and User's Guide.
757 
758 ### 4.1.2-beta1 2010-07-09
759 
760 * Fix "ncdump -c" bug identifying coordinate variables in groups.
761 
762 * Fix bug in libsrc/posixio.c when providing sizehint larger than default,
763 which then doesn't get used (thanks to Harald Anlauf).
764 
765 * Fix netCDF-4 bug caused when doing enddef/redef and then defining
766 coordinate variable out of order.
767 
768 * Fixed bug in man4 directory automake file which caused documentation to
769 be rebuilt after make clean.
770 
771 * Turned off HDF5 caching when parallel I/O is in use because of its
772 memory use.
773 
774 * Refactoring of netCDF code with dispatch layer to decide whether to call
775 netCDF classic, netCDF-4, or opendap version of a function.
776 
777 * Refactoring of netCDF-4 memory internals to reduce memory use and end
778 dependence on NC\_MAX\_DIMS and NC\_MAX\_NAME.
779 
780 * Modified constraint parser to be more compatible with a java version of
781 the parser.
782 
783 * Modified ncgen to utilize iterators internally; should be no user
784 visible effect.
785 
786 * Fixed two large-file bugs with using classic format or 64-bit offset
787 format and accessing multidimensional variables with more than 2\*\*32
788 values.
789 
790 ## 4.1.1 2010-04-01
791 
792 * Fixed various build issues.
793 
794 * Fixed various memory bugs.
795 
796 * Fixed bug for netCDF-4 files with dimensions and coord vars written in
797 different orders, with data writes interspersed.
798 
799 * Added test for HDF5-1.8.4 bug.
800 
801 * Added new C++ API from Lynton Appel.
802 
803 ## 4.1 2010-01-30
804 
805 * Much better memory leak checking with valgrind.
806 
807 * Added per-variable chunk cache control for better performance. Use
808 nc\_set\_var\_chunk\_cache / nf\_set\_var\_chunk\_cache /
809 nf90\_set\_var\_chunk\_cache to set the per-variable cache.
810 
811 * Automatically set per-variable chunk cache when opening a file, or
812 creating a variable, so that the cache is big enough for more than one
813 chunk. (Can be overridden by user). Settings may be changed with
814 configure options --max-default-chunk-size and
815 --default-chunks-in-cache.
816 
817 * Better default chunks size. Now chunks are sized to fit inside the
818 DEFAULT\_CHUNK\_SIZE (settable at configure time with
819 --with-default-chunk-size= option.)
820 
821 * Added nccopy utility for converting among netCDF format variants or to
822 copy data from DAP servers to netCDF files.
823 
824 * The oc library has been modified to allow the occurrence of alias
825 definitions in the DAS, but they will be ignored.
826 
827 * The old ncgen has been moved to ncgen3 and ncgen is now the new ncgen4.
828 
829 * Modified --enable-remote-tests to be on by default.
830 
831 * Fixed the nc\_get\_varm code as applied to DAP data sources.
832 
833 * Added tests for nc-config.
834 
835 * Many documentation fixes.
836 
837 * Added capability to use the parallel-netcdf (a.k.a. pnetcdf) library to
838 perform parallel I/O on classic and 32-bit offset files. Use the
839 NC\_PNETCDF mode flag to get parallel I/O for non-netcdf-4 files.
840 
841 * Added libcf library to netCDF distribution. Turn it on with configure
842 option --with-libcf.
843 
844 * Added capability to read HDF4 files created with the SD (Scientific
845 Data) API.
846 
847 * The DAP support was revised to closely mimic the original libnc-dap
848 support.
849 
850 * Significantly revised the data handling mechanism in ncgen4 to more
851 closely mimic the output from the original ncgen.
852 
853 * Added prototype NcML output capability to ncgen4. It is specified by the
854 -lcml flag.
855 
856 * Added capability to read HDF5 files without dimension scales. This will
857 allow most existing HDF5 datasets to be read by netCDF-4.
858 
859 * Fixed bug with endianness of default fill values for integer types when
860 variables are created with a non-native endiannesss and use the default
861 fill value.
862 
863 * Significant refactoring of HDF5 type handling to improve performance and
864 handle complicated nesting of types in cross-platform cases.
865 
866 * Added UDUNITS2 to the distribution. Use --with-udunits to build udunits
867 along with netcdf.
868 
869 * Made changes suggested by HDF5 team to relax creation-order requirement
870 (for read-only cases) which allows HDF5 1.6.x files to be retrofitted
871 with dimension scales, and be readable to netCDF-4.
872 
873 * Handle duplicate type names within different groups in ncdump. Fix group
874 path handling in absolute and relative variable names for "-v" option.
875 
876 * Added nc-config shell script to help users build netCDF programs without
877 having to figure out all the compiler options they will need.
878 
879 * Fixed ncdump -s bug with displaying special attributes for classic and
880 64-bit offset files.
881 
882 * For writers, nc\_sync() now calls fsync() to flush data to disk sooner.
883 
884 * The nc\_inq\_type() function now works for primitive types.
885 
886 ## 4.0.1 2009-03-26
887 
888 * Added optional arguments to F90 API to nf90\_open/create,
889 nf90\_create\_var, and nf90\_inquire\_variable so that all netCDF-4
890 settings may be accomplished with optional arguments, instead of
891 separate function calls.
892 
893 * Added control of HDF5 chunk cache to allow for user performance tuning.
894 
895 * Added parallel example program in F90.
896 
897 * Changed default chunking to better handle very large variables.
898 
899 * Made contiguous the default for fixed size data sets with no filters.
900 
901 * Fixed bug in nc\_inq\_ncid; now it returns NC\_ENOGRP if the named group
902 is not found.
903 
904 * Fixed man pages for C and F77 so that netCDF-4 builds will result in man
905 pages that document new netCDF-4 functions.
906 
907 * Added OPeNDAP support based on a new C-only implementation. This is
908 enabled using --enable-dap option and requires libcurl. The configure
909 script will attempt to locate libcurl, but if it fails, then its
910 location must be specified by the --with-curl option.
911 
912 ### 4.0.1-beta2 2008-12-26
913 
914 * Changed chunksizes to size\_t from int.
915 
916 * Fixed fill value problem from F77 API.
917 
918 * Fixed problems in netcdf-4 files with multi-dimensional coordinate
919 variables.
920 
921 * Fixed ncgen to properly handle CDL input that uses Windows line endings
922 ("\r\n"), instead of getting a syntax error.
923 
924 * Added "-s" option to ncdump to display performance characterisitics of
925 netCDF-4 files as special virtual attributes, such as \_Chunking,
926 \_DeflateLevel, \_Format, and \_Endianness.
927 
928 * Added "-t" option to ncdump to display times in human readable form as
929 strings. Added code to interpret "calendar" attribute according to CF
930 conventions, if present, in displaying human-readable times.
931 
932 * Added experimental version of ncgen4 capable of generating netcdf-4 data
933 files and C code for creating them. In addition, it supports the special
934 attributes \_Format, etc.
935 
936 * 4.0.1-beta1 2008-10-16
937 
938 * Fixed Fortran 90 int64 problems.
939 
940 * Rewrote HDF5 read/write code in accordance with performance advice from
941 Kent.
942 
943 * Fixed memory leaks in gets/puts of HDF5 data.
944 
945 * Fixed some broken tests for parallel I/O (i.e. MPI) builds.
946 
947 * Fixed some cross-compile problems.
948 
949 * Rewrote code which placed bogus errors on the HDF5 error stack, trying
950 to open non-existant attributes and variables. Now no HDF5 errors are
951 seen.
952 
953 * Removed man subdirectory. Now man4 subdirectory is used for all builds.
954 
955 * Changed build so that users with access to parallel make can use it.
956 
957 * Added experimental support for accessing data through OPeNDAP servers
958 using the DAP protocol (use --enable-opendap to build it).
959 
960 * Fixed ncdump bugs with array field members of compound type variables.
961 Fixed ncdump bug of assuming default fill value for data of type
962 unsigned byte.
963 
964 ## 4.0 2008-05-31
965 
966 * Introduced the use of HDF5 as a storage layer, which allows use of
967 groups, user-defined types, multiple unlimited dimensions, compression,
968 data chunking, parallel I/O, and other features. See the netCDF Users
969 Guide for more information.
970 
971 ## 3.6.3 2008-05-31
972 
973 * In ncdump and ncgen, added CDL support for UTF-8 encoding of characters
974 in names and for escaped special chars in names. Made sure UTF-8 names
975 are normalized using NFC rules before storing or comparing.
976 
977 * Handle IEEE NaNs and infinities in a platform-independent way in ncdump
978 output.
979 
980 * Added support for ARM representation of doubles, (thanks to Warren
981 Turkal).
982 
983 * Fixed bug in C++ API creating 64-bit offset files. (See
984 http://www.unidata.ucar.edu/software/netcdf/docs/known\_problems.html\#cxx\_64-bit.)
985 
986 * Fixed bug for variables larger than 4 GB. (See
987 http://www.unidata.ucar.edu/software/netcdf/docs/known\_problems.html\#large\_vars\_362.)
988 
989 * Changed the configure.ac to build either 3.6.x or 4.x build from the
990 same configure.ac.
991 
992 * Build now checks gfortran version and handles it cleanly, also Portland
993 Group in Intel fortran, with various configurations.
994 
995 * A Fortran netcdf.inc file is now created at build time, based on the
996 setting of --disable-v2.
997 
998 * Documentation has been fixed in several places.
999 
1000 * Upgraded to automake 1.10, autoconf 2.62, and libtool 2.2.2.
1001 
1002 * Includes missing Windows Visual Studio build files.
1003 
1004 * Fixed missing include of config.h in a C++ test program.
1005 
1006 * Fixed maintainer-clean in man directory.
1007 
1008 * Fixed --enable-c-only and make check.
1009 
1010 * Fixed behavior when opening a zero-length file.
1011 
1012 * Many portability enhancements to build cleanly on various platforms.
1013 
1014 * Turned on some old test programs which were not being used in the build.
1015 
1016 ## 3.6.2 2007-03-05
1017 
1018 * Released.
1019 
1020 ### 3.6.2 beta6 2007-01-20
1021 
1022 * Fine tuning of build system to properly handle cygwin, Mingw, and
1023 strange configuration issues.
1024 
1025 * Automake 1.10 has a problem with running our tests on MinGW, so I'm
1026 switching back to automake 1.9.6 for this release.
1027 
1028 ### 3.6.2 beta5 2006-12-30
1029 
1030 * Now netCDF configuration uses autoconf 2.61, and automake 1.10. (Thanks
1031 to Ralf Wildenhues for the patches, and all the autotools help in
1032 general!)
1033 
1034 * Final major revision of netCDF tutorial before the 3.6.2 release.
1035 
1036 * Now netCDF builds under MinGW, producing a windows DLL with the C and
1037 F77 APIs. Use the --enable-shared --enable-dll --disable-cxx
1038 --disable-f90 flags to configure. (C++ and F90 have never been built as
1039 windows DLLs, but might be in a future release if there is user
1040 interest). This has all been documented in the netCDF Porting and
1041 Installation Guide.
1042 
1043 * Now extreme numbers (i.e. those close to the limits of their type) can
1044 be turned off in nc\_test/nf\_test, with --disable-extreme-numbers. It
1045 is turned off automatically for Solaris i386 systems.
1046 
1047 * Added --enable-c-only option to configure. This causes only the core
1048 netCDF-3 C library to be built. It's the same as --disable-f77
1049 --disable-cxx --disable-v2 --disable-utilities.
1050 
1051 * Added --disable-utilities to turn off building and testing of
1052 ncgen/ncdump.
1053 
1054 * Fix a long-standing bug in nf90\_get\_att\_text() pointed out by Ryo
1055 Furue, to make sure resulting string is blank-padded on return. This is
1056 fixed in the Fortran-90 interface, but is impractical to fix in the
1057 Fortran-77 interface implemented via cfortran.h.
1058 
1059 * Now large file tests are run if --enable-large-file-tests is used in the
1060 configure.
1061 
1062 * For Cray users, the ffio module is used if the --enable-ffio option is
1063 passed to configure.
1064 
1065 * Unrolled loops in byte-swapping code used on little-endian platforms to
1066 reduce loop overhead. This optimization resulted in a 22% speedup for
1067 some applications accessing floats or ints (e.g. NCO utilities ncap and
1068 ncbo) and a smaller speedup for shorts or doubles.
1069 
1070 * Added "-k" option to ncdump and ncgen, for identifying and specifying
1071 the kind of netCDF file, one of "classic", "64-bit-offset", "hdf5", or
1072 "hdf5-nc3". Removed output of kind of netCDF file in CDL comment
1073 produced by ncdump.
1074 
1075 * Fixed bug of ncdump seg-faulting if invoked incorrectly with option like
1076 "-c" or "-h" but no file name.
1077 
1078 ### 3.6.2 beta4 2006-08-15
1079 
1080 * Changed F77/F90 man pages from netcdf.3f and netcdf.3f90 to
1081 netcdf\_f77.3 and netcdf\_f90.3. Also fixed broken install of man pages.
1082 
1083 * Changed configure script so that "-g -O2" is no longer set as CFLAGS,
1084 CXXFLAGS, and FFLAGS by default if a GNU compiler is being used. Now
1085 nothing is set.
1086 
1087 * Changed configure script so that fortran flag is set in config.h.
1088 
1089 * Updated Installation and Porting Guide, C++ Interface Guide, F77 and F90
1090 Interface Guides.
1091 
1092 * Build with static libraries by default.
1093 
1094 * Added configure option --enable-separate-fortran, which causes the
1095 fortran library to be built separately. This is turned on automatically
1096 for shared libraries.
1097 
1098 * Improved clarity of error messages.
1099 
1100 * Changed configuration to get cygwin DLL and mingw DLL builds working,
1101 for the C library only (i.e. no F77, F90, or C++ APIs).
1102 
1103 * Changed type of ncbyte in C++ interface from unsigned char to signed
1104 char, for consistency with C interface. The C++ documentation warned
1105 this change would eventually occur.
1106 
1107 * Changed the C++ interface to use only the netCDF-3 C interface instead
1108 of the older netCDF-2 C interface. This has the added benefit that
1109 on-the-fly numeric conversions are now supported using get methods, for
1110 example you can get data of any type as double. When using --disable-v2
1111 flag to configure, the C++ interface can now be built and installed.
1112 
1113 ### 3.6.2 beta3 2006-05-24
1114 
1115 * Changed to use default prefix of /usr/local instead of package-based
1116 prefix of previous releases of netCDF. Use the --prefix argument to the
1117 configure script to override the default.
1118 
1119 * Made separate fortran library file, instead of appending fortran library
1120 functions to the C library file, if --enable-separate-fortran is used
1121 during configure (it's turned on automatically if --enable-shared is
1122 used). If uses, the fortran API users must link to *both* the C library
1123 and the new fortran library, like this: -lnetcdff -lnetcdf
1124 
1125 * Added netCDF examples in C, C++, F77, F90, and CDL. See the examples
1126 subdirectory.
1127 
1128 * Added the NetCDF Tutorial.
1129 
1130 * Minor fixes to some of the netCDF documentation.
1131 
1132 * Made it possible to build without V2 API using --disable-v2 from
1133 configure.
1134 
1135 * Switched to new build system, with automake and libtool. Now shared
1136 libraries are built (as well as static ones) on platforms which support
1137 it. For more information about shared libraries, see
1138 http://www.unidata.ucar.edu/software/netcdf/docs/faq.html\#shared\_intro
1139 
1140 * Fixed ncdump crash that happened when no arguments were used.
1141 
1142 * Fixed for building with gfortran 4.1.0.
1143 
1144 * Important fix for machines whose SIZEOF\_SIZE\_T != SIZEOF\_LONG, such
1145 as NEC-SX, thanks to Stephen Leak.
1146 
1147 * Fixed C++ on AIX platform.
1148 
1149 * Fixed 64-bit builds on AIX platform.
1150 
1151 * Removed bad assertion that could be triggered in rare cases when reading
1152 a small file.
1153 
1154 * Added comments in v1hpg.c to clarify purpose of each internal function.
1155 
1156 * Make sure filesize is determined in nc\_close() *after* buffers get
1157 flushed.
1158 
1159 * Fix long-standing problem resulting in files up to 3 bytes longer than
1160 necessary if there is exactly one record variable of type byte, char, or
1161 short and if the number of values per record for that variable is not
1162 divisible by 4 (or 2 in the case of short). Now the filesize determined
1163 from header info by NC\_calcsize should be correct in all cases.
1164 
1165 ## 3.6.1 2006-01-31
1166 
1167 * Updated installation manual for 3.6.1.
1168 
1169 * Changed installation to try to provide correct compiler flags for
1170 compiling in 64-bit mode on Sun, Irix, AIX, and HPUX. (HPUX doesn't work
1171 for me, however). Now run configure with --enable-64bit to get a 64 bit
1172 compile.
1173 
1174 * Fixed long-standing bug that would cause small netCDF files to be padded
1175 on the end with zero bytes to 4096 bytes when they were opened and
1176 changed. Now small files should stay small after you change a value.
1177 
1178 * Fixed bug in assertions in putget.c that would only be noticed if you
1179 change the manifest constant NC\_MAX\_DIMS in netcdf.h to be different
1180 from NC\_MAX\_VAR\_DIMS.
1181 
1182 * Moved test ftest.F from fortran to nf\_test directory, and fixed bug in
1183 ftest.F which caused it to return 0 even if tests failed (no tests were
1184 failing, however). Also renamed some test output files to make things a
1185 little clearer.
1186 
1187 * If open for writing, pad with up to 3 extra zero bytes before close to
1188 the correct canonical length, calculated from the header. Previously
1189 files could be short due to not padding when writing in NOFILL mode.
1190 
1191 * Doubled arbitrary limits on number of dimensions, variables, attributes,
1192 and length of names.
1193 
1194 * Change name of nc\_get\_format() to nc\_inq\_format(). Add analogous
1195 interfaces for nf\_inq\_format(), nf90\_inquire(), and
1196 NcFile::get\_format() to f77, f90, and C++ interfaces. Document new
1197 function in texinfo files. Add minimal test to nc\_test, nf\_test.
1198 
1199 ### 3.6.1-beta3 2005-02-17
1200 
1201 * Added function nc\_get\_format(int ncid, int\* formatp) that returns
1202 either NC\_FORMAT\_CLASSIC or NC\_FORMAT\_64BIT for a CDF1 or CDF2 file,
1203 respectively.
1204 
1205 * Added test to nc\_test that detects whether format version was changed
1206 after a file is reopened and define mode is entered.
1207 
1208 * Correctly configure for Intel ifort Fortran compiler on Linux.
1209 
1210 ### 3.6.0-p1 2005-02-18
1211 
1212 * Fixed bug that changes CDF2 files to CDF1 files if CDF2 file is reopened
1213 for write access and either an attribute is changed or define mode is
1214 entered.
1215 
1216 ### 3.6.1-beta2 2005-1-6
1217 
1218 * Fixed absoft compile problem. Maybe.
1219 
1220 ### 3.6.1-beta1 2005-1-3
1221 
1222 * Fixed Cygwin C++ problem.
1223 
1224 * Fixed large file problem in MS Visual C++.NET environment.
1225 
1226 * More information in installation and porting guide.
1227 
1228 ## 3.6.0 2004-12-16
1229 
1230 * Added texinfo source for the documentation.
1231 
1232 * Added large file tests to Windows directory in distribution.
1233 
1234 * Modified win32 visual studio project files so that m4 is no longer
1235 required to build netcdf under visual studio.
1236 
1237 * Modified rules.make to use install instead of cp, fixing install problem
1238 for cygwin users.
1239 
1240 * Modified configure/install stuff to support HP-UX.
1241 
1242 * Modified configure/install stuff to support G95.
1243 
1244 * In the f90 interface, applied Arnaud Desitter's fixes to correct
1245 mismatches between scalar and array arguments, eliminating (legitimate)
1246 complaints by the NAGWare f95 compiler. Also fixed bugs introduced in
1247 3.6.0-beta5 in the mapped array interfaces.
1248 
1249 ### 3.6.0-beta6 2004-10-05
1250 
1251 * Fixed AIX 64-bit/largefile install problems.
1252 
1253 * Removed FAQ section from netcdf.texi User's Guide, in deference to
1254 online version that can be kept up to date more easily.
1255 
1256 ### 3.6.0-beta5 2004-10-04
1257 
1258 * Fixed assertion violation on 64-bit platforms when size of last fixed
1259 size variable exceeds 2\^32 - 1.
1260 
1261 * Removed another restriction on file size by making record size (derived
1262 from other sizes, not part of the format) an off\_t instead of a
1263 size\_t, when an off\_t is larger than a size\_t. This permits records
1264 to be *much* larger in either classic format or 64-bit-offset format.
1265 
1266 * Incorporated patch from Mathis Rosenhauer to improve performance of
1267 Fortran 90 interface for calls to nf90\_put\_var\_TYPE(),
1268 nf90\_get\_var\_TYPE(), nf90\_put\_vara\_TYPE(), and
1269 nf90\_get\_vara\_TYPE() functions by not emulating them with the
1270 corresponding nf90\_put\_varm\_TYPE() and nf90\_get\_varm\_TYPE() calls.
1271 
1272 * Added tests for invalid offsets in classic format when defining multiple
1273 large variables.
1274 
1275 * Improved installation ease. Have configure script use Large File Support
1276 as a default, if available.
1277 
1278 * Add "extra\_test" as a target for testing Large File Support.
1279 
1280 ### 3.6.0-beta3 2004-08-24
1281 
1282 * Upgraded to recent autoconf, changed configure to (hopefully) improve
1283 installation. Also added macros to deal with large file systems.
1284 
1285 * Added nf\_set\_default\_format to Fortran interface.
1286 
1287 * Added testing to the set\_default\_format functions to nc\_test and
1288 nf\_test.
1289 
1290 * Added documentation to the man page for set\_default\_format functions.
1291 
1292 * Added two new error return codes to C, f77, and f90 interfaces for
1293 invalid dimension size and for bad variable size. Made test for max
1294 dimension size depend on whether 64-bit offsets used. Fixed bug with
1295 dimension sizes between 2\^31 and 2\^32 (for byte variables).
1296 
1297 * Fixed ncdump to properly print dimensions larger than 2\^31.
1298 
1299 * Fixed ncgen to properly handle dimensions between 2\^31 and 2\^32.
1300 
1301 ### 3.6.0-beta2
1302 
1303 * Added -v2 (version 2 format with 64-bit offsets) option to
1304 ncgen, to specify that generated files or generated C/Fortran code
1305 should create 64-bit offset files. Also added -x option to ncgen to
1306 specify use of no-fill mode for fast creation of large files.
1307 
1308 * Added function to set default create mode to C interface
1309 (nc\_set\_default\_create).
1310 
1311 * Added win32 directory, with NET subdirectory to hold .NET port of
1312 netCDF. To use, open netcdf.sln with Visual Studio, and do a clean and
1313 then a build of either the debug or release builds. Tests will be run as
1314 part of the build process. VC++ with managed extensions is required
1315 (i.e. VC++.NET).
1316 
1317 * Added windows installer files to build windows binary installs.
1318 
1319 ### 3.6.0-beta1
1320 
1321 * By incorporating Greg Sjaardema's patch, added support for
1322 64-bit offset files, which remove many of the restrictions relating to
1323 very large files (i.e. larger than 2 GB.) This introduces a new data
1324 format for the first time since the original netCDF format was
1325 introduced. Files in this new 64-bit offset format can't be read by
1326 earlier versions of netCDF. Users should continue to use the netCDF
1327 classic format unless they need to create very large files.
1328 
1329 * The test suite, nc\_test, will now be run twice, once for netCDF classic
1330 format testing, and once for 64-bit offset format testing.
1331 
1332 * The implementation of the Fortran-77 interface has been adapted to
1333 version 4.3 of Burkhard Burow's "cfortran.h".
1334 
1335 ### 3.6.0-alpha
1336 
1337 * Added NEC SX specific optimization for NFILL tunable
1338 parameter in libsrc/putget.c
1339 
1340 Added support for the ifc Fortran-90 compiler creating files "netcdf.d"
1341 and "typesizes.d" (instead of ".mod" files).
1342 
1343 * Fixed access to iargc and getarg functions from Fortran-90 for NAG f90
1344 compiler, contributed by Harald Anlauf.
1345 
1346 ## 3.5.1 2004-02-03
1347 
1348 * Updated INSTALL.html for Mac OS X (Darwin).
1349 
1350 * Made the installation of the netCDF Fortran-90 module file more robust
1351 regarding the name of the file.
1352 
1353 * Added support for eight-byte integers in Fortran90 interface.
1354 
1355 * Increased advisory limits in C netcdf.h and Fortran netcdf.inc for
1356 maximum number of dimensions, variables, and attributes.
1357 
1358 * Changed C++ declarations "friend NcFile" to "friend class NcFile" in
1359 cxx/netcdfcpp.h to conform to standard.
1360 
1361 * Added Dan Schmitt's backward compatible extension to the C++ record
1362 interface to work with arbitrary dimension slices.
1363 
1364 * Added C++ documentation note that caller is responsible for deleting
1365 pointer returned by Variable::values() method when no longer needed.
1366 
1367 * Made C++ interface more standard; the result may not compile on some old
1368 pre-standard C++ compilers.
1369 
1370 * Fixed bug in ncgen when parsing values of a multidimensional char
1371 variable that resulted in failure to pad a value with nulls on IRIX.
1372 
1373 * Fixed ncdump bug adding extra quote to char variable data when using -fc
1374 or -ff option.
1375 
1376 * Fixed so compiling with -DNO\_NETCDF\_2 will work for building without
1377 backward-compatibility netCDF-2 interfaces.
1378 
1379 * Eliminated use of ftruncate(), because it fails on FAT32 file systems
1380 under Linux.
1381 
1382 * Initialized a pointer in putget.m4 (used to generate putget.c) that was
1383 involved in uninitialized memory references when nc\_test is run under
1384 Purify. Two users had reported seeing crashes resulting from this
1385 problem in their applications.
1386 
1387 * Reverted pointer initializations in putget.m4, after testing revealed
1388 these caused a performance problem, resulting in many extra calls to
1389 px\_pgin and px\_pgout when running nc\_test.
1390 
1391 * Added checking of size of "dimids" vector in function
1392 nf90\_inquire\_variable(...) and error-returning if it isn't
1393 sufficiently capacious.
1394 
1395 * Added variable index to ncvarget() and ncattinq() error messages and
1396 attribute name to ncattinq() error message.
1397 
1398 * Tweaked configure script to work with recent C++ compilers.
1399 
1400 * Fixed a memory leak in C++ interface, making sure NcVar::cur\_rec[] gets
1401 deleted in NcVar destructor.
1402 
1403 * Reimplemented nc\_sync() fix of version 3.5.0 to eliminate performance
1404 penalty when synchronization is unnecessary.
1405 
1406 * Changed order of targets in Makefile to build Fortran interface last, as
1407 a workaround for problem with make on AIX platforms.
1408 
1409 ## 3.5.0 2001-03-23
1410 
1411 * Added Fortran 90 interface.
1412 
1413 * Changed C macro TIMELEN in file cxx/nctst.cpp to TIMESTRINGLEN to avoid
1414 clash with macro defined on AIX systems in /usr/include/time.h.
1415 
1416 * Fixed miswriting of netCDF header when exiting define mode. Because the
1417 header was always written correctly later, this was only a problem if
1418 there was another reader of the netCDF file.
1419 
1420 * Fixed explicit synchronizing between netCDF writer and readers via the
1421 nc\_sync(), nf\_sync(), and ncsync() functions.
1422 
1423 * Fixed a number of bugs related to attempts to support shrinking the
1424 header in netCDF files when attributes are rewritten or deleted. Also
1425 fixed the problem that nc\_\_endef() did not work as intended in
1426 reserving extra space in the file header, since the extra space would be
1427 compacted again on calling nc\_close().
1428 
1429 * Fixed the "redef bug" that occurred when nc\_enddef() or nf\_enddef() is
1430 called after nc\_redef() or nf\_redef(), the file is growing such that
1431 the new beginning of a record variable is in the next "chunk", and the
1432 size of at least one record variable exceeds the chunk size (see
1433 netcdf.3 man page for a description of this tuning parameter and how to
1434 set it). This bug resulted in corruption of some values in other
1435 variables than the one being added.
1436 
1437 * The "\*\*" tuning functions for the Fortran interface, nf\*\*create,
1438 nf\*\*open, and nf\*\*enddef, are now documented in the Fortran interface
1439 man pages.
1440 
1441 * Add an 'uninstall' target to all the Makefiles. Dave Glowacki
1442 <dglo@SSEC.WISC.EDU> 199810011851.MAA27335
1443 
1444 * Added support for multiprocessing on Cray T3E. Hooks added by Glenn, but
1445 the majority of the work was done at NERSC. Also includes changes to
1446 ffio option specification. Patch rollup provided by R. K. Owen
1447 <rkowen@Nersc.GOV>. The following functions are added to the public
1448 interface. nc**create\_mp() nc**open\_mp() nc\_set\_base\_pe()
1449 nc\_inq\_base\_pe()
1450 
1451 * Fixed makefile URL for Win32 systems in INSTALL file.
1452 
1453 * Made test for UNICOS system in the configure script case independent.
1454 
1455 * Ported to the following systems: AIX 4.3 (both /bin/xlc and
1456 /usr/vac/bin/xlc compilers) IRIX 6.5 IRIX64 6.5
1457 
1458 * Changed the extension of C++ files from ".cc" to ".cpp". Renamed the C++
1459 interface header file "netcdfcpp.h" instead of "netcdf.hh", changing
1460 "netcdf.hh" to include "netcdfcpp.h" for backward compatibility.
1461 
1462 * Treat "FreeBSD" systems the same as "BSD/OS" system w.r.t. Fortran and
1463 "whatis" database.
1464 
1465 * Corrected manual pages: corrected spelling of "enddef" (was "endef") and
1466 ensured that the words "index" and "format" will be correctly printed.
1467 
1468 * Updated support for Fortran-calling-C interface by updating
1469 "fortran/cfortran.h" from version 3.9 to version 4.1. This new version
1470 supports the Portland Group Fortran compiler (C macro "pgiFortran") and
1471 the Absoft Pro Fortran compiler (C macro "AbsoftProFortran").
1472 
1473 * Corrected use of non-integral-constant-expression in specifying size of
1474 temporary arrays in file "libsrc/ncx\_cray.c".
1475 
1476 * Added Compaq Alpha Linux workstation example to INSTALL file.
1477 
1478 * Ported cfortran.h to Cygnus GNU Win32 C compiler (gcc for Windows).
1479 
1480 * Fixed bug in ncdump using same CDL header name when called with multiple
1481 files.
1482 
1483 * Added new NULL data type NC\_NAT (Not A Type) to facilitate checking
1484 whether a variable object has had its type defined yet, for example when
1485 working with packed values.
1486 
1487 * Fixed use of compile-time macro NO\_NETCDF\_2 so it really doesn't
1488 include old netCDF-2 interfaces, as intended.
1489 
1490 * Ported to MacOS X Public Beta (Darwin 1.2/PowerPC).
1491 
1492 * Fixed C++ friend declarations to conform to C++ standard.
1493 
1494 * Changed INSTALL file to INSTALL.html instead.
1495 
1496 ## 3.4 1998-03-09
1497 
1498 * Fixed ncx\_cray.c to work on all CRAY systems, not just CRAY1. Reworked
1499 USE\_IEG, which was incorrect. Reworked short support. Now USE\_IEG and
1500 otherwise both pass t\_ncx.
1501 
1502 * To better support parallel systems, static and malloc'ed scratch areas
1503 which were shared in the library were eliminated. These were made
1504 private and on the stack where possible. To support this, the macros
1505 ALLOC\_ONSTACK and FREE\_ONSTACK are defined in onstack.h.
1506 
1507 * The buffered i/o system implementation in posixio.c was reimplemented to
1508 limit the number and size of read() or write() system calls and use
1509 greater reliance on memory to memory copy. This saves a great deal of
1510 wall clock time on slow (NFS) filesystems, especially during
1511 nc\_endef().
1512 
1513 * Added performance tuning "underbar underbar" interfaces nc**open(),
1514 nc**create(), and nc\_\_enddef().
1515 
1516 * The 'sizehint' contract between the higher layers and the ncio layer is
1517 consistently enforced.
1518 
1519 * The C++ interface has been updated so that the deprecated "nclong"
1520 typedef should no longer be required, and casts to nclong no longer
1521 necessary. Just use int or long as appropriate. nclong is still
1522 supported for backwards compatibility.
1523 
1524 * The ncdump utility now displays byte values as signed, even on platforms
1525 where the type corresponding to a C char is unsigned (SGI, for example).
1526 Also the ncdump and ncgen utilities have been updated to display and
1527 accept byte attributes as signed numeric values (with a "b" suffix)
1528 instead of using character constants.
1529 
1530 * In libsrc/error.c:nc\_strerror(int), explain that NC\_EBADTYPE applies
1531 to "\_FillValue type mismatch".
1532 
1533 * Some changes to configure scripts (aclocal.m4), macros.make.in and
1534 ncgen/Makefile to support NEC SUPER-UX 7.2.
1535 
1536 * The "usage" messages of ncgen and ncdump include the string returned
1537 from nc\_inq\_libvers().
1538 
1539 * Corrected some casts in the library so that all phases of the arithmetic
1540 computing file offsets occurs with "off\_t" type. This allows certain
1541 larger netcdf files to be created and read on systems with larger
1542 (64bit) off\_t.
1543 
1544 * In ncgen, multidimensional character variables are now padded to the
1545 length of last dimension, instead of just concatenating them. This
1546 restores an undocumented but convenient feature of ncgen under netCDF-2.
1547 Also, a syntax error is now reliably reported if the netcdf name is
1548 omitted in CDL input.
1549 
1550 * Fortran and C code generated by ncgen for netCDF components whose names
1551 contain "-" characters will now compile and run correctly instead of
1552 causing syntax errors.
1553 
1554 * The library allows "." characters in names as well as "\_" and "-"
1555 characters. A zero length name "" is explicitly not allowed. The ncgen
1556 utility will now permit "." characters in CDL names as well.
1557 
1558 * Memory leaks in the C++ interface NcVar::as\_\*() member functions and
1559 NcFile::add\_var() member function are fixed. The documentation was
1560 fixed where it indicated incorrectly that the library managed value
1561 blocks that the user is actually responsible for deleting.
1562 
1563 * he values of the version 2 Fortran error codes have been modified to
1564 make the version 2 Fortran interface more backward compatible at the
1565 source level.
1566 
1567 * Added support for systems whose Fortran INTEGER*1 and INTEGER*2 types
1568 are equivalent to the C "long" type but whose C "int" and "long" types
1569 differ. An example of such a system is the NEC SX-4 with the "-ew"
1570 option to the f90 compiler (sheesh, what a system!).
1571 
1572 * Fixed Version 2 Fortran compatibility bug: NCVGTG, NCVGGC, NCVPTG, and
1573 NCVPGC didn't work according to the Version 2 documentation if the
1574 innermost mapping value (i.e. IMAP[1]) was zero (indicating that the
1575 netCDF structure of the variable should be used).
1576 
1577 ## 3.3.1 1997-06-16
1578 
1579 * One can now inquire about the number of attributes that a variable has
1580 using the global variable ID.
1581 
1582 * The FORTRAN interface should now work on more systems. In particular:
1583 
1584 * It should now work with FORTRAN compilers whose "integer*1" datatype is
1585 either a C "signed char", "short", or "int" and whose "integer*2"
1586 datatype is either a C "short" or "int".
1587 
1588 * It should now work with FORTRAN compilers that are extremely picky about
1589 source code formatting (e.g. the NAG f90 compiler).
1590 
1591 * The dependency on the non-POSIX utility m4(1) for generating the C and
1592 FORTRAN manual pages has been eliminated.
1593 
1594 * EXTERNAL statements have been added to the FORTRAN include-file
1595 "netcdf.inc" to eliminate excessive warnings about "unused" variables
1596 (which were actually functions) by some compilers (e.g. SunOS 4.1.3's
1597 f77(1) version 1.x).
1598 
1599 * Building the netCDF-3 package no longer requires the existence of the
1600 Standard C macro RAND\_MAX.
1601 
1602 * Fixed an ncdump bug resulting in ncdump reporting Attempt to convert
1603 between text & numbers when \_FillValue attribute of a character
1604 variable set to the empty string "".
1605 
1606 * Made ncgen tests more stringent and fixed various bugs this uncovered.
1607 These included bugs in handling byte attributes on platforms on which
1608 char is unsigned, initializing scalar character variables in generated C
1609 code under "-c" option, interspersing DATA statements with declaration
1610 statements in generated Fortran code under "-f" option, handling empty
1611 string as a value correctly in generated C and Fortran, and handling
1612 escape characters in strings. The Fortran output under the "-f" option
1613 was also made less obscure and more portable, using automatic conversion
1614 with netCDF-3 interfaces instead of "BYTE", "INTEGER*1", or "INTEGER*2"
1615 declarations.
1616 
1617 * Fixed a C++ interface problem that prevented compiling the C++ library
1618 with Digital's cxx compiler.
1619 
1620 * Made ncgen "make test" report failure and stop if test resulted in a
1621 failure of generated C or Fortran code.
1622 
1623 * The file that you are now reading was created to contain a high-level
1624 description of the evolution of the netCDF-3 package.
1625 
1626 ## 3.3 1997-05-15
1627 
1628 * The production version of the netCDF-3 package was released.
1629 
1630 * A comparison of the netCDF-2 and netCDF-3 releases can be found in the
1631 file COMPATIBILITY.
1632 
1633 */

Return to the Main Unidata NetCDF page.
Generated on Sun Nov 23 2014 16:24:54 for NetCDF. NetCDF is a Unidata library.