Re: 1.8 file format

Great! But I see that we need to clean some code in the library (H5Odtype.c "Fix dumping reference types!" ) :-)

At 9:14 PM -0600 7/24/07, John Caron wrote:
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
==============================================================================


--

------------------------------------------------------------
Elena Pourmal
The HDF Group
1901 So First ST.
Suite C-2
Champaign, IL 61820

epourmal@xxxxxxxxxxxx
(217)333-0238 (office)
(217)333-9049 (fax)
------------------------------------------------------------

==============================================================================
To unsubscribe netcdf-hdf, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================