xx ExternalLibraries/HDF5

ExternalLibraries/HDF5

Yaakoub Y El-Khamra, Thomas Radke,Federico Cipolletta

2020-07-01

Abstract

Thorn HDF5xprovides the following utility programs:

hdf5xdoublextoxsingle

Copies the entire contents of an input HDF5 file to an output HDF5 file, converting all double precision datasets to single precision.

hdf5xmerge

Merges a list of HDF5 input files into a single HDF5 output file. This can be used to concatenate HDF5 output data created as one file per timestep.

hdf5xextract

Extracts a given list of named objects (groups or datasets) from an HDF5 input file and writes them into a new HDF5 output file. This is the reverse operation to what hdf5xmerge.c does. Useful eg. for extracting individual timesteps from a time series HDF5 datafile.

All utility programs are located in the src/util/ subdirectory of thorn HDF5. To build the utilities just do a

xxmakex<configuration>-utils

in the Cactus toplevel directory. The executables will then be placed in the exe/<configuration>/ subdirectory.

All utility programs are self-explaining – just call them without arguments to get a short usage info. If any of these utility programs is called without arguments it will print a usage message.

1 Using This Thorn

Refer to the Cactus UserGuide, Sec. B2.2, in order to know how this thorn can be used in a compiled configuration and how to possibly linking another specific version, already installed steparately.

Note on possible ExternalLibraries’ location stripping

Each thorn contained in Cactus/arrangements/ExternalLibraries will automatically adopt the library version contained in the Cactus/arrangements/<library>/dist folder. In particular, the tarball in

Cactus/arrangements/<library>/dist is only used if either THORNxDIR is set to BUILD or is left empty and no

precompiled copy of the library is found. If another location is specified via the THORNxDIR variable in the <machine>.cfg file at compilation, then the Cactus/lib/sbin/strip-incdirs.sh script will automatically strip away (for safety reasons) the locations:

/include

/usr/include

/usr/local/include

from THORNxINCxDIRS which default to THORNxDIR/include. Therefore, if there is any need for using one already installed version of one external library, the aforementioned location should be avoided (e.g. indicating /home as the THORNxDIR will work with no problems if the required library is installed there) or should be carefully checked, in order to avoid unwanted stripping. The same stripping happens to THORNxLIBxDIRS in lib/sbin/strip-libdirs.sh with a larger list of directories:

/lib
/usr/lib
/usr/local/lib
/lib64
/usr/lib64
/usr/local/lib64

2 Parameters

3 Interfaces General Implements: hdf5

4 Schedule This section lists all the variables which are assigned storage by thorn ExternalLibraries/HDF5. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage NONE