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.
| Field | Value |
|---|---|
| Stored dtype | int16 |
| scale_factor | 0.01 |
| add_offset | 280.0 |
| Unpack rule | value = stored * scale_factor + add_offset |
| Stored[0,0,0] | -1000 |
| Unpacked[0,0,0] | 270.0000 K |
| _FillValue | -32768 (applies to the STORED value, before unpacking) |
Specifications
- Format
- NetCDF-3 classic
- Stored Type
- int16
- Scale Factor
- 0.01
- Add Offset
- 280
- Unpacked Type
- float64
- Packed Range
- -1750 to 1250
- Quantisation Step
- 0.01 K
Testing contract
Expected to pass- Scenario
- Read the tas variable and apply the CF packing convention, then compare against the paired unpacked CSV.
- Expected result
- Unpacked values land within 0.005 K of the CSV's original_kelvin column; a reader that skips packing returns raw integers between -2000 and 1200 instead.
What is a .nc file?
NetCDF (.nc, Network Common Data Form) is a binary, self-describing format for array-oriented scientific data. It stores multidimensional variables (like temperature over latitude, longitude, and time) with named dimensions, units, and metadata attributes, and is a standard in climate, ocean, and geoscience.
How to use this file
Use an example .nc file to test NetCDF readers (netCDF4, xarray, Panoply), CF-convention validators, and gridded-data pipelines, or to verify dimension and variable extraction.
How to use this file for testing
“NetCDF Packed int16 with scale_factor / add_offset (.nc)” is a deterministic Novus Examples fixture for Scientific data, Serialization 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: NetCDF-3 classic. 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.
Related files
- ncNetCDF _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.

- ncNetCDF 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.

- ncNetCDF 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.

- ncNetCDF 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.

- ncNetCDF 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.

- ncNetCDF 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.

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