How to specify superblock version when writing HDF5 from Java

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How to specify superblock version when writing HDF5 from Java

Nelson, Jarom

I have found that the HDF5-Java ((HDF5-Java 2.11, HDF5 1.8.14) is creating files with a SUPERBLOCK_VERSION of 2, and I’ve also found that IDL version 8.2.1 (HDF5 version 1.8.4) cannot read these files unless I first h5repack the files, which will create an identical file, except with SUPERBLOCK_VERSION of 0. Later versions of IDL (IDL 8.3/8.5, HDF5 1.8.11) IDL don’t seem to have this problem.

 

Is there a way to specify in HDF5-Java which version of the superblock to use when creating the file?

 

Jarom Nelson; x33953

Computer Scientist, NIF, LLNL

 


_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
Reply | Threaded
Open this post in threaded view
|

Re: How to specify superblock version when writing HDF5 from Java

bljones

Hello Jarom,

 

You cannot specifically tell HDF5 to use a different version of the superblock when creating an HDF5 file.

However, a different version of the superblock will get used if you specify certain features in your file.

 

The File Format Specification discusses the different superblock versions.  I found these references to superblock version 2:

 

1.)    https://support.hdfgroup.org/HDF5/doc/H5.format.html#Superblock :

 

Version 2 has some fields eliminated and compressed from superblock format versions 0 and 1. It has added checksum support and superblock extension to store additional superblock metadata

 

2.)    https://support.hdfgroup.org/HDF5/doc/H5.format.html#SuperblockExt :

The superblock extension is used to store superblock metadata which is either optional, or added after the version of the superblock was defined. Superblock extensions may only exist when version 2 or later of the superblock is used. A superblock extension is an object header which may hold the following messages:

·         Shared Message Table message containing information to locate the master table of shared object header message indices.

·         B-tree ‘K’ Values message containing non-default B-tree ‘K’ values.

·         Driver Info message containing information needed by the file driver in order to reopen a file. See also the “Disk Format: Level 0B - File Driver Info” section above.

 

-Barbara

 

 

 

From: Hdf-forum [mailto:[hidden email]] On Behalf Of Nelson, Jarom
Sent: Monday, May 01, 2017 2:15 PM
To: [hidden email]
Subject: [Hdf-forum] How to specify superblock version when writing HDF5 from Java

 

I have found that the HDF5-Java ((HDF5-Java 2.11, HDF5 1.8.14) is creating files with a SUPERBLOCK_VERSION of 2, and I’ve also found that IDL version 8.2.1 (HDF5 version 1.8.4) cannot read these files unless I first h5repack the files, which will create an identical file, except with SUPERBLOCK_VERSION of 0. Later versions of IDL (IDL 8.3/8.5, HDF5 1.8.11) IDL don’t seem to have this problem.

 

Is there a way to specify in HDF5-Java which version of the superblock to use when creating the file?

 

Jarom Nelson; x33953

Computer Scientist, NIF, LLNL

 


_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
Reply | Threaded
Open this post in threaded view
|

Re: How to specify superblock version when writing HDF5 from Java

Nelson, Jarom

Barbara, thank you for your response.

 

I guess the trick will be to figure out what features I’m using which trigger the superblock version 2. Thanks for the links.

 

Jarom

 

From: Hdf-forum [mailto:[hidden email]] On Behalf Of Barbara Jones
Sent: Thursday, July 6, 2017 9:28 AM
To: HDF Users Discussion List <[hidden email]>
Subject: Re: [Hdf-forum] How to specify superblock version when writing HDF5 from Java

 

Hello Jarom,

 

You cannot specifically tell HDF5 to use a different version of the superblock when creating an HDF5 file.

However, a different version of the superblock will get used if you specify certain features in your file.

 

The File Format Specification discusses the different superblock versions.  I found these references to superblock version 2:

 

  1. https://support.hdfgroup.org/HDF5/doc/H5.format.html#Superblock :

 

Version 2 has some fields eliminated and compressed from superblock format versions 0 and 1. It has added checksum support and superblock extension to store additional superblock metadata

 

  1. https://support.hdfgroup.org/HDF5/doc/H5.format.html#SuperblockExt :

The superblock extension is used to store superblock metadata which is either optional, or added after the version of the superblock was defined. Superblock extensions may only exist when version 2 or later of the superblock is used. A superblock extension is an object header which may hold the following messages:

·         Shared Message Table message containing information to locate the master table of shared object header message indices.

·         B-tree ‘K’ Values message containing non-default B-tree ‘K’ values.

·         Driver Info message containing information needed by the file driver in order to reopen a file. See also the “Disk Format: Level 0B - File Driver Info” section above.

 

-Barbara

 

 

 

From: Hdf-forum [[hidden email]] On Behalf Of Nelson, Jarom
Sent: Monday, May 01, 2017 2:15 PM
To:
[hidden email]
Subject: [Hdf-forum] How to specify superblock version when writing HDF5 from Java

 

I have found that the HDF5-Java ((HDF5-Java 2.11, HDF5 1.8.14) is creating files with a SUPERBLOCK_VERSION of 2, and I’ve also found that IDL version 8.2.1 (HDF5 version 1.8.4) cannot read these files unless I first h5repack the files, which will create an identical file, except with SUPERBLOCK_VERSION of 0. Later versions of IDL (IDL 8.3/8.5, HDF5 1.8.11) IDL don’t seem to have this problem.

 

Is there a way to specify in HDF5-Java which version of the superblock to use when creating the file?

 

Jarom Nelson; x33953

Computer Scientist, NIF, LLNL

 


_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5