Hmm, looks like the docs are out of date and/or wrong for region
references. Because region references are variable in length, the
actual reference information is stored in the global heap and a (fixed
length) heap ID is stored in the dataset's raw data - that part is
right, although too briefly described.
the data storage layout messaage seems to imply the HeapID is 12 bytes long.
Usually they are 16 bytes long.
type = Layout(8); contiguous storageSize = (2,12) dataAddress=13352
I dont see enough detail in h5dump:
DATASET "VIIRS-NCC-EDR_Gran_0" {
DATATYPE H5T_REFERENCE
DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
is there another option that would verify that?
in any case is 12 bytes correct? if so, what does a 12-byte HeapId look like?
The format of the data in the
heap is wrong however. The information actually stored in the heap is
as follows:
- The offset of the object header of the object (ie. dataset)
pointed to (yes, an object ID)
- A serialized form of a dataspace _selection_ of elements (in the
dataset pointed to). I don't have a formal description of this
information now, but it's encoded in the H5S_<foo>_serialize() routines
in src/H5S<foo>.c, where foo = {all, hyper, point, none}.
There is _no_ datatype information stored for these sort of
selections currently.
I'll file a bug report in our bugzilla to make certain this
description gets fixed in the file format spec.
Quincey
==============================================================================
To unsubscribe netcdf-hdf, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================