NetCDF-3 includes
See <URL:http://www.unidata.ucar.edu/software/netcdf/docs.html> for links to these different forms of documentation as well as links to the online man pages for reference.
Q: Why did we change the Fortran interface?
A: Creating a new Fortran interface similar to the new C interface offered some
of the same benefits to users and permitted sharing documentation and testing
approaches, so that the resulting code and documentation can be maintained more
easily than if we had dissimilar language interfaces. We also decided to use
a new approach for layering the Fortran interface on top of the C library---using
Burkhard Burow's cfortran.h mechanism instead of our previous homegrown
solution---so it was necessary to rewrite the Fortran interface in any case.
Q: Why are programs linked against the new library larger than before?
A: The new library does more, with type-safe interfaces, automatic type conversion,
and better performance. If you can determine the requisite compiler and linker
flags to build the library as shared on your platform, executables that use
netCDF-3 will be smaller. We don't build the library as shared by default,
because there are as many different ways of building shared libraries as there
are platforms.
Q: Why is the new version named 3.3 instead of 3.0?
A: It's just a number. We made available some prereleases of netCDF-3 and
needed to change some interfaces as the result of testing. 3.3 is the first
version of netCDF-3 made available for general release. There will almost undoubtedly
be follow-on versions (3.3.1, 3.3.2, ...) as we incorporate feedback and bug
fixes into the release, but the current release has already undergone extensive
testing.
Q: Why don't we provide a program to help convert automatically to the
new interfaces?
A: Such a conversion program would require parsing the source language, due
to the changed error handling approach in netCDF-3. Simple sed scripts that
change function names are not sufficient for such a task. Furthermore, even
if automatic conversion were practical, the resulting programs would not take
advantage of the simplifications supported by the new automatic type-conversion
features.
Q: Will we continue to support the netCDF-2 interfaces?
A: Yes, as long as there are programs that use them we will include the older
interfaces in the newer libraries. However, we will encourage use of the netCDF-3
interfaces because of the benefits in type safety, program performance, readability,
maintainability, and independence from some schema changes. Eventually, when
a future version of netCDF supports packing (e.g., storing arrays of 11-bit
integers), programs that use only netCDF-2 interfaces will not be able
to write such data, and they will have at most limited capabilities for reading
them.
Q: Is the C++ interface still supported?
A: Yes, but we haven't worked on it much since netCDF 2.4. The C++ interface
is still a layer on top of the netCDF-2 C interface. We have some plans for
incorporating C++ exceptions into a future version for error handling.
Q: Is there a Java interface to netCDF?
A: Yes, but it's not included with this distribution and not yet ready for
release. We have worked with Joe Sirott's read-only netCDF Java implementation
and also developed a prototype read-write netCDF package, both completely in
Java. These two different interfaces and implementations need to be reconciled,
and we will be working on this again now that the netCDF-3 release is finished.
Q: Why is the User's Guide no longer included with the distribution?
A: The people who build and install the netCDF library are not necessarily the
same as the people who use it, so we decided not to weigh down the distribution
with large copies of the User's Guides, instead making the documentation
available in multiple forms from a separate Web page.
We also want to be able to correct typos and errors in the documentation independently
from software bug fixes. This will be the first real test of the new User's
Guides, so they are likely to be more volatile than the software.
Q: Why are we no longer using Texinfo for the netCDF User's Guides?
A: We needed to derive both the C and Fortran User's Guides from a common
source that captured all the differences and similarities between them. Texinfo's
conditional text facilities had bugs that we reported but couldn't work
around, so we switched to FrameMaker. We use WebMaker to generate the HTML.
Q: Does netCDF still work on 16-bit platforms, such as MS-DOS?
A: We think the C library should work on MSDOS, but we no longer have access
to any 16-bit platforms on which to test the distribution. If someone else has
access to these or other more exotic platforms and is willing to do most of
the work required to port netCDF-3, we will provide what assistance we can and
make the modifications generally available.
Q: Is it possible to successfully build the new version without reading the
INSTALL file in the top level of the unpacked distribution?
A: Probably not, but good luck if you decide to try it anyway.