Skip to content

Specialist format guide

HDF5 Dataset Chunk Metadata Review: Check Paths, Shapes, Types, and Filters

Review HDF5 dataset paths, rank, dimensions, data types, storage layout, chunk shape, filters, and attributes before reading arrays.

An HDF5 file is a hierarchy, and a dataset has both raw data and metadata. A reader can find a dataset while its path, rank, dimension order, chunk layout, filter pipeline, or scale and fill attributes remain unresolved. Inspect the group path, dataspace, datatype, layout, filters, links, and attributes as separate evidence. Sources without a verified publication date are shown with documentation retrieval dates checked 22 October 2026; their original publication dates are not established. This guide describes a bounded metadata review, not an array reader, performance benchmark, data-quality guarantee, privacy decision, or permission claim.

Updated

On this page

Walk the hierarchy and preserve exact dataset paths

Start with a neutral artifact ID, digest, superblock or reader context, and a list of groups, datasets, named datatypes, attributes, and links. An HDF5 path is part of the data contract. Record whether a path is a hard link, soft link, external link, or unresolved link. A friendly display name is not a substitute for the exact path and link target.

Walk the hierarchy and preserve exact dataset paths (table)
Hierarchy fieldRecordStop if
Object pathFull path and object kindName is normalized without the source path
Link typeHard, soft, external, or unresolvedTarget cannot be resolved in the declared boundary
Dataset identityObject reference or neutral IDTwo paths are treated as two datasets without checking links
Group attributesNames, types, and redacted valuesAttributes contain unbounded private text
External fileReferenced location and availability stateReader follows it outside the review scope

The The HDF Group, (opens in a new tab) documentation gives the hierarchy and object model context. Keep path inventory separate from any decision about whether an object should be shared. Metadata can disclose project, person, location, or processing details even when no array values are read.

Compare dataspace, rank, dimensions, and datatype

For each dataset, record rank, current dimensions, maximum dimensions, dimension scales if present, datatype class and size, byte order, signedness, string representation, compound members, and references. Keep the declared shape and any observed read shape as separate columns. A rank of zero, an empty dimension, and a missing dataset are different states.

Compare dataspace, rank, dimensions, and datatype (table)
Dataset factSafe observationOpen question
RankInteger rank or scalarDoes the consumer expect an array?
Current dimensionsOrdered dimension sizesWhich axis is time, space, or category?
Maximum dimensionsFixed or extendible declarationsCan later writes change coverage?
DatatypeClass, size, members, and byte orderDoes the reader preserve all members?
String fieldsFixed or variable length, encoding stateAre empty and missing distinct?
Dimension scalesAttached scale paths or absentAre scale values aligned and documented?

Synthetic dataset record

Compare dataspace, rank, dimensions, and datatype code example, JSON
{
  "path": "/fixture/values",
  "rank": 2,
  "shape": ["fixture_rows", "fixture_columns"],
  "max_shape": ["unlimited", "fixture_columns"],
  "dtype": "fixture-float",
  "state": "metadata only"
}

This record intentionally uses symbolic dimensions. It is enough to test whether a worksheet preserves rank and extensibility without copying a private array. If a datatype contains compound members or references, list each member and the representation boundary rather than flattening it into a generic string.

Review layout, chunk shape, and filter pipeline

The The HDF Group, (opens in a new tab) documentation lists compact, contiguous, and chunked layouts. The The HDF Group, (opens in a new tab) documentation explains that chunked storage divides a dataset into chunks and supports compression and other filters. Record layout and chunk dimensions before any performance statement. A chunk shape can affect I/O behavior, but it does not prove that a consumer will be fast or that values are complete.

Review layout, chunk shape, and filter pipeline (table)
Storage fieldRecordStop if
LayoutCompact, contiguous, chunked, or unknownReader reports a fallback layout
Chunk shapeDimensions per chunkChunk rank differs from dataset rank
FiltersOrder, IDs, options, and availabilityFilter is unknown or unavailable
Fill allocationFill state and value referenceFill semantics are reader-specific and unrecorded
External storageFile list, offsets, and lengthsExternal target is outside scope
AllocationAllocated, sparse, or unknownPhysical state is mistaken for logical row count

Do not claim lossless or complete data merely because a filter name is present. Record filter metadata and the reader’s ability to decode a synthetic fixture. If a filter cannot be decoded, hold the dataset rather than silently skipping it.

Separate attributes, fill rules, and coverage

Attributes can describe units, labels, coordinates, fill values, scale, offset, provenance, or application-specific fields. Record name, datatype, shape, and a bounded redacted value summary. Preserve the exact value when a controlled reviewer needs it, but keep public worksheets at field level. An attribute named units is evidence of a metadata field, not proof that the values use that unit correctly.

Separate attributes, fill rules, and coverage (table)
Review questionRecordInterpretation boundary
Units and labelsExact attribute names and normalized labelsDo not infer semantics from a label alone
Fill or missingTyped value and scopeDo not turn fill into zero
Scale and offsetStored and intended domainsDo not discard packed evidence
ProvenanceSource reference and transform noteDo not treat a note as rights evidence
CoverageDimension scope, exclusions, and versionShape is not completeness

Stop conditions

  • Stop if the dataset path or link target is unresolved, especially for external links.
  • Stop if rank, dimensions, datatype, or compound members conflict between metadata sources.
  • Stop if chunk dimensions, filters, or external storage cannot be decoded in the controlled boundary.
  • Stop if attributes hide the fill, packing, unit, or coordinate rule needed for interpretation.
  • Stop before reading private arrays when the handling boundary or owner authority is unknown.

Close with a metadata packet and a qualified next step

Keep the path inventory, dataset worksheet, filter evidence, reader version, synthetic fixture result, and unresolved questions together. Pair this guide with the data provenance log for source and transformation history and the data card template for collection context. A readable HDF5 hierarchy does not establish accuracy, completeness, privacy clearance, or rights.

For a supported non-health collection, after the owner has authority to describe the scope and a controlled metadata packet, the qualified appraisal request path may be a preparation step. It does not read HDF5 arrays, decode filters, assess data quality, create a quote, match a buyer, issue a legal opinion, or grant a license.

Takeaways

  • Inventory exact paths and link targets before reading datasets.
  • Keep rank, dimensions, maximum dimensions, datatype members, and dimension scales distinct.
  • Record layout, chunk shape, filters, fill state, and external storage without making performance claims.
  • Use symbolic synthetic fixtures and hold unresolved links or filter boundaries.

Sources

  1. The HDF Group: HDF5 Datasets (opens in a new tab)
  2. The HDF Group: Chunking in HDF5 (opens in a new tab)
  3. The HDF Group: HDF5 User Guide (opens in a new tab)

Use the appraisal path after the HDF5 metadata packet is organized.

It does not read HDF5 arrays, decode filters, assess data quality, create a quote, match a buyer, or grant a license.