1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
usage: h5repack [OPTIONS] file1 file2
file1 Input HDF5 File
file2 Output HDF5 File
OPTIONS
-h, --help Print a usage message and exit
-v, --verbose Verbose mode, print object information
-V, --version Print version number and exit
-n, --native Use a native HDF5 type when repacking
--enable-error-stack Prints messages from the HDF5 error stack as they
occur
--src-vol-value Value (ID) of the VOL connector to use for opening the
input HDF5 file specified
--src-vol-name Name of the VOL connector to use for opening the input
HDF5 file specified
--src-vol-info VOL-specific info to pass to the VOL connector used for
opening the input HDF5 file specified
--dst-vol-value Value (ID) of the VOL connector to use for opening the
output HDF5 file specified
--dst-vol-name Name of the VOL connector to use for opening the output
HDF5 file specified
--dst-vol-info VOL-specific info to pass to the VOL connector used for
opening the output HDF5 file specified
-L, --latest Use latest version of file format
This option will take precedence over the options
--low and --high
--low=BOUND The low bound for library release versions to use
when creating objects in the file
(default is H5F_LIBVER_EARLIEST)
--high=BOUND The high bound for library release versions to use
when creating objects in the file
(default is H5F_LIBVER_LATEST)
--merge Follow external soft link recursively and merge data
--prune Do not follow external soft links and remove link
--merge --prune Follow external link, merge data and remove dangling link
-c L1, --compact=L1 Maximum number of links in header messages
-d L2, --indexed=L2 Minimum number of links in the indexed format
-s S[:F], --ssize=S[:F] Shared object header message minimum size
-m M, --minimum=M Do not apply the filter to datasets smaller than M
-e E, --file=E Name of file E with the -f and -l options
-u U, --ublock=U Name of file U with user block data to be added
-b B, --block=B Size of user block to be added
-M A, --metadata_block_size=A Metadata block size for H5Pset_meta_block_size
-t T, --threshold=T Threshold value for H5Pset_alignment
-a A, --alignment=A Alignment value for H5Pset_alignment
-q Q, --sort_by=Q Sort groups and attributes by index Q
-z Z, --sort_order=Z Sort groups and attributes by order Z
-f FILT, --filter=FILT Filter type
-l LAYT, --layout=LAYT Layout type
-S FS_STRATEGY, --fs_strategy=FS_STRATEGY File space management strategy for
H5Pset_file_space_strategy
-P FS_PERSIST, --fs_persist=FS_PERSIST Persisting or not persisting free-
space for H5Pset_file_space_strategy
-T FS_THRESHOLD, --fs_threshold=FS_THRESHOLD Free-space section threshold
for H5Pset_file_space_strategy
-G FS_PAGESIZE, --fs_pagesize=FS_PAGESIZE File space page size for
H5Pset_file_space_page_size
M - is an integer greater than 1, size of dataset in bytes (default is 0)
E - is a filename.
S - is an integer
U - is a filename.
T - is an integer
A - is an integer greater than zero
Q - is the sort index type for the input file. It can be "name" or
"creation_order" (default)
Z - is the sort order type for the input file. It can be "descending" or
"ascending" (default)
B - is the user block size, any value that is 512 or greater and is
a power of 2 (1024 default)
F - is the shared object header message type, any of <dspace|dtype|fill|
pline|attr>. If F is not specified, S applies to all messages
BOUND is an integer indicating the library release versions to use when
creating objects in the file (see H5Pset_libver_bounds()):
0: This is H5F_LIBVER_EARLIEST in H5F_libver_t struct
1: This is H5F_LIBVER_V18 in H5F_libver_t struct
2: This is H5F_LIBVER_V110 in H5F_libver_t struct
3: This is H5F_LIBVER_V112 in H5F_libver_t struct
4: This is H5F_LIBVER_V114 in H5F_libver_t struct
(H5F_LIBVER_LATEST is aliased to H5F_LIBVER_V114 for this release
FS_STRATEGY is a string indicating the file space strategy used:
FSM_AGGR:
The mechanisms used in managing file space are free-space
managers, aggregators and virtual file driver.
PAGE:
The mechanisms used in managing file space are free-space
managers with embedded paged aggregation and virtual file driver.
AGGR:
The mechanisms used in managing file space are aggregators and
virtual file driver.
NONE:
The mechanisms used in managing file space are virtual file
driver.
The default strategy when not set is FSM_AGGR without persisting free-
space.
FS_PERSIST is 1 to persisting free-space or 0 to not persisting free-space.
The default when not set is not persisting free-space.
The value is ignored for AGGR and NONE strategies.
FS_THRESHOLD is the minimum size (in bytes) of free-space sections to be
tracked by the library.
The default when not set is 1.
The value is ignored for AGGR and NONE strategies.
FS_PAGESIZE is the size (in bytes) >=512 that is used by the library when
the file space strategy PAGE is used.
The default when not set is 4096.
FILT - is a string with the format:
<list of objects>:<name of filter>=<filter parameters>
<list of objects> is a comma separated list of object names, meaning apply
compression only to those objects. If no names are specified, the filter
is applied to all objects
<name of filter> can be:
GZIP, to apply the HDF5 GZIP filter (GZIP compression)
SZIP, to apply the HDF5 SZIP filter (SZIP compression)
SHUF, to apply the HDF5 shuffle filter
FLET, to apply the HDF5 checksum filter
NBIT, to apply the HDF5 NBIT filter (NBIT compression)
SOFF, to apply the HDF5 Scale/Offset filter
UD, to apply a user defined filter
NONE, to remove all filters
<filter parameters> is optional filter parameter information
GZIP=<deflation level> from 1-9
SZIP=<pixels per block,coding> pixels per block is a even number in
2-32 and coding method is either EC or NN
SHUF (no parameter)
FLET (no parameter)
NBIT (no parameter)
SOFF=<scale_factor,scale_type> scale_factor is an integer and scale_type
is either IN or DS
UD=<filter_number,filter_flag,cd_value_count,value1[,value2,...,valueN]>
Required values: filter_number, filter_flag, cd_value_count, value1
Optional values: value2 to valueN
NONE (no parameter)
LAYT - is a string with the format:
<list of objects>:<layout type>=<layout parameters>
<list of objects> is a comma separated list of object names, meaning that
layout information is supplied for those objects. If no names are
specified, the layout type is applied to all objects
<layout type> can be:
CHUNK, to apply chunking layout
COMPA, to apply compact layout
CONTI, to apply contiguous layout
<layout parameters> is optional layout information
CHUNK=DIM[xDIM...xDIM], the chunk size of each dimension
COMPA (no parameter)
CONTI (no parameter)
Examples of use:
1) h5repack -v -f GZIP=1 file1 file2
GZIP compression with level 1 to all objects
2) h5repack -v -f dset1:SZIP=8,NN file1 file2
SZIP compression with 8 pixels per block and NN coding method to object dset1
3) h5repack -v -l dset1,dset2:CHUNK=20x10 -f dset3,dset4,dset5:NONE file1 file2
Chunked layout, with a layout size of 20x10, to objects dset1 and dset2
and remove filters to objects dset3, dset4, dset5
4) h5repack -L -c 10 -s 20:dtype file1 file2
Using latest file format with maximum compact group size of 10 and
minimum shared datatype size of 20
5) h5repack -f SHUF -f GZIP=1 file1 file2
Add both filters SHUF and GZIP in this order to all datasets
6) h5repack -f UD=307,0,1,9 file1 file2
Add bzip2 filter to all datasets
7) h5repack --low=0 --high=1 file1 file2
Set low=H5F_LIBVER_EARLIEST and high=H5F_LIBVER_V18 via
H5Pset_libver_bounds() when creating the repacked file, file2
|