* 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
- H5PartDefineStepName()
* type cast 'width'
- _H5Part_iteration_operator()
* type cast error return
- _H5Part_get_object_name()
* type cast of arg 'idx' and 'len_obj_name' added
- H5PartGetDatasetInfo()
* type of 'herr' changed from 'herr_t' to 'h5part_int64_t'
- _get_diskshape_for_reading()
* 'CHECK_FILEHANDLE()' removed
* type cast error return to 'hid_t'
- _get_memshape_for_reading()
* 'CHECK_FILEHANDLE()' removed
* type cast error return to 'hid_t'
- _H5Part_get_attrib_info():
* type cast 'attrib_type' in call to '_H5Part_write_attrib()'
- H5PartWriteStepAttrib()
* change type of 'herr' to 'h5part_int64_t'
* type cast 'attrib_type' in call to '_H5Part_write_attrib()'
- H5PartWriteFileAttrib()
* change type of 'herr' to 'h5part_int64_t'
* type cast 'attrib_type' in call to '_H5Part_write_attrib()'
- H5PartGetStepAttribInfo()
H5PartGetFileAttribInfo()
H5PartReadStepAttrib()
H5PartReadFileAttrib()
* change type of 'herr' to 'h5part_int64_t'
- _H5Part_set_step()
* use 'snprintf()' instead of 'sprintf()'
* H5PartOpenFileParallel()
- MPI hints removed, they are useless
- delegate real work to new function "_H5Part_open_file()"
* H5PartOpenFile()
- delegate real work to new function "_H5Part_open_file()"
* _H5Part_open_file()
- new function perfoming the real work
- set step name and number format in file structure
* H5PartDefineStepName()
- new function to define step name and format of step number
* _H5Part_set_step()
* H5PartGetNumDatasets()
* H5PartGetDatasetName()
* H5PartGetDatasetInfo()
* _H5Part_get_num_particles()
- use step name und step number format defined in file struct
_H5Part_iteration_operator():
- call H5Gget_objinfo() only if type != H5G_UNKNOWN
H5PartGetNumSteps():
- count all objects beginning with H5PART_GROUPNAME_STEP
not only groups
- doxygen group "h5part_api" renamed to "h5part_c_api"
- default error-handler renamed to "H5PartReportErrorHandler"
- macro "H5PART_PARTICLES_GROUP" replaced with "H5PART_GROUPNAME_STEP"
- use "-1" to indicate an uninitialized "timegroup" in "H5PartFile"
a valid "timegroup" is greater or equal zeros
- _set_step()
* added, derived from "H5PartSetStep()"
- H5PartSetStep()
* call "_set_step()" to do the real work
- _H5Part_get_num_particles()
* added, derived from "H5PartGetNumParticles()"
- H5PartGetNumParticles()
* call "_H5Part_get_num_particles()" to do the real work
- H5PartSetNumParticles()
* use new function "_set_step()" instead of "H5PartSetStep()"
* print no extra error message if "_set_step()" returns
with an errror
- _reset_view()
* added, derived from "H5PartSetView()"
- H5PartResetView()
* added, was a macro before
- H5PartHasView()
* added, was a macro before
- _set_view()
* added, derived from "H5PartSetView()"
* "#ifdef HDF5V160" block removed
- H5PartSetView()
* call "_set_view()" to do the real work
- H5PartGetView()
* use vars "viewend" and "viewstart" to instead "range[0]"
and range[1]
* call "_set_step()" if timegroup not initialized
- H5PartSetCanonicalView()
* check whether we are in read-only mode replaced with macro
* "_reset_view()" used instead of "H5PartSetView(f,-1,-1)
- H5PartOpenFileParallel()
* debug-print info about file also in non-parallel case
* print value of "f" not "f->file"
- H5PartOpenFile()
* print value of "f" not "f->file"
- use macro "H5PART_PARTICLES_GROUP" insteed of string
- print_{debug,info,warn,error}()
* prints now a prefix "D", "I", "W", "E" corresponding to
type of message
* print value of "__funcname" before message text
* print everything in one print statment
* all calls to these functions have been change accordingly
- H5PartOpenFileParallel()
* in the parallel code there were some not yet
renamed calls to "print_debug()"
- H5PartSetStep()
* in the parallel code there was a not yet
renamed call to "print_info()"
- H5PartWriteFileAttrib()
* return code of "_H5Part_write_attrib()" was not assigned
to "herr"
- H5PartSetView()
* var "r" to handle error renamed to "herr" and changed
to type "h5part_int64_t"