Re: netCDF library

Hi Jamie,

On Thu, 03 Aug 2006, you wrote:

> Sorry if this isn't quite the context to raise this question in... but
> there seem to be several features in the java NetCDF library (like this
> on the fly uzipping and caching, and support for GRIB files) that aren't
> available in other versions (C/Fortran).  Are there any plans to put
> these features into the C/Fortran libs?

We have plans to move some of the features of the Java netCDF
interface to the C-based interfaces as resources permit, and also
plans to implement some of the C-based features (for example, the
ability to write and read HDF5-based netCDF-4 files) in the Java
interface.  It's an important benefit that users of any netCDF
language interface be able to access data created from any other
language interface, so that the basic netCDF data model and file
format remain language-independent.

But there are good reasons the Java interface and the C-based
interfaces will support a different set of features above the uniform
data model and data format.  Java provides good support for
development of object-oriented platform-independent infrastructure,
with its automatic garbage collection, standard libraries, security,
and development tools.

With Java support for advanced network and server infrastructure,
there's little reason to try to duplicate all the server-oriented
functionality available in netCDF Java in the C interface.  If you
need to write server software for netCDF, Java (or other
object-oriented scripting languages with good networking support such
as Ruby or Python) are currently the languages of choice.

On the other hand, if you need application-oriented features such as
performance tuning on high-performance platforms, access to parallel
I/O, ability to specify a direct mapping between netCDF data and
memory buffers, or direct use from C or Fortran software, currently
you should use one of the C-based interfaces.



Russ Rew                                         UCAR Unidata Program

To unsubscribe netcdfgroup, visit: