Page 1 of 1

hdf2sdds problem

Posted: 21 Jan 2014, 10:09
by libov
Michael,

I'm trying to convert HDF5 file to SDDS with the following command:

Code: Select all

hdf2sdds RAW-injected-electrons-001510.h5 RAW-injected-electrons-001510.sdds
It terminates with the error message:

Code: Select all

unable to convert HDF file of 1 dimensions
What am I doing wrong? Or is it not possible to convert such a file? Here is the link to HDF file: http://www-zeus.desy.de/~libov/download ... -001510.h5

Thanks in advance!

Slava

Re: hdf2sdds problem

Posted: 21 Mar 2014, 16:45
by michael_borland
I've asked Bob Soliday to have a look at this.

--Michael

Re: hdf2sdds problem

Posted: 24 Mar 2014, 11:26
by soliday
Unfortunately, hdf2sdds is not a general purpose conversion program like sdds2hdf is. It was written for a very specific type of HDF file. There are a million ways HDF files can be formatted and not all directly translate into something that fits SDDS. But the file you are trying to convert does. Here are commands you can put into a script to convert this file into SDDS:

h5ls -d -w1 RAW-injected-electrons-001510.h5/ene > tmp.ene
h5ls -d -w1 RAW-injected-electrons-001510.h5/p1 > tmp.p1
h5ls -d -w1 RAW-injected-electrons-001510.h5/p2 > tmp.p2
h5ls -d -w1 RAW-injected-electrons-001510.h5/p3 > tmp.p3
h5ls -d -w1 RAW-injected-electrons-001510.h5/q > tmp.q
h5ls -d -w1 RAW-injected-electrons-001510.h5/x1 > tmp.x1
h5ls -d -w1 RAW-injected-electrons-001510.h5/x2 > tmp.x2
h5ls -d -w1 RAW-injected-electrons-001510.h5/x3 > tmp.x3

plaindata2sdds tmp.ene tmp.ene.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=env,double
plaindata2sdds tmp.p1 tmp.p1.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=p1,double
plaindata2sdds tmp.p2 tmp.p2.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=p2,double
plaindata2sdds tmp.p3 tmp.p3.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=p3,double
plaindata2sdds tmp.q tmp.q.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=q,double
plaindata2sdds tmp.x1 tmp.x1.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=x1,double
plaindata2sdds tmp.x2 tmp.x2.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=x2,double
plaindata2sdds tmp.x3 tmp.x3.sdds -skiplines=3 -skipcolumn=string -noRowCount -column=x3,double

rm -f tmp.ene tmp.p1 tmp.p2 tmp.p3 tmp.q tmp.x1 tmp.x2 tmp.x3

sddsxref tmp.ene.sdds tmp.p1.sdds tmp.p2.sdds tmp.p3.sdds tmp.q.sdds tmp.x1.sdds tmp.x2.sdds tmp.x3.sdds RAW-injected-electrons-001510.sdds

rm -f tmp.ene.sdds tmp.p1.sdds tmp.p2.sdds tmp.p3.sdds tmp.q.sdds tmp.x1.sdds tmp.x2.sdds tmp.x3.sdds