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

Return to the Main Unidata NetCDF page.
Generated on Mon Jul 13 2015 07:53:25 for NetCDF. NetCDF is a Unidata library.