Re: [netcdfgroup] netCDF4 timeline

Ken Knapp <Ken.Knapp@xxxxxxxx> writes:

> I was wondering if there was an estimate on the full release of netCDF4? 
> I'm not looking for an exact date, just a ballpark estimate.
> I looked around the website and didn't see anything on HDF5 or netCDF4 
> timelines. [I ask because there was lots of speculation when the beta 
> would be released, but I hadn't heard anything since the beta release on 
> an expected full release]. 
> (I realize it depends on HDF5 and that timelines aren't always accurate, 
> but am still curious)
> Thanks-
> -Ken
> -- 
> Ken Knapp
> Remote Sensing and Applications Division
> National Climatic Data Center
> 151 Patton Ave
> Asheville, NC 28801
> 828-271-4339 (voice) 828-271-4328 (fax)

Howdy Ken!

The best answer I can come up with then is some time in November,
assuming that HDF5 is released in October.

Below, for those who are interested, I provide some details on the
current status of the HDF5 and NetCDF-4 beta releases.

HDF5 Status

The HDF5 team have worked out all known (to me) issues in the HDF5
1.8.0 release. (However I don't know all their issues, just the ones
found by netCDF-4 beta testers! ;-)

I'm not sure if all fixes are available in their latest HDF5 beta, but
certainly they are in the latest HDF5 snapshot. This is not available
on the netCDF-4 snapshot page yet, but will be shortly.

I will leave it to the HDF5 team to say how far they are from a final
release, but I don't think it can be long. 

NetCDF-4 will certainly have to stay in beta until after the HDF5

NetCDF-4 Status

In addition to the HDF5 release, there have been issues in the
netCDF-4 release found during the beta phase.

At the moment I know of no remaining bugs in the C library. (And if
anyone else knows of any, they should tell me right away!) There are
a few convenience functions that will probably be added, but they add
no new features, just an easier way to use existing features.

The Fortran APIs are a thin layer atop the C library. I am currently
checking the Fortran APIs more thoroughly, but there are no known
bugs there.

I suspect I will have to add some functions to both the C and Fortran
APIs to help fortran users of compound types, because of the way F90
structures work.

The documentation for the C and the Fortran APIs is missing a number
of functions (those which were added in the netCDF-4 beta phase, in
fact). I am working on those as a background task.

To sum up, I the C code is quite stable and reasonably
well-tested. The fortran APIs are close to stable, and need more
tests. The documentation needs some work.

Porting and Testing

Finally there is the issue of porting netCDF-4 to sufficiently many
platforms for a release. (We won't release it until it builds cleanly
on Linux, Sun, HP-UX, and AIX). There is some work to be done here,
but it already builds cleanly on those systems.

The daily build and test system here at Unidata makes netCDF-4
reasonably straightforward to test and release.

I am currently writing test programs which give netCDF-4 a more
serious workout as a data tool (i.e. tests which read and write
realistic amounts of data). Also I am adding more Fortran tests for
netCDF-4 new features.

By the AMS conference in January we will have developed and run some
benchmarks on netCDF-4 which will show its performance compared to

If anyone would like to contribute benchmark or test code (in C,
Fortran 77, or Fortran 90) which reflects their usage of netCDF, that
would be most welcome.

NetCDF Utilities ncdump/ncgen

The netCDF utilities have, for some time, been able to handle netCDF-4
classic model files (i.e. netCDF-4/HDF5 which don't use groups,
user-defined types, new atomic types, or other expansions to the
netCDF classic data model).

Russ is working on ncdump currently. When he is done, ncdump will
fully handle new netCDF-4 features.

Ncgen support for the netCDF-4 data model expansion remains to be
done. It is not clear that we will hold back the 4.0 release for

New NetCDF-4 C++ API

The new C++ API, developed over the past year by Shanna-Shaye Forbes,
here at Unidata, is intended for the netCDF 4.1 release, not the 4.0

Nonetheless, it has been mostly implemented, and can he obtained in
the snapshot release by using the --enable-cxx4 option to
configure. With this option, the new C++ API is built in the cxx4

Feedback or tests would be very much appreciated. Ms. Forbes has moved
on to graduate studies and is not currently working on the C++ API.

Beta Release Data Safety

For users interested in netCDF-4, it should be pointed out that the
HDF5 team have already committed (as is their custom) to support of
any data produced with an HDF5 beta release. 

You need not be afraid of creating files that you will no longer be
able to read. Any data created with the beta release will be safe.

Thanks to Beta Testers!

Thanks to all the beta testers out there, especially the NCO team, and
Jeff Whitaker of netcdf4-python, and to the HDF5 team for their
checking of netCDF-4 code.

I hope this helps! Feel free to ask any questions. The best way for
any fortran programmers to move things forward would be to send me
simple test programs which use netCDF-4 new features, like groups,
user-defined types, and parallel I/O.



Ed Hartnett  -- ed@xxxxxxxxxxxxxxxx