XDMF Hyper Slabs:

Hello All,

I have temporal data that was broken into many smaller .h5 files, but due to running out of file limits on shared storage they have been merged into a single large .h5 file with the hope that individual time-steps can be selected using the xdmf hyper slab feature. This has been asked before and a issue was raised on git {https://gitlab.kitware.com/paraview/paraview/-/issues/19608, Using HyperSlab in XDMF, XDMF - Extract component from vector field using Hyperslab, xdmf HyperSlab with timesteps}.

I can load in my mesh and get paraview to recognize the array name, but the contents of the array do not load (See attached screen shot).

Any ideas to fix this issue or should I change to a different solution? I need all of the data to be located in a single file as a file for each time-step will not work so switching to having each time-step be a separate .h5 file will not be suitable for my application.

Any assistance is greatly appreciated.

<?xml version="1.0" ?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
<Xdmf Version="3.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<Domain>
    <Grid Name="TimeSeries" GridType="Collection" CollectionType="Temporal">
        <Grid Name="mesh" GridType="Uniform">
            <Topology NumberOfElements="1036699" TopologyType="Tetrahedron" NodesPerElement="4">
                <DataItem Dimensions="1036699 4" NumberType="UInt" Format="HDF">mesh.h5:/Mesh/topology
                </DataItem>
            </Topology>
            <Geometry GeometryType="XYZ">
                <DataItem Dimensions="181494 3" Format="HDF">C0045_EL_0.375_0.375_0.250_Q_5.50.h5:/Mesh/coordinates
                </DataItem>
            </Geometry>
        </Grid>
            <!-- Timestep 1 -->
        <Grid Name="Step-00001">
            <!-- Include the topology and geometry from another part of the XDMF file -->
            <xi:include xpointer="xpointer(//Grid[@Name='TimeSeries']/Grid[1]/*[self::Topology or self::Geometry])" />
            <Time Value="1" />
            <!-- Attribute "u" using HyperSlab -->
            <Attribute Name="grad_u" AttributeType="Vector" Center="Node">
                <DataItem ItemType="HyperSlab" Dimensions="1 181494 9" Type="HyperSlab">
                    <DataItem Dimensions="3 3" Format="XML">
                        <!-- Start at the specific timestep (0-indexed, so 9999), node index 0, component index 0 -->
                        1 0 0
                        <!-- Stride (step size): move by 1 in time, 1 in node index, 1 in component -->
                        0 1 1
                        <!-- Count (size of the slab): 1 timestep, 181494 nodes, 9 components per node -->
                        1 181494 9
                    </DataItem>
                    <DataItem Name="grad" Dimensions="13 181494 9" Format="HDF">
                        data.h5:/u_temporal
                    </DataItem>
                </DataItem>
            </Attribute>
        </Grid>
    </Grid>
</Domain>
</Xdmf>