Skip to content
Novus Examples
h542.7 KB

HDF5 Chunked + gzip + shuffle Filters (.h5)

One array stored twice in the same file: chunked with the shuffle and gzip filters applied, and contiguous with no filters at all. Comparing the two proves a reader ran the HDF5 filter pipeline rather than reading raw chunk bytes.

Preview — schema + first 2 rowsh5
DatasetLayoutFiltersValues
/compressedchunked (16, 64)shuffle + gzip level 6identical to /contiguous
/contiguouscontiguousnoneidentical to /compressed
Same numbers, two storage layouts — a reader that skips the filter pipeline returns noise.

Specifications

Shape
64 x 64
Chunks
16 x 64
Compression
gzip level 6
Shuffle
true
Contiguous Twin In Same File
true
Elements
4096

Testing contract

Expected to pass
Scenario
Read both datasets and assert they are element-wise equal, then report the storage layout and filter list of each.
Expected result
The arrays match exactly, /compressed reports chunks of (16, 64) with shuffle and deflate in its filter pipeline, and /contiguous reports no filters.

What is a .h5 file?

HDF5 (.h5) is a binary container format for large, heterogeneous scientific data. It stores multidimensional arrays (datasets) in a hierarchical group structure with attributes and chunked, compressed storage, and is standard in ML, physics, and geoscience.

How to use this file

Use an example .h5 file to test HDF5 readers (h5py, PyTables), group and dataset traversal, and attribute extraction.

How to use this file for testing

“HDF5 Chunked + gzip + shuffle Filters (.h5)” is a deterministic Novus Examples fixture for Scientific data, Serialization testing, Conversion testing. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS) — for testing reference managers, molecule viewers, and scientific-data loaders.

Documented properties for this file: H5 · 43,708 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Scientific fixtures are small, valid, and fully synthetic — no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.

Generated by generation/scientific.py. Free for any use, no attribution required — license.