Last modified: 10 November 2010
Tool Name: h5check
Syntax:
  `h5check [OPTIONS] file`

Purpose:
  Verifies that an HDF5 file is encoded according to the HDF5 specification.

Motivation:
  `h5check` is a validation tool designed to verify that an HDF5 file is encoded according to the HDF5 File Format Specification. The purpose is to ensure data model integrity and long-term compatibility between evolving versions of the HDF5 Library.

  Independent Verification Tool: Note that `h5check` is designed to operate independently of the HDF5 Library:

  - It verifies the validity of an HDF5 file directly against the HDF5 File Format Specification without reference to or any use of the HDF5 Library.
  - `h5check` is distributed separately; see “HDF5 Tools and Software.”

Description:
  Given a file, `h5check` scans through the encoded content, verifying it against the defined library format. If it finds any non-compliance, `h5check` prints the error and the reason behind the non-compliance; if possible, it continues the scanning. If `h5check` does not find any non-compliance, it prints an approval statement upon completion.

  By default, the file is verified against the latest version of the file format; as of this writing, that is the format recognized by the HDF5 Release 1.8.x series. A format version can be explicitly specified with the `-fn` (or `--format=n`) option. For example, `-f16` (or `--format=16`) would specify verification against the format recognized by the HDF5 Release 1.6.x series.

Options:
  `-h, --help`
    Print usage message and exit.
  `-V, --version`
    Print version number and exit.
  `-vn, --verbose n`
    Set verbose mode:

    `n=0` | Terse | Indicate only whether file is compliant.
    `n=1` | Normal | Print progress and all errors found. (Default)
    `n=2` | Verbose | Print all known information; usually used for debugging.

  `-e, --external`
    Validate external links existing in the file.
  `-fn, --format n`
    Set library release version against which the file is to be validated:

    `n=16` | Validate according to HDF5 Release 1.6.x series.
    `n=18` | Validate according to HDF5 Release 1.8.x series. (Default)

  `-oa, --object a`
    Check object header, where `a` is the address of the object header to be validated.

Exit Status:

  `0` | Succeeded.
  `1` | Command failures, such as argument errors.
  `2` | Format compliance errors found.

History:

  Release | Change
  1.8.5 | Tool first distributed shortly before this release.