* added new MultiBlock module that is used for efficiently loading regular
rectilinear grid blocks (using chunking) and handling ghost zones in a
distributed-memory environment
** still need to add the "halo exchange" routine for reshuffling ghost regions
** performed some basic testing of read/write functionality
~Mark
* read/write call variants for different datatypes
* HDF5 properties tuned for lustre filesystems and the Cray XT (enabled using flags passed during file open)
* HDF5 chunking for field data
* HDF5 alignment (set during file open)
* support for both HDF5 1.6 and 1.8 using #if statements
* a new error reporting level: debug_detail (HDF5 errors are now printed at debug level 1 by default)
These changes have undergone limited testing.
I will begin using this version for my H5Part projects so that I can test it more thoroughly.
~Mark
_normalize_partition()
* wrong type for 'x' fixed
_open_block_group()
_open_field_group()
* 'herr' type error fixed
_select_hyperslab_for_reading()
* 'herr' type error fixed
* type cast boundaries to 'hsize_t'
_create_field_group()
* 'herr' type error fixed
H5BlockWriteFieldAttrib()
* type cast 'attrib_type' to 'hid_t'
H5Block3dSetFieldOrigin()
H5Block3dGetFieldSpacing()
* type cast 'H5PART_FLOAT64' to 'hid_t'
- H5Block3dWriteScalarField()
- H5Block3dReadScalarField()
* dataset renamed from "x" to "0"
- H5Block3dWrite3dVectorField()
- H5Block3dRead3dVectorField()
* datasets renamed from "x", "y", "z" to "0", "1", "2"
- _get_field_info()
* added, derived from "H5BlockGetFieldInfo()"
- H5BlockGetFieldInfo()
* call "_get_field_info()" to do the real work
- H5BlockGetFieldInfoByName()
* added
- _write_field_attrib()
* defined as static function, was non-static
- _read_field_attrib()
* added, derived form "H5BlockFieldReadAttrib()"
- H5BlockReadFieldAttrib()
* call "_read_field_attrib()" to do the real work
- H5Block3dGetFieldOrigin()
* added
- H5Block3dSetFieldOrigin()
* added
- H5Block3dGetFieldSpacing()
* added
- H5Block3dSetFieldSpacing()
* added
- all "H5Block.*" functions
* call "_init()" at the very beginning
- all "H5Block.*" functions where a layout must be defined before
the function can be called
* error check, whether layout is defined or not