[petsc-users] Configure/make with "--download-hdf5" or "--with-hdf5-dir=" crashes

Matthew Knepley knepley at gmail.com
Tue Sep 2 05:16:06 CDT 2014


On Tue, Sep 2, 2014 at 3:09 AM, Åsmund Ervik <asmund.ervik at ntnu.no> wrote:

>
>
> On 01. sep. 2014 16:15, Matthew Knepley wrote:
> > On Mon, Sep 1, 2014 at 9:02 AM, Åsmund Ervik <asmund.ervik at ntnu.no>
> wrote:
> >
> >> On 01. sep. 2014 14:02, Matthew Knepley wrote:
> >>> On Mon, Sep 1, 2014 at 6:57 AM, Åsmund Ervik <asmund.ervik at ntnu.no>
> >> wrote:
> >>>
> >>>>
> >>>> No, I am not able to, that is why I switched to "--with-hdf5-dir=".
> Like
> >>>> I said in the first email, the version of HDF5 (1.8.10) that ships
> with
> >>>> PETSc 3.5.1 does not compile on my machine. This is apparently a known
> >>>> bug that was fixed upstream, cf.
> >>>>
> >>>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711777
> >>>>
> >>>> This is the reason why I asked whether I can somehow tell
> >>>> "--download-hdf5" to download a more recent version. 1.8.11 should do
> >> it.
> >>>
> >>>
> >>> People who leave commented out code in there should be tarred,
> feathered,
> >>> and run out of town on a rail. You can just go in and delete that line,
> >> and
> >>> then
> >>> reconfigure. It will use the source that is already downloaded.
> >>
> >> Okay, I also had to do the same for two lines in
> >> h5dump/h5dump_ddl.c:1344 and then I was able to configure with
> >> "--download-hdf5". I am now able to run vec/ex10.c using HDF5 with
> success!
> >>
> >> Thanks a lot :) (and double on the tar and feathers for people who use
> >> C++ comments in C code).
> >>
> >> After some tinkering I am now able to produce 3D plots of scalar fields
> >> from my code, and this looks good in Visit and in Tec360 Ex. However, it
> >> only works for scalars where only a single DOF is associated to a DMDA.
> >> Vector valued fields don't work either. But I am able to save two
> >> separate scalar fields to the same HDF5 file, as long as both are the
> >> single DOF associated to a DMDA.
> >>
> >
> > It seems like these programs expect a different organization than we use
> for
> > multiple DOF. Do you know what they want?
>
> The Tec360 Manual says the following:
> "The HDF5 loader add-on allows you to import general HDF5 files into
> Tecplot 360. The loader provides a mechanism for importing generic data
> from multiple HDF5 datasets or groups. The HDF5 loader will load
> datasets within user selected groups, load one or more user selected
> datasets to one zone, load multiple user selected datasets to multiple
> zones, execute macros after data has been loaded, create implicit X, Y,
> and Z grid vectors as needed, sub-sample loaded data, and reference user
> selected vectors for X, Y, and Z grids. Datasets must be ordered data.
> The HDF5 library used is version 1.8.5."
>
> This did not leave me any wiser, but perhaps it means something to you.
> FYI, the error I get when trying to import vectors or multiple scalars
> is "rank N data not supported" where N >= 4.
>

We add the DOF as another dimension, but clearly in 3D this means a 4D
structure, which Tec360 does not support, so they are looking for exactly
what you did with VecStrideScatter. That sounds like bad design on their
part to me.


> >
> >
> >> Also, if I call PetscViewerHDF5IncrementTimestep() the resulting HDF5
> >> files can no longer be visualized even for the scalars, both Tec360 and
> >> Visit give error messages.
> >>
> >
> > HDF5 is a generic format, and programs like Visit and Tec360 assume some
> > organization inside. For time we just add an array dimension, but they
> > might do
> > something else. I recommend looking at
> bin/pythonscripts/petsc_ge_xdmf.py,
> > which creates .xdmf to describe our HDF5 organization.
>
> Xdmf seems handy, and I would like to use this feature, but I'm not
> really sure how to. I tried running "petsc_ge_xdmf.py Myfile.h5" but I
> get the error below. Am I using the script wrong? Or perhaps it is
> assuming that the data is from a DMplex? I'm using DMDA.
>
> Traceback (most recent call last):
>   File "./petsc_gen_xdmf.py", line 220, in <module>
>     generateXdmf(sys.argv[1])
>   File "./petsc_gen_xdmf.py", line 194, in generateXdmf
>     geom      = h5['geometry']
>   File "/usr/lib/python2.7/site-packages/h5py/_hl/group.py", line 153,
> in __getitem__
>     oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
>   File "h5o.pyx", line 183, in h5py.h5o.open (h5py/h5o.c:3844)
> KeyError: "Unable to open object (Object 'geometry' doesn't exist)"


Yes, this is designed for unstructured grids. I just meant you could look
at it
and modify. It pretty short.

  Thanks,

     Matt


>
> Åsmund
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140902/569065c0/attachment-0001.html>


More information about the petsc-users mailing list