Skip to content
Novus Examples

Scientific

Research software reads formats that predate most of the web and rarely come with a clean sample. This category ships small, valid, fully synthetic ones. Chemistry covers MDL molfiles and SDfiles, XYZ coordinates, SMILES strings, crystallographic CIF, and PDB structures for an invented molecule. Bioinformatics covers FASTA and FASTQ sequences with documented quality encodings, SAM alignments, BED intervals, GFF3 annotations, and Newick phylogenetic trees. Numerical and gridded data arrive as NetCDF, HDF5, FITS, and Matrix Market alongside CSV twins so a loader can be checked against readable values. Citation formats (BibTeX, RIS) complete the set. Nothing here describes a real sample, organism, patient, or observation — the values are generated from fixed seeds and documented in each file's spec.

Filter scientific on Browse · 128 files · 11 subcategories

128 of 128 files

Arrays

Preview of float64 2-D Grid — Exact-Repr CSV Twin (.csv)
csv
1.7 KB
Actual file preview for float64 2-D Grid — Exact-Repr CSV Twin (.csv)

float64 2-D Grid — Exact-Repr CSV Twin (.csv)

Every element of the float64 .npy array written as its shortest round-tripping decimal representation, one row per element in C order. Parsing this text back to float64 reproduces the binary array bit for bit, so it is a usable oracle rather than a lossy printout.

File
CSV · Arrays · 96 rows
Use case
Scientific dataConversion testing+1· Paired fixture
Preview of NumPy .npy — Boolean Mask (.npy)
npy
188 B
Actual file preview for NumPy .npy — Boolean Mask (.npy)

NumPy .npy — Boolean Mask (.npy)

A 6x10 boolean mask stored as one byte per element, because .npy does not bit-pack booleans however tempting that assumption is. The True cells follow a simple divisible-by-three rule so a mis-decode is obvious rather than plausible.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Conversion set
Preview of NumPy .npy — C Order (Row-Major) (.npy)
npy
320 B
Actual file preview for NumPy .npy — C Order (Row-Major) (.npy)

NumPy .npy — C Order (Row-Major) (.npy)

A 4x6 matrix of 0..23 stored row-major, so the byte sequence begins with the first row. It is one half of a memory-order pair that is indistinguishable from its twin unless the header's fortran_order flag is honoured.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NumPy .npy — complex128 Spectrum (.npy)
npy
656 B
Actual file preview for NumPy .npy — complex128 Spectrum (.npy)

NumPy .npy — complex128 Spectrum (.npy)

The real FFT of a 64-sample sine stored as complex128, where each element is an interleaved pair of doubles rather than two separate planes. Readers without a complex type usually flatten it, which doubles the reported length and shifts the peak bin.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Conversion set
Preview of NumPy .npy — datetime64 Seconds Since the Epoch (.npy)
npy
168 B
Actual file preview for NumPy .npy — datetime64 Seconds Since the Epoch (.npy)

NumPy .npy — datetime64 Seconds Since the Epoch (.npy)

Five timestamps stored as datetime64 with second resolution, where the unit is part of the dtype descriptor and the values on disk are plain int64 epoch seconds. Dropping the unit turns 2026-01-01 into the integer 1767225600 without any complaint.

File
NPY · Arrays
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npy — float16 at Its Limits (.npy)
npy
146 B
Actual file preview for NumPy .npy — float16 at Its Limits (.npy)

NumPy .npy — float16 at Its Limits (.npy)

Every structurally interesting float16 value in one array: one plus epsilon, the largest finite value, the smallest normal and subnormal, negative zero, infinity and a NaN. It is the compact half-precision counterpart to the float32 and float64 boundary fixtures.

File
NPY · Arrays
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npy — float32 3-D Cube (.npy)
npy
608 B
Actual file preview for NumPy .npy — float32 3-D Cube (.npy)

NumPy .npy — float32 3-D Cube (.npy)

The identical temperature field carried by the CF NetCDF and HDF5 fixtures, stored as a bare float32 .npy. Comparing the three shows exactly what a plain array container loses: the numbers survive, the units and axes do not.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Conversion set
Preview of NumPy .npy — float64 2-D Grid (.npy)
npy
896 B
Actual file preview for NumPy .npy — float64 2-D Grid (.npy)

NumPy .npy — float64 2-D Grid (.npy)

The baseline .npy fixture: a 12x8 float64 array in version 1.0 format with a little-endian descriptor and the header padded to the mandatory 64-byte alignment. Every other array in this family varies exactly one property away from it.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NumPy .npy — float64 Big-Endian (.npy)
npy
184 B
Actual file preview for NumPy .npy — float64 Big-Endian (.npy)

NumPy .npy — float64 Big-Endian (.npy)

Seven doubles written big-endian, including negative zero and values at both ends of the exponent range. Byte-swapping a double is unrecoverable by inspection — swap pi and you get 3.2e-192, which looks like a plausible tiny number rather than an error.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Conversion set
Preview of NumPy .npy — Fortran Order (Column-Major) (.npy)
npy
320 B
Actual file preview for NumPy .npy — Fortran Order (Column-Major) (.npy)

NumPy .npy — Fortran Order (Column-Major) (.npy)

The same 4x6 matrix stored column-major with fortran_order set to True in the header. Ignoring that one boolean does not produce an error, it produces a transposed matrix — the quietest failure in the whole .npy format.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NumPy .npy — int16 Big-Endian (.npy)
npy
146 B
Actual file preview for NumPy .npy — int16 Big-Endian (.npy)

NumPy .npy — int16 Big-Endian (.npy)

The same nine int16 values written big-endian, so the header descriptor reads '>i2'. A loader that ignores the descriptor and assumes native little-endian order returns 13330 where the file says 4660, without any error.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NumPy .npy — int16 Little-Endian (.npy)
npy
146 B
Actual file preview for NumPy .npy — int16 Little-Endian (.npy)

NumPy .npy — int16 Little-Endian (.npy)

Nine int16 values including both type extremes, stored little-endian so the descriptor in the header reads '<i2'. It is one half of an endian pair whose values are identical and whose bytes are not.

File
NPY · Arrays
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NumPy .npy — Structured Record Array with Units in Field Names (.npy)
npy
528 B
Actual file preview for NumPy .npy — Structured Record Array with Units in Field Names (.npy)

NumPy .npy — Structured Record Array with Units in Field Names (.npy)

A 16-record structured array carrying a value, its uncertainty and a quality flag, with the physical unit encoded in the field-name suffix because .npy has nowhere else to put it. The header descriptor is a list of field tuples rather than a single type string, which is the parsing branch this file exercises.

File
NPY · Arrays · 16 records
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npy — Zero-Dimensional Scalar (.npy)
npy
136 B
Actual file preview for NumPy .npy — Zero-Dimensional Scalar (.npy)

NumPy .npy — Zero-Dimensional Scalar (.npy)

A rank-0 .npy holding a single double, whose header shape is the empty tuple rather than (1,). Indexing it with [0] raises rather than returning the value, so it separates parsers that model rank properly from parsers that assume at least one axis.

File
NPY · Arrays
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npy — Zero-Length Array With Real Shape (.npy)
npy
128 B
Actual file preview for NumPy .npy — Zero-Length Array With Real Shape (.npy)

NumPy .npy — Zero-Length Array With Real Shape (.npy)

A valid .npy file with a full header, a declared (0, 4) shape and a data section of zero bytes. It preserves the column count across an empty result, and it separates readers that model emptiness from readers that treat it as failure.

File
NPY · Arrays
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npy Format Version 2.0 — Header Beyond 64 KiB (.npy)
npy
12.7 KB
Actual file preview for NumPy .npy Format Version 2.0 — Header Beyond 64 KiB (.npy)

NumPy .npy Format Version 2.0 — Header Beyond 64 KiB (.npy)

A 300-field structured array whose descriptor is too long for a version 1.0 header, forcing format version 2.0 and its four-byte header-length field. A hand-rolled parser that assumes the two-byte 1.0 field mis-locates the data section entirely.

File
NPY · Arrays · 4 records
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npy Format Version 3.0 — UTF-8 Field Names (.npy)
npy
312 B
Actual file preview for NumPy .npy Format Version 3.0 — UTF-8 Field Names (.npy)

NumPy .npy Format Version 3.0 — UTF-8 Field Names (.npy)

A structured array whose field names use Greek and CJK characters, which is the only reason format version 3.0 exists: its header is UTF-8 where 1.0 and 2.0 are latin-1. A parser that decodes the header as latin-1 mangles all three names.

File
NPY · Arrays · 5 records
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npz-style Bundle — Five Arrays, Deflated (.zip)
zip
1.1 KB
Actual file preview for NumPy .npz-style Bundle — Five Arrays, Deflated (.zip)

NumPy .npz-style Bundle — Five Arrays, Deflated (.zip)

The identical five arrays bundled with deflate instead of stored, which is the only difference between NumPy's savez and savez_compressed. Loading both and comparing proves a reader ran the decompressor rather than trusting stored-size shortcuts.

File
ZIP · Arrays · 5 members
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NumPy .npz-style Bundle — Five Arrays, Stored (.zip)
zip
2.2 KB
Actual file preview for NumPy .npz-style Bundle — Five Arrays, Stored (.zip)

NumPy .npz-style Bundle — Five Arrays, Stored (.zip)

An npz-style bundle: a ZIP whose members are .npy files, which is exactly what NumPy's savez produces. np.load opens it by ZIP magic rather than by extension, so the arrays load straight from this .zip; rename it to .npz for tooling that checks the suffix.

File
ZIP · Arrays · 5 members
Use case
Scientific dataSerialization testing+1· Conversion set

Bioinformatics

Preview of BED6 Intervals — 0-Based Half-Open Coordinates (.bed)
bed
184 B
Actual file preview for BED6 Intervals — 0-Based Half-Open Coordinates (.bed)

BED6 Intervals — 0-Based Half-Open Coordinates (.bed)

The same six features as the GFF3 file expressed in BED's 0-based half-open coordinates, where the start is one lower and the end is unchanged. Confusing the two conventions shifts every interval by a base, and this pair makes that shift a visible diff.

File
BED · Bioinformatics
Use case
Scientific dataEditor testing· Paired fixture
Preview of FASTA Contigs — One Line Per Record (.fasta)
fasta
2.4 KB
Actual file preview for FASTA Contigs — One Line Per Record (.fasta)

FASTA Contigs — One Line Per Record (.fasta)

The same four contigs written one sequence per line rather than wrapped, which is how many pipelines emit FASTA and how many line-oriented parsers assume it always looks. Comparing against the wrapped twin proves a parser joins continuation lines instead of taking the first one.

File
FASTA · Bioinformatics · 4 records
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of FASTA Contigs — Wrapped at 60 Columns (.fasta)
fasta
2.7 KB
Actual file preview for FASTA Contigs — Wrapped at 60 Columns (.fasta)

FASTA Contigs — Wrapped at 60 Columns (.fasta)

Four 600-base synthetic contigs wrapped at the conventional 60 columns, with the length and an invented organism name in each header. The sequences come from a fixed seed, so they are reproducible and belong to nothing that exists.

File
FASTA · Bioinformatics · 4 records
Use case
Scientific dataEditor testing· Paired fixture
Preview of FASTQ Quality Score Reference — Both Encodings Decoded (.csv)
csv
1.1 KB
Actual file preview for FASTQ Quality Score Reference — Both Encodings Decoded (.csv)

FASTQ Quality Score Reference — Both Encodings Decoded (.csv)

Every twelfth base of the six reads with its Phred score, the ASCII character it takes under both offsets, and the error probability that score implies. It converts a quality-encoding argument into a lookup you can diff.

File
CSV · Bioinformatics · 30 rows
Use case
Scientific dataEditor testing+1· Conversion set
Preview of FASTQ Reads — Phred+33 (Sanger / Illumina 1.8+) (.fastq)
fastq
882 B
Actual file preview for FASTQ Reads — Phred+33 (Sanger / Illumina 1.8+) (.fastq)

FASTQ Reads — Phred+33 (Sanger / Illumina 1.8+) (.fastq)

Six 60-base reads with Phred+33 quality strings, the modern Sanger encoding used by everything since Illumina 1.8. Quality declines along each read the way real sequencing does, so a mis-decoded offset produces implausible scores rather than plausible ones.

File
FASTQ · Bioinformatics · Phred+33
Use case
Scientific dataEditor testing· Paired fixture
Preview of FASTQ Reads — Phred+64 Legacy Encoding (.fastq)
fastq
882 B
Actual file preview for FASTQ Reads — Phred+64 Legacy Encoding (.fastq)

FASTQ Reads — Phred+64 Legacy Encoding (.fastq)

The identical reads and identical quality scores written with the legacy Phred+64 offset used by older Illumina pipelines. Decode it with the modern offset and every base looks 31 points better than it is, which is a silent quality inflation rather than a parse failure.

File
FASTQ · Bioinformatics · Phred+64
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of Genomic Coordinate Conventions — BED versus GFF3 Side by Side (.csv)
csv
274 B
Actual file preview for Genomic Coordinate Conventions — BED versus GFF3 Side by Side (.csv)

Genomic Coordinate Conventions — BED versus GFF3 Side by Side (.csv)

Every interval written in both coordinate conventions with its length, which is identical either way. It is the lookup table for the most common bioinformatics off-by-one, and the length column is what proves a conversion did not quietly change an interval's size.

File
CSV · Bioinformatics · 6 rows
Use case
Scientific dataEditor testing+1· Conversion set
Preview of GFF3 Gene Annotations — 1-Based Inclusive Coordinates (.gff3)
gff3
681 B
Actual file preview for GFF3 Gene Annotations — 1-Based Inclusive Coordinates (.gff3)

GFF3 Gene Annotations — 1-Based Inclusive Coordinates (.gff3)

Seven features on a synthetic contig — two genes, an mRNA, two exons and two CDS records — linked by ID and Parent attributes across both strands. GFF3 coordinates are 1-based and inclusive, which is the fact its BED twin exists to contrast.

File
GFF3 · Bioinformatics
Use case
Scientific dataEditor testing· Paired fixture
Preview of Intentionally Corrupt FASTQ — Final Record Missing Its Quality Line (.fastq)
fastq
821 B
Actual file preview for Intentionally Corrupt FASTQ — Final Record Missing Its Quality Line (.fastq)

Intentionally Corrupt FASTQ — Final Record Missing Its Quality Line (.fastq)

An intentionally corrupt FASTQ whose first five records are complete and whose sixth ends after the plus line, leaving no quality string. A four-line-block reader must report an incomplete final record rather than pairing the sequence with an empty quality string.

File
FASTQ · Bioinformatics
Use case
Scientific dataError handling+1· Conversion set
Preview of Newick Tree — Branch Lengths and Support Values (.nwk)
nwk
136 B
Actual file preview for Newick Tree — Branch Lengths and Support Values (.nwk)

Newick Tree — Branch Lengths and Support Values (.nwk)

A six-taxon Newick tree with branch lengths on every edge and bootstrap-style support values written as internal node labels. That support notation is ambiguous by design in Newick — the same position can hold a node name — which is precisely what a parser has to decide about.

File
NWK · Bioinformatics
Use case
Scientific dataEditor testing· Paired fixture
Preview of Newick Tree — Topology Only, No Branch Lengths (.nwk)
nwk
57 B
Actual file preview for Newick Tree — Topology Only, No Branch Lengths (.nwk)

Newick Tree — Topology Only, No Branch Lengths (.nwk)

The identical tree topology with every branch length and support value stripped, which is what a Newick writer produces when the source tree has no lengths. Comparing the two proves a parser distinguishes 'length zero' from 'no length recorded'.

File
NWK · Bioinformatics
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of Protein FASTA — Ambiguity Codes X, B and Z (.fasta)
fasta
450 B
Actual file preview for Protein FASTA — Ambiguity Codes X, B and Z (.fasta)

Protein FASTA — Ambiguity Codes X, B and Z (.fasta)

Three synthetic protein sequences that begin with methionine and include the X, B and Z ambiguity codes, which are legal IUPAC residues rather than errors. A validator restricted to the twenty standard amino acids rejects all three files.

File
FASTA · Bioinformatics · 3 records
Use case
Scientific dataEditor testing+1· Conversion set
Preview of SAM Alignments — Header, Flags and CIGAR Operations (.sam)
sam
1.2 KB
Actual file preview for SAM Alignments — Header, Flags and CIGAR Operations (.sam)

SAM Alignments — Header, Flags and CIGAR Operations (.sam)

Six alignments against a synthetic contig with a full @HD/@SQ/@RG/@PG header, both strands via the reverse flag, and CIGAR strings covering match, soft clip, insertion and deletion. Reference span and query length come apart in three of the records, which is where CIGAR arithmetic gets tested.

File
SAM · Bioinformatics
Use case
Scientific dataEditor testing· Paired fixture
Preview of SAM CIGAR Span Reference — Query versus Reference Length (.csv)
csv
425 B
Actual file preview for SAM CIGAR Span Reference — Query versus Reference Length (.csv)

SAM CIGAR Span Reference — Query versus Reference Length (.csv)

Each alignment's CIGAR decomposed into how many query bases and how many reference bases it consumes, with the resulting 1-based reference end. The three records where those numbers differ are the whole reason CIGAR arithmetic is worth testing.

File
CSV · Bioinformatics · 6 rows
Use case
Scientific dataEditor testing+1· Paired fixture

Chemistry

Preview of Benzene — Molfile V3000 Extended Connection Table (.mol)
mol
866 B
Actual file preview for Benzene — Molfile V3000 Extended Connection Table (.mol)

Benzene — Molfile V3000 Extended Connection Table (.mol)

Benzene written in the V3000 extended format, where the legacy counts line reports zero atoms and the real counts live in an M V30 COUNTS record. A parser that trusts the old counts line reads an empty molecule and reports no error whatsoever.

File
MOL · Chemistry
Use case
Scientific dataEditor testing· Conversion set
Preview of Chemistry Fixture Molecule Index (.csv)
csv
388 B
Actual file preview for Chemistry Fixture Molecule Index (.csv)

Chemistry Fixture Molecule Index (.csv)

One row per molecule used across the chemistry fixtures, with formula, molecular weight, SMILES and the atom and bond counts each file should yield. It is the oracle a cheminformatics toolkit can be scored against without needing a second toolkit to generate the answers.

File
CSV · Chemistry · 5 rows
Use case
Scientific dataEditor testing+1· Conversion set
Preview of CIF Parser Edge Cases — Quotes, Text Fields and Wrapped Loops (.cif)
cif
877 B
Actual file preview for CIF Parser Edge Cases — Quotes, Text Fields and Wrapped Loops (.cif)

CIF Parser Edge Cases — Quotes, Text Fields and Wrapped Loops (.cif)

A CIF built entirely out of the constructs that break naive parsers: quoted values containing apostrophes and hashes, a semicolon-delimited multi-line text field, the distinct '?' and '.' markers, a standard uncertainty written as 1.2345(7), and a loop whose rows wrap across lines. Every one of them is legal CIF.

File
CIF · Chemistry
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Ethanol — MDL Molfile V2000 (.mol)
mol
902 B
Actual file preview for Ethanol — MDL Molfile V2000 (.mol)

Ethanol — MDL Molfile V2000 (.mol)

Ethanol as a V2000 molfile with fixed-column 3D coordinates, a nine-atom counts line and an eight-bond block. The column widths are part of the format rather than a convention, so it is a genuine test of fixed-width parsing rather than of whitespace splitting.

File
MOL · Chemistry
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Ethanol — SDfile With Data Fields (.sdf)
sdf
1 KB
Actual file preview for Ethanol — SDfile With Data Fields (.sdf)

Ethanol — SDfile With Data Fields (.sdf)

An SDfile wrapping the identical ethanol molfile plus five tagged data fields and the mandatory $$$$ terminator. The property block syntax — a header line, a value and a blank line — is where SDfile parsers usually diverge from molfile parsers.

File
SDF · Chemistry · 1 record
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Ethanol — SMILES String (.smi)
smi
12 B
Actual file preview for Ethanol — SMILES String (.smi)

Ethanol — SMILES String (.smi)

Ethanol as a single tab-delimited SMILES record, the most compressed member of this family: three heavy atoms with every hydrogen implicit and no geometry whatsoever. Round-tripping molfile to SMILES and back is the classic lossy conversion, and this pair is the reference for it.

File
SMI · Chemistry · 1 record
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Ethanol — XYZ Cartesian Coordinates (.xyz)
xyz
433 B
Actual file preview for Ethanol — XYZ Cartesian Coordinates (.xyz)

Ethanol — XYZ Cartesian Coordinates (.xyz)

The same ethanol geometry in XYZ format: an atom count, a free-text comment line and one line of element and coordinates per atom. XYZ carries no connectivity at all, so converting to it from the molfile is a lossy operation that this pair makes measurable.

File
XYZ · Chemistry
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Ethanol Rotation — Multi-Frame XYZ Trajectory (.xyz)
xyz
2.1 KB
Actual file preview for Ethanol Rotation — Multi-Frame XYZ Trajectory (.xyz)

Ethanol Rotation — Multi-Frame XYZ Trajectory (.xyz)

Five concatenated XYZ frames of the same ethanol molecule rotated rigidly about z in 15-degree steps, which keeps every interatomic distance constant. Frames are separated only by the next atom-count line, so a reader that expects a blank-line delimiter stops after frame one.

File
XYZ · Chemistry · 5 frames
Use case
Scientific dataEditor testing· Conversion set
Preview of Idealised Rock-Salt Structure — Crystallographic CIF (.cif)
cif
1.1 KB
Actual file preview for Idealised Rock-Salt Structure — Crystallographic CIF (.cif)

Idealised Rock-Salt Structure — Crystallographic CIF (.cif)

A single-data-block CIF describing an idealised rock-salt lattice: cell parameters, space group, a symmetry-operation loop and an atom-site loop with fractional coordinates and occupancies. The '?' in the temperature field is CIF's marker for unknown, which is not the same as an empty value.

File
CIF · Chemistry
Use case
Scientific dataEditor testing· Conversion set
Preview of Intentionally Corrupt Molfile — Counts Line Disagrees With the Atom Block (.mol)
mol
910 B
Actual file preview for Intentionally Corrupt Molfile — Counts Line Disagrees With the Atom Block (.mol)

Intentionally Corrupt Molfile — Counts Line Disagrees With the Atom Block (.mol)

An intentionally corrupt molfile whose counts line declares twelve atoms while the atom block contains nine, so a parser reading by count consumes three bond lines as atoms. Everything else about the file is well formed, which is what makes the failure quiet.

File
MOL · Chemistry
Use case
Scientific dataError handling+1· Conversion set
Preview of SMILES Library — Ten Structures Including Aromatics and Salts (.smi)
smi
168 B
Actual file preview for SMILES Library — Ten Structures Including Aromatics and Salts (.smi)

SMILES Library — Ten Structures Including Aromatics and Salts (.smi)

Ten tab-delimited SMILES covering the notation features that trip parsers: lowercase aromatic atoms, ring-closure digits, branch parentheses, explicit charges in brackets and a dot-disconnected salt. Every structure is small enough to verify by hand.

File
SMI · Chemistry · 10 records
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Three-Molecule SDfile Library — Multi-Record (.sdf)
sdf
2 KB
Actual file preview for Three-Molecule SDfile Library — Multi-Record (.sdf)

Three-Molecule SDfile Library — Multi-Record (.sdf)

Three molecules of different sizes in one SDfile, each with its own connection table and four data fields, separated by the $$$$ terminator. It is the fixture for streaming SDfile readers that have to split on the terminator rather than load the whole file.

File
SDF · Chemistry · 3 records
Use case
Scientific dataEditor testing+1· Conversion set

Fits

Preview of FITS BINTABLE — Typed Columns with TUNIT (.fits)
fits
8.4 KB
Actual file preview for FITS BINTABLE — Typed Columns with TUNIT (.fits)

FITS BINTABLE — Typed Columns with TUNIT (.fits)

A FITS binary table with four typed columns, big-endian numerics packed with no inter-field padding and TUNIT declaring milli-jansky on the two flux columns. It is the fixture for a table reader that has to build a row struct from TFORM codes rather than guess widths.

File
FITS · Fits · 12 rows
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of FITS BLANK — Undefined Integer Pixels (.fits)
fits
5.6 KB
Actual file preview for FITS BLANK — Undefined Integer Pixels (.fits)

FITS BLANK — Undefined Integer Pixels (.fits)

Integer FITS images mark undefined pixels with the BLANK keyword, and BLANK is compared against the stored value before BZERO and BSCALE are applied. Scale first and the four undefined pixels turn into a perfectly plausible zero, which is the ordering bug this file exists to expose.

File
FITS · Fits
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of FITS Header-Only — Valid File With No Pixels (.fits)
fits
2.8 KB
Actual file preview for FITS Header-Only — Valid File With No Pixels (.fits)

FITS Header-Only — Valid File With No Pixels (.fits)

A completely valid FITS file consisting of one 2880-byte header block and no data unit, which the standard permits whenever NAXIS is 0. It separates readers that model the data array as optional from readers that treat 'no pixels' as corruption.

File
FITS · Fits
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of FITS Image — BITPIX 16 with BZERO Unsigned Trick (.fits)
fits
5.6 KB
Actual file preview for FITS Image — BITPIX 16 with BZERO Unsigned Trick (.fits)

FITS Image — BITPIX 16 with BZERO Unsigned Trick (.fits)

FITS has no unsigned 16-bit type, so unsigned data is stored signed with BZERO = 32768 and recovered as BZERO + BSCALE * stored. Every stored value in this image is negative, so a reader that ignores the scaling returns an entirely negative frame while parsing the file perfectly.

File
FITS · Fits
Use case
Scientific dataSerialization testing· Conversion set
Preview of FITS Image — BITPIX 8 Unsigned Bytes (.fits)
fits
5.6 KB
Actual file preview for FITS Image — BITPIX 8 Unsigned Bytes (.fits)

FITS Image — BITPIX 8 Unsigned Bytes (.fits)

The baseline rung of the BITPIX ladder: a 24x16 synthetic star field stored as unsigned bytes, the one integer width FITS holds without a BZERO shift. Every image in this family carries the same scene so a decoder can be scored across data types.

File
FITS · Fits
Use case
Scientific dataSerialization testing· Conversion set
Preview of FITS Image — float32 with NaN and Inf Pixels (.fits)
fits
5.6 KB
Actual file preview for FITS Image — float32 with NaN and Inf Pixels (.fits)

FITS Image — float32 with NaN and Inf Pixels (.fits)

Single-precision FITS pixels including two NaNs, which is the only way the standard marks undefined data for floating BITPIX, plus one +Inf. Statistics computed without NaN-aware reductions come back as NaN for the entire frame.

File
FITS · Fits
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of FITS Image — float64 Double Precision (.fits)
fits
8.4 KB
Actual file preview for FITS Image — float64 Double Precision (.fits)

FITS Image — float64 Double Precision (.fits)

The top rung of the BITPIX ladder, carrying the identical synthetic scene as IEEE-754 doubles with DATAMIN and DATAMAX declared. It is the reference against which the 8-, 16- and 32-bit members of the family are scored for precision loss.

File
FITS · Fits
Use case
Scientific dataSerialization testing· Conversion set
Preview of FITS WCS Header Cards — CSV Reference (.csv)
csv
842 B
Actual file preview for FITS WCS Header Cards — CSV Reference (.csv)

FITS WCS Header Cards — CSV Reference (.csv)

Every header card of the tangent-plane WCS file transcribed to keyword, value and comment columns. Diff a header parser's output against it to prove the parser split each 80-column card at the right places instead of guessing on whitespace.

File
CSV · Fits
Use case
Scientific dataConversion testing+1· Conversion set
Preview of FITS with World Coordinate System — Tangent Plane (.fits)
fits
5.6 KB
Actual file preview for FITS with World Coordinate System — Tangent Plane (.fits)

FITS with World Coordinate System — Tangent Plane (.fits)

A 32-bit integer image carrying a complete tangent-plane WCS: 1-based CRPIX reference pixels, a deliberately negative CDELT1 so right ascension runs the other way, and an ICRS frame. It targets the two mistakes every WCS implementation makes first, the 1-based origin and the flipped axis.

File
FITS · Fits
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of Intentionally Corrupt FITS — Short Final Block (.fits)
fits
7 KB
Actual file preview for Intentionally Corrupt FITS — Short Final Block (.fits)

Intentionally Corrupt FITS — Short Final Block (.fits)

An intentionally corrupt FITS file whose header is complete and whose data unit is cut short, leaving a total length that is not a multiple of the mandatory 2880-byte block. A reader must report the short read rather than hand back a half-filled array padded with whatever it found.

File
FITS · Fits
Use case
Scientific dataError handling· Conversion set

Gridded

Preview of Gridded Air Temperature — CSV Ground Truth (.csv)
csv
2.5 KB
Actual file preview for Gridded Air Temperature — CSV Ground Truth (.csv)

Gridded Air Temperature — CSV Ground Truth (.csv)

Every value from the CF-1.8 NetCDF grid flattened to one row per cell, with the axis values spelled out in full. Diff a NetCDF-to-table export against this file to prove the reader walked the dimensions in (time, lat, lon) order and did not silently transpose the array.

File
CSV · Gridded · 120 rows
Use case
Scientific dataConversion testing+1· Paired fixture
Preview of Intentionally Corrupt NetCDF — Truncated Mid-Header (.nc)
nc
512 B
Actual file preview for Intentionally Corrupt NetCDF — Truncated Mid-Header (.nc)

Intentionally Corrupt NetCDF — Truncated Mid-Header (.nc)

An intentionally corrupt NetCDF file, cut to its first 512 bytes so the magic number and part of the header survive but the variable table and every data value do not. It is the fixture for the failure path where format detection succeeds and reading must not.

File
NC · Gridded
Use case
Scientific dataError handling· Conversion set
Preview of NetCDF _FillValue, missing_value and NaN Together (.nc)
nc
1.4 KB
Actual file preview for NetCDF _FillValue, missing_value and NaN Together (.nc)

NetCDF _FillValue, missing_value and NaN Together (.nc)

One variable that hides absent data three different ways at once: two _FillValue cells, one legacy missing_value cell and one raw NaN, with valid_min and valid_max also declared. Averaging the raw array without honouring all three gives roughly -60 K instead of a real mean.

File
NC · Gridded
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of NetCDF 64-bit Offset Format — CDF-2 (.nc)
nc
1.3 KB
Actual file preview for NetCDF 64-bit Offset Format — CDF-2 (.nc)

NetCDF 64-bit Offset Format — CDF-2 (.nc)

The same 4x5x6 temperature grid written in the 64-bit offset variant of NetCDF-3, whose only visible difference from the classic file is the fourth magic byte and the width of the header offsets. Use it to check that format sniffing looks at the version byte instead of stopping at the 'CDF' signature.

File
NC · Gridded
Use case
Scientific dataSerialization testing· Conversion set
Preview of NetCDF CF-1.8 Gridded Air Temperature (.nc)
nc
1.5 KB
Actual file preview for NetCDF CF-1.8 Gridded Air Temperature (.nc)

NetCDF CF-1.8 Gridded Air Temperature (.nc)

A NetCDF-3 classic file holding a 4x5x6 air-temperature field with full CF-1.8 coordinate metadata: standard names, axis attributes, units on every variable, and a declared _FillValue. Use it to check that a reader attaches units and coordinates to the array rather than returning bare numbers.

File
NC · Gridded
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NetCDF Multi-Variable Station File — Four Unit Systems (.nc)
nc
1.4 KB
Actual file preview for NetCDF Multi-Variable Station File — Four Unit Systems (.nc)

NetCDF Multi-Variable Station File — Four Unit Systems (.nc)

Four physical quantities on one shared (time, station) grid, each with its own CF units string including the dimensionless '1' and the UDUNITS 'm s-1' spelling. It is the fixture for a unit-aware layer that has to keep four different unit systems straight in a single file.

File
NC · Gridded
Use case
Scientific dataSerialization testing· Conversion set
Preview of NetCDF Packed int16 with scale_factor / add_offset (.nc)
nc
1.2 KB
Actual file preview for NetCDF Packed int16 with scale_factor / add_offset (.nc)

NetCDF Packed int16 with scale_factor / add_offset (.nc)

The same temperature field stored as int16 and recovered through the CF packing attributes scale_factor and add_offset. This is the failure that parses cleanly and is silently wrong: a reader that ignores the attributes returns values around -2000 instead of 260-292 K.

File
NC · Gridded
Use case
Scientific dataSerialization testing· Paired fixture
Preview of NetCDF Time Axes — Epochs, Units and Calendars (.nc)
nc
808 B
Actual file preview for NetCDF Time Axes — Epochs, Units and Calendars (.nc)

NetCDF Time Axes — Epochs, Units and Calendars (.nc)

Three CF time coordinates over the same six records: hours from the Unix epoch, days from 2026-01-01, and the same days under a 365_day calendar. A decoder that assumes one epoch, or ignores the calendar attribute, dates the records wrongly without raising anything.

File
NC · Gridded · 6 records
Use case
Scientific dataSerialization testing· Conversion set
Preview of NetCDF Unlimited Record Dimension (.nc)
nc
572 B
Actual file preview for NetCDF Unlimited Record Dimension (.nc)

NetCDF Unlimited Record Dimension (.nc)

A NetCDF-3 file with a genuine unlimited record dimension, so the record variable is stored interleaved rather than contiguously while the fixed-size station variable is not. It exercises the striding path that a reader written only against fixed dimensions gets wrong.

File
NC · Gridded · 5 records
Use case
Scientific dataSerialization testing· Conversion set
Preview of Packed NetCDF — Unpacked Ground Truth (.csv)
csv
5.3 KB
Actual file preview for Packed NetCDF — Unpacked Ground Truth (.csv)

Packed NetCDF — Unpacked Ground Truth (.csv)

The stored integer, the unpacked value, the original float and the quantisation error for all 120 cells of the packed NetCDF grid. It makes the cost of int16 packing explicit and gives an unpacking implementation an exact per-cell target.

File
CSV · Gridded · 120 rows
Use case
Scientific dataConversion testing+1· Paired fixture

Hdf5

Preview of HDF5 Chunked + gzip + shuffle Filters (.h5)
h5
42.7 KB
Actual file preview for HDF5 Chunked + gzip + shuffle Filters (.h5)

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.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of HDF5 Compound Record dtype — Mixed Field Types (.h5)
h5
6.3 KB
Actual file preview for HDF5 Compound Record dtype — Mixed Field Types (.h5)

HDF5 Compound Record dtype — Mixed Field Types (.h5)

A compound-dtype dataset mixing an integer key, two float measurements, a fixed-width byte string and a boolean flag in a single record. It is the fixture for readers that must map an HDF5 record type onto a native struct without reordering or repadding the fields.

File
H5 · Hdf5 · 10 records
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of HDF5 Deeply Nested Group Tree — Eight Levels (.h5)
h5
17.4 KB
Actual file preview for HDF5 Deeply Nested Group Tree — Eight Levels (.h5)

HDF5 Deeply Nested Group Tree — Eight Levels (.h5)

Eight levels of nested groups, each holding a dataset whose values equal its own depth. Any tree walk that caps recursion depth or flattens names silently loses the lower levels, and the depth-valued arrays make that immediately visible.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing· Conversion set
Preview of HDF5 Degenerate Shapes — Scalar, Zero-Length and Null (.h5)
h5
9.4 KB
Actual file preview for HDF5 Degenerate Shapes — Scalar, Zero-Length and Null (.h5)

HDF5 Degenerate Shapes — Scalar, Zero-Length and Null (.h5)

Five degenerate but entirely legal datasets — a rank-0 scalar, a zero-length vector, a (0, 5) array, a single-element vector and a NULL dataspace — plus an empty group. None of them is corrupt, and a reader that reports them as errors is the thing being tested.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of HDF5 Dimension Scales Attached to a 3-D Array (.h5)
h5
9.4 KB
Actual file preview for HDF5 Dimension Scales Attached to a 3-D Array (.h5)

HDF5 Dimension Scales Attached to a 3-D Array (.h5)

The CF NetCDF grid expressed with HDF5's own dimension-scale mechanism, so each axis of the 3-D array points at a real coordinate dataset through DIMENSION_LIST references. It lets a reader be tested on scale resolution instead of on filename conventions.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing· Conversion set
Preview of HDF5 Experiment Hierarchy — raw, processed, metadata (.h5)
h5
14.4 KB
Actual file preview for HDF5 Experiment Hierarchy — raw, processed, metadata (.h5)

HDF5 Experiment Hierarchy — raw, processed, metadata (.h5)

A three-group HDF5 file laid out the way a real bench run is — raw arrays, a processed derivative that names its source in a derived_from attribute, and a metadata group — with units on every dataset. It is the walk-the-tree fixture: a reader has to recurse rather than assume a flat namespace.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing· Conversion set
Preview of HDF5 Hard, Soft and Dangling Links (.h5)
h5
6.1 KB
Actual file preview for HDF5 Hard, Soft and Dangling Links (.h5)

HDF5 Hard, Soft and Dangling Links (.h5)

One array reachable under four names: itself, a hard link sharing its object address, a soft link resolved at access time, and a soft link pointing nowhere. A walker that counts names instead of object addresses reports four arrays and then crashes on the dangling one.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of HDF5 Numeric dtype Zoo — Every Width at Its Limits (.h5)
h5
11 KB
Actual file preview for HDF5 Numeric dtype Zoo — Every Width at Its Limits (.h5)

HDF5 Numeric dtype Zoo — Every Width at Its Limits (.h5)

Twelve datasets, one per numeric HDF5 type, each holding the extreme values of that type including the uint64 and int64 limits that do not survive a trip through a double. It is the fixture that exposes a reader which widens everything to float64 on the way in.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of HDF5 Strings — Fixed, Variable-Length and UTF-8 (.h5)
h5
8.1 KB
Actual file preview for HDF5 Strings — Fixed, Variable-Length and UTF-8 (.h5)

HDF5 Strings — Fixed, Variable-Length and UTF-8 (.h5)

Fixed-width byte strings, variable-length UTF-8 strings and UTF-8 attribute text in one file, including Greek, CJK and combining diacritics. HDF5 hands fixed-width strings back as padded bytes and variable-length ones as decoded text, and conflating the two is where string handling usually breaks.

File
H5 · Hdf5 · UTF-8
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of HDF5 Units and Uncertainty Attributes on Every Dataset (.h5)
h5
9.3 KB
Actual file preview for HDF5 Units and Uncertainty Attributes on Every Dataset (.h5)

HDF5 Units and Uncertainty Attributes on Every Dataset (.h5)

Four measured quantities where the uncertainty lives in dataset attributes rather than a parallel column, with the coverage factor spelled out so k=1 and k=2 values cannot be confused. It is the fixture for a pipeline that must propagate uncertainty it read from metadata.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing· Conversion set
Preview of Intentionally Corrupt HDF5 — Truncated After the Superblock (.h5)
h5
1 KB
Actual file preview for Intentionally Corrupt HDF5 — Truncated After the Superblock (.h5)

Intentionally Corrupt HDF5 — Truncated After the Superblock (.h5)

An intentionally corrupt HDF5 file cut to 1024 bytes, so the 8-byte signature and superblock survive while the object headers and B-trees they point at do not. Format sniffing will say HDF5 and opening must fail loudly, which is exactly the split this fixture measures.

File
H5 · Hdf5
Use case
Scientific dataError handling· Conversion set
Preview of MATLAB v7.3 (.mat) Variable Store — the HDF5 File It Actually Is (.h5)
h5
4.8 KB
Actual file preview for MATLAB v7.3 (.mat) Variable Store — the HDF5 File It Actually Is (.h5)

MATLAB v7.3 (.mat) Variable Store — the HDF5 File It Actually Is (.h5)

A MATLAB v7.3 variable store, which is an HDF5 file with a 512-byte MATLAB user block and MATLAB_class attributes — the bytes are the same whichever extension you give it. Because MATLAB is column-major, A appears in HDF5 as its own transpose, which is the conversion bug this fixture is built around.

File
H5 · Hdf5
Use case
Scientific dataSerialization testing+1· Conversion set

Imaging

Preview of DICOM-Shaped Dataset — Element Table Reference (.csv)
csv
1.1 KB
Actual file preview for DICOM-Shaped Dataset — Element Table Reference (.csv)

DICOM-Shaped Dataset — Element Table Reference (.csv)

Every element of the synthetic phantom dataset as tag, value representation, meaning and encoded length, in the ascending tag order the standard mandates. Diff a parser's element list against it to check both the ordering rule and the two different length encodings.

File
CSV · Imaging
Use case
Scientific dataConversion testing+1· Conversion set
Preview of DICOM-Shaped Part 10 File — Explicit VR, Synthetic Phantom (.bin)
bin
2.9 KB
Actual file preview for DICOM-Shaped Part 10 File — Explicit VR, Synthetic Phantom (.bin)

DICOM-Shaped Part 10 File — Explicit VR, Synthetic Phantom (.bin)

A DICOM Part 10 file built byte by byte: 128-byte preamble, the DICM magic, an explicit-VR file meta group and a 27-element dataset ending in 16-bit pixel data. Every identifier is invented: the patient name is SYNTHETIC^PHANTOM, the instance UIDs sit under the unregistered 2.25 UUID arc, and the pixels are a generated pattern. There is no protected health information here and nothing in the file refers to a real person, device or study.

File
BIN · Imaging · 32 rows
Use case
Scientific dataSerialization testing· Conversion set
Preview of DICOM-Shaped Part 10 File — Implicit VR, Synthetic Phantom (.bin)
bin
2.9 KB
Actual file preview for DICOM-Shaped Part 10 File — Implicit VR, Synthetic Phantom (.bin)

DICOM-Shaped Part 10 File — Implicit VR, Synthetic Phantom (.bin)

The same synthetic phantom written with the implicit-VR transfer syntax, where element types never appear on the wire and a reader must consult a data dictionary to know that Rows is a 16-bit integer. The file meta group stays explicit VR, which is the mixed-mode detail parsers most often miss. Every identifier is invented: the patient name is SYNTHETIC^PHANTOM, the instance UIDs sit under the unregistered 2.25 UUID arc, and the pixels are a generated pattern. There is no protected health information here and nothing in the file refers to a real person, device or study.

File
BIN · Imaging · 32 rows
Use case
Scientific dataSerialization testing· Conversion set
Preview of DICOM-Shaped Stream — No Preamble, No DICM Magic (.bin)
bin
2.8 KB
Actual file preview for DICOM-Shaped Stream — No Preamble, No DICM Magic (.bin)

DICOM-Shaped Stream — No Preamble, No DICM Magic (.bin)

The identical element stream with the 128-byte preamble and the DICM magic stripped, which is how DICOM often arrives out of a network transfer or a database blob column. It is not a conformant Part 10 file and its content is entirely recoverable, so a reader should fall back rather than reject.

File
BIN · Imaging
Use case
Scientific dataSerialization testing+1· Conversion set
Preview of Intentionally Corrupt DICOM-Shaped File — Pixel Data Truncated (.bin)
bin
1.1 KB
Actual file preview for Intentionally Corrupt DICOM-Shaped File — Pixel Data Truncated (.bin)

Intentionally Corrupt DICOM-Shaped File — Pixel Data Truncated (.bin)

An intentionally corrupt DICOM-shaped file whose header, meta group and every non-pixel element are valid, and whose PixelData element declares a length the file does not contain. A viewer must report the short read rather than render a partial image padded with whatever it found.

File
BIN · Imaging
Use case
Scientific dataError handling· Conversion set

Matrices

Preview of Intentionally Corrupt Matrix Market — Declared Count Exceeds the Entries (.mtx)
mtx
175 B
Actual file preview for Intentionally Corrupt Matrix Market — Declared Count Exceeds the Entries (.mtx)

Intentionally Corrupt Matrix Market — Declared Count Exceeds the Entries (.mtx)

An intentionally corrupt Matrix Market file whose banner and size line are perfectly valid and whose entry block stops seven lines short of the declared count. A reader that preallocates from the declared count and never checks ends up with seven silent zeros.

File
MTX · Matrices
Use case
Scientific dataError handling+1· Conversion set
Preview of Matrix Market — Complex Hermitian With Conjugate Mirroring (.mtx)
mtx
249 B
Actual file preview for Matrix Market — Complex Hermitian With Conjugate Mirroring (.mtx)

Matrix Market — Complex Hermitian With Conjugate Mirroring (.mtx)

A Hermitian complex matrix where each line carries a real and an imaginary part and the implied mirror entry is the complex conjugate rather than a copy. Every diagonal entry has a zero imaginary part, which the Hermitian property requires and a validator should check.

File
MTX · Matrices · 4 rows
Use case
Scientific dataEditor testing· Conversion set
Preview of Matrix Market — Dense Array, Column-Major Order (.mtx)
mtx
166 B
Actual file preview for Matrix Market — Dense Array, Column-Major Order (.mtx)

Matrix Market — Dense Array, Column-Major Order (.mtx)

A 4x3 dense matrix where values run down each column rather than across each row, which is the Matrix Market array convention and the opposite of what most readers assume. Getting it wrong rearranges every element rather than raising an error.

File
MTX · Matrices · 4 rows
Use case
Scientific dataEditor testing· Conversion set
Preview of Matrix Market — Integer Field, Not Floats (.mtx)
mtx
174 B
Actual file preview for Matrix Market — Integer Field, Not Floats (.mtx)

Matrix Market — Integer Field, Not Floats (.mtx)

A matrix whose banner declares an integer field, so the values are integers and must not be widened to floats on the way in. The stored range deliberately reaches the signed 16-bit limits, so a narrow integer type overflows visibly.

File
MTX · Matrices · 5 rows
Use case
Scientific dataEditor testing· Conversion set
Preview of Matrix Market — Sparse Coordinate, Real, General (.mtx)
mtx
280 B
Actual file preview for Matrix Market — Sparse Coordinate, Real, General (.mtx)

Matrix Market — Sparse Coordinate, Real, General (.mtx)

An 8x8 sparse matrix in Matrix Market coordinate form with twelve stored entries and 1-based indices, the convention that catches every reader written against 0-based arrays. Comment lines beginning with a percent sign appear before the size line, where the format requires them.

File
MTX · Matrices · 8 rows
Use case
Scientific dataEditor testing· Paired fixture
Preview of Matrix Market — Symmetric Pattern, Lower Triangle Only (.mtx)
mtx
228 B
Actual file preview for Matrix Market — Symmetric Pattern, Lower Triangle Only (.mtx)

Matrix Market — Symmetric Pattern, Lower Triangle Only (.mtx)

A symmetric pattern matrix carrying only positions and only the lower triangle, so nine stored lines describe sixteen non-zeros. Both halves of that — no value column and an implied mirror — are places a reader can silently disagree with the file.

File
MTX · Matrices · 6 rows
Use case
Scientific dataEditor testing· Conversion set
Preview of Matrix Market — Zero Stored Entries, Still Valid (.mtx)
mtx
181 B
Actual file preview for Matrix Market — Zero Stored Entries, Still Valid (.mtx)

Matrix Market — Zero Stored Entries, Still Valid (.mtx)

A valid Matrix Market file describing a 6x6 matrix with no stored entries, which is an all-zero matrix rather than an error. It separates readers that model an empty result from readers that treat a missing entry block as truncation.

File
MTX · Matrices · 6 rows
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Sparse Triplets — Both Index Bases Side by Side (.csv)
csv
214 B
Actual file preview for Sparse Triplets — Both Index Bases Side by Side (.csv)

Sparse Triplets — Both Index Bases Side by Side (.csv)

The twelve stored entries of the sparse matrix with both 1-based and 0-based indices in adjacent columns. It turns the Matrix Market indexing convention from a footnote into something a loader can be diffed against directly.

File
CSV · Matrices · 12 rows
Use case
Scientific dataEditor testing+1· Paired fixture

Measurements

Preview of Calibration Certificate — Error and Expanded Uncertainty (.csv)
csv
335 B
Actual file preview for Calibration Certificate — Error and Expanded Uncertainty (.csv)

Calibration Certificate — Error and Expanded Uncertainty (.csv)

Five calibration points with the nominal value, the measured value, the signed error and the expanded uncertainty at k=2 with its confidence level stated. It is a synthetic illustration of the layout, not an accredited certificate, and nothing in it refers to a real instrument or laboratory.

File
CSV · Measurements · 5 rows
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Censored Values and Detection Limits — Non-Numeric Results (.csv)
csv
626 B
Actual file preview for Censored Values and Detection Limits — Non-Numeric Results (.csv)

Censored Values and Detection Limits — Non-Numeric Results (.csv)

Nine laboratory results where only four are plain numbers: two are below the detection limit, one is above range, two are missing in different spellings, and one is a legitimate small negative near the blank. Coercing the censored strings to numbers or to NaN both bias the summary, and the file distinguishes every case explicitly.

File
CSV · Measurements · 9 rows
Use case
Scientific dataCSV parsing+2· Conversion set
Preview of Gravimetric Mass — TSV With Bracketed Units and Spaces in Headers (.tsv)
tsv
625 B
Actual file preview for Gravimetric Mass — TSV With Bracketed Units and Spaces in Headers (.tsv)

Gravimetric Mass — TSV With Bracketed Units and Spaces in Headers (.tsv)

Ten weighings as tab-separated values with headers that contain spaces, brackets and parentheses — 'u(mass) [g]' — the way balance software actually writes them. Column names like these break naive slug-based header handling long before the numbers become a problem.

File
TSV · Measurements · 10 rows
Use case
Scientific dataEditor testing+1· Conversion set
Preview of GUM-Style Uncertainty Budget — Sources Combined in Quadrature (.csv)
csv
554 B
Actual file preview for GUM-Style Uncertainty Budget — Sources Combined in Quadrature (.csv)

GUM-Style Uncertainty Budget — Sources Combined in Quadrature (.csv)

A five-source uncertainty budget laid out the way the GUM prescribes: each source with its distribution, its divisor, its sensitivity coefficient and its contribution, then the combined and expanded values. Rectangular sources are divided by the square root of three, which is the step budget spreadsheets most often get wrong.

File
CSV · Measurements
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Interlaboratory Comparison — z-Scores and En Numbers (.csv)
csv
498 B
Actual file preview for Interlaboratory Comparison — z-Scores and En Numbers (.csv)

Interlaboratory Comparison — z-Scores and En Numbers (.csv)

Six fictional laboratories reporting the same measurand, scored both by z-score against a fixed sigma and by En number against each lab's own claimed uncertainty. The two statistics disagree about which labs are acceptable, which is the point: En rewards an honest uncertainty claim and z does not.

File
CSV · Measurements
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Measurement JSON Schema — Units as Annotations (.json)
json
1.1 KB
Actual file preview for Measurement JSON Schema — Units as Annotations (.json)

Measurement JSON Schema — Units as Annotations (.json)

A 2020-12 JSON Schema for the absorbance rows, carrying the physical unit and coverage factor as custom annotation keywords beside the standard type and range constraints. Annotations like these are ignored by validators and read by humans and tooling, which is precisely the contract being tested.

File
JSON · Measurements
Use case
Scientific dataSchema validation+1· Conversion set
Preview of SI Unit Symbols in UTF-8 — Look-Alike Codepoints (.csv)
csv
556 B
Actual file preview for SI Unit Symbols in UTF-8 — Look-Alike Codepoints (.csv)

SI Unit Symbols in UTF-8 — Look-Alike Codepoints (.csv)

Eight measurements whose unit symbols use the codepoints that have Unicode look-alikes: MICRO SIGN against GREEK MU, OHM SIGN against GREEK OMEGA, ANGSTROM SIGN against A-with-ring. Each row also carries an ASCII fallback, so a normalisation bug shows up as a column mismatch rather than as an invisible change.

File
CSV · Measurements · 8 rows
Use case
Scientific dataEncoding detection+1· Conversion set
Preview of Significant Figures Lost to Float Parsing (.csv)
csv
478 B
Actual file preview for Significant Figures Lost to Float Parsing (.csv)

Significant Figures Lost to Float Parsing (.csv)

Eight written measurements where the trailing zeros carry the precision of the measurement, alongside what a float parse leaves behind. Parsing 1.200 to the double 1.2 is not a rounding error, it is the loss of the claim that the value is known to four figures.

File
CSV · Measurements · 8 rows
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Spectrometer Absorbance With Expanded Uncertainty (.csv)
csv
1.1 KB
Actual file preview for Spectrometer Absorbance With Expanded Uncertainty (.csv)

Spectrometer Absorbance With Expanded Uncertainty (.csv)

A synthetic absorbance scan from 400 to 630 nm with a Gaussian band at 520 nm, carrying its expanded uncertainty at k=2 in a dedicated column and a per-row quality flag. The unit and the coverage factor live in the column names, which is the convention most instrument exports actually use.

File
CSV · Measurements · 24 rows
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Thermocouple Time Series With Standard Uncertainty (.csv)
csv
2.5 KB
Actual file preview for Thermocouple Time Series With Standard Uncertainty (.csv)

Thermocouple Time Series With Standard Uncertainty (.csv)

A full day of thermocouple readings at 30-minute cadence with a constant type-B standard uncertainty and two rows flagged as recovering. The timestamps are explicit UTC with a Z suffix so a reader has no excuse to guess a timezone.

File
CSV · Measurements · 48 rows
Use case
Scientific dataCSV parsing+2· Conversion set
Preview of Titration Replicates — Mean, SD, SEM and RSD (.csv)
csv
466 B
Actual file preview for Titration Replicates — Mean, SD, SEM and RSD (.csv)

Titration Replicates — Mean, SD, SEM and RSD (.csv)

Four batches of five replicate titrations with the mean, sample standard deviation, standard error and relative standard deviation computed for each. The standard deviation uses the n-1 denominator, which is stated explicitly because a population-denominator implementation disagrees on every row.

File
CSV · Measurements
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Units on a Second Header Row — Not Data (.csv)
csv
373 B
Actual file preview for Units on a Second Header Row — Not Data (.csv)

Units on a Second Header Row — Not Data (.csv)

The same instrument export with units on a second header row instead of inside the column names, which is how a great many laboratory instruments write CSV. An importer that treats row two as data types every measurement column as text and then quietly refuses to plot anything.

File
CSV · Measurements
Use case
Scientific dataCSV parsing+2· Conversion set

Numeric Edges

Preview of Binary versus Decimal Arithmetic — Where Floats Disagree (.csv)
csv
729 B
Actual file preview for Binary versus Decimal Arithmetic — Where Floats Disagree (.csv)

Binary versus Decimal Arithmetic — Where Floats Disagree (.csv)

Eight arithmetic expressions where binary floating point and exact decimal disagree, with both answers and the signed error side by side. Adding one cent a hundred times does not give one, and this file says by exactly how much.

File
CSV · Numeric Edges · 8 rows
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Catastrophic Cancellation — Naive versus Stable Formulas (.csv)
csv
727 B
Actual file preview for Catastrophic Cancellation — Naive versus Stable Formulas (.csv)

Catastrophic Cancellation — Naive versus Stable Formulas (.csv)

Five computations done twice, once with the obvious formula and once with the numerically stable one, with the relative error of the naive version alongside. The one-pass variance row is the memorable one: five values a millisecond apart near 1e8 can produce a negative variance.

File
CSV · Numeric Edges · 5 rows
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of float64 Subnormal Ladder — Gradual Underflow (.npy)
npy
208 B
Actual file preview for float64 Subnormal Ladder — Gradual Underflow (.npy)

float64 Subnormal Ladder — Gradual Underflow (.npy)

A ten-step ladder from the smallest representable double up across the subnormal boundary into normal range, showing precision degrading to a single significant bit. Any pipeline running with flush-to-zero enabled turns the first eight entries into plain zeros without reporting anything.

File
NPY · Numeric Edges
Use case
Scientific dataError handling· Paired fixture
Preview of float64 Subnormal Ladder — Reference Table (.csv)
csv
865 B
Actual file preview for float64 Subnormal Ladder — Reference Table (.csv)

float64 Subnormal Ladder — Reference Table (.csv)

Each rung of the subnormal ladder with its bit pattern, decimal value, C99 hex float and remaining significant bits, plus the value a flush-to-zero pipeline would produce instead. It makes gradual underflow a table you can diff rather than a behaviour you have to infer.

File
CSV · Numeric Edges · 10 rows
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of float64 to float32 Precision Loss — Paired Array (.npy)
npy
320 B
Actual file preview for float64 to float32 Precision Loss — Paired Array (.npy)

float64 to float32 Precision Loss — Paired Array (.npy)

The precision-loss cases as a two-column float64 array holding the original value beside its float32 round trip, both kept at double width so the difference itself is representable. Subtracting the columns gives the error directly without a second narrowing step.

File
NPY · Numeric Edges
Use case
Scientific dataError handling· Paired fixture
Preview of float64 to float32 Precision Loss — Per-Value Error (.csv)
csv
1.1 KB
Actual file preview for float64 to float32 Precision Loss — Per-Value Error (.csv)

float64 to float32 Precision Loss — Per-Value Error (.csv)

Twelve doubles narrowed to single precision with the absolute, relative and ULP error of each, plus whether the value survived unchanged. It covers the three distinct ways narrowing fails: rounding, overflow to infinity at 1e39, and demotion to a subnormal at 1e-40.

File
CSV · Numeric Edges · 12 rows
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of Floating-Point Summation — Five Orders, Five Answers (.csv)
csv
422 B
Actual file preview for Floating-Point Summation — Five Orders, Five Answers (.csv)

Floating-Point Summation — Five Orders, Five Answers (.csv)

The same 1002 numbers added five different ways, giving results from 0 to 1000 for an exact answer of 1000. Floating-point addition is not associative, and this file is the smallest complete demonstration of what that costs a naive accumulator.

File
CSV · Numeric Edges
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of IEEE-754 float32 Boundary Values — Bit-Level CSV (.csv)
csv
815 B
Actual file preview for IEEE-754 float32 Boundary Values — Bit-Level CSV (.csv)

IEEE-754 float32 Boundary Values — Bit-Level CSV (.csv)

The float32 boundary values split into sign, 8-bit exponent and 23-bit mantissa alongside their decimal forms. Use it to check a single-precision encoder field by field rather than guessing which end of the number went wrong.

File
CSV · Numeric Edges · 12 rows
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of IEEE-754 float32 Boundary Values (.npy)
npy
176 B
Actual file preview for IEEE-754 float32 Boundary Values (.npy)

IEEE-754 float32 Boundary Values (.npy)

The single-precision counterpart of the float64 boundary array, including the 2^24 integer limit where consecutive whole numbers stop being representable. Widening float32 to float64 and back must preserve every one of these bit patterns.

File
NPY · Numeric Edges
Use case
Scientific dataError handling· Paired fixture
Preview of IEEE-754 float64 Boundary Values — Bit-Level CSV (.csv)
csv
1.5 KB
Actual file preview for IEEE-754 float64 Boundary Values — Bit-Level CSV (.csv)

IEEE-754 float64 Boundary Values — Bit-Level CSV (.csv)

Every value in the float64 boundary array decomposed into its shortest decimal representation, its C99 hexadecimal float form, and its raw sign, exponent and mantissa fields. It turns 'the numbers came back wrong' into a diff you can point at a single bit.

File
CSV · Numeric Edges · 16 rows
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of IEEE-754 float64 Boundary Values — JSON With No NaN Literal (.json)
json
3.1 KB
Actual file preview for IEEE-754 float64 Boundary Values — JSON With No NaN Literal (.json)

IEEE-754 float64 Boundary Values — JSON With No NaN Literal (.json)

The same boundary values as strict RFC 8259 JSON, where non-finite numbers are null in the numeric field and text in the string field because the standard has no NaN or Infinity literal. It is the fixture for the encoder that emits bare NaN and produces JSON nothing else will parse.

File
JSON · Numeric Edges · 16 records
Use case
Scientific dataEditor testing+1· Conversion set
Preview of IEEE-754 float64 Boundary Values (.npy)
npy
256 B
Actual file preview for IEEE-754 float64 Boundary Values (.npy)

IEEE-754 float64 Boundary Values (.npy)

The sixteen structurally distinct float64 values a numeric pipeline has to survive, in binary form: both zeros, both subnormal limits, the smallest normal, epsilon, the largest finite value, both infinities, a quiet NaN and the 2^53 integer boundary. Round-tripping this array is the minimum bar for any float64 codec.

File
NPY · Numeric Edges
Use case
Scientific dataError handling· Paired fixture
Preview of Integers Beyond 2^53 in JSON — Silent Identifier Corruption (.json)
json
1.3 KB
Actual file preview for Integers Beyond 2^53 in JSON — Silent Identifier Corruption (.json)

Integers Beyond 2^53 in JSON — Silent Identifier Corruption (.json)

Six large integers written both as JSON numbers and as strings, including the 2^53 boundary where consecutive integers stop being distinguishable in a double. A parser backed by doubles turns 9007199254740993 into 9007199254740992 and reports no error at all.

File
JSON · Numeric Edges · 6 records
Use case
Scientific dataEditor testing+1· Conversion set
Preview of NaN Payloads and Signalling NaNs — Bit Reference (.csv)
csv
344 B
Actual file preview for NaN Payloads and Signalling NaNs — Bit Reference (.csv)

NaN Payloads and Signalling NaNs — Bit Reference (.csv)

The six NaN bit patterns broken into sign bit, quiet bit and payload so the difference between a quiet and a signalling NaN is a column rather than folklore. It is the reference for testing whether a serializer preserves NaN payloads or normalises them all to one canonical pattern.

File
CSV · Numeric Edges · 6 rows
Use case
Scientific dataEditor testing+1· Paired fixture
Preview of NaN Payloads and Signalling NaNs (.npy)
npy
176 B
Actual file preview for NaN Payloads and Signalling NaNs (.npy)

NaN Payloads and Signalling NaNs (.npy)

Six distinct NaN bit patterns — quiet, signalling, signed and payload-carrying — stored as float64. They are all NaN and none equals another, so any code that deduplicates, sorts or hashes them by value is doing something undefined and this array proves it.

File
NPY · Numeric Edges
Use case
Scientific dataError handling· Paired fixture
Preview of Raw float64 Block — Big-Endian, No Header (.bin)
bin
128 B
Actual file preview for Raw float64 Block — Big-Endian, No Header (.bin)

Raw float64 Block — Big-Endian, No Header (.bin)

The same sixteen doubles written in network byte order, so every eight-byte group is the mirror of the little-endian twin. Decoding it with the wrong assumption produces small plausible-looking numbers rather than an error, which is why this pair exists.

File
BIN · Numeric Edges
Use case
Scientific dataError handling+1· Paired fixture
Preview of Raw float64 Block — Little-Endian, No Header (.bin)
bin
128 B
Actual file preview for Raw float64 Block — Little-Endian, No Header (.bin)

Raw float64 Block — Little-Endian, No Header (.bin)

Sixteen doubles as a bare 128-byte block with no header, so byte order is knowledge the reader has to bring rather than something the file declares. It is one half of an endian pair that only a correct assumption tells apart.

File
BIN · Numeric Edges
Use case
Scientific dataError handling+1· Paired fixture
Preview of Raw float64 Endian Pair — Byte-Level Reference (.csv)
csv
1.1 KB
Actual file preview for Raw float64 Endian Pair — Byte-Level Reference (.csv)

Raw float64 Endian Pair — Byte-Level Reference (.csv)

Every value in the raw endian pair with its exact byte sequence in both orders, so a decoder can be checked offset by offset instead of value by value. Negative zero and the subnormal entries are the rows where a byte-order mistake stops looking like a mistake.

File
CSV · Numeric Edges · 16 rows
Use case
Scientific dataEditor testing+1· Conversion set
Preview of Shortest Round-Trip Float Representation — 15 vs 16 vs 17 Digits (.csv)
csv
976 B
Actual file preview for Shortest Round-Trip Float Representation — 15 vs 16 vs 17 Digits (.csv)

Shortest Round-Trip Float Representation — 15 vs 16 vs 17 Digits (.csv)

Twelve doubles printed at 15, 16 and 17 significant digits alongside their shortest round-tripping form, with a column recording which precisions actually recover the original bits. Fifteen digits is the default in a lot of formatting code and it loses values, which this table demonstrates rather than asserts.

File
CSV · Numeric Edges · 12 rows
Use case
Scientific dataCSV parsing+1· Conversion set
Preview of Signed Zero Round-Trip Through Text (.csv)
csv
588 B
Actual file preview for Signed Zero Round-Trip Through Text (.csv)

Signed Zero Round-Trip Through Text (.csv)

Nine ways of writing zero, what each parses to, and what dividing one by the result gives. Negative zero compares equal to positive zero yet behaves differently in division and in sign propagation, so a formatter that drops the sign changes results without changing any comparison.

File
CSV · Numeric Edges · 9 rows
Use case
Scientific dataCSV parsing+1· Conversion set

P8 Convert

Preview of Convert v2 HDF5 Dataset Summary CSV
csv
132 B
Actual file preview for Convert v2 HDF5 Dataset Summary CSV

Convert v2 HDF5 Dataset Summary CSV

CSV reference listing the four expected HDF5 datasets with shapes and units for lightweight converter assertions. Stable P8 artifact p8-convert-hdf5-summary-csv.

File
CSV · P8 Convert · 4 rows
Use case
Conversion testingScientific data+1· Conversion set

Frequently asked questions

What chemistry and bioinformatics formats are included?

MDL molfiles and SDfiles, XYZ, SMILES, CIF, and PDB on the chemistry side; FASTA, FASTQ, SAM, BED, GFF3, and Newick trees on the bioinformatics side.

Is any of this real experimental data?

No. Every molecule, sequence, structure, and measurement is generated from a fixed seed and documented in the spec table — no real organism, patient, sample, or observation is described.

Can I read the binary formats without special tooling?

NetCDF, HDF5, and FITS fixtures ship with a documented variable/header listing and, where useful, a CSV twin carrying the same values in readable form.