[Paraview] Xdmf weirdness and question
Paul Melis
paul.melis at surfsara.nl
Mon Jan 14 11:33:53 EST 2013
Hi all,
I have a rectilinear dataset of 4096x4096x160 floats with constant
spacing in X and Y, but varying spacing in Z. I've put the data in a
single HDF5 file (for now) with the following layout:
HDF5 "ql200.hdf" {
GROUP "/" {
DATASET "ql" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 4096, 4096, 160 ) / ( 4096, 4096, 160 ) }
}
DATASET "x" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 4096 ) / ( 4096 ) }
}
DATASET "y" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 4096 ) / ( 4096 ) }
}
DATASET "zf" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 160 ) / ( 160 ) }
}
}
}
The point coordinates per axis are in the X, Y and Z(f) datasets.
I use the following Xdmf file to read this set into PV 3.14.1:
<?xml version="1.0" ?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
<Xdmf>
<Domain>
<Grid Name="TheGrid" GridType="Uniform">
<Topology TopologyType="3DRectMesh" Dimensions="4096 4096 160"/>
<Geometry GeometryType="VXVYVZ">
<DataItem Dimensions="4096" NumberType="Float" Precision="4"
Format="HDF">ql200.hdf:/x</DataItem>
<DataItem Dimensions="4096" NumberType="Float" Precision="4"
Format="HDF">ql200.hdf:/y</DataItem>
<DataItem Dimensions="160" NumberType="Float" Precision="4"
Format="HDF">ql200.hdf:/zf</DataItem>
</Geometry>
<Attribute Name="ql" AttributeType="Scalar" Center="Node">
<DataItem DataType="Float" Precision="4" Dimensions="4096 4096
160" Format="HDF">ql200.hdf:/ql</DataItem>
</Attribute>
</Grid>
</Domain>
</Xdmf>
This doesn't work unfortunately, as PV turns it into a grid of
160x4096x4096 (and no data is visible at all, even though the number of
cells and points seems to be correct). I don't see where the reordering
of axes comes from. Looking at Utilities/Xdmf2/libsrc/XdmfGeometry.cxx I
think I got the Geometry stuff correct. Does anybody see what is wrong?
Secondly, for rendering this set in parallel I was wondering if PV can
automatically read in subsets of the data from the single HDF5 file per
node (i.e. hyperslab reading), or that a manual split of the data is
needed anyway?
Thanks in advance for any help,
Paul
More information about the ParaView
mailing list