Provided by: h5utils_1.13-2_amd64 bug

NAME

       h5math - combine/create HDF5 files with math expressions

SYNOPSIS

       h5math [OPTION]... OUTPUT-HDF5FILE [INPUT-HDF5FILES...]

DESCRIPTION

       h5math  takes  any number of HDF5 files as input, along with a mathematical expression, and combines them
       to produce a new HDF5 file.

       HDF5 is a free, portable binary format and supporting  library  developed  by  the  National  Center  for
       Supercomputing  Applications  at  the  University  of Illinois in Urbana-Champaign.  A single h5 file can
       contain multiple data sets; by default, h5math creates a dataset called "h5math", but this can be changed
       via the -d option, or by using the syntax HDF5FILE:DATASET.  The -a option can  be  used  to  append  new
       datasets  to  an  existing  HDF5  file.  The same syntax is used to specify the dataset used in the input
       file(s); by default, the first dataset (alphabetically) is used.

       A simple example of h5math's usage is:

           h5math -e "d1 + 2*d2" out.h5 foo.h5 bar.h5:blah

       which produces a new file, out.h5, by adding the first dataset in foo.h5 with twice the "blah" dataset in
       bar.h5.  In the expression (specified by -e), the first input dataset (from left to right) is referred to
       as d1, the second as d2, and so on.

       In addition to input datasets, you can also use the x/y/z coordinates of each point  in  the  expression,
       referenced  by  "x" "y" and "z" variables (for the first three dimensions) as well as a "t" variable that
       refers to the last dimension.  By default, these are integers starting at 0 at the corner of the dataset,
       but the -0 option will change the x/y/z origin to the center of the dataset (t is unaffected), and the -r
       res option will specify the "resolution", dividing the x/y/z coordinates by res.

       All of the input datasets must have the same dimensions, which are also the dimensions of the output.  If
       there are no input files, and you are defining the output purely  by  a  mathematical  formula,  you  can
       specify the dimensions of the output explicitly via the -n size option, where size is e.g. "2x2x2".

       Sometimes,  however, you want to use only a smaller-dimensional "slice" of multi-dimensional data.  To do
       this, you specify coordinates in one (or more) slice dimension(s), via the -xyzt options.

OPTIONS

       -h     Display help on the command-line options and usage.

       -V     Print the version number and copyright info for h5math.

       -v     Verbose output.

       -a     If the HDF5 output file already exists, append the data as a new dataset rather  than  overwriting
              the  file  (the  default  behavior).   An  existing  dataset  of  the same name within the file is
              overwritten, however.

       -e expression
              Specify the mathematical expression that is used to construct the output (generally in " quotes to
              group the expression as one item in the shell), in terms of the variables for the  input  datasets
              and the coordinates as described above.

              Expressions  use  a C-like infix notation, with most standard operators and mathematical functions
              (+, sin, etc.) being supported.  This functionality is provided (and its features  determined)  by
              GNU libmatheval.

       -f filename
              Name  of  a  text file to read the expression from, if no -e expression is specified.  Defaults to
              stdin.

       -x ix, -y iy, -z iz, -t it
              This tells h5math to use a particular slice of a multi-dimensional dataset.   e.g.   -x  uses  the
              subset  (with one less dimension) at an x index of ix (where the indices run from zero to one less
              than the maximum index in that direction).   Here,  x/y/z  correspond  to  the  first/second/third
              dimensions  of  the HDF5 dataset. The -t option specifies a slice in the last dimension, whichever
              that might be.  See also the -0 option to shift the origin of the x/y/z slice coordinates  to  the
              dataset center.

       -0     Shift  the  origin  of the x/y/z slice coordinates to the dataset center, so that e.g. -0 -x 0 (or
              more compactly -0x0) returns the central x plane of the dataset instead of the edge x plane.   (-t
              coordinates are not affected.)

              This  also  shifts  the origin of the x/y/z variables in the expression so that 0 is the center of
              the dataset.

       -r res Use a resolution res for x/y/z (but not t) variables in the expression, so that  the  data  "grid"
              coordinates are divided by res.  The default res is 1.

              For  example, if the x dimension has 21 grid steps, setting a res of 20 will mean that x variables
              in the expression run from 0.0 to 1.0 (or -0.5 to 0.5 if -0 is specified), instead of 0 to 20.

              -r does not affect the coordinates used for slices, which are always integers.

       -n size
              The output dataset must be the same size as the input datasets.  If there are  no  input  datasets
              (if  you  are  defining  the  output  purely  by a formula), then you must specify the output size
              manually with this option: size is of the form MxNxLx... (with M, N, L being integers) and may  be
              of any dimensionality.

       -d name
              Write  to  dataset  name in the output; otherwise, the output dataset is called "data" by default.
              Also use dataset name in the input; otherwise, the first input dataset (alphabetically) in a  file
              is used.  Alternatively, use the syntax HDF5FILE:DATASET (which overrides the -d option).

BUGS

       Send bug reports to S. G. Johnson, stevenj@alum.mit.edu.

AUTHORS

       Written by Steven G. Johnson.  Copyright (c) 2005 by the Massachusetts Institute of Technology.

h5utils                                           May 23, 2005                                         H5MATH(1)