From help-octave-request at bevo dot che dot wisc dot edu Fri Jan 24 11:52:57 2003 Subject: Re: hdf5 support for more complex structures From: Jonathan Dursi To: Przemek Klosowski Cc: help-octave Date: Fri, 24 Jan 2003 11:43:18 -0600 On Thu, Jan 23, 2003 at 05:08:42PM -0500, Przemek Klosowski wrote: > > I am interested in HDF5 support for octave. Could you say what is the > issue with reading your control structures? I'm actually having difficulty with simpler things than hierarchies or attributes; all my datasets are in `/', and while getting the attributes read in would be good, too, I can live without them at first. Doing an `h5ls' on one of my (1d) data files gives me something like this: (there are lots of similar sorts of datasets, so I'm clipping some of them out for clairity; there are lots of variables stored all of the form Dataset {49, 1, 1, 32}, for instance) % h5ls flamecurvature_arr_hdf5_chk_0000 FLASH\ build\ date Dataset {1} FLASH\ build\ directory Dataset {1} FLASH\ build\ machine Dataset {1} FLASH\ setup\ call Dataset {1} FLASH\ version Dataset {1} block\ size Dataset {49, 1} bounding\ box Dataset {49, 1, 2} coordinates Dataset {49, 1} dens Dataset {49, 1, 1, 32} eint Dataset {49, 1, 1, 32} file\ creation\ time Dataset {1} file\ format\ version Dataset {1} integer\ runtime\ parameters Dataset {37} logical\ runtime\ parameters Dataset {22} node\ type Dataset {49} real\ runtime\ parameters Dataset {61} refine\ level Dataset {49} run\ comment Dataset {1} simulation\ parameters Dataset {1} string\ runtime\ parameters Dataset {29} unknown\ names Dataset {14, 1} Trying to read these into octave gives me: octave:1> load -hdf5 -import -force flamecurvature_arr_hdf5_chk_0000 warning: load: can't read `file format version' (unknown datatype) warning: load: can't read `gid' (unknown datatype) warning: load: can't read `integer runtime parameters' (unknown compound datatype) warning: load: can't read `logical runtime parameters' (unknown compound datatype) warning: load: can't read `node type' (unknown datatype) warning: load: can't read `real runtime parameters' (unknown compound datatype) warning: load: can't read `refine level' (unknown datatype) warning: load: can't read `simulation parameters' (unknown compound datatype) warning: load: can't read `string runtime parameters' (unknown compound datatype) warning: load: can't read 2-dim. hdf5 string vector (null) prot type rows cols name ==== ==== ==== ==== ==== rwd matrix 1 37 block_size rwd list - - bounding_box rwd matrix 1 37 coordinates rwd list - - dens rwd list - - eint rwd list - - ener rwd list - - enuc So none of the compound datatypes are read in, and the same for a lot of the string information/arrays (unknown\ names, FLASH\ build\ date, etc.) Awkwardly, many of the multidimensional arrays like dens/eint are read in as lists. I'm only just now starting to look at load-save.cc, and also to try to understand Octave's data types. It seems like getting these things read in should be fairly do-able; is there anything I should know before trying to tackle it? - Jonathan -- ljdursi at flash dot uchicago dot edu ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------