2016-10-27 23:06:00 +08:00
|
|
|
<-n 0> is not a valid option
|
2017-05-16 23:16:44 +08:00
|
|
|
usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
|
2016-10-27 23:06:00 +08:00
|
|
|
file1 File name of the first HDF5 file
|
|
|
|
file2 File name of the second HDF5 file
|
|
|
|
[obj1] Name of an HDF5 object, in absolute path
|
|
|
|
[obj2] Name of an HDF5 object, in absolute path
|
|
|
|
|
2022-04-02 04:55:22 +08:00
|
|
|
ERROR
|
|
|
|
--enable-error-stack Prints messages from the HDF5 error stack as they occur.
|
|
|
|
Optional value 2 also prints file open errors.
|
2016-10-27 23:06:00 +08:00
|
|
|
OPTIONS
|
|
|
|
-h, --help
|
|
|
|
Print a usage message and exit.
|
|
|
|
-V, --version
|
|
|
|
Print version number and exit.
|
|
|
|
-r, --report
|
|
|
|
Report mode. Print differences.
|
|
|
|
-v --verbose
|
|
|
|
Verbose mode. Print differences information and list of objects.
|
|
|
|
-vN --verbose=N
|
|
|
|
Verbose mode with level. Print differences and list of objects.
|
|
|
|
Level of detail depends on value of N:
|
|
|
|
0 : Identical to '-v' or '--verbose'.
|
2020-07-16 00:20:16 +08:00
|
|
|
1 : All level 0 information plus one-line attribute status summary.
|
|
|
|
2 : All level 1 information plus extended attribute status report.
|
|
|
|
3 : All level 2 information plus file names.
|
2016-10-27 23:06:00 +08:00
|
|
|
-q, --quiet
|
|
|
|
Quiet mode. Do not produce output.
|
2020-04-23 07:49:52 +08:00
|
|
|
--vol-value-1 Value (ID) of the VOL connector to use for opening the
|
|
|
|
first HDF5 file specified
|
|
|
|
--vol-name-1 Name of the VOL connector to use for opening the first
|
2020-04-22 02:36:10 +08:00
|
|
|
HDF5 file specified
|
2020-04-23 07:49:52 +08:00
|
|
|
--vol-info-1 VOL-specific info to pass to the VOL connector used for
|
|
|
|
opening the first HDF5 file specified
|
|
|
|
--vol-value-2 Value (ID) of the VOL connector to use for opening the
|
|
|
|
second HDF5 file specified
|
|
|
|
--vol-name-2 Name of the VOL connector to use for opening the second
|
2020-04-22 02:36:10 +08:00
|
|
|
HDF5 file specified
|
2020-04-23 07:49:52 +08:00
|
|
|
--vol-info-2 VOL-specific info to pass to the VOL connector used for
|
|
|
|
opening the second HDF5 file specified
|
2023-06-29 00:56:35 +08:00
|
|
|
If none of the above options are used to specify a VOL for a file, then
|
|
|
|
the VOL named by HDF5_VOL_CONNECTOR (or the native VOL connector,
|
|
|
|
if that environment variable is unset) will be used
|
2021-09-30 02:28:12 +08:00
|
|
|
--vfd-value-1 Value (ID) of the VFL driver to use for opening the
|
|
|
|
first HDF5 file specified
|
|
|
|
--vfd-name-1 Name of the VFL driver to use for opening the first
|
|
|
|
HDF5 file specified
|
|
|
|
--vfd-info-1 VFD-specific info to pass to the VFL driver used for
|
|
|
|
opening the first HDF5 file specified
|
|
|
|
--vfd-value-2 Value (ID) of the VFL driver to use for opening the
|
|
|
|
second HDF5 file specified
|
|
|
|
--vfd-name-2 Name of the VFL driver to use for opening the second
|
|
|
|
HDF5 file specified
|
|
|
|
--vfd-info-2 VFD-specific info to pass to the VFL driver used for
|
|
|
|
opening the second HDF5 file specified
|
2016-10-27 23:06:00 +08:00
|
|
|
--follow-symlinks
|
|
|
|
Follow symbolic links (soft links and external links and compare the)
|
|
|
|
links' target objects.
|
|
|
|
If symbolic link(s) with the same name exist in the files being
|
|
|
|
compared, then determine whether the target of each link is an existing
|
|
|
|
object (dataset, group, or named datatype) or the link is a dangling
|
|
|
|
link (a soft or external link pointing to a target object that does
|
|
|
|
not yet exist).
|
|
|
|
- If both symbolic links are dangling links, they are treated as being
|
|
|
|
the same; by default, h5diff returns an exit code of 0.
|
|
|
|
If, however, --no-dangling-links is used with --follow-symlinks,
|
|
|
|
this situation is treated as an error and h5diff returns an
|
|
|
|
exit code of 2.
|
|
|
|
- If only one of the two links is a dangling link,they are treated as
|
|
|
|
being different and h5diff returns an exit code of 1.
|
|
|
|
If, however, --no-dangling-links is used with --follow-symlinks,
|
|
|
|
this situation is treated as an error and h5diff returns an
|
|
|
|
exit code of 2.
|
|
|
|
- If both symbolic links point to existing objects, h5diff compares the
|
|
|
|
two objects.
|
|
|
|
If any symbolic link specified in the call to h5diff does not exist,
|
|
|
|
h5diff treats it as an error and returns an exit code of 2.
|
|
|
|
--no-dangling-links
|
|
|
|
Must be used with --follow-symlinks option; otherwise, h5diff shows
|
|
|
|
error message and returns an exit code of 2.
|
|
|
|
Check for any symbolic links (soft links or external links) that do not
|
|
|
|
resolve to an existing object (dataset, group, or named datatype).
|
|
|
|
If any dangling link is found, this situation is treated as an error
|
|
|
|
and h5diff returns an exit code of 2.
|
|
|
|
-c, --compare
|
|
|
|
List objects that are not comparable
|
|
|
|
-N, --nan
|
|
|
|
Avoid NaNs detection
|
|
|
|
-n C, --count=C
|
|
|
|
Print differences up to C. C must be a positive integer.
|
|
|
|
-d D, --delta=D
|
2017-05-16 23:16:44 +08:00
|
|
|
Print difference if (|a-b| > D). D must be a positive number. Where a
|
|
|
|
is the data point value in file1 and b is the data point value in file2.
|
2016-10-27 23:06:00 +08:00
|
|
|
Can not use with '-p' or '--use-system-epsilon'.
|
|
|
|
-p R, --relative=R
|
2017-05-16 23:16:44 +08:00
|
|
|
Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
|
|
|
|
is the data point value in file1 and b is the data point value in file2.
|
2016-10-27 23:06:00 +08:00
|
|
|
Can not use with '-d' or '--use-system-epsilon'.
|
|
|
|
--use-system-epsilon
|
2017-05-16 23:16:44 +08:00
|
|
|
Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
|
|
|
|
is the data point value in file1 and b is the data point value in file2.
|
2016-10-27 23:06:00 +08:00
|
|
|
If the system epsilon is not defined,one of the following predefined
|
|
|
|
values will be used:
|
|
|
|
FLT_EPSILON = 1.19209E-07 for floating-point type
|
|
|
|
DBL_EPSILON = 2.22045E-16 for double precision type
|
|
|
|
Can not use with '-p' or '-d'.
|
2017-05-16 23:16:44 +08:00
|
|
|
--exclude-path "path"
|
2016-10-27 23:06:00 +08:00
|
|
|
Exclude the specified path to an object when comparing files or groups.
|
|
|
|
If a group is excluded, all member objects will also be excluded.
|
|
|
|
The specified path is excluded wherever it occurs.
|
|
|
|
This flexibility enables the same option to exclude either objects that
|
|
|
|
exist only in one file or common objects that are known to differ.
|
|
|
|
|
|
|
|
When comparing files, "path" is the absolute path to the excluded;
|
|
|
|
object; when comparing groups, "path" is similar to the relative
|
|
|
|
path from the group to the excluded object. This "path" can be
|
|
|
|
taken from the first section of the output of the --verbose option.
|
|
|
|
For example, if you are comparing the group /groupA in two files and
|
|
|
|
you want to exclude /groupA/groupB/groupC in both files, the exclude
|
|
|
|
option would read as follows:
|
|
|
|
--exclude-path "/groupB/groupC"
|
|
|
|
|
|
|
|
If there are multiple paths to an object, only the specified path(s)
|
|
|
|
will be excluded; the comparison will include any path not explicitly
|
|
|
|
excluded.
|
|
|
|
This option can be used repeatedly to exclude multiple paths.
|
|
|
|
|
2020-07-16 00:20:16 +08:00
|
|
|
--exclude-attribute "path/to/object/with/attribute"
|
|
|
|
Exclude attributes on the specified path to an object when comparing files or groups.
|
|
|
|
|
|
|
|
If there are multiple paths to an object, only the specified path(s)
|
|
|
|
will be excluded; the comparison will include any path not explicitly
|
|
|
|
excluded.
|
|
|
|
This option can be used repeatedly to exclude multiple paths.
|
|
|
|
|
2016-10-27 23:06:00 +08:00
|
|
|
Modes of output:
|
2021-12-07 22:27:29 +08:00
|
|
|
Default mode: print the number of differences found and where they occurred
|
2016-10-27 23:06:00 +08:00
|
|
|
-r Report mode: print the above plus the differences
|
|
|
|
-v Verbose mode: print the above plus a list of objects and warnings
|
|
|
|
-q Quiet mode: do not print output
|
|
|
|
|
|
|
|
File comparison:
|
|
|
|
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
|
|
|
|
a comparison of the two files' root groups. That is, h5diff first compares
|
|
|
|
the names of root group members, generates a report of root group objects
|
|
|
|
that appear in only one file or in both files, and recursively compares
|
|
|
|
common objects.
|
|
|
|
|
|
|
|
Object comparison:
|
2017-05-16 23:16:44 +08:00
|
|
|
1) Groups
|
2016-10-27 23:06:00 +08:00
|
|
|
First compares the names of member objects (relative path, from the
|
|
|
|
specified group) and generates a report of objects that appear in only
|
|
|
|
one group or in both groups. Common objects are then compared recursively.
|
2024-03-21 01:54:44 +08:00
|
|
|
2) Attributes and Datasets
|
2016-10-27 23:06:00 +08:00
|
|
|
Array rank and dimensions, datatypes, and data values are compared.
|
2017-05-16 23:16:44 +08:00
|
|
|
3) Datatypes
|
2016-10-27 23:06:00 +08:00
|
|
|
The comparison is based on the return value of H5Tequal.
|
2017-05-16 23:16:44 +08:00
|
|
|
4) Symbolic links
|
2016-10-27 23:06:00 +08:00
|
|
|
The paths to the target objects are compared.
|
|
|
|
(The option --follow-symlinks overrides the default behavior when
|
|
|
|
symbolic links are compared.).
|
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
Subsetting options:
|
2023-04-19 02:21:18 +08:00
|
|
|
--no-compact-subset Disable compact form of subsetting and allow the use
|
|
|
|
of "[" in dataset names.
|
2021-02-26 05:12:57 +08:00
|
|
|
Subsetting is available by using the fcompact form of subsetting, as follows:
|
|
|
|
obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
|
|
|
|
It is not required to use all parameters, but until the last parameter value used,
|
|
|
|
all of the semicolons (;) are required, even when a parameter value is not specified. Example:
|
|
|
|
obj1 /foo/mydataset[START;;COUNT;BLOCK]
|
|
|
|
obj1 /foo/mydataset[START]
|
|
|
|
The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
|
|
|
|
each dimension. START is optional and will default to 0 in each dimension.
|
|
|
|
Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
|
|
|
|
one integer for each dimension of the dataset.
|
|
|
|
|
2016-10-27 23:06:00 +08:00
|
|
|
Exit code:
|
|
|
|
0 if no differences, 1 if differences found, 2 if error
|
|
|
|
|
|
|
|
Examples of use:
|
|
|
|
1) h5diff file1 file2 /g1/dset1 /g1/dset2
|
|
|
|
Compares object '/g1/dset1' in file1 with '/g1/dset2' in file2
|
|
|
|
|
|
|
|
2) h5diff file1 file2 /g1/dset1
|
|
|
|
Compares object '/g1/dset1' in both files
|
|
|
|
|
|
|
|
3) h5diff file1 file2
|
|
|
|
Compares all objects in both files
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
file1 and file2 can be the same file.
|
|
|
|
Use h5diff file1 file1 /g1/dset1 /g1/dset2 to compare
|
|
|
|
'/g1/dset1' and '/g1/dset2' in the same file
|
|
|
|
|
|
|
|
EXIT CODE: 1
|