Thanks Elena, this is what i found:
Message 1...
Message ID (sequence number): 0x0003 `datatype' (0)
Dirty: FALSE
Message flags: <C>
Chunk number: 0
Raw message data (offset, size) in chunk: (40, 8) bytes
Message Information:
Type class: reference
Size: 12 bytes
Fix dumping reference types!
Message 3...
Message ID (sequence number): 0x0008 `layout' (0)
Dirty: FALSE
Message flags: <C>
Chunk number: 0
Raw message data (offset, size) in chunk: (80, 24) bytes
Message Information:
Version: 1
Type: Contiguous
Data address: 12224
Data Size: 0
matching my dump (sort of):
-->Datatype(3) messageSize=8 flags = 1
Datatype type=7 version= 1 flags = 1 0 0 byteSize=12 byteOrder=BIG
--type 7(reference): type= 1
-->Layout(8) messageSize=24 flags = 1
StorageLayout version= 1 type = 1 ndims=2: 5 12 dataAddress= 12224
Elena Pourmal wrote:
John,
You may wish to try h5ls tool to find the address of the object header
for that dataset and then use h5debug tool to see header messages.
I believe commands will be like in the following examples
h5ls -var file.h5
You will see addresses of the datasets (say the address of the dataset
you are interested in is XXXX).
Then use h5debug
h5debug file.h5 XXXX
to see the messages at address XXXX.
May be it is not exactly the correct syntax but it is easy to figure out
when you know what you are looking for in the file.
Elena
At 5:50 PM -0600 7/24/07, John Caron wrote:
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
===============================================================================
==============================================================================
To unsubscribe netcdf-hdf, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================