h5dump "--output" not writing to files ?

Hello,
I compile and package HDF5 for Cray Inc. customers, but am not as familiar with using HDF5 as I perhaps should be. A user noticed that with all versions of hdf5 equal to or greater than version 1.8.9 h5dump --ouput doesn't direct output in " DATA {} " to a file. Is this a bug with HDF5; was the functionality intentionally changed? Thanks for any help/information.

Sean B.

Heres the output:

~> which h5dump
/opt/cray/hdf5/1.8.9/bin/h5dump
seanb@guana:~/tmp> h5dump -d "IntArray[ 1, 1 ; 1, 1]" --output=test.h5.189 SDS.h5
HDF5 "SDS.h5" {
DATASET "IntArray" {
   DATATYPE H5T_STD_I32LE
   DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
   SUBSET {
      START ( 1, 1 );
      STRIDE ( 1, 1 );
      COUNT ( 1, 1 );
      BLOCK ( 1, 1 );
      DATA {
      (1,1): 2
      }
   }
}
}
~> which h5dump
/opt/cray/hdf5/1.8.8/bin/h5dump
~> h5dump -d "IntArray[ 1, 1 ; 1, 1]" --output=test.h5.188 SDS.h5
HDF5 "SDS.h5" {
DATASET "IntArray" {
   DATATYPE H5T_STD_I32LE
   DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
   SUBSET {
      START ( 1, 1 );
      STRIDE ( 1, 1 );
      COUNT ( 1, 1 );
      BLOCK ( 1, 1 );
      DATA {

      }
   }
}
}

~> ls -l test.h5.18*
-rw-r--r-- 1 seanb criemp 14 2013-05-17 13:21 test.h5.188
-rw-r--r-- 1 seanb criemp 0 2013-05-17 13:17 test.h5.189
~> cat test.h5.188
      (1,1): 2

SDS.h5 (2.21 KB)

h5_write.c (4.31 KB)

Hello again,
I think I answered my own question. I noticed that that the dataset was correctly directed to a file when I wasn't using the compact subset form. I dug into the code a little and made the change showed in this diff. I tested that it corrected the behavior and think that this change should be pushed upstream:

Sean B.

Index: h5tools_dump.c

···

===================================================================
--- h5tools_dump.c (revision 1032)
+++ h5tools_dump.c (working copy)
@@ -1786,7 +1786,7 @@
         if(!sset)
             status = h5tools_dump_simple_dset(rawdatastream, info, ctx, dset, p_type);
         else
- status = h5tools_dump_simple_subset(stream, info, ctx, dset, p_type, sset);
+ status = h5tools_dump_simple_subset(rawdatastream, info, ctx, dset, p_type, sset);
     }
     else
         /* space is H5S_NULL */
________________________________
From: Sean Byland
Sent: Sunday, May 19, 2013 10:00 PM
To: HDF Users Discussion List
Subject: RE: h5dump "--output" not writing to files ?

Hello again,
I think I answered my own question. I noticed that that the dataset was correctly directed to a file when I wasn't using the compact subset form. I dug into the code a little and made the change showed in this diff. I tested that it corrected the behavior and that this change should be pushed upstream:

Sean B.

Index: h5tools_dump.c

--- h5tools_dump.c (revision 1032)
+++ h5tools_dump.c (working copy)
@@ -1786,7 +1786,7 @@
         if(!sset)
             status = h5tools_dump_simple_dset(rawdatastream, info, ctx, dset, p_type);
         else
- status = h5tools_dump_simple_subset(stream, info, ctx, dset, p_type, sset);
+ status = h5tools_dump_simple_subset(rawdatastream, info, ctx, dset, p_type, sset);
     }
     else
         /* space is H5S_NULL */

________________________________
From: Hdf-forum [hdf-forum-bounces@hdfgroup.org] on behalf of Sean Byland [seanb@cray.com]
Sent: Friday, May 17, 2013 1:45 PM
To: hdf-forum@hdfgroup.org
Subject: [Hdf-forum] h5dump "--output" not writing to files ?

Hello,
I compile and package HDF5 for Cray Inc. customers, but am not as familiar with using HDF5 as I perhaps should be. A user noticed that with all versions of hdf5 equal to or greater than version 1.8.9 h5dump --ouput doesn't direct output in " DATA {} " to a file. Is this a bug with HDF5; was the functionality intentionally changed? Thanks for any help/information.

Sean B.

Heres the output:

~> which h5dump
/opt/cray/hdf5/1.8.9/bin/h5dump
seanb@guana:~/tmp> h5dump -d "IntArray[ 1, 1 ; 1, 1]" --output=test.h5.189 SDS.h5
HDF5 "SDS.h5" {
DATASET "IntArray" {
   DATATYPE H5T_STD_I32LE
   DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
   SUBSET {
      START ( 1, 1 );
      STRIDE ( 1, 1 );
      COUNT ( 1, 1 );
      BLOCK ( 1, 1 );
      DATA {
      (1,1): 2
      }
   }
}
}
~> which h5dump
/opt/cray/hdf5/1.8.8/bin/h5dump
~> h5dump -d "IntArray[ 1, 1 ; 1, 1]" --output=test.h5.188 SDS.h5
HDF5 "SDS.h5" {
DATASET "IntArray" {
   DATATYPE H5T_STD_I32LE
   DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
   SUBSET {
      START ( 1, 1 );
      STRIDE ( 1, 1 );
      COUNT ( 1, 1 );
      BLOCK ( 1, 1 );
      DATA {

      }
   }
}
}

~> ls -l test.h5.18*
-rw-r--r-- 1 seanb criemp 14 2013-05-17 13:21 test.h5.188
-rw-r--r-- 1 seanb criemp 0 2013-05-17 13:17 test.h5.189
~> cat test.h5.188
      (1,1): 2

Hi Sean,

Thank you for reporting the problem and sending the fix. I added it to our bug list.
We will work on it.

Thanks
--pc

···

On 5/19/2013 10:03 PM, Sean Byland wrote:

Hello again,
I think I answered my own question. I noticed that that the dataset was correctly directed to a file when I wasn't using the compact subset form. I dug into the code a little and made the change showed in this diff. I tested that it corrected the behavior and think that this change should be pushed upstream:

Sean B.

Index: h5tools_dump.c

--- h5tools_dump.c(revision 1032)
+++ h5tools_dump.c(working copy)
@@ -1786,7 +1786,7 @@
         if(!sset)
             status = h5tools_dump_simple_dset(rawdatastream, info, ctx, dset, p_type);
         else
- status = h5tools_dump_simple_subset(stream, info, ctx, dset, p_type, sset);
+ status = h5tools_dump_simple_subset(rawdatastream, info, ctx, dset, p_type, sset);
     }
     else
         /* space is H5S_NULL */
------------------------------------------------------------------------
*From:* Sean Byland
*Sent:* Sunday, May 19, 2013 10:00 PM
*To:* HDF Users Discussion List
*Subject:* RE: h5dump "--output" not writing to files ?

Hello again,
I think I answered my own question. I noticed that that the dataset was correctly directed to a file when I wasn't using the compact subset form. I dug into the code a little and made the change showed in this diff. I tested that it corrected the behavior and that this change should be pushed upstream:

Sean B.

Index: h5tools_dump.c

--- h5tools_dump.c(revision 1032)
+++ h5tools_dump.c(working copy)
@@ -1786,7 +1786,7 @@
         if(!sset)
             status = h5tools_dump_simple_dset(rawdatastream, info, ctx, dset, p_type);
         else
- status = h5tools_dump_simple_subset(stream, info, ctx, dset, p_type, sset);
+ status = h5tools_dump_simple_subset(rawdatastream, info, ctx, dset, p_type, sset);
     }
     else
         /* space is H5S_NULL */

------------------------------------------------------------------------
*From:* Hdf-forum [hdf-forum-bounces@hdfgroup.org] on behalf of Sean Byland [seanb@cray.com]
*Sent:* Friday, May 17, 2013 1:45 PM
*To:* hdf-forum@hdfgroup.org
*Subject:* [Hdf-forum] h5dump "--output" not writing to files ?

Hello,
I compile and package HDF5 for Cray Inc. customers, but am not as familiar with using HDF5 as I perhaps should be. A user noticed that with all versions of hdf5 equal to or greater than version 1.8.9 h5dump --ouput doesn't direct output in "DATA {} " to a file. Is this a bug with HDF5; was the functionality intentionally changed? Thanks for any help/information.

Sean B.

Heres the output:

~> which h5dump
/opt/cray/hdf5/1.8.9/bin/h5dump
seanb@guana:~/tmp> h5dump -d "IntArray[ 1, 1 ; 1, 1]" --output=test.h5.189 SDS.h5
HDF5 "SDS.h5" {
DATASET "IntArray" {
   DATATYPE H5T_STD_I32LE
   DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
   SUBSET {
      START ( 1, 1 );
      STRIDE ( 1, 1 );
      COUNT ( 1, 1 );
      BLOCK ( 1, 1 );
      DATA {
      (1,1): 2
      }
   }
}
~> which h5dump
/opt/cray/hdf5/1.8.8/bin/h5dump
~> h5dump -d "IntArray[ 1, 1 ; 1, 1]" --output=test.h5.188 SDS.h5
HDF5 "SDS.h5" {
DATASET "IntArray" {
   DATATYPE H5T_STD_I32LE
   DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
   SUBSET {
      START ( 1, 1 );
      STRIDE ( 1, 1 );
      COUNT ( 1, 1 );
      BLOCK ( 1, 1 );
      DATA {

      }
   }
}

~> ls -l test.h5.18*
-rw-r--r-- 1 seanb criemp 14 2013-05-17 13:21 test.h5.188
-rw-r--r-- 1 seanb criemp 0 2013-05-17 13:17 test.h5.189
~> cat test.h5.188
      (1,1): 2

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org