Skip to content

ncarnate v2.0.0

Choose a tag to compare

@ErickShepherd ErickShepherd released this 09 Jul 05:51

Ground-up v2 rebuild of the 2020 utility, renamed from netcdf_recompressor to ncarnate.

Read HDF4/HDF-EOS2 or netCDF/HDF5 → write recompressed, CF-annotated netCDF4. The central contract is data fidelity: converting or recompressing changes storage, never science data — every stored value is bit-identical, packed integers stay packed, and every output is verified value-for-value against the source before it replaces anything.

Highlights

  • Lossless recompression of netCDF/HDF5 (raw copy — no mask-and-scale re-quantization; safe verify-then-replace overwrite).
  • HDF4/HDF-EOS2 ingest with reconstructed CF geolocation: GCTP polar-stereographic, geographic, and EASE-Grid (LAMAZ) grids → CF grid mappings + x/y + 2-D lat/lon; swath geolocation attached as CF coordinates; dimension-mapped geolocation interpolated through ECEF.
  • Working CLI (the 2020 build silently recompressed nothing), full type hints, magic-byte format dispatch.
  • Hardened against untrusted files: allocation-size ceilings, StructMetadata input validation, fail-loud named errors.
  • 96-test suite pinning the fidelity contract + the geolocation verification lattice; CI on CPython 3.10–3.13 (Linux/macOS/Windows).

See CHANGELOG.md for the full entry and docs/fidelity-notes.md for the fidelity contract.