h5diff and h5repack changes
Description:
h5diff
introduced the following four modes of output:
Normal mode: print the number of differences found and where they occured
Report mode: print the above plus the differences
Verbose mode: print the above plus a list of objects and warnings
Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found)
h5repack
added an extra parameter for SZIP filter (coding method)
the new syntax is
-f SZIP=<pixels per block,coding>
(pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
Example of use:
./h5repack -i file1 -o file2 -f SZIP=8,NN -v
updated usage messages, test scripts and files accordingly
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
Purpose:
Bug Fix
Description:
If an HDF5 file grows larger than its address space, it dies and is unable to
write any data. This is more likely to happen since users are able to change
the number of bytes used to store addresses in the file.
Solution:
HDF5 now throws an error instead of dying. In addition, it "reserves" address
space for the local heap and for object headers (which do not allocate space
immediately). This ensures that after the error occurs, there is enough address
space left to flush the entire file to disk, so no data is lost.
A more complete explanation is at /doc/html/TechNotes/ReservedFileSpace.html
Platforms tested:
sleipnir, copper (parallel), verbena, arabica, Windows (Visual Studio 7)
Misc. update:
h5repack changes
Description:
there were some requests to change some minor h5repack features
h5repack only made a warning about a non available filter in verbose mode ( -v )
without -v it kept silent, and users sometimes missed this warning
the request was that it should print this warning always. so, the new format, is e.g
./h5repack -i test_szip.h5 -o out.h5
Warning: dataset </dset_szip> cannot be read, SZIP filter is not available
due to this, and to avoid a lot of these messages in the shell test script, I modified
the script h5repack.sh so that it detects the presence of all filters in the environment
(previously it only detected SZIP)
the test files were also divided in more files , to make the script code easier to
follow
Solution:
Platforms tested:
linux
AIX (without SZIP)
solaris (without gzip and SZIP)
Misc. update:
Bug fix
Description:
The "shared" raw B-tree node can get freed before all the B-tree nodes
had been flushed out to disk and released by the cache.
Solution:
Implement a simple reference counting wrapper for objects in the library
and use it to hold the shared raw B-tree nodes so they aren't freed before all
references to them in memory are released.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir)
IRIX64 6.5 (modei4)
h5dump new tests
Description:
added more tests for the escape/not escape feature for string data (with vlen, with
compound, with char data)
Solution:
Platforms tested:
Misc. update:
h5dump new tests
Description:
added new tests for the -p option, superblock, file contents, fill values, array indices.
Solution:
Platforms tested:
linux
AIX
solaris
Misc. update:
Purpose: New feature and its test
Description: Added API H5Fget_name. It returns the name of file by object ID(file, group, dataset, named datatype, attribute) which belongs to the file. filename.c tests this function.
Platforms tested: h5committest
Misc. update: MANIFEST, RELEASE.txt
Purpose:
Handled SZIP without the encoder present.
Description:
It is now an error for a user to try to create, extend, or write to a
dataset without the encoder present in their SZIP library.
Added H5Zget_filter_info to provide users with a way to query HDF5
about the presence (or lack thereof) of the SZIP encoder.
Platforms tested:
Windows
Verbena
Arabica
Copper
Misc. update:
h5dump new features
Description:
the storage layout output format had some changes
same for the user defined filter
add an option (-y) for not printing the array indices (default is print indices )
the option for escaping non printable characters covers all characters (default is not escape)
add tests for the new options
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
h5dump new features
Description:
added the code for print strings with new line and display the path of references (new source files h5tools_ref.c and .h )
added a test suite in testh5dump.sh.in for
( note : to create testh5dump.sh , one must redo ./configure; this detects the availability of filters
and generates testh5dump.sh accordingly)
1) storage layout
2) fill value
3) print reference with path
4) print strings with new lines
5) filters
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
Update shell scripts
Description:
Switch to generating the testh5dump.sh script at configure time, so we can
determine which filters are available to test.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too small to require h5committest
Code optimization & bug fix
Description:
When dimension information is being stored in the storage layout message
on disk, it is stored as 32-bit quantities, possibly truncating the dimension
information, if a dimension is greater than 32-bits in size.
Solution:
Fix the storage layout message problem by revising file format to not store
dimension information, since it is already available in the dataspace.
Also revise the storage layout data structures to be more compartmentalized
for the information for contiguous, chunked and compact storage.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
Solaris 2.7 (arabica)
h5committest
h5repack in 1.6
Description:
2 functions we re added to /src:
H5Premove filter and H5Iget_file_id
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
Cleanup
Description:
Removed FPHDF configure and test file since it is not implemented
in v1.6.
Platforms tested:
Only tested in Sol parallel.
Misc. update:
Update MANIFEST.
Purpose: Maintenance
Description: I added new configuration file ia64-linux-gnu to the
c++/config directory and made ecc a default C++ compiler
for ia64-linux-gnu systems
Solution: N/A
Platforms tested: Altix (SGI Linux64 IA64 machine) - all tests passed
titan - configuration passed; it is still building
Misc. update:
Purpose: Maintenance
Description: Added Fortran support for MAC OS X
Solution: This port was tested only for IBM XL Fortran compiler
version 8.1 Beta.
Few things to remember:
1. do not use AFS to build Fortran; compiler
for some reason cannot find *.mod files that
were successfully compiled.
2. Fortran Library can be built only with --disable-shared
--enable-static flags.
Platforms tested: pommier, h5committested (it is amasing, but iot works
really nicely! Albert, Thank you!)
Misc. update:
Code cleanup
Description:
Refactor library testing framework (used for the testhdf5 & ttsafe tests)
to remove almost all of the duplicated code, moving the common code into a
new 'testframe.c' source file.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o thread-safety
h5committest
Add metadata benchmark to the 1.6 branch
Description:
Port the metadata benchmark to the 1.6 branch, for LANL's use (mostly).
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
not tested with h5comittest, so it wasn't run
Purpose: Maintenance
Description: I added dec-odf5.x file to the c++/config directory.
By default DEC cxx compiler is used to build HDF5 C++ Library.
Platforms tested: True64 (PSC)
Misc. update:
Purpose:
Adding the HTMLdoc and RM frontmatter files
./doc/html/PDF_RM_body.book
./doc/html/PDF_RM_front.book
./doc/html/RM_Title.html
./doc/html/RM_TOC.html
All are labelled _DO_NOT_DISTRIBUTE_.
1. Address Bug 888
2. Update h5dump xml to 1.6
Description:
This is an omnibus update to the h5dump tool.
1. Bug 888: Added '-A', suppress data in dataset, but give values of attr.
2. Many changes to update the XML output. See:
http://hdf.ncsa.uiuc.edu/RFC/XMLSchema/
3. The XML dumper tests have been split off. The standard 'make check'
no longer runs the XML tests.
'make check-xml' runs the XML tests manually. (Some tests
may fail on some platforms, e.g., on 64bit.)
'make check-all' runs regular and then xml tests.
Solution:
Platforms tested:
verbena, arabica, copper (64bit)
Misc. update:
MANIFEST updated.
Bug fix
Description:
When a non-default indexed storage B-tree internal 'K' value is set by the
user, the chunked datasets created in that file (until it is closed) use the
user's 'K' value and the data can be accessed correctly, but the 'K' value is
not stored in the file.
However, once the file is closed and re-opened, the non-default 'K' value
is lost and the data in the chunked datasets will not be able to be accessed
correctly.
Solution:
Store the indexed storage B-tree internal 'K' value in the superblock.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Purpose: Maintenance
Description: I added three new configuration files in c++/config
directory for Cray SV1, T3E and T90IEEE
Solution: Modified MANIFEST to add new files.
Platforms tested:
Misc. update: