[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 951025: netCDF ragged array support



> Organization: Texas Instruments, Inc.
> Keywords: 199510251936.AA02335 netCDF variable length dimensions

Bryan,

In reply to your question about netCDF development, Steve Emmerson wrote:

> We have not yet begun to implement support for ragged arrays.  The
> concept (and a possible implementation) was developed by Harvey Davies
> in consultation with us.  Harvey is coming here about a week for,
> I believe, five months, to work on ragged array support and other
> netCDF-related things.

Details of our development schedule for netCDF have changed a bit.  Davies
work here will start in January, 1996, and he is here for seven months.  His
first priority is design and implementation of transparent packing for
netCDF.  Implementing nested arrays will follow that, if there is time.
Ragged arrays will be implemented in terms of nested arrays.

If you need variable-length arrays in netCDF now, you may be able to use an
auxiliary variable for indices and some conventions, perhaps enforced by a
few functions you write on top of the netCDF interface.  Whether this would
be practical depends on your requirements.

For example, if you can bound the sum of all the ragged lengths (if, for
example, you know the sizes of all ragged rows before writing the netCDF
file) and you never need to extend or shrink a ragged vector, then simply
reducing the dimensionality of the ragged array by one and storing an array
of indices for where each ragged row begins would suffice.  Even if you
can't bound the sum of all ragged lengths, you might be able to use the
unlimited dimension for the ragged dimension if you can write the data in
the same order it will be read and you don't need to change lengths of
ragged rows.

______________________________________________________________________________

Russ Rew                                           UCAR Unidata Program
address@hidden                              http://www.unidata.ucar.edu