Compare commits

..

210 Commits

Author SHA1 Message Date
Kurt Stockinger 7d140c6cb6 Preparing tag 1.4 2007-08-29 01:43:58 +00:00
gsell 8d760dc264 configure.ac: incr version number to 1.3.3 and bug-report address changed 2007-04-25 07:21:56 +00:00
Kurt Stockinger 4546846f06 Delete all files are benchmark is done. 2007-04-24 22:48:53 +00:00
Kurt Stockinger 62c46dc8bf Minor documentation updates. 2007-04-24 21:57:28 +00:00
gsell 9516e493bc doc/Downloading
- fix links to software
	- HDF5 build instructions removed
2007-04-20 12:00:40 +00:00
gsell 9df1d56714 doc/BuildingHDF5.html
- SSI statements removed
	- bgcolor removed
2007-04-20 11:59:54 +00:00
gsell 98e1055b7b doc/UsingC.html
doc/UsingF.html
	- SSI statements removed
2007-04-20 11:58:58 +00:00
gsell 436cce16c7 doc/H5PartTools.html
- SSI statements removed
	- bgcolor removed
2007-04-20 11:57:57 +00:00
gsell ec6f30bbd8 - doc/H5X_File_Format.txt
* added
2007-04-20 08:33:47 +00:00
Kurt Stockinger d356142bc4 Commented out some dead links. 2007-04-19 22:06:53 +00:00
Kurt Stockinger 00c9b0804b Updated doxygen information. 2007-04-19 21:43:57 +00:00
gsell 172ceff05a doc/Downloading.html
- update H5Part download instructions
2007-04-19 15:17:57 +00:00
gsell 030985c9a4 test 2007-04-19 10:39:00 +00:00
gsell 359b699464 test 2007-04-19 10:31:09 +00:00
gsell 6e1ce25417 - testfile removed 2007-04-19 10:25:20 +00:00
gsell 4144c2b696 src/H5Part.c
* 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
2007-04-19 10:15:34 +00:00
gsell bad33a75d2 src/H5Part.h
- function declaration "H5PartDefineStepName()" added
2007-04-19 09:26:54 +00:00
gsell 7240f26378 - typdef for MPI_Comm add in non-parallel case
- "struct H5PartFile" extended:
	* new member for step name
	* new member to specify the format of the step number
	* new member to flag whether the file is still empty
2007-04-19 09:17:34 +00:00
gsell b9d82c2fda - build of "homdynToH5p" removed 2007-04-19 09:06:27 +00:00
gsell 1bdd5268ed - "homdynToH5p" from tools build list removed 2007-04-19 09:00:23 +00:00
adelmann 92e057e4cf Add MPI IO hints according to the Benchmark.c program by R. Geus given to me by Valerie 2007-02-13 04:30:55 +00:00
gsell aa72af797b testtest 2007-02-12 21:26:45 +00:00
gsell 9974b6b44c srv/H5Part.c
_H5Part_get_attrib_info():
		- code optimization
2007-01-25 13:09:42 +00:00
Christina Siegerist 82c594c17d Made the new api changes again. They were probably lost in overlapping
commits.
2006-12-07 18:48:41 +00:00
gsell c96b859f88 configure.ac
- forgot to check MPIPATH
2006-12-07 16:48:40 +00:00
gsell d580292235 configure.ac
- check in this order: MPIROOT, MPIHOME, --with-mpipath, other paths
- same for HDF5ROOT
2006-12-07 16:46:51 +00:00
gsell 4dd379ff2f src/H5Part.c
_H5Part_iteration_operator():
		- call H5Gget_objinfo() only if type != H5G_UNKNOWN
	H5PartGetNumSteps():
		- count all objects beginning with H5PART_GROUPNAME_STEP
		  not only groups
2006-12-06 10:50:26 +00:00
gsell e13c4e8d8d configure.ac
- more cosmetic changes (--enable-xxx and --with-xxx definitiona
  are now at the very top, so you see all available options all together)
2006-12-02 22:35:19 +00:00
gsell 4d0ffd58df configure.ac
- configure aborts, if HDF5 cannot be found
- ADDFLAFS merged into FFLAGS
- several cosmetic changes
2006-12-02 17:55:41 +00:00
gsell b105b19d4d src/H5Part.c
- _set_view(): "end" is now inclusive
2006-12-02 17:53:32 +00:00
gsell f0d51def4e test/Makefile.am
- ADDFLAGS removed: content of ADDFLAGS is now in FFLAGS
2006-12-02 17:51:46 +00:00
gsell 5325a7a24f Test 2006-12-01 13:02:39 +00:00
gsell 9c6d4e48a3 Test 2006-12-01 13:01:13 +00:00
gsell 150f623c03 Test 2006-12-01 12:56:37 +00:00
gsell 14536c6d84 Test 2006-12-01 12:56:26 +00:00
gsell 94779f185f Test 2006-12-01 09:46:39 +00:00
gsell 07ff9e52ef test bla 2006-12-01 09:43:03 +00:00
adelmann 4de6c55220 Add unit attributes and fix units 2006-11-28 09:22:27 +00:00
gsell e21e1bf4f4 "homdynToH5p" added to tools 2006-11-27 15:09:41 +00:00
gsell 42e023ea71 set version number to 1.3.1 2006-11-27 14:52:29 +00:00
adelmann 7a7a90b5df Initial update 2006-11-13 20:00:07 +00:00
gsell cf40adf301 src/addToDoxygenMainPage.h
- removed (content moved to "H5Part.c")
test/H5ecloudExample.cc
src/H5Units.h
src/H5Part.cc
src/H5Part++.hh
src/H5Part.hh
src/H5Part++.cc
tools/h5pToGNUplot.py
	- removed
doc/Makefile.am
	- added
doc/H5tools/H5tools.htm
	- renamed to "doc/H5tools/H5tools.html"
2006-10-27 15:13:31 +00:00
gsell cc383bff11 src/H5Block.c
- doxygen:
		* group "h5block_api" renamed to "h5block_c_api"
		* documentation added/revised
	- _allgather()
		* defined static
	- unused code "#if OLD_DISSOLVE_GHOSTZONES" removed
	- Macro "H5BLOCK_GROUP_NAME" replaced with "H5BLOCK_GROUPNAME_BLOCK"
2006-10-27 15:10:11 +00:00
gsell 712bbf30b2 src/H5Part.c
- doxygen group "h5part_api" renamed to "h5part_c_api"
	- default error-handler renamed to "H5PartReportErrorHandler"
	- macro "H5PART_PARTICLES_GROUP" replaced with "H5PART_GROUPNAME_STEP"
2006-10-27 15:00:13 +00:00
gsell 1b55e6c536 src/H5PartPrivate.h
- time-steps renamed from "Particles" to "Steps".
	- the macro defining the groupname of time-steps is now
	  "H5PART_GROUPNAME_STEP"
2006-10-27 14:57:02 +00:00
gsell 615cbf3bbd src/H5BlockPrivate.h
- "H5BLOCK_GROUP_NAME" renamed to "H5BLOCK_GROUPNAME_BLOCK"
2006-10-27 14:54:02 +00:00
gsell a5e5d3f2a8 test/H5BlockParTestScalarFieldF.f90
- interface definition for "IARGC()" added, pgi-fortran
	  complains about this (intrinsic!) function.
2006-10-27 14:52:54 +00:00
gsell 4d2b43576f test/Makefile.am
- several changes to "EXTRA_DIST"
2006-10-27 14:48:50 +00:00
gsell bcf06f51b1 src/H5Part.h
- H5PartDefaultErrorHandler:
		* renamed to "H5PartReportErrorHandler"
2006-10-27 14:46:57 +00:00
gsell f065eccdc4 src/Makefile.am
- several changes to "EXTRA_DIST", "include_HEADERS", "EXTRA_HEADERS",
	  "libH5PartF_a_SOURCES"
2006-10-27 14:14:38 +00:00
gsell 49df069686 configure.ac
- AC_INIT: Version number changed to "1.3.1"
	- AC_PROG_FC: "gfortran" added to list
	- option "--enable-mpipath" changed to "--with-mpipath"
	- option "--enable-hdf5path" changed to "--with-hdf5path"
	- set env.variable "FC" to "MPIFC" if "MPIFC" is set
	- "H5BlockDissolveGhosts" removed from TTARGET
	- AC_CONFIG_FILES: "doc/Makefile" added
2006-10-27 14:08:44 +00:00
gsell 6ad99f01cd Makefile.am
- doc added to list SUBDIRS
2006-10-27 14:02:35 +00:00
gsell 67ffffae9d src/H5BlockF.c
- h5bl_get_partition_of_proc()
		* bugfix: we have to increment the values by 1
2006-10-10 15:59:08 +00:00
gsell ddd7c0f0bd test/H5BlockParTestScalarFieldF.f90
- read_field()
		* bugfixes
2006-10-10 15:57:07 +00:00
gsell bef930c76b src/H5Block.c
- H5BlockDefine3dLayout()
		* debug-print user layout
2006-10-10 15:49:39 +00:00
Christina Siegerist 78add071f1 changed to September 2006 2006-10-02 20:50:00 +00:00
Christina Siegerist c7e88d59af Changed to email to andreas to avoid svn wrong addresses. 2006-10-02 20:47:52 +00:00
adelmann cb9ba14d80 delcared IARGC 2006-09-29 04:26:29 +00:00
gsell 791a9be790 test/H5BlockParTestScalarFieldF.f90
- read_field()
		* bugfix in calculation of expected value
2006-09-29 00:19:09 +00:00
gsell ac632c5ed4 src/H5PartF.c
- h5pt_set_verbosity_level()
		* bugfix: level was not a pointer
2006-09-29 00:01:41 +00:00
gsell 146d0cd28d test/H5BlockParTestScalarFieldF.f90
- more layout fixes
2006-09-28 23:44:35 +00:00
gsell 415c037076 test/H5BlockParTestScalarFieldF.f90
- more layout fixes
2006-09-28 23:39:19 +00:00
gsell 3653baecd0 test/H5BlockParTestScalarFieldF.f90
- more layout error fixed
2006-09-28 23:32:10 +00:00
gsell 2e6ec2fe01 test/H5BlockParTestScalarFieldF.f90
- bugfixes in layout
2006-09-28 23:22:07 +00:00
gsell cab19eece1 test/H5BlockParTestScalarFieldF.f90
- added
2006-09-28 22:47:51 +00:00
gsell 5b50d9b362 configure
- H5BlockParTestScalarFieldF
		* added to parallel, fortran TTARGET
2006-09-28 22:42:17 +00:00
gsell 6c4c222f4d src/H5BlockF.c
- h5bl_get_reduced_partition_of_proc()
		* bugfix: we have increment the value by one
	- h5bl_get_proc_of()
		* bugfix: we have to decrement the value by one
2006-09-28 22:41:15 +00:00
gsell e76b2ed356 src/H5BlockF90.inc
- h5bl_get_partition_of_proc()
	  h5bl_get_reduced_partition_of_proc()
		* bugfix in declaration, proc was missing
2006-09-28 22:38:18 +00:00
gsell b64f8ad80e test/Makefile.am
- rules to build "H5BlockParTestScalarFieldF" added
2006-09-28 22:36:41 +00:00
gsell de7c07e47f src/H5PartF.c
- attribute interface
		* bugfixes, was completly messed up, what did I do?
2006-09-28 19:02:41 +00:00
gsell 1b10ffe18b src/H5PartF90.inc
- declare dimensions of arrays as (*) not (:)
2006-09-28 16:59:49 +00:00
gsell 489110ba92 Hdf5fed moved to own repo 2006-09-27 20:55:14 +00:00
gsell 2c4d12b36c test 2006-09-27 19:57:35 +00:00
gsell dbdb76fff7 test 2006-09-27 19:57:05 +00:00
adelmann 634ed00d24 add merlin00 configure 2006-09-27 19:13:20 +00:00
gsell ac6f828fbc src/H5PartPrivate.h
- _H5Part_set_step()
		* was static and is public now
2006-09-27 04:45:49 +00:00
gsell 14f0702eee src/H5PartF.c
- h5pt_openpar_r()
	  h5pt_openpar_w()
		* bugfix: arg "comm" as been pass as pointer instead of value
2006-09-27 04:44:39 +00:00
gsell e4c712e067 src/H5Part.c
- _H5Part_set_step()
		* was static is public now
2006-09-27 04:42:09 +00:00
adelmann 9e6208836e add howto for GELE the small Crat XT3 system 2006-09-27 04:10:51 +00:00
gsell c43e918ddc doc/doxyfooter
- added
2006-09-26 23:39:01 +00:00
gsell 353689b4eb src/H5Part.c
- grouping function in doxygen groups
2006-09-26 23:33:04 +00:00
gsell bf22238a3e src/H5Block.c
- grouping of functions in doxygen groups
	- moved doc from "H5Block.h"
2006-09-26 23:09:00 +00:00
gsell 9c73b23b48 src/H5Block.h
- part of doxygen doc moved to "H5Block.c"
2006-09-26 23:07:08 +00:00
gsell 9c3040e429 doc/Doxyfile
- several changes to get a better layout and structure
2006-09-26 23:05:37 +00:00
gsell 4f96e94098 doc/ReferencePages
- removed, can be generated with Doxygen
2006-09-26 04:45:04 +00:00
gsell 84cc3c7a19 doc/hdf5.pdf
- moved to repo "H5Papers"
2006-09-26 04:43:04 +00:00
gsell 56f13c3b68 doc/2006-Berkeley-Visit
doc/H5xxx
	- moved to repo "H5Memo"
2006-09-26 04:41:46 +00:00
gsell 70d1a26d4c test/H5BlockTestAttributes.c
- tests for "H5Bloc3d{Set,Get}Field{Spacing,Origin}() added
2006-09-25 23:20:50 +00:00
gsell 980a192922 src/H5PartPrivate.h
- _H5Part_set_step()
		* declaration added
2006-09-25 23:02:40 +00:00
gsell bef9820f71 src/H5Part.c
- H5PartSetNumParticles()
		* fix undeclared var error in parallel code
	- _set_step()
		* renamed to "_H5Part_set_step()"
2006-09-25 23:01:28 +00:00
gsell 6e32226992 src/H5Part.c
- 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)
2006-09-25 20:05:47 +00:00
gsell 1d011f5482 src/H5PartErrors.h
- macro CHECK_READONLY_MODE added
2006-09-25 19:23:18 +00:00
gsell 0b151cd0aa src/H5Part.h
src/H5Part.c
	- H5PartOpenFile()
	  H5PartOpenFileParallel()
		* "const" qualifier added to arg "flags"
	- H5PartReadDataInt64()
		* "const" qualifier added to arg "name"
      	- H5PartResetView()
	  H5PartHasView()
		* are real function now, not macros any more
2006-09-25 19:22:26 +00:00
gsell e560303db3 src/H5Block.c
- unused code between #if 0 ... #endif removed
	- _dissolve_ghostzones()
		* faster algorithm implemented
2006-09-25 19:17:23 +00:00
gsell 591a37855d src/H5PartPrivate.h
- _H5Part_get_num_particles()
		* declaration added
2006-09-25 19:15:13 +00:00
gsell 8cedb2d7f5 test/H5BlockDissolveGhosts.c
- _dissolve_ghostzones()
		* faster algorithm implemented
2006-09-25 19:14:08 +00:00
Patrik Leidenberger df20b6e0ea Restructure the Hdf5fed directory. 2006-09-25 12:41:31 +00:00
Patrik Leidenberger 6f34b0a4c5 Restructure the Hdf5fed directory. 2006-09-25 09:57:32 +00:00
Patrik Leidenberger 43000dabe1 Restructure the Hdf5fed directory. 2006-09-25 09:55:50 +00:00
Patrik Leidenberger 40a9898f92 Restructure the Hdf5fed directory. 2006-09-25 09:47:15 +00:00
Patrik Leidenberger 5bd504becf Restructure the Hdf5fed directory. 2006-09-25 09:45:56 +00:00
Patrik Leidenberger 9a16c66724 Restructure the Hdf5fed directory. 2006-09-25 09:34:15 +00:00
Patrik Leidenberger 83f931607b Restructure the Hdf5fed directory 2006-09-25 09:31:11 +00:00
Patrik Leidenberger ad79b097d2 Hdf5fed little update. 2006-09-25 08:20:38 +00:00
Patrik Leidenberger 24a080298d H5Fed: Add function for triangle boundary. 2006-09-24 17:04:05 +00:00
Patrik Leidenberger 0e2cc3ec8c Addaped H5Fed api to Dune. 2006-09-24 12:15:09 +00:00
gsell bb7f1c5f38 src/H5PartF.c
- h5pt_openr_par()
		* fixed typo
	- h5pt_openw_par()
		* fixed typo
2006-09-22 22:59:54 +00:00
gsell bb15e96150 src/H5Block.h
- H5BlockGetFieldInfoByName()
		* added
	- H5Block3dGetFieldOrigin()
		* added
	- H5Block3dSetFieldOrigin()
		* added
	- H5Block3dGetFieldSpacing()
		* added
	- H5Block3dSetFieldSpacing()
		* added
2006-09-22 22:55:40 +00:00
gsell 2217b10b01 src/H5Block.c
- 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
2006-09-22 22:53:46 +00:00
gsell b66e4587f5 src/H5BlockF.c
- include "H5PartPrivate.h" added
	- include <hdf5.h> removed
2006-09-22 22:45:23 +00:00
gsell 06530aff19 src/H5Part.c
- H5PartSetStep()
		* fix conversion to different size in debug output
2006-09-22 22:44:08 +00:00
gsell 7f2cb8bcaf test/Makefile.am
- bugfix in rule to build "H5test"
2006-09-22 22:42:28 +00:00
gsell 49022b6838 test/H5test.cc
- empty PARALLEL_IO conditional part removed
2006-09-22 22:41:30 +00:00
gsell 1b15551170 src/H5Part.c
- declare arguments as "const" where possible
2006-09-22 20:55:23 +00:00
gsell 09fc6fd570 src/H5PartPrivate.h
- _H5Part_strdupfor2c()
	- _H5Part_strc2for()
		* added
2006-09-22 20:54:34 +00:00
gsell db0a1bd448 src/H5Part.h
- declare arguments as "const" where possible
2006-09-22 20:53:36 +00:00
gsell 921746273d src/H5Block.c
- printf for debug output removed
2006-09-22 20:52:12 +00:00
gsell 990a359f14 src/H5BlockF90.inc
- h5bl_3d_write_scalar_field()
	- h5bl_3d_write_3dvector_field()
	- h5bl_3d_read_3dvector_field()
		* bugfix in type of data
2006-09-22 20:51:05 +00:00
gsell b3da7610f1 src/H5PartF.c
src/H5BlockF.c
	- use Fortron function name in definition, define macros for
	  function names only, if we have to rename them
	- use function "_H5Part_strdupfor2c()" and "_H5Part_strc2for()" 
	  for string conversion
2006-09-22 20:49:17 +00:00
gsell 9e9f2fdb9a test/H5BlockTestAttributesF.f90
- write file and attributes implemented
2006-09-22 20:31:59 +00:00
Patrik Leidenberger cf14e818db Extension of the H5Fed API and adding a dump program to test the API. 2006-09-22 13:30:03 +00:00
gsell cdf1ce5e9d src/H5BlockF90.inc
- all (:,:,:) and (:) changed to (*)
2006-09-21 23:48:36 +00:00
gsell 0ca05f63a0 src/H5BlockF.c
- h5bl_readfieldattrib_*
		* bugfix: C function has not been called with copy
2006-09-21 23:46:18 +00:00
gsell cb4bceb4bb src/H5Block.c
- some debug print removed
2006-09-21 23:44:39 +00:00
gsell c40ae0bb4e test/H5BlockTestAttributesF.f90
- attribute read tests added
2006-09-21 23:43:22 +00:00
gsell 90c2a260c2 src/H5BlockTestAttributes.c
- bugfixes
2006-09-21 21:26:46 +00:00
gsell 4f423dbdda test/H5BlockTestAttributesF.f90
- more coding
2006-09-21 21:26:01 +00:00
gsell 624edd3be3 test/Makefile.am
- rule to build "H5BlockTestAttributesF"
		* link to non-parallel versions of the library
2006-09-21 21:25:17 +00:00
gsell f698ae762e src/H5Part.c
- 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"
2006-09-21 21:23:28 +00:00
gsell 782d67c1a0 src/H5PartF.c
- f_h5pt_openr()
		* type-cast result to get rid of the warning
2006-09-21 21:21:07 +00:00
gsell 51560ad3fa src/H5Block
- several debug-prints added
2006-09-21 21:16:41 +00:00
gsell e35679ba56 src/H5BlockF90.inc
- h5bl_getfieldinfo()
		* syntax error fixed
2006-09-21 21:15:55 +00:00
gsell f45fb3f465 src/H5BlockF.c
- all function
		* type of file-handle changed to "h5part_int64_t"
2006-09-21 21:13:30 +00:00
gsell 5425ae0847 configure.ac
- prog "H5BlockTestAttributesF" moved to the non-parallel test
	  targets
2006-09-21 21:11:42 +00:00
Patrik Leidenberger 15abcafd84 Add H5Fed changes in h5fed api. 2006-09-21 12:26:37 +00:00
Patrik Leidenberger 4c4cdc9a2f Add H5Fed. 2006-09-21 10:19:39 +00:00
gsell 8f31d8ddd5 test/H5BlockTestAttributesF.f90
- added
2006-09-20 21:07:25 +00:00
gsell 011128ef54 test/Makefile.am
- rule to build target "H5BlockTestAttributesF" added
2006-09-20 21:06:47 +00:00
gsell 333332537c configure.ac
- prog "H5BlockTestAttributesF" added to TTARGET
2006-09-20 21:05:52 +00:00
gsell 65470f307b test/H5BlockTestAttributes.c
- main()
		* declaration of var "nprocs" added
2006-09-20 21:03:42 +00:00
gsell 9647274842 src/H5PartF.c
- f_h5pt_set_verbosity_level()
		* added
	- f_h5pt_getstepattribinfo()
	  f_h5pt_getfileattribinfo()
		* type of var "type" changed from "hid_t" to
		  "h5part_int64_t"
2006-09-20 21:02:23 +00:00
gsell 76549133c4 src/H5PartF90.inc
- declaration of "h5pt_set_verbosity_level()" added
2006-09-20 20:59:16 +00:00
gsell bf9793e18a src/H5Part.h
- H5PartSetVerbosityLevel()
		* type of arg "level" changed from "unsigned int" to
		  "h5part_int64_t"
2006-09-20 20:58:13 +00:00
gsell 523c2ae212 src/H5Part.c
- H5PartSetVerbosityLevel()
		* type of arg "level" changed from "unsigned int" to
		  "h5part_int64_t"
2006-09-20 20:57:04 +00:00
gsell c892a7c748 src/H5Part.c
- 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
2006-09-20 18:00:46 +00:00
gsell 54313b4882 src/H5Block.c
- use macro "H5BLOCK_GROUP_NAME" insteed string of "Block"
2006-09-20 17:54:36 +00:00
gsell e6b3c12e77 src/H5BlockPrivate.h
- macro "H5BLOCK_GROUP_NAME" added
2006-09-20 17:53:25 +00:00
gsell cc9487757b src/H5PartPrivate.h
- macro "H5PART_PARTICLES_GROUP" added
2006-09-20 17:52:08 +00:00
gsell b795b592cb test/H5BlockTestAttributes.c
- can be compiled parallel and non-parallel now
2006-09-20 17:50:51 +00:00
gsell 26eb035ef8 test/H5BlockTestAttributes.c
- added
2006-09-20 01:50:04 +00:00
gsell 3c15cdf0c1 test/H5BlockWriteScalarField1Proc.c
test/H5BlockTest1.c
test/H5BlockReadParallel1.c
test/H5BlockReadScalarField1Proc.c
test/H5BlockWrite1.c
test/H5BlockParallelTest1.c
	- removed
2006-09-20 01:49:25 +00:00
gsell a205c9a93c src/H5Block.c
- 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
2006-09-20 01:48:03 +00:00
gsell 82c7f77e26 src/Makefile.am
- prog "H5BlockTestScalarField" removed
	- prog "H5BlockTestAttributes" added
2006-09-20 01:44:47 +00:00
gsell a4dd08d021 src/H5BlockTypes.h
- struct H5BlockStrukt
		* "have_layout" added
2006-09-20 01:43:15 +00:00
gsell 71eb102a30 src/H5BlockErrors.h
- macro "CHECK_LAYOUT" added
2006-09-20 01:42:09 +00:00
gsell 8aa2732876 src/H5Block.h
- H5Block3dGetProcOf()
		* arg "f" is not "const" any more
2006-09-20 01:41:08 +00:00
gsell b5c98e495b src/H5BlockF.c
- f_h5bl_get_proc_of()
		* arg "f" is not "const" any more
2006-09-20 01:40:02 +00:00
gsell 1440cd28a7 configure.ac
- prog "H5BlockTestAttributes" added to "TTARGET"
2006-09-20 01:38:44 +00:00
gsell 1dba6fb877 src/H5Part.h
- bugfix: #endif was at wrong place
2006-09-19 23:39:40 +00:00
gsell df8c5280c0 src/H5BlockF.c
- Fortran 90 bindings coded
2006-09-19 23:37:39 +00:00
gsell 9e6fc708f6 src/H5Block.c
- H5BlockDefine3DFieldLayout()
		* CHECK_FILEHANDLE() added
	- H5BlockGetNumFields()
		* CHECK_FILEHANDLE() added
	- H5BlockGetFieldInfo()
		* CHECK_FILEHANDLE() and CHECK_TIMEGROUP() added
	- H5BlockGetNumFieldAttribs()
		* bugfix: return value was always 0
	- H5PartReadFieldAttrib()
		* bugfix: CHECK_FILEHANDLE was called before _init()
2006-09-19 23:36:27 +00:00
gsell 600f887609 src/Makefile.am
- rules to build H5Block Fortran bindings added
2006-09-19 23:29:33 +00:00
gsell 79f6d8e19c src/H5Block.h
- declaration of "H5BlockHasFieldData()" added
2006-09-19 23:28:32 +00:00
gsell e893b8e448 src/H5BlockF90.inc
- coding
	- some fixes
2006-09-19 23:26:54 +00:00
gsell 1a623f0e81 configure.ac
- bugfix from last check-in
	- some formating changed
2006-09-19 23:25:30 +00:00
gsell 4d7653f2bd tools/Makefile.am
- add $(MPIINC) to macro INC
2006-09-19 01:25:21 +00:00
gsell 307aecaec9 tools/h5pToGNUplot.cc
- include "H5Part.h" insteed "H5Part.hh"
	- several format string fixes
2006-09-19 01:23:37 +00:00
gsell 06b04a75fb tools/h5pAttrib.cc
- include "H5Part.h" insteed "H5Part.hh"
	- several format string fixes
2006-09-19 01:23:04 +00:00
gsell 13bbd58004 src/Makefile.am
- if parallel is enabled, only this version will be builded
	- parallel/non-parallel macros merged
	- the library name is now "libH5Part.h" for non-parallel and 
	  parallel.
2006-09-19 01:21:18 +00:00
gsell 792ae9a597 src/H5Block.c
- H5PartReadFieldAttrib()
		* missing error handling added after reading attribute
2006-09-19 01:18:00 +00:00
gsell 5d9b13e15e src/H5Part.h
- C++ wrapper added
2006-09-19 01:16:46 +00:00
gsell b998848ed2 src/H5PartErrors.h
- fix format string error in "HANDLE_H5PART_SET_VIEW_ERR"
2006-09-19 01:11:17 +00:00
gsell 6e14b0aeab test/H5BlockParTestScalarField.c
- several format string fixes
2006-09-19 01:09:41 +00:00
gsell 8a9cdf320c test/H5test.cc
- include "H5Part.h" insteed of "H5Part.hh"
2006-09-19 01:08:53 +00:00
gsell 8e328d1dc5 src/H5PartTest.cc
- include "H5Part.h" insteed of "H5Part.hh"
	- several format string fixes
2006-09-19 01:07:54 +00:00
gsell c3f8c3e70e test/H5PartAndreasTest.cc
- include "H5Part.h" insteed of "H5Part.hh"
2006-09-19 01:06:18 +00:00
gsell 13660dea05 test/Makefile.am
- parallel/non-parallel version of macros merged
	- use CC, CXX und FC insteed of MPICC, ...
2006-09-19 01:04:42 +00:00
gsell 8608d1e63f configure.ac
- parallel/non-parallel versions of macros merged
        - in parallel case: CC=MPICC, CXX=MPICXX und FC=MPIFC
2006-09-19 00:58:22 +00:00
gsell 837c329840 src/H5Block.h
- C++ wrapper added
2006-09-19 00:53:55 +00:00
gsell ec71b9eaa6 src/H5Block.h
- declaration of "H5Block3dGetReducedPartitionOfProc()" added
2006-09-15 23:50:40 +00:00
gsell 27dc5819f2 src/H5Block.c
- H5Block3dGetReducedPartitionOfProc()
		* added
	- _select_hyperslab_for_writing()
		* missing selection of hyperslab for memshape added
2006-09-15 23:49:06 +00:00
gsell 6e3b010eff test/H5BlockParTestScalarField.c
- return on error removed
2006-09-15 23:45:22 +00:00
gsell c0216d2da7 test/Makefile.am
- bugfix in rule to build "H5BlockDissolveGhosts"
2006-09-15 23:43:17 +00:00
gsell acccf9b457 test/H5BlockDissolveGhosts.c
- added
2006-09-15 21:56:48 +00:00
gsell bc0499e859 src/H5Block.c
- new algorithm for dissolving ghost-zone
2006-09-15 21:54:58 +00:00
gsell f8f384dcc2 configure.ac
- "H5BlockDissolveGhosts" added to parallel TTARGET
	- "H5BlockTest1" removed from serial TTARGET
2006-09-15 21:50:10 +00:00
gsell 6008f5579e test/Makefile.am
- rules added to build "H5BlockDissolveGhosts"
2006-09-15 21:48:10 +00:00
gsell aa487aa4be test/H5BlockParTestScalarField.c
- main()
		* call to "MPI_Finalize()" added
2006-09-14 23:08:25 +00:00
gsell 8d76d9d9bd src/H5Block.c
- _dissolve_ghostzone()
		* debug prints edited
2006-09-14 23:07:17 +00:00
gsell ab9ee7406b test/H5BlockParTestScalarField.pbs
- added
2006-09-14 21:43:09 +00:00
gsell 814a9a86e7 src/H5Block.c
_dissolve_ghostzones()
		* dissolve all ghost-zones, not only for the processor the code
		  is running on.
2006-09-14 21:08:36 +00:00
gsell 8948598fab test/H5BlockParTestScalarField.c
_read_data()
		* bugfix in calculating expected value
		* be more verbose in case of an error
2006-09-14 21:05:23 +00:00
gsell dddeaeba27 - src/H5Part.c
- 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()"
2006-09-14 18:23:11 +00:00
gsell 53f286b421 test/H5BlockParTestScalarField.c
- added
2006-09-14 16:57:24 +00:00
gsell 0975564af3 src/H5Part.c
- 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"
2006-09-14 16:56:29 +00:00
gsell 29efcefae3 src/H5Block.c
- H5Block3dGetPartitionOfProc()
	  H5Block3dGetProcOf()
		* added
2006-09-14 16:51:52 +00:00
gsell 3873af56a0 src/H5Block.h
- H5Block3dGetPartitionOfProc()
	- H5Block3dGetProcOf
		* declaration added
2006-09-14 16:50:37 +00:00
gsell dd75b5da79 configure.ac
- block tests cleanup
2006-09-14 16:48:56 +00:00
gsell 7112492fe8 test/Makefile.am
- use of macros in most rules
	- block tests cleanup
2006-09-14 16:47:56 +00:00
gsell 77b1b40ea9 test/H5BlockWriteScalarField1Proc.c
test/H5BlockReadScalarField1Proc.c
	- added
2006-09-12 22:19:39 +00:00
gsell 4f35ba1356 test/H5testFpar.f
- renamed to "H5testFpar.f90"
2006-09-12 22:18:58 +00:00
gsell 3dff13c491 src/configure.ac
- add test targets to TTARGET
2006-09-12 22:17:53 +00:00
gsell 18c2c89cd5 src/H5Block.h
- fixed bug in declaration of "H5BlockReadFieldAttrib()"
2006-09-12 22:16:31 +00:00
gsell 1f6d43b25d test/Makefile.am
- rules to build "H5BlockReadScalarField1Proc" added
2006-09-12 22:15:21 +00:00
gsell 1b2e7a1f75 2006-09-12 22:14:09 +00:00
gsell e962e9d778 test/Bench.c
- declarations of unused variable removed
2006-09-12 22:13:40 +00:00
gsell 1df562f90c test/Makefile.am
- use macros in rule to build "H5testFpar", "H5testFpar.o"
      	- rules to build "H5BlockWriteScalarField1Proc" added
2006-09-12 20:47:31 +00:00
gsell 6c1ce219d1 test/H5testFpar.f90
- renamed, was "H5testFpar.f"
2006-09-12 20:44:11 +00:00
gsell c039ee7322 test/BlockTestSpecs.txt
- added
2006-09-12 17:43:49 +00:00
gsell 41511462f9 repo migration 2006-09-11 20:19:10 +00:00
688 changed files with 19837 additions and 244206 deletions
+65 -561
View File
@@ -1,583 +1,87 @@
* text=auto !eol
/AUTHORS -text
/COPYING -text
/COPYRIGHT -text
/ChangeLog -text
/GNUmakefile.orig -text
/Makefile.am -text
/Makefile.orig -text
/NEWS -text
/README -text
/autogen.sh -text
/config.guess -text
/config.h.in -text
/config.sub -text
/configure.ac -text
/depcomp -text
doc/Building.html -text
doc/BuildingHDF5.html -text
doc/Downloading.html -text
doc/Doxyfile -text
doc/DoxygenLayout.xml -text
doc/Examples/meshexample.dxf -text
doc/Examples/meshexample.txt -text
doc/Examples/simple_tet.vtk -text
doc/Examples/simple_tet_level0.vtk -text
doc/Examples/simple_tet_level1.vtk -text
doc/Examples/simple_tet_level2.vtk -text
doc/Examples/trimesh_dgraph_level0.metis -text
doc/Examples/trimesh_dgraph_level0.metis.part.2 -text
doc/Examples/trimesh_dgraph_level0.metis.part.3 -text
doc/Examples/trimesh_dnode_level1.metis -text
doc/Examples/trimesh_dnode_level1.metis.part.2 -text
doc/Examples/trimesh_level0.metis -text
doc/Examples/trimesh_level0.metis.epart.2 -text
doc/Examples/trimesh_level0.metis.ngraph -text
doc/Examples/trimesh_level0.metis.npart.2 -text
doc/Examples/trimesh_level1.metis -text
doc/Examples/trimesh_level1.metis.part.2 -text
doc/H5.dox -text
doc/H5PartExpress.html -text
doc/H5PartIDL.html -text
doc/H5PartParaview.html -text
doc/H5PartTools.html -text
doc/H5PartVisIt.html -text
doc/H5PartVisIt/cloud_visit.png -text
doc/H5PartVisIt/cloud_visit.s.png -text
doc/H5PartVisIt/cloud_visit_2D.png -text
doc/H5PartVisIt/cloud_visit_2D.s.png -text
doc/H5PartVisIt/visit_query1.png -text
doc/H5PartVisIt/visit_query1.s.png -text
doc/H5X_File_Format.txt -text
doc/H5tools/H5tools.html -text
doc/H5tools/H5tools_files/snapshot1.jpg -text
doc/InternalLayout.html -text
doc/Makefile.am -text
doc/TracFooter.html -text
doc/TracHeader.html -text
doc/UsingC.html -text
doc/UsingF.html -text
doc/collision_6.png -text
doc/collision_6.s.png -text
doc/doxyfooter -text
doc/doxyheader -text
doc/html2twiki -text
doc/meshexample.dxf -text
doc/postprocess.py -text
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.png -text
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.pvsm -text
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.txt -text
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.vtk -text
doc/tetrahedron_refinements/1-edge/edge_01_refined/01_smal.png -text
doc/tetrahedron_refinements/1-edge/edge_01_refined/01_small.png -text
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.png -text
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.pvsm -text
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.txt -text
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.vtk -text
doc/tetrahedron_refinements/1-edge/edge_12_refined/12_small.png -text
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.png -text
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.pvsm -text
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.txt -text
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.vtk -text
doc/tetrahedron_refinements/1-edge/edge_20_refined/20_small.png -text
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.png -text
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.pvsm -text
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.txt -text
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.vtk -text
doc/tetrahedron_refinements/1-edge/edge_23_refined/23_small.png -text
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.png -text
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.pvsm -text
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.txt -text
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.vtk -text
doc/tetrahedron_refinements/1-edge/edge_30_refined/30_small.png -text
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.png -text
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.pvsm -text
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.txt -text
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.vtk -text
doc/tetrahedron_refinements/1-edge/edge_31_refined/31_small.png -text
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.png -text
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.txt -text
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.vtk -text
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12_smal.png -text
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12_small.png -text
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.png -text
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.txt -text
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.vtk -text
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20_small.png -text
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.png -text
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.txt -text
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.vtk -text
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23_smal.png -text
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23_small.png -text
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.png -text
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.txt -text
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.vtk -text
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30_small.png -text
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.png -text
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.txt -text
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.vtk -text
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31_small.png -text
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.png -text
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.txt -text
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.vtk -text
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20_small.png -text
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.png -text
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.txt -text
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.vtk -text
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23_small.png -text
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.png -text
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.txt -text
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.vtk -text
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30_small.png -text
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.png -text
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.txt -text
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.vtk -text
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31_small.png -text
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.png -text
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.txt -text
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.vtk -text
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23_small.png -text
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.png -text
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.txt -text
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.vtk -text
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30_small.png -text
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.png -text
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.txt -text
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.vtk -text
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31_small.png -text
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.png -text
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.txt -text
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.vtk -text
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30_small.png -text
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.png -text
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.txt -text
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.vtk -text
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31_small.png -text
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.png -text
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.pvsm -text
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.txt -text
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.vtk -text
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.png -text
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.png -text
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.png -text
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.png -text
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.png -text
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.png -text
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.png -text
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.png -text
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.txt -text
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.vtk -text
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23_small.png -text
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.png -text
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.txt -text
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.vtk -text
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30_small.png -text
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.png -text
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.png -text
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.txt -text
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.vtk -text
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30_small.png -text
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.png -text
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.png -text
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.png -text
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.txt -text
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.vtk -text
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30_small.png -text
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.png -text
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.png -text
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31_small.png -text
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.png -text
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.pvsm -text
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.txt -text
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.vtk -text
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.png -text
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.png -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.png -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.png -text
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.png -text
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.png -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.txt -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.vtk -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30_small.png -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.png -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.png -text
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.png -text
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31_small.png -text
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.png -text
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.pvsm -text
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.txt -text
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.vtk -text
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31_small.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.pvsm -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.txt -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.vtk -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30_small.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.pvsm -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.txt -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.vtk -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31_small.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.pvsm -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.txt -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.vtk -text
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31_small.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.png -text
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.pvsm -text
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.txt -text
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.vtk -text
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31_small.png -text
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.png -text
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.pvsm -text
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.txt -text
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.vtk -text
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31_small.png -text
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.png -text
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.pvsm -text
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.txt -text
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.vtk -text
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31_small.png -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.aux -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.log -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.pdf -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.png -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.pvsm -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.tex -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.tex.orig -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.txt -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.vtk -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31_small.png -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/buildlatex.bash -text
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/output_file.jpg -text
doc/tetrahedron_refinements/README -text
doc/tetrahedron_refinements/text2vtk.py -text
examples/H5/Makefile.am -text
examples/H5/attach_file.c -text
examples/H5/file_attribs.c -text
examples/H5/openclose.c -text
examples/H5Block/H5BlockExample.pbs -text
examples/H5Block/H5BlockExampleF.f90 -text
examples/H5Block/Makefile.am -text
examples/H5Block/README -text
examples/H5Block/fields.c -text
examples/H5Block/read_write.c -text
examples/H5Fed/Makefile.am -text
examples/H5Fed/map_tet2globalid.c -text
examples/H5Fed/map_triangle2globalid.c -text
examples/H5Fed/tetmesh_adjacencies.c -text
examples/H5Fed/tetmesh_read.c -text
examples/H5Fed/tetmesh_read_tags.c -text
examples/H5Fed/tetmesh_write.c -text
examples/H5Fed/tetmesh_write1.c -text
examples/H5Fed/tetmesh_write2.c -text
examples/H5Fed/tetmesh_write_tags.c -text
examples/H5Fed/trimesh_2gnuplot.c -text
examples/H5Fed/trimesh_adjacencies.c -text
examples/H5Fed/trimesh_read.c -text
examples/H5Fed/trimesh_write.c -text
examples/H5Fed/trimesh_write_dunetest.c -text
examples/H5Fed/write_boundary.c -text
examples/H5Part/Bench.c -text
examples/H5Part/H5test.c -text
examples/H5Part/H5testF.f90 -text
examples/H5Part/Makefile.am -text
examples/H5Part/core_vfd.c -text
examples/H5Part/particles.c -text
examples/H5Part/read_canonicalview.c -text
examples/H5Part/simplef.f90 -text
examples/H5Part/stridedf.f90 -text
examples/H5Part/write_setnumparticles.c -text
examples/H5Part/write_setview.c -text
doc/h5part.html -text
doc/layout.png -text
/install-sh -text
/license.txt -text
src/C/Makefile.am -text
src/Fortran/H5.c -text
src/Fortran/H5Block.c -text
src/Fortran/H5BlockF.f90 -text
src/Fortran/H5Block_F.c -text
src/Fortran/H5Block_attribs.c -text
src/Fortran/H5Block_attribsF.f90 -text
src/Fortran/H5Block_io.c -text
src/Fortran/H5Block_ioF.f90 -text
src/Fortran/H5Block_readwrite_F.c -text
src/Fortran/H5F.f90 -text
src/Fortran/H5Part.c -text
src/Fortran/H5PartF.f90 -text
src/Fortran/H5Part_F.c -text
src/Fortran/H5Part_io.c -text
src/Fortran/H5Part_ioF.f90 -text
src/Fortran/H5_F.c -text
src/Fortran/H5_attribs.c -text
src/Fortran/H5_attribsF.f90 -text
src/Fortran/H5_attribs_F.c -text
src/Fortran/H5_constF.f90 -text
src/Fortran/Makefile.am -text
src/Fortran/TestUnderscore.f -text
src/Fortran/TestUnderscoreC.c -text
src/Fortran/h5_private.h -text
/missing -text
/rules.make -text
src/H5Block.c -text
src/H5Block.h -text
src/H5BlockErrors.h -text
src/H5BlockF.c -text
src/H5BlockF90.inc -text
src/H5BlockPrivate.h -text
src/H5BlockTypes.h -text
src/H5Part.c -text
src/H5Part.h -text
src/H5PartErrors.h -text
src/H5PartF.c -text
src/H5PartF90.inc -text
src/H5PartPrivate.h -text
src/H5PartTypes.h -text
src/Makefile.am -text
src/h5core/Makefile.am -text
src/h5core/h5_attach.c -text
src/h5core/h5_attribs.c -text
src/h5core/h5_attribs_private.h -text
src/h5core/h5_debug_private.h -text
src/h5core/h5_errorhandling.c -text
src/h5core/h5_errorhandling_private.h -text
src/h5core/h5_fcmp.c -text
src/h5core/h5_fcmp_private.h -text
src/h5core/h5_hdf5.c -text
src/h5core/h5_hdf5_private.h -text
src/h5core/h5_hsearch.c -text
src/h5core/h5_hsearch_private.h -text
src/h5core/h5_init.c -text
src/h5core/h5_init_private.h -text
src/h5core/h5_lustre.c -text
src/h5core/h5_lustre_private.h -text
src/h5core/h5_maps.c -text
src/h5core/h5_maps_private.h -text
src/h5core/h5_model.c -text
src/h5core/h5_model_private.h -text
src/h5core/h5_mpi.c -text
src/h5core/h5_mpi_private.h -text
src/h5core/h5_openclose.c -text
src/h5core/h5_private.h -text
src/h5core/h5_qsort.c -text
src/h5core/h5_qsort_private.h -text
src/h5core/h5_qsort_r.c -text
src/h5core/h5_readwrite.c -text
src/h5core/h5_readwrite_private.h -text
src/h5core/h5_syscall.c -text
src/h5core/h5_syscall_private.h -text
src/h5core/h5_types_private.h -text
src/h5core/h5_va_macros.h -text
src/h5core/h5b_attribs.c -text
src/h5core/h5b_model.c -text
src/h5core/h5b_model_private.h -text
src/h5core/h5b_readwrite.c -text
src/h5core/h5b_readwrite_private.h -text
src/h5core/h5b_types_private.h -text
src/h5core/h5t_access_private.h -text
src/h5core/h5t_access_tetm.c -text
src/h5core/h5t_access_trim.c -text
src/h5core/h5t_adjacencies.c -text
src/h5core/h5t_adjacencies_private.h -text
src/h5core/h5t_adjacencies_tetm.c -text
src/h5core/h5t_adjacencies_trim.c -text
src/h5core/h5t_core.c -text
src/h5core/h5t_core_private.h -text
src/h5core/h5t_core_tetm.c -text
src/h5core/h5t_core_trim.c -text
src/h5core/h5t_errorhandling_private.h -text
src/h5core/h5t_map.c -text
src/h5core/h5t_map_private.h -text
src/h5core/h5t_model.c -text
src/h5core/h5t_model_private.h -text
src/h5core/h5t_model_tetm.c -text
src/h5core/h5t_model_trim.c -text
src/h5core/h5t_octree.c -text
src/h5core/h5t_octree_private.h -text
src/h5core/h5t_readwrite.c -text
src/h5core/h5t_readwrite_private.h -text
src/h5core/h5t_readwrite_tetm.c -text
src/h5core/h5t_readwrite_trim.c -text
src/h5core/h5t_ref_elements.c -text
src/h5core/h5t_ref_elements_private.h -text
src/h5core/h5t_retrieve.c -text
src/h5core/h5t_retrieve_private.h -text
src/h5core/h5t_retrieve_tetm.c -text
src/h5core/h5t_retrieve_trim.c -text
src/h5core/h5t_store.c -text
src/h5core/h5t_store_private.h -text
src/h5core/h5t_store_tetm.c -text
src/h5core/h5t_store_trim.c -text
src/h5core/h5t_tags.c -text
src/h5core/h5t_tags_private.h -text
src/h5core/h5t_types_private.h -text
src/h5core/h5u_errorhandling_private.h -text
src/h5core/h5u_model.c -text
src/h5core/h5u_readwrite.c -text
src/h5core/h5u_readwrite_private.h -text
src/h5core/h5u_types_private.h -text
src/include/H5.h -text
src/include/H5Block.h -text
src/include/H5Block_attribs.h -text
src/include/H5Block_io.h -text
src/include/H5Block_model.h -text
src/include/H5Fed.h -text
src/include/H5Fed_adjacency.h -text
src/include/H5Fed_model.h -text
src/include/H5Fed_retrieve.h -text
src/include/H5Fed_store.h -text
src/include/H5Fed_tags.h -text
src/include/H5Part.h -text
src/include/H5Part_io.h -text
src/include/H5Part_model.h -text
src/include/H5_attribs.h -text
src/include/H5_model.h -text
src/include/H5hut.h -text
src/include/Makefile.am -text
src/include/h5core/Makefile.am -text
src/include/h5core/h5.h -text
src/include/h5core/h5_attribs.h -text
src/include/h5core/h5_debug.h -text
src/include/h5core/h5_errorhandling.h -text
src/include/h5core/h5_model.h -text
src/include/h5core/h5_syscall.h -text
src/include/h5core/h5_types.h -text
src/include/h5core/h5b_attribs.h -text
src/include/h5core/h5b_io.h -text
src/include/h5core/h5b_model.h -text
src/include/h5core/h5t_adjacencies.h -text
src/include/h5core/h5t_map.h -text
src/include/h5core/h5t_model.h -text
src/include/h5core/h5t_octree.h -text
src/include/h5core/h5t_retrieve.h -text
src/include/h5core/h5t_store.h -text
src/include/h5core/h5t_tags.h -text
src/include/h5core/h5u_io.h -text
src/include/h5core/h5u_model.h -text
src/TestUnderscore.f -text
src/TestUnderscoreC.c -text
test/Bench.c -text
test/BlockTestSpecs.txt -text
test/H5BlockDissolveGhosts.c -text
test/H5BlockParTestScalarField.c -text
test/H5BlockParTestScalarField.pbs -text
test/H5BlockParTestScalarFieldF.f90 -text
test/H5BlockTestAttributes.c -text
test/H5BlockTestAttributesF.f90 -text
test/H5ParallelTest.cc -text
test/H5PartAndreasTest.cc -text
test/H5PartTest.cc -text
test/H5PartTestParallel.cc -text
test/H5test.cc -text
test/H5testF.f -text
test/H5testFpar.f90 -text
test/Makefile.am -text
test/h5b_read.c -text
test/h5b_test.c -text
test/h5b_write.c -text
test/h5u_read.c -text
test/h5u_test.c -text
test/h5u_write.c -text
test/params.h -text
test/testframe.c -text
test/testframe.h -text
tools/H5PartMerge/AUTHORS -text
tools/H5PartMerge/COPYING -text
tools/H5PartMerge/ChangeLog -text
tools/H5PartMerge/INSTALL -text
tools/H5PartMerge/NEWS -text
tools/H5PartMerge/README -text
tools/H5PartMerge/autogen.sh -text
tools/H5PartMerge/configure.ac -text
tools/H5PartMerge/makefile.am -text
tools/H5PartMerge/src/H5merge.cpp -text
tools/H5PartMerge/src/optparse.cpp -text
tools/H5PartMerge/src/optparse.hh -text
tools/Makefile.am -text
tools/README -text
tools/h5PartDcToVtk.cc -text
tools/h5PartSurfaceToVtk.cc -text
tools/h5hutcc.in -text
tools/h5pAttrib.cc -text
tools/h5pToGNUplot.cc -text
tools/vtk2h5grid/Makefile.am -text
tools/vtk2h5grid/vtk2h5grid.cc -text
tools/homdynToH5p.cc -text
visit_plugins/databases/H5Part/.depend -text
visit_plugins/databases/H5Part/Makefile -text
visit_plugins/databases/H5Part/README.txt -text
-95
View File
@@ -1,95 +0,0 @@
*.tar.gz
*.[oa]
*.la
*.lo
*.so
*.dSYM
*~
*.h5
.deps
.dirstamp
.libs
CMakeFiles
INSTALL
Makefile
Makefile.in
aclocal.m4
attach_field_attributes
dump_field_attributes
autom4te.cache/
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
depcomp
py-compile
examples/H5/attach_file
examples/H5/examples.h
examples/H5/h5hut.mod
examples/H5/openclose
examples/H5/openclosef
examples/H5/query
examples/H5/queryf
examples/H5/read_file_attribs
examples/H5/read_file_attribsf
examples/H5/read_step_attribs
examples/H5/read_step_attribsf
examples/H5/write_file_attribs
examples/H5/write_file_attribsf
examples/H5/write_step_attribs
examples/H5/write_step_attribsf
examples/H5Block/H5BlockExampleF
examples/H5Block/fields
examples/H5Block/read_write
examples/H5Part/Bench
examples/H5Part/H5test
examples/H5Part/H5testF
examples/H5Part/core_vfd
examples/H5Part/examples.h
examples/H5Part/h5hut.mod
examples/H5Part/particles
examples/H5Part/read_canonicalview
examples/H5Part/read_setnparticles
examples/H5Part/read_setview
examples/H5Part/read_strided
examples/H5Part/write_core_vfd
examples/H5Part/write_setnparticles
examples/H5Part/write_setnumparticles
examples/H5Part/write_setview
examples/H5Part/write_setviewf
examples/H5Part/write_strided
has_field
install-sh
libtool
ltmain.sh
m4/
missing
src/Fortran/TestUnderscore
src/Fortran/Underscore.h
src/include/H5hut.f
src/include/H5hutF.h
stamp-h1
test/h5b_test
test/h5u_test
test/h5_attach_test
tools/h5hutcc
tetmesh_adjacencies
tetmesh_read
tetmesh_read_tags
tetmesh_write
tetmesh_write1
examples/H5Fed/tetmesh_write2
examples/H5Fed/trimesh_2gnuplot
examples/H5Fed/trimesh_adjacencies
examples/H5Fed/trimesh_read
examples/H5Fed/trimesh_write
examples/H5Fed/trimesh_write_dunetest
tetmesh_write_tags
write_field
*.gch
ReferencePages
vtk2h5grid
+1 -1
View File
@@ -7,4 +7,4 @@ Wes Bethel (NERSC/LBNL)
John Shalf (NERSC/LBNL)
Cristina Siegerist (NERSC/LBNL)
Please use h5part@lists.psi.ch for communication.
Please use h5part@lists.psi.ch for communicaion.
-71
View File
@@ -1,71 +0,0 @@
*** Copyright Notice ***
H5hut Copyright (c) 2006-2016, The Regents of the University of California,
through Lawrence Berkeley National Laboratory (subject to receipt of any
required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
Institut (Switzerland). All rights reserved.
If you have questions about your rights to use or distribute this
software, please contact Berkeley Lab's Technology Transfer Department
at TTD@lbl.gov referring to "H5Part (LBNL Ref CR-2255)"
NOTICE. This software was developed under partial funding from the U.S.
Department of Energy. As such, the U.S. Government has been granted for
itself and others acting on its behalf a paid-up, nonexclusive,
irrevocable, worldwide license in the Software to reproduce, prepare
derivative works, and perform publicly and display publicly. Beginning
five (5) years after the date permission to assert copyright is obtained
from the U.S. Department of Energy, and subject to any subsequent five
(5) year renewals, the U.S. Government is granted for itself and others
acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide
license in the Software to reproduce, prepare derivative works,
distribute copies to the public, perform publicly and display publicly,
and to permit others to do so.
*** License agreement ***
H5hut Copyright (c) 2006-2016, The Regents of the University of California,
through Lawrence Berkeley National Laboratory (subject to receipt of any
required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
Institut (Switzerland). All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
(1) Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
(2) Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
(3) Neither the name of the University of California, Lawrence Berkeley
National Laboratory, U.S. Dept. of Energy, Paul Scherrer Institut
(Switzerland) nor the names of its contributors may be used to endorse
or promote products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
You are under no obligation whatsoever to provide any bug fixes,
patches, or upgrades to the features, functionality or performance of
the source code ("Enhancements") to anyone; however, if you choose to
make your Enhancements available either publicly, or directly to
Lawrence Berkeley National Laboratory, without imposing a separate
written license agreement for such Enhancements, then you hereby grant
the following license: a non-exclusive, royalty-free perpetual license
to install, use, modify, prepare derivative works, incorporate into
other computer software, distribute, and sublicense such enhancements or
derivative works thereof, in binary and source code form.
+7
View File
@@ -0,0 +1,7 @@
*** Copyright Notice ***
H5Part Copyright (c) 2006, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy) and the Paul Scherrer Institut (Switzerland). All rights reserved.
If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Technology Transfer Department at TTD@lbl.gov referring to "H5Part (LBNL Ref CR-2255)"
NOTICE. This software was developed under partial funding from the U.S. Department of Energy. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, and perform publicly and display publicly. Beginning five (5) years after the date permission to assert copyright is obtained from the U.S. Department of Energy, and subject to any subsequent five (5) year renewals, the U.S. Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.
-15
View File
@@ -1,15 +0,0 @@
2018-09-14 Gsell Achim <achi.gsell@psi.ch>
* C-API
- H5PartSetNumPoints() renamed to H5PartSetNumItems()
- H5PartGetNumPoints() renamed to H5PartGetNumItems()
- Dataset names longer then 64 bytes are handled as error.
- Same for step/iteration names.
* core API
- we use the term 'iteration' instead of 'step'
- we use the term 'item' instead of 'point'
- re-factor function and variable names
- in printing messages/debug output fixed
- do not flush (sync to disk) after writing a dataset by default,
can be controlled by a property
+133
View File
@@ -0,0 +1,133 @@
UNAME := $(shell uname | perl -pe 's/(sn\d\d\d\d|jsimpson)/UNICOS\/mk/')
# for host specific options
HOST := $(shell hostname)
# for processor-specific options
ifeq ($(UNAME), Linux)
PROC := $(shell uname -p)
endif
CXX = c++
CC = cc
H5HOME = /usr/local/hdf5
CFLAGS = -g -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
# MacOS-X Serial
ifeq ($(UNAME), Darwin)
ifeq ($(PARALLEL), yes)
CXX = g++
CC = mpicc
H5HOME = /usr/local
CFLAGS = -O -g -I$(H5HOME)/include -DPARALLEL_IO
LDFLAGS = -L$(H5HOME)/lib -lmpich -lpmpich -lhdf5 -lz -lm
else
CXX = c++
CC = cc
F90 = xlf
H5HOME = /usr/local
CFLAGS = -O -g -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
endif
endif
# SGI MIPS/Irix
ifeq ($(UNAME), IRIX64)
CXX = CC
CC = cc
F90 = f90
ifeq ($(PARALLEL), yes)
H5HOME = $(HDF5_DIR)
CFLAGS = -64 -O3 -I$(H5HOME)/include -DPARALLEL_IO
LDFLAGS = -64 -O3 -L$(H5HOME)/lib -lhdf5 -lz -lmpi -lm
else
H5HOME = /usr/local
CFLAGS = -O3 -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
endif
endif
# AIX/SP-2 Parallel/serial : Seaborg
ifeq ($(UNAME), AIX)
ifeq ($(PARALLEL), yes) # parallel
CXX = mpCC_r
CC = mpxlc_r
# H5HOME = /usr/common/usg/hdf5_64/1.4.5-post2/parallel
H5HOME = /usr/common/usg/hdf5_64/1.6.1/parallel
# /usr/common/usg/hdf5/1.4.4/parallel
H4HOME = /usr/common/usg/hdf/default
OPT = -qarch=auto -qtune=auto-qcache=auto -O3 -qhot
CFLAGS = -q64 -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -L$(H4HOME)/lib -lz -lsz -lm
else # serial
CXX = xlC
CC = xlc
H5HOME = /usr/common/usg/hdf5/1.4.4/serial
H4HOME = /usr/common/usg/hdf/default
OPT = -qarch=auto -qtune=auto-qcache=auto -O3 -qhot
CFLAGS = -g -bmaxdata:800000000 -bmaxstack:256000000 -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -L$(H4HOME)/lib -lz -lm
endif
endif
# Linux
ifeq ($(UNAME), Linux)
# if this machine is NERSC/Davinci Altix system
ifeq ($(PROC), ia64)
CC = icc
CXX = icc
ifeq ($(PARALLEL), yes)
# IA64 Linux Parallel
ifeq ($(HOST), davinci)
H5HOME = $(HDF5_PAR)
MPILIB = -lmpi
else
H5HOME = /usr/local
HDF5_PAR_LIB = -L$(H5HOME)/lib -lhdf5 -lz -lm
HDF5_PAR_INCLUDE = -I$(H5HOME)/include
MPIHOME = /usr/local
MPILIB = -lmpich
endif # HOST
CFLAGS = -O3 -DPARALLEL_IO -DH5_HAVE_PARALLEL $(HDF5_PAR_INCLUDE)
LDFLAGS = $(HDF5_PAR_LIB) $(MPILIB)
else # IA64 Linux Serial
CFLAGS = -O3 $(HDF5_INCLUDE)
LDFLAGS = $(HDF5_LIB) -lm
endif # PARALLEL
# else this is standard IA32 linux
else
ifeq ($(PARALLEL), yes)
# Linux Parallel
CC = gcc
CXX = g++
H5HOME = /usr/local
MPIHOME = /usr/local
CFLAGS = -O -g -DPARALLEL_IO -DH5_HAVE_PARALLEL -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lmpich -lrt -lz -lm
else # Linux Serial
CXX = g++
CC = gcc
CFLAGS = -O -g -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
endif # !PARALLEL
endif # PROC!ia64
endif # !Linux
ifeq ($(PARALLEL), yes) #parallel
ifdef F90
all: H5PartTest H5PartTest.o H5Part.o H5PartTestParallel H5PartAndreasTest H5PartF.o
else
all: H5PartTest H5PartTest.o H5Part.o H5PartTestParallel H5PartAndreasTest
endif
else
ifdef F90
all: H5PartTest H5PartTest.o H5Part.o H5PartF.o
else
all: H5PartTest H5PartTest.o H5Part.o
endif
endif
include rules.make
+12 -18
View File
@@ -1,21 +1,15 @@
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = \
autogen.sh \
ax_pkg_swig.m4
# Trial by Antino Kim
# Top level Makefile.am
SUBDIRS = \
src \
test \
tools \
doc \
examples/H5 \
examples/H5Part \
examples/H5Block \
examples/H5Fed
SUBDIRS = \
doc \
src \
test \
tools
MAINTAINERCLEANFILES = \
config.h \
config.log \
config.status \
stamp-h.in \
MAINTAINERCLEANFILES = \
config.h \
config.log \
config.status \
stamp-h.in \
stamp-h1
Executable
+59
View File
@@ -0,0 +1,59 @@
# This is a very rudimentary multiarchitecture makefile
# You need to uncomment the default block of make variables you need
# Some key things to watch for are the following defines
# -DREGRESSIONTEST : enables a main(){} inside of
# the H5Part.cc file that does simple regression testing.
# -DPARALLEL_IO : If you want to use parallel HDF5, you have to
# enable this. Otherwise, you get only the serial
# implementation of the library.
# MacOS-X Serial
#CXX = c++
#CC = cc
#F90 = xlf
#H5HOME = /usr/local
#CFLAGS = -O -g -I$(H5HOME)/include
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
# AIX/SP-2 Parallel : Seaborg
#CXX = mpCC_r
#CC = mpcc_r
#F90 = mpxlf
#H5HOME = /usr/common/usg/hdf5/1.4.4/parallel
#H4HOME = /usr/common/usg/hdf/default
#OPT = -qarch=auto -qtune=auto-qcache=auto -O3 -qhot
#CFLAGS = -g -bmaxdata:800000000 -bmaxstack:256000000 -I$(H5HOME)/include
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -L$(H4HOME)/lib -lz -lm
# Linux Serial
#CXX = g++
#CC = gcc
#F90 = g77 # or could be pgif90
#CFLAGS = -O -g -I$(H5HOME)/include
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
# Linux Jacquard
CC = mpicc
CXX = mpicxx
F90 = mpif90
H5HOME = /usr/common/usg/hdf5/1.6.3/parallel
CFLAGS = -O2 -DPARALLEL_IO -DH5_HAVE_PARALLEL -I$(H5HOME)/include
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
# Linux Parallel
#CC = gcc
#CXX = g++
#F90 = g77
#H5HOME = /usr/local
# /usr/common/usg/hdf5/1.6.3/parallel
#MPIHOME = /usr/local
#CFLAGS = -O -g -DPARALLEL_IO -DH5_HAVE_PARALLEL -I$(H5HOME)/include
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lmpich -lrt -lz -lm
all: H5PartTest H5PartTest.o H5Part.o
parallel: H5PartTest H5PartTest.o H5Part.o H5PartTestParallel H5PartAndreasTest # parallel regression tests
fortran: H5PartF.o # fortran bindings
include rules.make
-254
View File
@@ -1,257 +1,3 @@
#### H5PART trunk ############################################################
* h5_file_t is now uintptr_t
* experimental version of parallel H5Fed
* new API function for file open using properties (similiar to hdf5 properties)
#### H5PART 1.99.10 ############################################################
* C99 compiler required
* C API with inline functions
#### H5PART 1.99.0 ############################################################
rudimental implementation of a grid manager
Important changes from version 1.6 to 1.99.0
Renamed type:
H5PartFile -> h5_file_t
h5part_int64_t -> h5_int64_t
h5part_float64_t -> h5_float_t
Renamed functions:
All function not related to a specific data model have been renamed from
H5PartFunction() to H5Function().
Example:
H5PartOpenFile() -> H5OpenFile()
Removed functions:
To simplify the API, there is just one function to open a file. It's the
same function for serial and parallel code.
#### H5PART 1.6.6 ############################################################
Fixed typo (Write instead of Read) in the h5bl_3d_read_scalar_field* Fortran
interface.
Added missing type normalization for int32 type.
Rewrite of h5pAttrib tool.
#### H5PART 1.6.5 ############################################################
Fixed several build errors reported by Iuri Prilepov on Ubuntu 11.04.
#### H5PART 1.6.4 ############################################################
Fixed bug where H5PartSetViewIndices was not setting an empty view when the
number of elements is 0.
Set a threshold on the HDF5 alignment parameter so that small metadata writes
are not aligned, which causes large gaps in the file.
#### H5PART 1.6.3 ############################################################
New build system uses libtool and can build shared libraries.
Fixed a bug that incorrectly identifies the number of selected points in a view
when using H5PartSetViewIndices.
Fixed bug in Fortran test reported by several people, as well as several
incorrect views set in the C test that were causing segfaults.
Fixed name mismatches in the Fortran interface, and an off-by-one indexing
problem.
#### H5PART 1.6.2 ############################################################
Removed H5PartSetViewEmpty
--------------------------
An empty view can now be selected with:
H5PartSetNumParticles(file, 0);
Bug Fixes to Attribute Calls in Fortran API
-------------------------------------------
Fixed a problem where attribute values were reverting to zero.
#### H5PART 1.6.1 ############################################################
Chunking in the H5Part API
--------------------------
There is now an H5Part equivalent H5PartSetChunkSize to the existing
H5BlockDefine3DChunkDims call. Both of these calls enable the chunking
mechanism in the underlying HDF5 layer. Chunking is used in combination
with the aligned open calls to pad datasets to alignment multiples
on disk.
All Steps Available on Write
----------------------------
Previously, existing steps in a file were only accessible in read-only mode.
Now, all steps are available in all modes, including write-truncate and
write-append. Thus, it is now possible to overwrite existing data in write
mode. To help alert the user to this possibility, a warning is issued every
time an existing dataset is written to. Warnings can be printed by setting
the verbosity to H5PART_VERB_WARN or higher.
New Throttling Routine
----------------------
Previously, a throttle factor of N meant that for P processors, the total
number of P writes were divided into N batches of P/N writes.
To better accommodate round-robin lustre striping, the new policy is to
execute P/N batches of N writes. Thus, matching N to the number of stripes
results in the desirable 1-1 matching of writers to stripes.
Other Fixes
-----------
* The configure script should correctly detect PGI compilers now.
* There was a small memory leak in the Fortran file open calls.
* There was a compile error with HDF5 1.6.x due to a missing assignment.
#### H5PART 1.6 ##############################################################
Updated Documentation
---------------------
The Fortran API has been added to the doxygen documentation. Most entries have
a reference to their respective C API call.
Regression Test Suite
---------------------
The test subdirectory has been reorganized to include a systematic series
of regression tests of common use cases for the API. The goal is to have both
complete coverage of the API (every call is exercised) and testing of some
unlikely or unsuspected values and cases.
Currently, the C test covers the entire H5Part API and the Fortran test is
still in development.
Benchmark Utilities
-------------------
Two benchmarking utilities, H5PartBench and H5BlockBench, have been added to
the tools collection. Both require the parallel library and have functionality
and syntax similar to the IOR benchmark:
http://sourceforge.net/projects/ior-sio/
File Mode Flags
---------------
Previously, the only flags used were H5PART_READ, H5PART_WRITE, and
H5PART_APPEND, and these were mutually exclusive. Additional flags have been
added to select the underlying virtual file driver (VFD) that HDF5 uses in
parallel mode and to accommodate the lustre filesystem:
H5PART_VFD_MPIPOSIX (use the MPI-POSIX driver, which bypasses MPI-IO)
H5PART_VFD_MPIIO_IND (use MPI-IO in independent mode)
H5PART_FS_LUSTRE (activate H5P tunings for the lustre stripe size)
These flags can be specified using the typical bitwise OR method, e.g.
char flag = H5PART_WRITE | H5PART_VFD_MPIPOSIX | H5PART_FS_LUSTRE;
will select write mode with these two additional options.
The parallel library now defaults to using the MPI-IO collective mode driver
(previously it used independent mode). The collective buffering algorithm in
the Cray XT4/5 environment has been substantially improved in the last year,
and defaulting to collective mode allows us to take advantage of these
improvements automatically.
There are also new open calls H5PartOpenAlign and H5PartOpenParallelAlign that
take an additional 'alignment' value. This value is passed to HDF5 and used to
pad out objects so that they align to filesystem boundaries. For instance, it
would make sense to use the stripe size as the alignment value when writing to
a lustre filesystem.
Unified 'View' Model
--------------------
Views are now supported in both read and write mode (previously only supported
in read mode). It is possible to specify non-sensical views: you could for
instance specify a read view that is larger than the dataset on disk. Or you
could create a write view that is larger than the data in memory. In those
cases, you will encounter an error when you try to perform a read or write
operation on a dataset.
There are two new methods for selecting views. H5PartSetNumParticlesStrided
selects a view with $n$ particles per processor, but such that the data in
memory is expected to have a 'stride' factor. For instance, if you have
particle data with fields $x$ and $y$ and a single array with entries
$x1,y1,x2,y2...$, then the stride factor is 2. Striding works for both reads
and writes and only affects the view of memory: individual fields are still
stored as individual arrays on disk.
The second new method is H5PartSetViewIndices, which allows for point
selections of datasets. You can pass a list of indices for the points you
want to select. This is useful, for instance, when interfacing with FastBit
to perform queries that select a small subset of non-contiguous particles.
Because views are now supported on write, it is possible to write a dataset
using multiple 'passes' or to leave some values unwritten.
Also, all views are now *inclusive*, so that a view of (0,9) corresponds
to the 10 items 0, 1, 2, ... 9.
Internal Handling of Dataspaces
-------------------------------
H5PartSetNumParticles and H5PartSetNumParticlesStrided now share the same
HDF5 dataspace state in the H5PartFile struct with the calls that modify
the view (H5PartSetView etc.). Previously, the memory and disk dataspaces
were regenerated from the view on every read access, which was unnecessary.
Autogeneration of API Calls
---------------------------
Python scripts have been added to automatically generate read/write call
variants for different data types.
Renamed Fortran Include
-----------------------
The automake system no longer greps the *F90.inc files to generate an include
called 'H5Part.inc'. Instead, the *F90.inc files have been renamed to *.f90,
and awk is used to generate an 'H5PartF.h' file (the same naming convention
as in MPI's 'mpif.h').
The change to *.f90 was necessary to facilitate integration of the Fortran
API into doxygen. Note that the *.f90 files will not compile, nor can they
be included directly. Simply use
include 'H5PartF.h'
in your Fortran code to include all the definitions for Fortran H5Part/H5Block
calls.
64 Char Limit on Dataset Names
------------------------------
Previously, a user could overrun internal buffers for dataset names. Now, a
fixed limit of 64 chars is imposed. Dataset names that are longer than this are
truncated and a warning is printed. We expect that most users are using
short canonical names like x, px, id, etc.
Changes to Existing API
-----------------------
The H5BlockGetFieldInfo and H5BlockGetFieldInfoByName calls now both include
a parameter for the 'type' of the field.
#### H5PART 1.4 ##############################################################
Error Handling
--------------
Now all functions, in which an error could occure, are returning a
+418
View File
@@ -0,0 +1,418 @@
==============================================================================
README file for H5Part configure
==============================================================================
+ 0. HDF5 library
-----------------
Make sure you have a working version of the HDF5 library in your computer. If you plan
to use parallel I/O you need to use a parallel HDF5 version. If you don't have the
library download the sources from http://hdf.ncsa.uiuc.edu/HDF5/
+ 1. Quick start (If you feel lucky...)
----------------------------------------
For many platforms, where compilers are installed in the "default" location
and all the environment variables are set correctly, it should be sufficient
to type:
./configure [OPTIONS] && make [install]
to have the libraries and test program compiled.
==============================================================================
+ 2. configure line options
----------------------------
(1) Enable options
--enable-fortran
--enable-parallel
--enable-tools
--enable-python
--enable-64 (only for AIX and Irix)
(2) Setting compilers related variables manually
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Compiler environment variables:
CC C compiler command
CXX C++ compiler command
FC Fortran compiler command
(3) Setting prefix for installation manually
--prefix=PREFIX install files in PREFIX
For more information, type:
./configure --help
==============================================================================
+ 3. Platform specific settings for compiling libraries & test programs
------------------------------------------------------------------------
Building
make : builds the libraries and test programs
make install: builds and installs
make clean : removes extraneous object files
make distclean : returns configuration to unconfigured state
As tested on hosts:
(1) Davinci <davinci.nersc.gov> (Linux"SUSE"-ia64)
---------------------------------------------------
FIRST THING FIRST!! Type:
module load intel
to have the proper compilers set up for use.
module load hdf5_par
[NOTE: module load hdf5 does not work at this moment.
Possible installation error of HDF5 on Davinci.]
Brief profile:
CC = icc
CXX = icc
FC = ifort
MPICC = icc
MPICXX = icc
MPIFC = ifort
If default doesn't work, try:
For C shell:
env CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure && make install
For Korn or Bourne shell:
CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure && make install
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
On this host, executing:
For C shell:
env CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure --enable-fortran --enable-parallel && make install
For Korn or Bourne shell:
CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure --enable-fortran --enable-parallel && make install
has functioned correctly.
To run test program, go to test directory:
(i) Serial test
run:
./H5testF
./H5PartTest
(ii) Parallel test
run:
mpirun 2 H5testFpar
mpirun 2 H5PartTestP
NOTE: Number 2 above is a arbitrary number that indicates the number of processes.
(2) Jacquard <jacquard.nersc.gov> (Linux"SUSE"-x86_64)
-------------------------------------------------------
Brief profile:
CC = pathcc
CXX = pathCC
FC = pathf90
MPICC = mpicc
MPICXX = mpicxx
MPIFC = mpif90
If default doesn't work, try:
For C shell:
env CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure && make install
For Korn or Bourne shell:
CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure && make install
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
On this host, executing:
For C shell:
env CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure --enable-fortran --enable-parallel && make install
For Korn or Bourne shell:
CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure --enable-fortran --enable-parallel && make install
has functioned correctly.
To run test program, go to test directory:
(i) Serial test
run:
./H5testF
./H5PartTest
(ii) Parallel test
In Jacquard, we need a script to run parallel programs, since Jacquard does not support interactive parallel processing. Instead, we need to submit the task to a queue. A sample script (run_H5testFpar.scr) may look like below:
+++++++++++++++++++++++++++++++++++++++
#!/bin/csh
#PBS -l nodes=1:ppn=2,walltime=00:05:00
#PBS -N H5testFpar
#PBS -o H5testFpar.out
#PBS -e H5testFpar.err
#PBS -q debug
#PBS -A mpccc
#PBS -V
setenv PBS_OWORKDIR /home/H5Part/test
cd $PBS_O_WORKDIR
mpirun -np 2 ./H5testFpar
+++++++++++++++++++++++++++++++++++++++
Then, we need to submit the task to a queue by running:
qsub run_H5testFpar.scr
After processed, the result will appear in H5testFpar.out, and error messages will appear in H5testFpar.err.
(3) Bassi <bassi.nersc.ogv> (AIX5.3.0.0-Power 3)
-------------------------------------------------
FIRST THING FIRST!! Type:
module load gcc
to have the proper compilers set up for use.
Brief profile:
CC = cc_r
CXX = cc_r
FC = xlf_r
MPICC = mpcc_r
MPICXX = mpcc_r
MPIFC = mpxlf_r
If default doesn't work, try:
For C shell:
env CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure && make install
For Korn or Bourne shell:
CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure && make install
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
On this host, executing:
For C shell:
env CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure --enable-fortran --enable-parallel && make install
For Korn or Bourne shell:
CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure --enable-fortran --enable-parallel && make install
has functioned correctly.
To run test program, go to test directory:
(i) Serial test
run:
./H5testF
./H5PartTest
(ii) Parallel test
run:
unsetenv MP_SINGLE_THREAD
poe ./H5PartTestP -procs 2 -nodes 1
poe ./H5testFpar -procs 2 -nodes 1
For more details on how to run parallel programs on Bassi, go to:
http://www.nersc.gov/nusers/resources/bassi/running_jobs/
(4) Starsky <starsky.lbl.gov> (Darwin8.5.0-PowerPC)
----------------------------------------------------
FIRST THING FIRST!! Set environment variables: (in tcsh)
setenv LD_LIBRARY_PATH /usr/local/g95/lib/gcc-lib/powerpc-apple-darwin8.5.0/4.0.3/
setenv PATH ${PATH}:/usr/local/g95/bin
NOTE: This environment variable setting is specifit to Starsky. It is to make configure find the fortran compiler.
Brief profile:
CC = gcc
CXX = g++
FC = g95
If default doesn't work, try:
For C shell:
env CC=gcc CXX=g++ FC=g95 ./configure && make install
For Korn or Bourne shell:
CC=gcc CXX=g++ FC=g95 ./configure && make install
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
On this host, executing:
For C shell:
env CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
For Korn or Bourne shell:
CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
has functioned correctly.
To run test program, go to test directory:
(i) Serial test
run:
./H5testF
./H5PartTest
(5) Linux AMD64 Visualization group workstations (Linux"SUSE"-x86_64)
---------------------------------------------------------
Brief profile:
CC = gcc
CXX = g++
FC = g95
If default doesn't work, try:
For C shell:
env CC=gcc CXX=g++ FC=g95 ./configure && make install
For Korn or Bourne shell:
CC=gcc CXX=g++ FC=g95 ./configure && make install
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
On this host, executing:
For C shell:
env CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
For Korn or Bourne shell:
CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
has functioned correctly.
To run test program, go to test directory:
(i) Serial test
run:
./H5testF
./H5PartTest
(6) Cray XT3 @ CSCS gele
1) modules/3.1.6 9) PrgEnv-pgi/1.4.26 17) xt-lustre-ss/1.4.26
2) MySQL/4.0.26 10) xt-pbs/5.3.4 18) Base-opts/1.4.26
3) acml/3.0 11) xt-service/1.4.26 19) subversion/1.3.2
4) pgi/6.1.4 12) xt-libc/1.4.26 20) zlib/1.2.3
5) totalview/7.2.0 13) xt-os/1.4.26 21) szip/2.0
6) xt-libsci/1.4.26 14) xt-catamount/1.4.26 22) hdf5/1.6.5
7) xt-mpt/1.4.26 15) xt-boot/1.4.26
8) xt-pe/1.4.26 16) xt-crms/1.4.26
CFLAGS="-I$H5HOME/include -DF77_SINGLE_UNDERSCORE" LDFLAGS="-L$H5HOME/lib -L$ZHOME/lib" ./configure --enable-parallel --enable-fortran
(7) merlin00 / merlin3
Currently Loaded Modulefiles:
1) hdf5/hdf5-1.6.5 2) root/root-5.10.00 3) mpi/mpich2-1.0.3-pgi-6.1 4) pgi/pgi_64-6.1
FC=mpif90 ./configure --enable-parallel --enable-fortran
==============================================================================
+ 4. Trouble shooting (Things to check for...)
--------------------------------------------
(0) Have you set the LD_LIBRARY_PATH?
---Some systems require the user to manually set the environment variable, LD_LIBRARY_PATH. To do so:
set the environment variable HDF5ROOT or PHDF5ROOT to point to your installation of HDF5 (serial and/or parallel respectively).
For Korn or Bourne shell:
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5ROOT}/lib;export LD_LIBRARY_PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:{PHDF5ROOT}/lib;export LD_LIBRARY_PATH
For C shell:
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HDF5ROOT}/lib
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PHDF5ROOT}/lib
Note that the values of HDF5ROOT & PHDF5ROOT will be in the "summary" section when you run configure.
Not properly set LD_LIBRARY_PATH value may result in a runtime error:
./H5PartTest: error while loading shared libraries: libhdf5.so.0: cannot open shared object file: No such file or directory
(1) Are the compilers set correctly?
---Check with: which COMPILER
(2) Have you installed HDF5?
---You can get it at: http://vis.lbl.gov/Research/AcceleratorSAPP/index.html
(3) Have you loaded the proper modules?
---It is necessary in Davinci & Bassi, and configure && make install may not work without it.
+24 -26
View File
@@ -1,48 +1,46 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
ACLOCAL_FLAGS="-I m4 -I . $ACLOCAL_FLAGS"
LIBTOOLIZE_FLAGS="--force $LIBTOOLIZE_FLAGS"
AUTOMAKE_FLAGS="--add-missing --copy --foreign $AUTOMAKE_FLAGS"
LIBTOOLIZE=`which libtoolize`
if [ "$LIBTOOLIZE" = "" ]; then
LIBTOOLIZE=`which glibtoolize`
fi
if [ "$LIBTOOLIZE" = "" ]; then
echo "libtoolize not found" 1>&2
exit 1
fi
echo "+ making misc files ..."
touch NEWS README AUTHORS ChangeLog
echo
$LIBTOOLIZE $LIBTOOLIZE_FLAGS || {
echo "libtoolize failed"
exit 1
}
echo
echo
echo "+ running aclocal ..."
aclocal $ACLOCAL_FLAGS || {
echo "aclocal failed - check that all needed development files are present on system"
exit 1
echo
echo "aclocal failed - check that all needed development files are present on system"
exit 1
}
echo
echo
echo
echo
echo "+ running autoheader ... "
autoheader || {
echo "autoheader failed"
exit 1
echo
echo "autoheader failed"
exit 1
}
echo
echo
echo
echo "+ running autoconf ... "
autoconf || {
echo "autoconf failed"
exit 1
echo
echo "autoconf failed"
exit 1
}
echo
echo
echo
echo "+ running automake ... "
automake $AUTOMAKE_FLAGS || {
echo "automake failed"
exit 1
automake -a -c --foreign || {
echo
echo "automake failed"
exit 1
}
echo
echo
echo
-982
View File
@@ -1,982 +0,0 @@
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
#
# DESCRIPTION
#
# Check for baseline language coverage in the compiler for the specified
# version of the C++ standard. If necessary, add switches to CXX and
# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
# or '14' (for the C++14 standard).
#
# The second argument, if specified, indicates whether you insist on an
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
# -std=c++11). If neither is specified, you get whatever works, with
# preference for an extended mode.
#
# The third argument, if specified 'mandatory' or if left unspecified,
# indicates that baseline support for the specified C++ standard is
# required and that the macro should error out if no mode with that
# support is found. If specified 'optional', then configuration proceeds
# regardless, after defining HAVE_CXX${VERSION} if and only if a
# supporting mode is found.
#
# LICENSE
#
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
# Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.
#serial 7
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
dnl (serial version number 13).
AX_REQUIRE_DEFINED([AC_MSG_WARN])
AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
[$1], [14], [ax_cxx_compile_alternatives="14 1y"],
[$1], [17], [ax_cxx_compile_alternatives="17 1z"],
[m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
m4_if([$2], [], [],
[$2], [ext], [],
[$2], [noext], [],
[m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
[$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
[$3], [optional], [ax_cxx_compile_cxx$1_required=false],
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
AC_LANG_PUSH([C++])dnl
ac_success=no
AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
ax_cv_cxx_compile_cxx$1,
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
[ax_cv_cxx_compile_cxx$1=yes],
[ax_cv_cxx_compile_cxx$1=no])])
if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
ac_success=yes
fi
m4_if([$2], [noext], [], [dnl
if test x$ac_success = xno; then
for alternative in ${ax_cxx_compile_alternatives}; do
switch="-std=gnu++${alternative}"
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
$cachevar,
[ac_save_CXX="$CXX"
CXX="$CXX $switch"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
[eval $cachevar=yes],
[eval $cachevar=no])
CXX="$ac_save_CXX"])
if eval test x\$$cachevar = xyes; then
CXX="$CXX $switch"
if test -n "$CXXCPP" ; then
CXXCPP="$CXXCPP $switch"
fi
ac_success=yes
break
fi
done
fi])
m4_if([$2], [ext], [], [dnl
if test x$ac_success = xno; then
dnl HP's aCC needs +std=c++11 according to:
dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
dnl Cray's crayCC needs "-h std=c++11"
for alternative in ${ax_cxx_compile_alternatives}; do
for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
$cachevar,
[ac_save_CXX="$CXX"
CXX="$CXX $switch"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
[eval $cachevar=yes],
[eval $cachevar=no])
CXX="$ac_save_CXX"])
if eval test x\$$cachevar = xyes; then
CXX="$CXX $switch"
if test -n "$CXXCPP" ; then
CXXCPP="$CXXCPP $switch"
fi
ac_success=yes
break
fi
done
if test x$ac_success = xyes; then
break
fi
done
fi])
AC_LANG_POP([C++])
if test x$ax_cxx_compile_cxx$1_required = xtrue; then
if test x$ac_success = xno; then
AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
fi
fi
if test x$ac_success = xno; then
HAVE_CXX$1=0
AC_MSG_NOTICE([No compiler with C++$1 support was found])
else
HAVE_CXX$1=1
AC_DEFINE(HAVE_CXX$1,1,
[define if the compiler supports basic C++$1 syntax])
fi
AC_SUBST(HAVE_CXX$1)
m4_if([$1], [17], [AC_MSG_WARN([C++17 is not yet standardized, so the checks may change in incompatible ways anytime])])
])
dnl Test body for checking C++11 support
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
)
dnl Test body for checking C++14 support
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
)
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
_AX_CXX_COMPILE_STDCXX_testbody_new_in_17
)
dnl Tests for new features in C++11
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
// If the compiler admits that it is not ready for C++11, why torture it?
// Hopefully, this will speed up the test.
#ifndef __cplusplus
#error "This is not a C++ compiler"
#elif __cplusplus < 201103L
#error "This is not a C++11 compiler"
#else
namespace cxx11
{
namespace test_static_assert
{
template <typename T>
struct check
{
static_assert(sizeof(int) <= sizeof(T), "not big enough");
};
}
namespace test_final_override
{
struct Base
{
virtual void f() {}
};
struct Derived : public Base
{
virtual void f() override {}
};
}
namespace test_double_right_angle_brackets
{
template < typename T >
struct check {};
typedef check<void> single_type;
typedef check<check<void>> double_type;
typedef check<check<check<void>>> triple_type;
typedef check<check<check<check<void>>>> quadruple_type;
}
namespace test_decltype
{
int
f()
{
int a = 1;
decltype(a) b = 2;
return a + b;
}
}
namespace test_type_deduction
{
template < typename T1, typename T2 >
struct is_same
{
static const bool value = false;
};
template < typename T >
struct is_same<T, T>
{
static const bool value = true;
};
template < typename T1, typename T2 >
auto
add(T1 a1, T2 a2) -> decltype(a1 + a2)
{
return a1 + a2;
}
int
test(const int c, volatile int v)
{
static_assert(is_same<int, decltype(0)>::value == true, "");
static_assert(is_same<int, decltype(c)>::value == false, "");
static_assert(is_same<int, decltype(v)>::value == false, "");
auto ac = c;
auto av = v;
auto sumi = ac + av + 'x';
auto sumf = ac + av + 1.0;
static_assert(is_same<int, decltype(ac)>::value == true, "");
static_assert(is_same<int, decltype(av)>::value == true, "");
static_assert(is_same<int, decltype(sumi)>::value == true, "");
static_assert(is_same<int, decltype(sumf)>::value == false, "");
static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
return (sumf > 0.0) ? sumi : add(c, v);
}
}
namespace test_noexcept
{
int f() { return 0; }
int g() noexcept { return 0; }
static_assert(noexcept(f()) == false, "");
static_assert(noexcept(g()) == true, "");
}
namespace test_constexpr
{
template < typename CharT >
unsigned long constexpr
strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
{
return *s ? strlen_c_r(s + 1, acc + 1) : acc;
}
template < typename CharT >
unsigned long constexpr
strlen_c(const CharT *const s) noexcept
{
return strlen_c_r(s, 0UL);
}
static_assert(strlen_c("") == 0UL, "");
static_assert(strlen_c("1") == 1UL, "");
static_assert(strlen_c("example") == 7UL, "");
static_assert(strlen_c("another\0example") == 7UL, "");
}
namespace test_rvalue_references
{
template < int N >
struct answer
{
static constexpr int value = N;
};
answer<1> f(int&) { return answer<1>(); }
answer<2> f(const int&) { return answer<2>(); }
answer<3> f(int&&) { return answer<3>(); }
void
test()
{
int i = 0;
const int c = 0;
static_assert(decltype(f(i))::value == 1, "");
static_assert(decltype(f(c))::value == 2, "");
static_assert(decltype(f(0))::value == 3, "");
}
}
namespace test_uniform_initialization
{
struct test
{
static const int zero {};
static const int one {1};
};
static_assert(test::zero == 0, "");
static_assert(test::one == 1, "");
}
namespace test_lambdas
{
void
test1()
{
auto lambda1 = [](){};
auto lambda2 = lambda1;
lambda1();
lambda2();
}
int
test2()
{
auto a = [](int i, int j){ return i + j; }(1, 2);
auto b = []() -> int { return '0'; }();
auto c = [=](){ return a + b; }();
auto d = [&](){ return c; }();
auto e = [a, &b](int x) mutable {
const auto identity = [](int y){ return y; };
for (auto i = 0; i < a; ++i)
a += b--;
return x + identity(a + b);
}(0);
return a + b + c + d + e;
}
int
test3()
{
const auto nullary = [](){ return 0; };
const auto unary = [](int x){ return x; };
using nullary_t = decltype(nullary);
using unary_t = decltype(unary);
const auto higher1st = [](nullary_t f){ return f(); };
const auto higher2nd = [unary](nullary_t f1){
return [unary, f1](unary_t f2){ return f2(unary(f1())); };
};
return higher1st(nullary) + higher2nd(nullary)(unary);
}
}
namespace test_variadic_templates
{
template <int...>
struct sum;
template <int N0, int... N1toN>
struct sum<N0, N1toN...>
{
static constexpr auto value = N0 + sum<N1toN...>::value;
};
template <>
struct sum<>
{
static constexpr auto value = 0;
};
static_assert(sum<>::value == 0, "");
static_assert(sum<1>::value == 1, "");
static_assert(sum<23>::value == 23, "");
static_assert(sum<1, 2>::value == 3, "");
static_assert(sum<5, 5, 11>::value == 21, "");
static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
}
// http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
// Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
// because of this.
namespace test_template_alias_sfinae
{
struct foo {};
template<typename T>
using member = typename T::member_type;
template<typename T>
void func(...) {}
template<typename T>
void func(member<T>*) {}
void test();
void test() { func<foo>(0); }
}
} // namespace cxx11
#endif // __cplusplus >= 201103L
]])
dnl Tests for new features in C++14
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
// If the compiler admits that it is not ready for C++14, why torture it?
// Hopefully, this will speed up the test.
#ifndef __cplusplus
#error "This is not a C++ compiler"
#elif __cplusplus < 201402L
#error "This is not a C++14 compiler"
#else
namespace cxx14
{
namespace test_polymorphic_lambdas
{
int
test()
{
const auto lambda = [](auto&&... args){
const auto istiny = [](auto x){
return (sizeof(x) == 1UL) ? 1 : 0;
};
const int aretiny[] = { istiny(args)... };
return aretiny[0];
};
return lambda(1, 1L, 1.0f, '1');
}
}
namespace test_binary_literals
{
constexpr auto ivii = 0b0000000000101010;
static_assert(ivii == 42, "wrong value");
}
namespace test_generalized_constexpr
{
template < typename CharT >
constexpr unsigned long
strlen_c(const CharT *const s) noexcept
{
auto length = 0UL;
for (auto p = s; *p; ++p)
++length;
return length;
}
static_assert(strlen_c("") == 0UL, "");
static_assert(strlen_c("x") == 1UL, "");
static_assert(strlen_c("test") == 4UL, "");
static_assert(strlen_c("another\0test") == 7UL, "");
}
namespace test_lambda_init_capture
{
int
test()
{
auto x = 0;
const auto lambda1 = [a = x](int b){ return a + b; };
const auto lambda2 = [a = lambda1(x)](){ return a; };
return lambda2();
}
}
namespace test_digit_separators
{
constexpr auto ten_million = 100'000'000;
static_assert(ten_million == 100000000, "");
}
namespace test_return_type_deduction
{
auto f(int& x) { return x; }
decltype(auto) g(int& x) { return x; }
template < typename T1, typename T2 >
struct is_same
{
static constexpr auto value = false;
};
template < typename T >
struct is_same<T, T>
{
static constexpr auto value = true;
};
int
test()
{
auto x = 0;
static_assert(is_same<int, decltype(f(x))>::value, "");
static_assert(is_same<int&, decltype(g(x))>::value, "");
return x;
}
}
} // namespace cxx14
#endif // __cplusplus >= 201402L
]])
dnl Tests for new features in C++17
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
// If the compiler admits that it is not ready for C++17, why torture it?
// Hopefully, this will speed up the test.
#ifndef __cplusplus
#error "This is not a C++ compiler"
#elif __cplusplus <= 201402L
#error "This is not a C++17 compiler"
#else
#if defined(__clang__)
#define REALLY_CLANG
#else
#if defined(__GNUC__)
#define REALLY_GCC
#endif
#endif
#include <initializer_list>
#include <utility>
#include <type_traits>
namespace cxx17
{
#if !defined(REALLY_CLANG)
namespace test_constexpr_lambdas
{
// TODO: test it with clang++ from git
constexpr int foo = [](){return 42;}();
}
#endif // !defined(REALLY_CLANG)
namespace test::nested_namespace::definitions
{
}
namespace test_fold_expression
{
template<typename... Args>
int multiply(Args... args)
{
return (args * ... * 1);
}
template<typename... Args>
bool all(Args... args)
{
return (args && ...);
}
}
namespace test_extended_static_assert
{
static_assert (true);
}
namespace test_auto_brace_init_list
{
auto foo = {5};
auto bar {5};
static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
static_assert(std::is_same<int, decltype(bar)>::value);
}
namespace test_typename_in_template_template_parameter
{
template<template<typename> typename X> struct D;
}
namespace test_fallthrough_nodiscard_maybe_unused_attributes
{
int f1()
{
return 42;
}
[[nodiscard]] int f2()
{
[[maybe_unused]] auto unused = f1();
switch (f1())
{
case 17:
f1();
[[fallthrough]];
case 42:
f1();
}
return f1();
}
}
namespace test_extended_aggregate_initialization
{
struct base1
{
int b1, b2 = 42;
};
struct base2
{
base2() {
b3 = 42;
}
int b3;
};
struct derived : base1, base2
{
int d;
};
derived d1 {{1, 2}, {}, 4}; // full initialization
derived d2 {{}, {}, 4}; // value-initialized bases
}
namespace test_general_range_based_for_loop
{
struct iter
{
int i;
int& operator* ()
{
return i;
}
const int& operator* () const
{
return i;
}
iter& operator++()
{
++i;
return *this;
}
};
struct sentinel
{
int i;
};
bool operator== (const iter& i, const sentinel& s)
{
return i.i == s.i;
}
bool operator!= (const iter& i, const sentinel& s)
{
return !(i == s);
}
struct range
{
iter begin() const
{
return {0};
}
sentinel end() const
{
return {5};
}
};
void f()
{
range r {};
for (auto i : r)
{
[[maybe_unused]] auto v = i;
}
}
}
namespace test_lambda_capture_asterisk_this_by_value
{
struct t
{
int i;
int foo()
{
return [*this]()
{
return i;
}();
}
};
}
namespace test_enum_class_construction
{
enum class byte : unsigned char
{};
byte foo {42};
}
namespace test_constexpr_if
{
template <bool cond>
int f ()
{
if constexpr(cond)
{
return 13;
}
else
{
return 42;
}
}
}
namespace test_selection_statement_with_initializer
{
int f()
{
return 13;
}
int f2()
{
if (auto i = f(); i > 0)
{
return 3;
}
switch (auto i = f(); i + 4)
{
case 17:
return 2;
default:
return 1;
}
}
}
#if !defined(REALLY_CLANG)
namespace test_template_argument_deduction_for_class_templates
{
// TODO: test it with clang++ from git
template <typename T1, typename T2>
struct pair
{
pair (T1 p1, T2 p2)
: m1 {p1},
m2 {p2}
{}
T1 m1;
T2 m2;
};
void f()
{
[[maybe_unused]] auto p = pair{13, 42u};
}
}
#endif // !defined(REALLY_CLANG)
namespace test_non_type_auto_template_parameters
{
template <auto n>
struct B
{};
B<5> b1;
B<'a'> b2;
}
#if !defined(REALLY_CLANG)
namespace test_structured_bindings
{
// TODO: test it with clang++ from git
int arr[2] = { 1, 2 };
std::pair<int, int> pr = { 1, 2 };
auto f1() -> int(&)[2]
{
return arr;
}
auto f2() -> std::pair<int, int>&
{
return pr;
}
struct S
{
int x1 : 2;
volatile double y1;
};
S f3()
{
return {};
}
auto [ x1, y1 ] = f1();
auto& [ xr1, yr1 ] = f1();
auto [ x2, y2 ] = f2();
auto& [ xr2, yr2 ] = f2();
const auto [ x3, y3 ] = f3();
}
#endif // !defined(REALLY_CLANG)
#if !defined(REALLY_CLANG)
namespace test_exception_spec_type_system
{
// TODO: test it with clang++ from git
struct Good {};
struct Bad {};
void g1() noexcept;
void g2();
template<typename T>
Bad
f(T*, T*);
template<typename T1, typename T2>
Good
f(T1*, T2*);
static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
}
#endif // !defined(REALLY_CLANG)
namespace test_inline_variables
{
template<class T> void f(T)
{}
template<class T> inline T g(T)
{
return T{};
}
template<> inline void f<>(int)
{}
template<> int g<>(int)
{
return 5;
}
}
} // namespace cxx17
#endif // __cplusplus <= 201402L
]])
-39
View File
@@ -1,39 +0,0 @@
# =============================================================================
# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
# =============================================================================
#
# SYNOPSIS
#
# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
#
# DESCRIPTION
#
# Check for baseline language coverage in the compiler for the C++11
# standard; if necessary, add switches to CXX and CXXCPP to enable
# support.
#
# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
# macro with the version set to C++11. The two optional arguments are
# forwarded literally as the second and third argument respectively.
# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
# more information. If you want to use this macro, you also need to
# download the ax_cxx_compile_stdcxx.m4 file.
#
# LICENSE
#
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.
#serial 18
AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX])
AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
-135
View File
@@ -1,135 +0,0 @@
# ===========================================================================
# http://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_PKG_SWIG([major.minor.micro], [action-if-found], [action-if-not-found])
#
# DESCRIPTION
#
# This macro searches for a SWIG installation on your system. If found,
# then SWIG is AC_SUBST'd; if not found, then $SWIG is empty. If SWIG is
# found, then SWIG_LIB is set to the SWIG library path, and AC_SUBST'd.
#
# You can use the optional first argument to check if the version of the
# available SWIG is greater than or equal to the value of the argument. It
# should have the format: N[.N[.N]] (N is a number between 0 and 999. Only
# the first N is mandatory.) If the version argument is given (e.g.
# 1.3.17), AX_PKG_SWIG checks that the swig package is this version number
# or higher.
#
# As usual, action-if-found is executed if SWIG is found, otherwise
# action-if-not-found is executed.
#
# In configure.in, use as:
#
# AX_PKG_SWIG(1.3.17, [], [ AC_MSG_ERROR([SWIG is required to build..]) ])
# AX_SWIG_ENABLE_CXX
# AX_SWIG_MULTI_MODULE_SUPPORT
# AX_SWIG_PYTHON
#
# LICENSE
#
# Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
# Copyright (c) 2008 Alan W. Irwin
# Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
# Copyright (c) 2008 Andrew Collier
# Copyright (c) 2011 Murray Cumming <murrayc@openismus.com>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Archive. When you make and distribute a
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
#serial 11
AC_DEFUN([AX_PKG_SWIG],[
# Ubuntu has swig 2.0 as /usr/bin/swig2.0
AC_PATH_PROGS([SWIG],[swig swig2.0])
if test -z "$SWIG" ; then
m4_ifval([$3],[$3],[:])
elif test -n "$1" ; then
AC_MSG_CHECKING([SWIG version])
[swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
AC_MSG_RESULT([$swig_version])
if test -n "$swig_version" ; then
# Calculate the required version number components
[required=$1]
[required_major=`echo $required | sed 's/[^0-9].*//'`]
if test -z "$required_major" ; then
[required_major=0]
fi
[required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
[required_minor=`echo $required | sed 's/[^0-9].*//'`]
if test -z "$required_minor" ; then
[required_minor=0]
fi
[required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
[required_patch=`echo $required | sed 's/[^0-9].*//'`]
if test -z "$required_patch" ; then
[required_patch=0]
fi
# Calculate the available version number components
[available=$swig_version]
[available_major=`echo $available | sed 's/[^0-9].*//'`]
if test -z "$available_major" ; then
[available_major=0]
fi
[available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
[available_minor=`echo $available | sed 's/[^0-9].*//'`]
if test -z "$available_minor" ; then
[available_minor=0]
fi
[available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
[available_patch=`echo $available | sed 's/[^0-9].*//'`]
if test -z "$available_patch" ; then
[available_patch=0]
fi
# Convert the version tuple into a single number for easier comparison.
# Using base 100 should be safe since SWIG internally uses BCD values
# to encode its version number.
required_swig_vernum=`expr $required_major \* 10000 \
\+ $required_minor \* 100 \+ $required_patch`
available_swig_vernum=`expr $available_major \* 10000 \
\+ $available_minor \* 100 \+ $available_patch`
if test $available_swig_vernum -lt $required_swig_vernum; then
AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version.])
SWIG=''
m4_ifval([$3],[$3],[])
else
AC_MSG_CHECKING([for SWIG library])
SWIG_LIB=`$SWIG -swiglib`
AC_MSG_RESULT([$SWIG_LIB])
m4_ifval([$2],[$2],[])
fi
else
AC_MSG_WARN([cannot determine SWIG version])
SWIG=''
m4_ifval([$3],[$3],[])
fi
fi
AC_SUBST([SWIG_LIB])
])
Vendored Executable
+1469
View File
File diff suppressed because it is too large Load Diff
Executable
+44
View File
@@ -0,0 +1,44 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* "" */
#undef MY_BUILD_CPU
/* "" */
#undef MY_BUILD_OS
/* "" */
#undef MY_BUILD_VENDOR
/* "" */
#undef MY_GNUNAME
/* "" */
#undef MY_UNAME
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Version number of package */
#undef VERSION
/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
Vendored Executable
+1563
View File
File diff suppressed because it is too large Load Diff
+506 -471
View File
File diff suppressed because it is too large Load Diff
Executable
+529
View File
@@ -0,0 +1,529 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-02-09.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
+262
View File
@@ -0,0 +1,262 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Put your title here!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<head>
<title>Building H5Part</title>
</head>
<body bgcolor="#F0F0F0">
<font face="arial,helvetica" size="+2" color="#555588"><h2>Building H5Part</h2></font>
<UL>
<LI><a href="#Quickstart">Quickstart guide for the impatient.</a>
<LI><a href="#Details">Details of the Configuration Script</a>
<!-- <LI><a href="UsingC++.html">Using the C++ interface</a> -->
<LI><a href="#ConfigOptions">Important Configure Options</a>
<LI><a href="#EnvVariables">Important Environment Variables</a>
</UL>
<hr>
<a name="Quickstart">
<h2>Quickstart <i>for the impatient</i></h2>
</a>
<OL>
<LI><b>Configure</b>:<br>
For the serial implementation
<pre>
./configure
</pre>
For the parallel implementation configure with
<pre>
./configure --enable-parallel
</pre>
If you also want to build fortran bindings, add the
<code>--enable-fortran</code> flag to the configure line.
</LI><p>
<LI><b>Make the Library</b>:<br>
Type <code>make</code> to build the library. The libraries are
named accordingly.
<UL>
<LI>libH5Part.a: Serial C/C++ Library.</LI>
<LI>libpH5Part.a: Parallel C/C++ library.</LI>
<LI>libH5PartF.a: Serial F77/F90 library.</LI>
<LI>libpH5PartF.a: Parallel F77/F90 library.</LI>
</UL>
</LI><p>
<LI><b>Make Regression Tests and Examples</b>:<br>
Just type <code>make tests</code> to build regression tests
and/or example programs for H5Part. These tests are
<UL>
<LI>H5PartF: Fortran example (only build if --enable-fortran
is specified).</LI>
<LI>H5PartFpar: Parallel Fortran example (only built if both
--enable-fortran and --enable-parallel are specified).</LI>
<LI>H5PartTest: Serial C example. This test writes a sample
datafile and then reopens it for reading. It demonstrates
the most basic reading/writing capabilities.</LI>
<LI>H5PartTestP: Parallel C example (only built if
--enable-parallel is specified). This program only works
as an MPI/parallel program.</LI>
<LI>Bench: This program will only be built if
--enable-parallel is specified. It compares the
performance of raw binary
I/O (one file per processor), raw binary MPI-IO based
parallel I/O to a single file, and the parallel H5Part/HDF5 to
a single file. Generally, H5Part should be very close to the
MPI-IO implementation in terms of performance, but slower
than one-file-per-processor. If HDF5 is slower the
MPI-IO, it would indicate that some performance tuning
will be required for your platform (contact us, and we will
see what we can do!).</LI>
</UL>
</LI><p>
<LI><b>Building Your Own Programs</b>:<br>
There are many different subtleties to linking on various
computer platforms, but typically one does the following.
<UL>
<LI>C/C++ Serial:
<br><code>#include
&lt H5Part.h &gt </code> into your
source file.
<br><code>$CC -I<i>path_to_H5Part.h</i>
-I<i>path_to_hdf5.h</i> -o outfile
MyFile.cc -L<i>path_to_libH5Part.a</i> -lH5Part
-L<i>path_to_libhdf5</i> -lhdf5 -lz <i>-lsz</i></code>
</LI>
<LI>C/C++ Parallel:
<br><code>#include
&lt H5Part.h &gt </code> into your
source file.
<br><code>$MPICC -I<i>path_to_H5Part.h</i>
-I<i>path_to_hdf5.h</i> -DPARALLEL_IO
-DH5_HAVE_PARALLEL -o outfile
MyFile.cc -L<i>path_to_libH5Part.a</i> -lH5Part
-L<i>path_to_libhdf5</i> -lhdf5 -lz <i>-lsz</i></code>
</LI>
<LI>Fortran Serial:
<br><code>include
'H5Part.inc'</code> into your
source file.
<br><code>$FC -I<i>path_to_H5Part.h</i>
-I<i>path_to_hdf5.h</i> -o outfile
MyFile.cc -L<i>path_to_libH5PartF.a</i> -lH5PartF
-L<i>path_to_libhdf5</i> -lhdf5 -lz <i>-lsz</i> -lc</code>
</LI>
<LI>Fortran Parallel:
<br><code>include
'H5Part.inc'</code> into your
source file.
<br><code>$MPIF90 -I<i>path_to_H5Part.h</i>
-o outfile
MyFile.cc -L<i>path_to_libpH5PartF.a</i> -lpH5PartF
-L<i>path_to_libhdf5</i> -lhdf5 -lz <i>-lsz</i> -lc</code>
</LI><p>
</UL>
</OL>
<hr>
<a name="Details">
<h1>Details for H5Part Configure and Build</h1>
</a>
<a name="ConfigOptions">
<h2>Configure Options</h2>
</a>
H5Part uses GNU Autoconf to generate a Makefile from the makefile
template called <code>Makefile.in</code>.
The configure script pays attention to the following
configure options;<p>
<UL>
<LI><b>--prefix=PREFIX</b> Install files in PREFIX</LI>
<LI><b>--enable-fortran</b> By default H5part will make no attempt to
build Fortran bindings. If you add the
<code>--enable-fortran</code> flag to the ./configure line, it
will create a small test program to determine how to generate
the fortran bindings and then create a library that includes
those bindings. You may need to set the fortran compiler by
setting the <code>FC</code> environment variable in your shell.</LI>
<LI><b>--enable-parallel</b> The version of HDF5 that you build for
Parallel I/O differs from the library you would build for
serial I/O. Consequently, the H5Part libraries must be built
specifically for the kind of I/O you have in mind (parallel or
serial). The configure script will attempt to find an
<code>mpicc</code> if it is available. If no
<code>mpicc</code> is available it will use the regular
C-compiler and will try to locate the location of the MPI
include files and libraries. You can assist the configure
program in its search by setting the <code>MPIROOT</code>
environment variable.</LI>
<LI><b>--enable-tools</b> Builds the currently available tools
<br>
<b>h5pAttrib</b>, an inspection tool that prints the number of timesteps in a file
the file attributes, the step attributes, the dataset names and their values.
<br>
<b>h5pToGNUplot</b>, a converter to two column ASCII format to load in GNUplot.
</LI>
<LI><b>--enable-python</b><font color=red> Under construction</font> Option to build python bindings. It has not been tested.
</LI>
<LI><b>--help</b> Prints configure options.
</LI>
</UL>
<p>
<a name="MakeOptions">
<h2>Make Options</h2>
</a>
<UL>
<LI>make</LI>builds the libraries and test programs
<LI>make install</LI>builds and installs
<LI>make clean</LI>removes extraneous object files
<LI>make distclean</LI>returns configuration to unconfigured state
</UL>
<a name="EnvVariables">
<h2>Environment Variables for Configure</h2>
</a>
The
configuration script is of limited intelligence. Sometimes, you
have to define the following environment variables in order to
help it on its way. You will often only need to tell it where to
find the HDF5 libraries (<code>H5ROOT</code> for serial or
<code>PHDF5ROOT</code> for parallel builds). All of these
environment variables can also be overidden in the Makefile that
is generated by the autoconfigure script.
The configure script pays attention to the following
environment variables;
<p>
<UL>
<LI><b>CC</b>: Use the <code>CC</code> environment variable to tell the
configure script where to find the C compiler. You can
also directly modify this variable in the
<code>Makefile</code> that is generated by the autoconfigure</LI>
<LI><b>CXX</b>: Use the <code>CXX</code> environment variable to tell the
configure script where to find the C++ compiler. You can
also directly modify this variable in the
<code>Makefile</code> that is generated by the autoconfigure</LI>
<LI><b>FC</b>: Use the <code>FC</code> environment variable to tell the
configure script where to find the fortran compiler. You can
also directly modify this variable in the
<code>Makefile</code> that is generated by the autoconfigure</LI>
<LI><b>MPICC</b>: If you are building for parallel C I/O, then it is
useful to tell the configure script where to find the
<code>mpicc</code> script. Normally, <code>mpicc</code> is
merely a wrapper script for a build using a regular C-compiler.
If no <code>mpicc</code> is available, then the
<code>configure</code> script will attempt to locate the mpi
header files and libraries. In that case, it may be useful to
define the <code>MPI_HOME</code> environment variable.</LI>
<LI><b>MPICXX</b>If you are building for parallel C++</LI>
<LI><b>MPIFC</b>: If you are building for parallel Fortran I/O, then it is
useful to tell the configure script where to find the parallel fortran compiler.
<LI><b>MPIROOT</b>: Set this environment variable to help the
configure script to locate the MPI libraries that should be
used to build the parallel version of the libraries. This
variable will be ignored if configured only to build the
serial implementation of the library.</LI>
<LI><b>HDF5ROOT</b>: Find the path to your serial HDF5 installation. If you
are building the serial version of H5part, then you should set
the <code>PHDF5ROOT</code> environment variable.</LI>
</UL><p>
<h3>Common compiler environemt variables for NERSC platforms</h3>
<UL>
<LI><b>DaVinci</b>: Linux ia64 </LI>
CC=icc CXX=icc F90=ifort MPICC=icc MPIFC=ifort MPILIB=-L/usr/lib/ -lmpi MPIINC=-I/usr/include
<LI><b>Bassi</b>: AIX</LI>
CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r
<LI><b>Jacquard</b>: Linux x86_64</LI>
CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90
<LI><b>Starsky.lbl.gov:</b> (Darwin) PowerPC</LI>
CC=gcc CXX=g++ FC=g95
</UL>
<br>
NOTE: You might need to set the MPI library path (MPILIB) and MPI includes (MPIIINC) if they are in non standard places. For example: <br>
MPILIB=-L/usr/lpp/ppe.poe/lib -lmpi_r MPIINC=-I/usr/lpp/ppe.poe/include/thread
<h3>How to set the variables for configure:</h3>
It is very simple just call env with the variables together with configure. Notice the quotes in MPILIB.
<pre>
% env CC=icc CXX=icc F90=ifort MPICC=icc MPILIB=-L/usr/lib/ -lmpi MPIINC=-I/usr/include ./configure (configure options follow here)
</pre>
In the worst case, you can edit the <code>src/Makefile.am</code> and <code>test/Makefile.am</code> as
needed to perform the proper build.
</div>
+64
View File
@@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Put your title here!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<head>
<title>Building HDF5</title>
</head>
<body>
<font face="arial,helvetica" size="+2" color="#555588"><h2>Building H5Part</h2></font>
<UL>
<LI><a href="#ConfigOptions">Configure Options</a>
<LI><a href="#EnvVariables">Important Environment Variables</a>
</UL>
<hr>
<a name="ConfigOptions">
<h2>Configure options</h2></a>
</a>
To set the installation path configure with
<pre>
./configure --prefix=your hdf5 installation full path, e.g.--prefix=/usr/local/hdf5
</pre>
For the serial implementation configure with
<pre>
./configure
</pre>
For the parallel implementation configure with
<pre>
./configure --enable-parallel
</pre>
To enable shared objects configure with
<pre>
./configure --enable-shared
</pre>
<a name="EnvVariables">
<h2>Environment Variables</h2></a>
</a>
To add HDF5 to your PATH and LD_LIBRARY_PATH edit your
.tcshr, or .cshrc depending on the shell you are using and add
<pre>
setenv HDF5 "your hdf5 installation full path"
setenv PATH ${PATH}:${HDF5}/bin
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HDF5}/lib
</pre>
if you are using bash, add to your .bashrc
<pre>
export HDF5="your hdf5 installation full path"
export PATH=$PATH:${HDF5}/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HDF5}/lib
</pre>
Open a new terminal or do a
source .tcshr (.cshrc, .bashrc) in the one that you are using.
You can <a href="http://vis.lbl.gov/Research/AcceleratorSAPP/Downloading.html">continue <a/>downloading and installing H5Part.
</div>
+37
View File
@@ -0,0 +1,37 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Downloading HDF5 and H5Part</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<head>
<title>Downloading HDF5 and H5Part</title>
</head>
<body>
<font face="arial,helvetica" size="+2" color="#555588"><h2>Downloading H5Part</h2></font>
<UL>
<LI><a href="#hdf5">Downloading HDF5</a>
<LI><a href="#h5part">Downloading H5Part</a>
</UL>
<hr>
<a name="hdf5">
<h2>Downloading HDF5</h2></a>
You will need to download and install the HDF5 library and link H5Part with it.
<UL>
<LI><a href="ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-1.6.5.tar.gz">ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-1.6.5.tar.gz</a></LI>
<LI><a href="http://www.zlib.net/zlib-1.2.3.tar.gz">http://www.zlib.net/zlib-1.2.3.tar.gz</a></LI>
<LI><a href="ftp://ftp.hdfgroup.org/lib-external/szip/2.0/src/szip-2.0.tar.gz">ftp://ftp.hdfgroup.org/lib-external/szip/2.0/src/szib-2.0.tar.gz</a></LI>
</UL>
<P>
Note: you might already have libz in your system and you will not need libsz unless you build hdf5 with support for it.
</P>
<h2 id="h5part">Downloading H5Part</h2>
H5Part is available for download from Berkeley Labs Codeforge system <a href="https://codeforge.lbl.gov/projects/h5part/">https://codeforge.lbl.gov/projects/h5part</a>.
</div>
+81 -2243
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-77
View File
@@ -1,77 +0,0 @@
NumLevels: 2
NumVerticesOnLevel: 11 20 29
Vertices:
1 0.0 0.0
2 60.0 -70.0
3 90.0 -10.0
4 140.0 -70.0
5 180.0 -10.0
6 240.0 -60.0
7 220.0 60.0
8 140.0 90.0
9 200.0 120.0
10 130.0 150.0
11 50.0 80.0
12 115.0 40.0
13 95.0 85.0
14 70.0 35.0
15 160.0 -40.0
16 135.0 -10.0
17 115.0 -40.0
18 200.0 25.0
19 180.0 75.0
20 160.0 40.0
21 125.0 15.0
22 112.5 -10.0
23 102.5 15.0
24 147.5 15.0
25 137.5 40.0
26 150.0 65.0
27 127.5 65.0
28 117.5 87.5
29 105.0 62.5
NumElemsOnLevel: 12 24 36
NumElems: 12 28 44
Elements:
ID PID CID VertexIDs Adj Translation Tbl (dim num lvls - 1)
1 -1 -1 1 2 3 2 11 -1 1
2 -1 -1 2 3 4 3 -1 1 2
3 -1 12 3 4 5 4 12 2 -1
4 -1 -1 4 5 6 5 -1 3 3
5 -1 -1 5 7 6 -1 4 6 4
6 -1 17 8 5 7 5 7 12 -1
7 -1 -1 8 9 7 -1 6 8 5
8 -1 -1 10 8 9 7 -1 9 6
9 -1 -1 11 10 8 8 10 -1 7
10 -1 25 11 3 8 12 9 11 -1
11 -1 -1 1 11 3 10 1 -1 8
12 -1 21 3 8 5 6 3 10 -1
13 3 -1 3 14 13 16 21 2 9
14 3 -1 14 4 12 4 16 2 10
15 3 -1 13 12 5 4 23 16 11
16 3 -1 14 13 12 15 14 13 12
17 6 -1 8 17 16 20 5 22 13
18 6 -1 17 5 15 5 20 23 14
19 6 -1 16 15 7 5 7 20 15
20 6 -1 17 16 15 19 18 17 16
21 12 -1 3 18 13 24 13 26 17
22 12 -1 18 8 17 17 24 27 18
23 12 -1 13 17 5 18 15 24 19
24 12 -1 18 13 17 23 22 21 20
25 10 -1 11 20 19 28 9 11 21
26 10 -1 20 3 18 21 28 11 22
27 10 -1 19 18 8 22 9 28 23
28 10 -1 20 3 18 27 26 25 24
3,0 3,1 4,2 2,3 16,4
1 2 -1 3 4
1 2 3
1 3 6
2 11 1 13 14
-107
View File
@@ -1,107 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 17 DOUBLE
-1 0 0
1 0 0
0 1 0
0 0 1
0 -1 0
-0.5 0 0.5
-0.5 0.5 0
0 0 0
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
-0.75 0 0.25
-0.75 0.25 0
-0.5 0 0
-0.5 0.25 0.25
-0.25 0 0.25
-0.25 0.25 0
CELLS 18 90
4 0 3 2 1
4 0 4 3 1
4 0 5 6 7
4 5 3 8 9
4 6 8 2 10
4 7 9 10 1
4 5 6 7 9
4 5 6 8 9
4 6 7 9 10
4 6 8 9 10
4 0 11 12 13
4 11 5 14 15
4 12 14 6 16
4 13 15 16 7
4 11 12 13 15
4 11 12 14 15
4 12 13 15 16
4 12 14 15 16
CELL_TYPES 18
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
POINT_DATA 17
SCALARS vertex_id int 1
LOOKUP_TABLE default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CELL_DATA 18
SCALARS cell_attribute_data int 1
LOOKUP_TABLE default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-59
View File
@@ -1,59 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 17 DOUBLE
-1 0 0
1 0 0
0 1 0
0 0 1
0 -1 0
-0.5 0 0.5
-0.5 0.5 0
0 0 0
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
-0.75 0 0.25
-0.75 0.25 0
-0.5 0 0
-0.5 0.25 0.25
-0.25 0 0.25
-0.25 0.25 0
CELLS 2 10
4 0 3 2 1
4 0 4 3 1
CELL_TYPES 2
10
10
POINT_DATA 17
SCALARS vertex_id int 1
LOOKUP_TABLE default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CELL_DATA 2
SCALARS cell_attribute_data int 1
LOOKUP_TABLE default
0
1
-80
View File
@@ -1,80 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 17 DOUBLE
-1 0 0
1 0 0
0 1 0
0 0 1
0 -1 0
-0.5 0 0.5
-0.5 0.5 0
0 0 0
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
-0.75 0 0.25
-0.75 0.25 0
-0.5 0 0
-0.5 0.25 0.25
-0.25 0 0.25
-0.25 0.25 0
CELLS 9 45
4 0 4 3 1
4 0 5 6 7
4 5 3 8 9
4 6 8 2 10
4 7 9 10 1
4 5 6 7 9
4 5 6 8 9
4 6 7 9 10
4 6 8 9 10
CELL_TYPES 9
10
10
10
10
10
10
10
10
10
POINT_DATA 17
SCALARS vertex_id int 1
LOOKUP_TABLE default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CELL_DATA 9
SCALARS cell_attribute_data int 1
LOOKUP_TABLE default
0
1
2
3
4
5
6
7
8
-101
View File
@@ -1,101 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 17 DOUBLE
-1 0 0
1 0 0
0 1 0
0 0 1
0 -1 0
-0.5 0 0.5
-0.5 0.5 0
0 0 0
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
-0.75 0 0.25
-0.75 0.25 0
-0.5 0 0
-0.5 0.25 0.25
-0.25 0 0.25
-0.25 0.25 0
CELLS 16 80
4 0 4 3 1
4 5 3 8 9
4 6 8 2 10
4 7 9 10 1
4 5 6 7 9
4 5 6 8 9
4 6 7 9 10
4 6 8 9 10
4 0 11 12 13
4 11 5 14 15
4 12 14 6 16
4 13 15 16 7
4 11 12 13 15
4 11 12 14 15
4 12 13 15 16
4 12 14 15 16
CELL_TYPES 16
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
POINT_DATA 17
SCALARS vertex_id int 1
LOOKUP_TABLE default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CELL_DATA 16
SCALARS cell_attribute_data int 1
LOOKUP_TABLE default
1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-13
View File
@@ -1,13 +0,0 @@
12 14
2 11
1 3
2 4 12
3 5
4 6
5 7 12
6 8
7 9
8 10
9 11 12
1 10
3 6 10
@@ -1,12 +0,0 @@
0
1
1
1
1
1
0
0
0
0
0
1
@@ -1,12 +0,0 @@
1
1
2
2
2
0
0
0
0
1
1
2
-49
View File
@@ -1,49 +0,0 @@
24 35
%1
2 8
%2
1 9 10
%3
4 10 11
%4
3 14 15
%5
6 13 15
%6
5 7
%7
6 21 23
%8
1 21 22
%9
2 12 17
%10
2 3 12
%11
3 12 19
%12
9 10 11
%13
5 16 18
%14
4 16 19
%15
4 5 16
%16
13 14 15
%17
9 20 22
%18
13 20 23
%19
11 14 20
%20
17 18 19
%21
7 8 24
%22
8 17 24
%23
7 18 24
%24
21 22 23
@@ -1,24 +0,0 @@
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
-13
View File
@@ -1,13 +0,0 @@
12 1
1 2 3
2 3 4
3 4 6
4 5 6
5 6 7
6 7 8
7 8 11
8 10 11
8 9 10
3 8 9
1 3 9
3 6 8
-12
View File
@@ -1,12 +0,0 @@
1
1
1
1
0
0
0
0
0
0
1
1
-12
View File
@@ -1,12 +0,0 @@
11 22
2 3 9
1 3 4
1 2 4 6 8 9
2 3 6 5
4 6 7
3 4 5 7 8
5 6 8 11
6 7 11 10 9 3
8 10 3 1
8 11 9
7 8 10
-11
View File
@@ -1,11 +0,0 @@
1
1
1
1
1
0
0
0
0
0
0
-41
View File
@@ -1,41 +0,0 @@
20 43
%1
2 3 11
%2
1 3 4
%3
1 2 14 13 18 20
%4
2 14 12 6
%5
12 6 15 17 13
%6
4 5 7
%7
6 15 16 9
%8
9 10 19 18 17 16
%9
7 8 10
%10
8 9 11
%11
1 20 19 10
%12
4 14 13 5
%13
3 14 12 5 17 18
%14
3 13 12 4
%15
5 17 17 7
%16
7 8 17 15
%17
5 15 16 8 18 13
%18
3 13 17 8 19 20
%19
8 11 20 18
%20
3 18 19 11
-20
View File
@@ -1,20 +0,0 @@
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
-171
View File
@@ -1,171 +0,0 @@
/*!
\mainpage H5hut: A High-Performance I/O Library for Particle-based Simulations
Particle-based simulations running on large high-performance computing systems
over many time steps can generate an enormous amount of particle- and
field-based data for post-processing and analysis. Achieving high-performance
I/O for this data, effectively managing it on disk, and interfacing it with
analysis and visualization tools can be challenging, especially for domain
scientists who do not have I/O and data management expertise. We present the
H5hut library, an implementation of several data models for particle-based
simulations that encapsulates the complexity of HDF5 and is simple to use, yet
does not compromise performance.
Developers:
<UL>
<LI> Andreas Adelmann (PSI) </LI>
<LI> Achim Gsell (PSI) </LI>
<LI> Mark Howison (NERSC/LBNL) </LI>
<LI> Prabhat (NERSC/LBNL) </LI>
<LI> Wes Bethel (NERSC/LBNL) </LI>
</UL>
Previous developers:
<UL>
<LI> Benedikt Oswald (PSI) </LI>
<LI> Cristina Siegerist (NERSC/LBNL)</LI>
<LI> John Shalf (NERSC/LBNL)</LI>
</UL>
For more information, please contact the
<a href="mailto:h5part@lists.psi.ch">h5part</a> mailing list.
\defgroup c_api C API
@{
\note The C API is implemented with '\c static \c inline' functions to minimize overhead.
\defgroup h5_c_api H5
@{
\defgroup h5_file File interface
In this section we document the interface for accessing H5hut files.
\defgroup h5_model Setting up the data model
The fundamental data model of H5hut is pretty simple. There
are (time-)steps to group data, that's it. In this section we
document the interface to these (time-)steps.
\defgroup h5_file_attribs File attributes interface
File attributes are small datasets that can be used to
describe specific properties of a file. The H5hut API provides
functions to attach (write), read and inquire file attributes.
\defgroup h5_step_attribs Step attributes interface
Step attributes are similar to file attributes but are
attached to (time-)steps. They can be used to describe
specific properties of a specific step. The H5hut API provides
functions to attach (write), read and inquire step attributes.
\defgroup h5_attach Attaching files
Sometimes it is required (or at least useful) to attach
additional information to H5hut files. H5hut provides
functions to attach other files to H5hut files. The attached
files can be of any type.
\defgroup h5_log Controlling verbosity level
Controlling the verbosity level of H5hut. By default only
error messages are printed. For debugging it might be helpful
to increase the verbosity level.
\defgroup h5_debug Controlling debug output
Debug output mainly intended for developers.
\defgroup h5_error Error handling interface
H5hut comes with two error handler. The default error handler
prints an error message (which can be suppressed by setting
the verbosity level to \c 0), sets an internal error number
and returns to the calling program with the value \c
H5_FAILURE. It is up to the programmer to handle the error
properly. In certain use-cases it make sense just to abort the
program, so no additional error handling is needed. H5hut
provides an abort error-handler for this use-cases-
@}
\defgroup h5part_c_api H5Part
@{
\defgroup h5part_model Setting up the data model
The H5Part data model interface provides functions to set and
inquire (per core) views on datasets.
\defgroup h5part_io Dataset interface
The dataset interface provides functions to read and write
datasets. The following data types are supported:
- 64-bit floating point numbers (\c h5_float64_t)
- 32-bit floating point numbers (\c h5_float32_t)
- 64-bit integers (\c h5_int64_t)
- 32-bit integers (\c h5_int32_t)
\note Before you can write or read a dataset, you have to
define a "view" on the dataset for each core.
@}
\defgroup h5block_c_api H5Block
@{
\defgroup h5block_model Setting up the data model
The H5Block data model interface provides functions to set and
inquire (per core) views on fields.
\defgroup h5block_io Interface to block structured data
H5Block provides functions to store and retrieve
- 3-dimensional fields with scalar values
- 3-dimensional fields with 3-dimensional vectors as values
The following datatypes are supported:
- 64-bit floating point numbers (\c h5_float64_t)
- 32-bit floating point numbers (\c h5_float32_t)
- 64-bit integers (\c h5_int64_t)
- 32-bit integers (\c h5_int32_t)
\defgroup h5block_attrib Attaching attributes to field data
Field attributes are small datasets that can be used to
describe specific properties of a field like origin, spacing
or coordinates. The H5hut API provides functions to attach
(write), read and inquire file attributes.
@}
@}
*/
/*!
\defgroup f90_api Fortran90 API
@{
\defgroup h5_f90_api H5
@{
\defgroup h5_file_f file interface
\defgroup h5_model_f setting up the data model
\defgroup h5_file_attribs_f reading and writing file attributes
\defgroup h5_step_attribs_f reading and writing step attributes
\defgroup h5_log_f control verbosity level
\defgroup h5_debug_f control debug output
\defgroup h5_error_f error handling interface
@}
\defgroup h5part_f90_api H5Part
@{
\defgroup h5part_model_f setting up the data model
\defgroup h5part_io_f reading and writing datasets
@}
\defgroup h5block_f90_api H5Block
@{
\defgroup h5block_model_f setting up the data model
\defgroup h5block_io_f reading and writing datasets
\defgroup h5block_attrib_f reading and writing attributes
@}
@}
*/
+14
View File
@@ -0,0 +1,14 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Put your title here!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
Under construction, will be here soon.
</div>
+15
View File
@@ -0,0 +1,15 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Put your title here!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
Under construction, will be here soon.
</div>
+15
View File
@@ -0,0 +1,15 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Put your title here!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
Under construction, will be here soon.
</div>
+94
View File
@@ -0,0 +1,94 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Put your title here!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<head>
<title>H5Part Utility Tools</title>
</head>
<body>
<font face="arial,helvetica" size="+2" color="#555588"><h2>H5Part Utility Tools</h2></font>
<UL>
<LI><a href="h5pAttrib">h5pAttrib</a>
<LI><a href="h5pToGNUplot">h5pToGNUplot</a>
</UL>
<hr>
<a name="h5pAttrib">
<h2>h5pAttrib</h2>
</a>
<b>h5pAttrib</b> is an inspection tool that prints to stdout the number of timesteps in a file
the file attributes, the step attributes, the dataset names and their values. It's simpler to use than h5dump.
Usage options are given by typing:
<br><br>
<PRE>
% ./h5pAttrib -h
usage: h5pAttrib [OPTIONS] file
OPTIONS
-h, --help Print help page
-n, --nstep Print number of steps
-A, --fileA Print file attributes
-a, --stepA Print step attributes & values for time step n
-d, --dataset Print data sets names & values for time step n
-H, --header Print shorter version without the values
</PRE>
<h3>Examples</h3>
<OL>
<LI>
Show file attribute names & values of sample.h5part
</LI>
h5pAttrib -A sample.h5part
<LI>
Show step attribute names for time step 5 of sample.h5part
</LI>
h5pAttrib -a 5 -H sample.h5part
</OL>
<a name="h5pToGNUplot">
<h2>h5pToGNUplot</h2>
</a>
<b>h5pToGNUplot</b> is a converter from H5Part to two column ASCII text format for loading into GNUplot. Usage options are given by typing:
<br><br>
<PRE>
% ./h5pToGNUplot -h
usage: h5pToGNUplot -t TIMESTEP -1 VARIABLE#1 -2 VARIABLE#2 -i INPUTFILE [OPTIONAL_FLAGS]
FLAGS
-h, --help Print help page
-1, --1var (REQUIRED) Takes first variable parameter
-2, --2var (REQUIRED) Takes second variable parameter
-i, --input (REQUIRED) Takes input file name
-t, --timestep (REQUIRED) Sets the timestep (Value -1 will result in dumping values of all timesteps.)
-o, --output (OPTIONAL) Takes output file name (without this flag, the program will print to stdout)
-n, --number (OPTIONAL) Sets number of output points
-s, --start (OPTIONAL) Sets the starting particle index
</PRE>
<h3>Examples</h3>
<OL>
<LI>
Create a GNU plot file output.txt from sample.h5part by ploting x vs px for timestep 54
</LI>
h5pToGNUplot -t 54 -1 x -2 px -i sample.h5part -o output.txt
<LI>
Create a GNU plot file output.txt from sample.h5part by ploting x vs px for timestep 54
using 1200 points from particle index 76
</LI>
h5pToGNUplot -t 54 -1 x -2 px -i sample.h5part -o output.txt -s 76 -n 1200
</OL>
</div>
+75
View File
@@ -0,0 +1,75 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>H5Part: VisIt Plugins</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<font face="arial,helvetica"><h1>H5Part: VisIt Plugins</h1></font>
<font face="arial,helvetica" color="#555588"><h2>Introduction</h2></font>
<P>
<a href="http://www.llnl.gov/visit">VisIt</a> is an open source point-and-click 3D scientific visualization application that supports most of the common visualization techniques on structured and unstructured grids. One of its advantages is that it employs a distributed and parallel architecture in order to handle extremely large data sets interactively. VisIt's rendering and data processing capabilities are split into viewer and engine components that may be distributed across multiple machines. See this link for <a href="http://vis.lbl.gov/NERSC/Software/visit/">details</a> on how to run VisIt in NERSC.
</P>
<P>
VisIt achieves extensibility through the use of dynamically loaded plugins. All of VisIt's plots, operators, and database readers are implemented as plugins and are loaded at run-time from the plugin directory. New plugins can be added simply by installing them in this directory. VisIt comes with a graphical plugin creation tool, which greatly simplifies the process of creating new plugins. The user describes the properties of the plugin and then the tool generates most of the code necessary to implement the plugin. For example, in the case of an operator, the plugin creation tool creates the code necessary for the graphical user interface attribute window; the C++, Python, and Java interfaces; and the code necessary to interface to VisIt. The only code you need to write is the C++ code that actually performs the operation.
</P>
<font face="arial,helvetica" color="#555588"><h2>H5Part in VisIt</h2></font>
<font face="arial,helvetica" color="#555588"><h3>Database Reader Plugin</h3></font>
<P>
We wrote a Multiple Time Step Multiple Domain database reader to read H5Part data into VisIt. H5Part datasets should be named with the extension <font color=red>".h5part"</font> to be recognized by the reader since VisIt does not have a format selection mechanism at the time of reading. Figure 1 shows a Pseudocolor plot of a data set and Figure 2 shows a Scatter plot x-y (any combination of x, px, y, py, z, pz, id are possible).
</P>
<P>
<TABLE>
<TR>
<TD>
<a href="H5PartVisIt/cloud_visit.png"><img src="H5PartVisIt/cloud_visit.s.png" width=400 height=300></a>
</TD
></TR>
<TR>
<TD width=300>
Figure 1. VisIt User interface showing an H5Part particle file rendered as spheres using the Pseudocolor plot.
</TD>
</TR>
<TR>
<TD>
<a href="H5PartVisIt/cloud_visit_2D.png"><img src="H5PartVisIt/cloud_visit_2D.s.png" width=300 height=300></a>
</TD>
</TR>
<TR>
<TD>
Figure 2. A Scatter plot of the x-y projection of the particles.
</TD>
</TR>
</TABLE>
</P>
<P>
VisIt provides a Query interface, for single time steps and for time series. Figure 3 shows the query interace over time for the sum of the x position and the z position of the particoes.
</P>
<P>
<TABLE>
<TR>
<TD>
<a href="H5PartVisIt/visit_query1.png"><img src="H5PartVisIt/visit_query1.s.png" width=400 height=300></a>
</TD
></TR>
<TR>
<TD width=300>
Figure 3. VisIt's Time Query Output.
</TD>
</TR>
</TABLE>
</p>
<font face="arial,helvetica" color="#555588"><h2>Operator Plugins</h2></font>
<P>
<font face="arial,helvetica" color="#555588"><h3>Particle Random Sampler</h3></font>
</P>
<P>
<font face="arial,helvetica" color="#555588"><h3>Particle Binner</h3></font>
</P>
</div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

+7 -26
View File
@@ -28,10 +28,9 @@ top of HDF5: A H5X file is a very special HDF5 file.
2.1.1 File attributes
Attributes of the HDF5 root group are called "file attributes". There
are no restrictions on file attribute names. Names with "__" as prefix and
postfix are intended for internal use. Supported values for file attributes
are scalars and arrays of 64bit integer and 64bit floating point number as
well as string values. Arrays of strings are not supported.
are no restrictions on file attribute names. Supported values are
scalars and arrays of 64bit integer and 64bit floating point number as
well as string values, but not arrays of strings.
2.1.1.1 Predefined file attributes
@@ -64,28 +63,18 @@ Example: With __stepnumwidth__ := 5 the name of the step group with
number 42 is "Step#00042", with __stepnumwidth__ := 0 the name is
"Step#42".
Step groups may be unsorted in the HDF5 file und needn't be number
Step groups may be unsorted in the HDF5 file und may not be number
consecutively.
2.1.3 Other members of the root group
Other sub-groups of the root group are allowed, but the group names are restricted
to names not matching "Step#.*".
2.2 Format of a step group
2.2.1 Step attributes
Step attributes are HDF5 attributes asigned to a step group. There
are no restrictions on step attribute names. As with file attributes names
enclosed in "__" are intended for internal use. Supported values are the same
as for file attributes:
* 64bit integer value
* arrays of 64bit integer values
* 64bit floating point number
* array of 64bit floating point number
* strings
Note that array of strings are not supported!
are no restrictions on file attribute names. Supported values are
scalars and arrays of 64bit integer and 64bit floating point number as
well as string values, but not arrays of strings.
2.2.2 Predefined step attributes
@@ -158,13 +147,5 @@ n-dimensional vector values with n := 1.
2.3 Step properties [NEW]
Why? Much faster than step attributes if you need to access consecutive values
Group of root group with name "StepProperties"
Members are datasets
Supported values are the same as for step attributes
Mapping of value to step via object index of step group
+417
View File
@@ -0,0 +1,417 @@
<html><head><title>H5Part Tools How-to</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr"></head>
<body bgcolor="#ffffff" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="987">
<tbody><tr>
<td height="6050" width="27"></td>
<td colspan="3" valign="top">
<div id="body">
<div id="mainleft"><font face="Arial, Helvetica, sans-serif"><a name="TOP"></a>
</font></div>
<div id="maincenter"> <font face="arial,helvetica">
<h1 align="center"><font face="Arial, Helvetica, sans-serif"><b><font color="#666699">H5Part
Tools How-to</font></b></font></h1>
</font><font color="#555588" face="arial,helvetica">
<h2><font color="#666699" face="Arial, Helvetica, sans-serif">Table
of Contents</font></h2>
</font>
<p><font face="Arial, Helvetica, sans-serif"><b><a href="#Quick%20Guide">
[1] Quick Guide</a></b> </font></p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font color="#999999">---
For h5pAttrib</font></b></font><font face="Arial, Helvetica, sans-serif"><br>
<b><br>
<a href="#timesteps">[2] To see number of timesteps in a h5part file</a><br>
<br>
<a href="#file%20attributes">[3] To see file attributes in a h5part
file</a><br>
<br>
<a href="#step%20attributes"> [4] To see step attributes in a h5part
file</a><br>
<br>
<a href="#dataset">[5] To see dataset in a h5part file</a><br>
<br>
<a href="#flags">[6] Providing more than one flag at once for h5pAttrib</a></b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font color="#999999">---
For h5pToGNUplot</font></b></font><font face="Arial, Helvetica, sans-serif"><br>
<br>
<b><a href="#parameters">[7] What parameters to provide</a><br>
<br>
<a href="#input%20file">[8] How to create an input file to GNUplot</a></b></font></p>
<p>&nbsp;</p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<p>&nbsp;</p>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><a name="Quick Guide">[1]
Quick Guide</a></font></h2>
<p><font face="Arial, Helvetica, sans-serif">Executing the program with
-h option will display a concise help page.</font></p>
<p><font face="Arial, Helvetica, sans-serif"><b><font face="Courier New, Courier, mono" size="+1">$&gt;</font></b><font face="Courier New, Courier, mono">./h5pAttrib
-h</font></font></p>
<p><font face="Courier New, Courier, mono">usage: h5pAttrib [OPTIONS]
file</font></p>
<p><font face="Courier New, Courier, mono"> OPTIONS<br>
-h, --help Print help page<br>
-n, --nstep Print number of steps<br>
-A, --fileA Print file attributes<br>
-a n, --stepA n Print step attributes &amp; values for time step n<br>
-d n, --dataset n Print data sets names &amp; values for time step
n<br>
-H, --header Print shorter version without the values</font></p>
<p><font face="Courier New, Courier, mono"> Examples:</font></p>
<p><font face="Courier New, Courier, mono"> 1) Show file attribute names
&amp; values of sample.h5part</font></p>
<p><font face="Courier New, Courier, mono"> h5pAttrib -A sample.h5part<br>
OR<br>
h5pAttrib --fileA sample.h5part</font></p>
<p><font face="Courier New, Courier, mono"> 2) Show step attribute names
for time step 5 of sample.h5part</font></p>
<p><font face="Courier New, Courier, mono"> h5pAttrib -a 5 -H sample.h5part<br>
OR<br>
h5pAttrib --stepA 5 -H sample.h5part</font></p>
<p><font face="Courier New, Courier, mono"><br>
<b><font size="+1">$&gt;</font></b> ./h5pToGNUplot -h</font></p>
<p><font face="Courier New, Courier, mono">usage: h5pToGNUplot -t TIMESTEP
-1 VARIABLE#1 -2 VARIABLE#2 -i INPUTFILE [OPTIONAL_FLAGS]</font></p>
<p><font face="Courier New, Courier, mono"> FLAGS<br>
-h, --help Print help page</font><br>
<font face="Courier New, Courier, mono">-1 par, --1var par (REQUIRED)
Takes first variable parameter to "par"<br>
-2 par, --2var par (REQUIRED) Takes second variable parameter to "par"<br>
-i file, --input file (REQUIRED) Takes input file name to "file"<br>
</font><font face="Courier New, Courier, mono">-t step, --timestep
step (REQUIRED) Sets the timestep to "step" (Value -1 will
result in dumping values of all timesteps.)<br>
-o file, --output file (OPTIONAL) Takes output file name to "file"
(without this flag, the program will print to stdout)<br>
-n num, --number num (OPTIONAL) Sets number of output points to "num"<br>
-s idx, --start idx (OPTIONAL) Sets the starting particle index to
"idx"</font></p>
<p><font face="Courier New, Courier, mono"><br>
Examples:</font></p>
<p><font face="Courier New, Courier, mono"> 1) Create GNU plot file
output.txt from sample.h5part by ploting x vs px for timestep 54</font></p>
<p><font face="Courier New, Courier, mono"> h5pToGNUplot -t 54 -1 x
-2 px -i sample.h5part -o output.txt</font></p>
<p><font face="Courier New, Courier, mono"> 2) Create GNU plot file
output.txt from sample.h5part by ploting x vs px for timestep 54<br>
using 1200 points from particle index 76</font></p>
<p><font face="Courier New, Courier, mono"> h5pToGNUplot -t 54 -1 x
-2 px -i sample.h5part -o output.txt -s 76 -n 1200</font></p>
<p>&nbsp;</p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<p>&nbsp;</p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font color="#999999">---
For h5pAttrib</font></b></font></p>
<p>&nbsp;</p>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><a name="timesteps">[2]
To see number of timesteps in a h5part file</a></font></h2>
<p>Executing the program h5pAttrib with -n flag will display the number
of timesteps in the file.</p>
<p><font face="Arial, Helvetica, sans-serif"><b>EXAMPLE&gt;&gt;</b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font face="Courier New, Courier, mono">$&gt;</font></b></font><font face="Courier New, Courier, mono">
./h5pAttrib -n sample.h5part</font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">Printing number of timesteps
for: sample.h5part ...</font></p>
<p><font face="Courier New, Courier, mono">There are total 252 number
of timesteps.<br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">done</font><font face="Arial, Helvetica, sans-serif"><br>
</font></p>
<p>&nbsp; </p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<h2><font color="#666699" face="Arial, Helvetica, sans-serif"><br>
<font color="#555588"><a name="file attributes">[3] To see file attributes
in a h5part file</a></font></font></h2>
<p>File attribute contains information about the file. (file description
etc...) Executing the program h5pAttrib with -A flag will display
the file attributes in the file.</p>
<p><font face="Arial, Helvetica, sans-serif"><b>EXAMPLE&gt;&gt;</b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font face="Courier New, Courier, mono">$&gt;</font></b></font><font face="Courier New, Courier, mono">
./h5pAttrib -A sample.h5part</font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">Printing file attributes
for: sample.h5part ...</font></p>
<p><font face="Courier New, Courier, mono">The number of file attributes
for file sample.h5part is 0 ...<br>
There are no file attributes.<br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">done</font></p>
<p><font face="Arial, Helvetica, sans-serif"><br>
<i>NOTE: -H option will omit the list of values of file attributes.</i></font></p>
<p>&nbsp; </p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<p align="center">&nbsp;</p>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><a name="step attributes">[4]
To see step attributes in a h5part file</a></font></h2>
<p>Step attribute contains information that belongs to a specific step.
(step name, timestep number, etc...) Executing the program h5pAttrib
with -a flag will display the step attributes in the file.<br>
Note that the timestep index should follow -a flag.</p>
<p><font face="Arial, Helvetica, sans-serif"><b>EXAMPLE&gt;&gt;</b></font></p>
<p><font face="Arial, Helvetica, sans-serif"><b><font face="Courier New, Courier, mono" size="+1">$&gt;</font></b><font face="Courier New, Courier, mono">
./h5pAttrib -a 2 sample.h5part</font></font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">Printing step attributes
for: sample.h5part ...</font></p>
<p><font face="Courier New, Courier, mono">The number of step attributes
for timestep #2 is 10 ...</font></p>
<p><font face="Courier New, Courier, mono">Attribute #0 = Step<br>
There are 1 elements in the attribute<br>
Attribute Type is H5T_NATIVE_INT64<br>
Printing 1 element value(s):<br>
COUNT[0]: 2</font></p>
<p><font face="Courier New, Courier, mono">Attribute #1 = Spos<br>
There are 1 elements in the attribute<br>
Attribute Type is H5T_NATIVE_DOUBLE<br>
Printing 1 element value(s):<br>
COUNT[0]: 0.143580</font></p>
<p><font face="Courier New, Courier, mono">Attribute #2 = structLen<br>
There are 1 elements in the attribute<br>
Attribute Type is H5T_NATIVE_DOUBLE<br>
Printing 1 element value(s):<br>
COUNT[0]: 2.393000</font></p>
<p><font face="Courier New, Courier, mono">.<br>
.<br>
.</font></p>
<p><font face="Courier New, Courier, mono"><br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">done</font></p>
<p><font face="Arial, Helvetica, sans-serif"><br>
<i>NOTE: -H option will omit the list of values of step attributes.</i></font></p>
<p>&nbsp; </p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><br>
<a name="dataset">[5] To see dataset in a h5part file</a></font></h2>
<p>Executing the program h5pAttrib with -d flag will display the datasets
information in the file. (dataset name, type, number of elements,
etc...) Executing the program h5pAttrib with -d flag will display
the datasets information in the file.<br>
Note that the timestep index should follow -d flag.</p>
<p><font face="Arial, Helvetica, sans-serif"><b>EXAMPLE&gt;&gt;</b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font face="Courier New, Courier, mono">$&gt;</font></b></font><font face="Courier New, Courier, mono">
./h5pAttrib -d 2 -H sample.h5part</font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">Printing names of datasets
for: sample.h5part ...</font></p>
<p><font face="Courier New, Courier, mono">The number of datasets for
timestep #2 is 7 ...</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #0 = id<br>
Dataset Type is H5T_NATIVE_INT64<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #1 = px<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #2 = py<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #3 = pz<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #4 = x<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #5 = y<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #6 = z<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 67587</font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">done</font></p>
<p><font face="Arial, Helvetica, sans-serif"><br>
<i>NOTE: -H option will omit the list of values of datasets.</i></font></p>
<p>&nbsp; </p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<p>&nbsp;</p>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><a name="flags">[6]
Providing more than one flag at once</a></font></h2>
<p><font face="Arial, Helvetica, sans-serif">When more than one flags
are provided, one result after another will be displayed.</font></p>
<p><font face="Arial, Helvetica, sans-serif"><b>EXAMPLE&gt;&gt;</b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="+1"><b><font face="Courier New, Courier, mono">$&gt;</font></b></font><font face="Courier New, Courier, mono">
./h5pAttrib -H -a 1 -d 1 sample.h5part</font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">Printing step attributes
for: sample.h5part ...</font></p>
<p><font face="Courier New, Courier, mono">The number of step attributes
for timestep #1 is 10 ...</font></p>
<p><font face="Courier New, Courier, mono">Attribute #0 = Step<br>
Attribute #1 = Spos<br>
Attribute #2 = structLen<br>
Attribute #3 = org<br>
Attribute #4 = maxX<br>
Attribute #5 = minX<br>
Attribute #6 = maxP<br>
Attribute #7 = minP<br>
Attribute #8 = centroid<br>
Attribute #9 = nloc<br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono"><br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">Printing names of datasets
for: sample.h5part ...</font></p>
<p><font face="Courier New, Courier, mono">The number of datasets for
timestep #1 is 7 ...</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #0 = id<br>
Dataset Type is H5T_NATIVE_INT64<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #1 = px<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #2 = py<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #3 = pz<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #4 = x<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #5 = y<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">Dataset Name #6 = z<br>
Dataset Type is H5T_NATIVE_DOUBLE<br>
Number of elements: 60214</font></p>
<p><font face="Courier New, Courier, mono">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</font></p>
<p><font face="Courier New, Courier, mono">done</font></p>
<p>&nbsp;</p>
<div align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></div>
</div>
</div>
</td>
</tr>
<tr>
<td height="80"></td>
<td colspan="3" valign="top">
<h2><font face="Arial, Helvetica, sans-serif" size="+1"><b><font color="#999999">---
For h5pToGNUplot</font></b></font></h2>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><a name="parameters">[7]
What parameters to provide</a></font></h2>
<p><font face="Arial, Helvetica, sans-serif">When you execute the program
with -h option, it displays what flags are necessary and what flags are
optional.</font></p>
</td>
</tr>
<tr>
<td height="200"></td>
<td valign="top" width="137">
<p align="left"><b><font face="Arial, Helvetica, sans-serif">Short Version</font></b></p>
<p><font face="Arial, Helvetica, sans-serif">-h<br>
-1<br>
-2<br>
-i<br>
-t<br>
-o<br>
-n<br>
-s </font></p>
</td>
<td valign="top" width="144">
<p align="left"><b><font face="Arial, Helvetica, sans-serif">Long Version</font></b></p>
<p><font face="Arial, Helvetica, sans-serif">--help<br>
--1var<br>
--2var<br>
--input<br>
--timestep<br>
--output<br>
--number<br>
--start </font></p>
</td>
<td valign="top" width="679">
<p align="left"><b><font face="Arial, Helvetica, sans-serif">Meanings</font></b></p>
<p><font face="Arial, Helvetica, sans-serif">Print help page<br>
(REQUIRED) Takes first variable parameter<br>
(REQUIRED) Takes second variable parameter<br>
(REQUIRED) Takes input file name<br>
(REQUIRED) Sets the timestep (Value -1 will result in dumping values of
all timesteps.)<br>
(OPTIONAL) Takes output file name (without this flag, the program will
print to stdout)<br>
(OPTIONAL) Sets number of output points<br>
(OPTIONAL) Sets the starting particle index</font> </p>
</td>
</tr>
<tr>
<td height="1786"></td>
<td colspan="3" valign="top">
<p>&nbsp;</p>
<p align="center"><font face="Arial, Helvetica, sans-serif"><a href="#TOP">&lt;back
to top&gt;</a></font></p>
<h2><font color="#555588" face="Arial, Helvetica, sans-serif"><br>
<a name="input file">[8] How to create an input file to GNUplot</a></font></h2>
<p><font face="Arial, Helvetica, sans-serif"><b>EXAMPLE&gt;&gt;</b><br>
<i>Create input file to GNUplot that plots x vs. y.</i></font></p>
<p><font face="Arial, Helvetica, sans-serif"><b><font face="Courier New, Courier, mono" size="+1">$&gt;</font></b><font face="Courier New, Courier, mono">
./h5pToGNUplot -1 x -2 y -t 1 -i sample.h5part -o output.txt<br>
<b><font size="+1">$&gt;</font></b> cat output.txt<br>
-0.390779 -0.254793<br>
-0.396527 -0.252781<br>
-0.375362 -0.285137<br>
-0.396527 -0.252781<br>
-0.379917 -0.283147<br>
-0.390779 -0.254793<br>
-0.387536 -0.287346<br>
-0.371787 -0.319797<br>
-0.379917 -0.283147<br>
-0.378967 -0.326058<br>
-0.378976 -0.326078<br>
-0.387536 -0.287346<br>
-0.378957 -0.326069<br>
-0.379917 -0.283147<br>
-0.388762 -0.265390<br>
-0.371787 -0.319797<br>
-0.390779 -0.254793<br>
-0.376825 -0.266804<br>
-0.379917 -0.283147<br>
-0.375362 -0.285137<br>
...</font></font></p>
<p><font face="Courier New, Courier, mono"><i>Then run GNUplot...</i></font></p>
<p><font face="Courier New, Courier, mono"><b><font size="+1">$&gt;</font></b>
gnuplot</font></p>
<p><font face="Courier New, Courier, mono"> G N U P L O T<br>
Version 4.0 patchlevel 0<br>
last modified Thu Apr 15 14:44:22 CEST 2004<br>
System: Linux 2.6.11.4-21.11-smp</font></p>
<p><font face="Courier New, Courier, mono"> Copyright (C) 1986 - 1993, 1998,
2004<br>
Thomas Williams, Colin Kelley and many others</font></p>
<p><font face="Courier New, Courier, mono"> This is gnuplot version 4.0.
Please refer to the documentation<br>
for command syntax changes. The old syntax will be accepted<br>
throughout the 4.0 series, but all save files use the new syntax.</font></p>
<p><font face="Courier New, Courier, mono"> Type `help` to access the on-line
reference manual.<br>
The gnuplot FAQ is available from<br>
http://www.gnuplot.info/faq/</font></p>
<p><font face="Courier New, Courier, mono"> Send comments and requests for
help to<br>
&lt;gnuplot-info@lists.sourceforge.net&gt;<br>
Send bugs, suggestions and mods to<br>
&lt;gnuplot-bugs@lists.sourceforge.net&gt;</font></p>
<p><font face="Courier New, Courier, mono"><br>
Terminal type set to 'x11'<br>
<font size="+1"><b>gnuplot&gt;</b></font> plot "output.txt"</font></p>
<p><font face="Arial, Helvetica, sans-serif"><i>This will open a GNUplot
window that plots output.txt.</i></font></p>
<p align="center"><img src="H5tools_files/snapshot1.jpg" height="541" width="672"><br>
<font face="Arial, Helvetica, sans-serif">&lt;Sample screen shot of GNUplot
with input datafile generated by h5pToGNUplot&gt;</font></p>
</td>
</tr>
<tr>
<td height="44"></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody></table>
</body></html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

+54
View File
@@ -0,0 +1,54 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>H5Part, Logical Internal HDF5 File Layout</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<font face="arial,helvetica"><h1>H5Part: Logical Internal HDF5 File Layout</h1></font>
<P>
HDF5 is extremely flexible in the sense that it allows the user to define a higher level data model to describe domain-specific data relationships. This flexibility however makes it necessary to develop an agreement on the logical layout of the data. The H5Part data model consists of Particle groups corresponding to the simulation time steps, each with seven datasets corresponding to x, px, y, py, z, pz, id for each particle. Attributes can be added to the file and to the datasets.
</P>
<center><img src="layout.png"></center>
<PRE>
HDF5 "parttest.h5" {
GROUP "/" {
GROUP "Particles#0" {
DATASET "id" {
DATATYPE H5T_STD_I64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
DATASET "px" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
DATASET "py" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
DATASET "pz" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
DATASET "x" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
DATASET "y" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
DATASET "z" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 10 ) / ( 10 ) }
}
}
</PRE>
<P>
See <a href="http://www-vis.lbl.gov/Publications/2002/hdf5.pdf">hdf5.pdf</a> for an introduction on the use of HDF5.
</P>
</div>
+6 -13
View File
@@ -1,14 +1,7 @@
EXTRA_DIST = \
Doxyfile \
H5.dox
all:
doc:
doxydoc:
doxygen
clean-local:
$(RM) -r ReferencePages TWiki
$(RM) *~
Doxyfile doxyfooter \
$(wildcard *.html) \
$(wildcard *.png) \
$(wildcard H5PartVisIt/*.png) \
$(wildcard H5tools/*.html) \
$(wildcard H5tools/H5tools_files/*.jpg)
-2
View File
@@ -1,2 +0,0 @@
-4
View File
@@ -1,4 +0,0 @@
<style type="text/css">
h1 { text-align: center; }
</style>
+603
View File
@@ -0,0 +1,603 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>H5Part, the C/C++ API</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<h1>The C/C++ Application Programming Interface (API)</h1>
<UL>
<LI><a href="#Opening">Opening, Closing, and Validating Datafiles</a>
<LI><a href="#SetStep">Setting the Simulation Timestep</a>
<LI><a href="#SetNumParticles">Setting the Number of Particles</a>
<LI><a href="#Writing">Writing Datasets</a>
<LI><a href="#ReadingNumTimeSteps">Reading the Number of Time Steps</a>
<LI><a href="#ReadingNumParticles">Reading the Number of Particles</a>
<LI><a href="#Reading">Reading Datasets</a>
<LI><a href="#DatasetsInfo">Reading the Number and the Names of Datasets</a>
<LI><a href="#AttributesInfo">Attributes Interface</a>
<LI><a href="#WriteAttribs">Writing Additional Attributes</a>
<LI><a href="#ReadAttribs">Reading Attributes</a>
</UL>
<br>
<a href="ReferencePages/index.html">Reference Manual (Doxygen)</a>
<br>
<hr>
<a name="Opening"><h2>Opening Datafiles</h2></a>
<P>
Just like the familiar <code>FILE*</code> type for C stdio operations, all
H5Part file operations require a file handle. The type of this handle is
<code>(H5PartFile*)</code>.
<br>
<code>H5PartOpenFile()</code> is
used to open a serial file and
<code>HDFPartOpenFileParallel()</code> is used to open a file for
Parallel I/O (in an MPI program).
After you open the file handle you can use the same set of
subroutines for operations on the file regardless of whether the
file is a parallel or serial I/O file.
The libraries manage all of this internally.<p>
</P>
<b>C Prototypes</b><br>
<P>
<b>Serial File</b><br>
<code>H5PartFile *H5PartOpenFile(const char *filename, unsigned
accessmode);</code><br>
<b>Parallel File</b><br>
<code>H5PartFile *H5PartOpenFileParallel(char *filename,int
accessmode,MPI_Comm communicator);</code><br>
<DT><i>filename</i>: </DT><DD>The name of the IEEEIO data file to
open. The typical extension for these files is <i>.h5</i></DD>
<DT><i>accessmode</i>: </DT><DD>The accessmode for the file. This is
one of 2 different access modes<br>
<code>H5PART_READ</code> : Opens a file in read-only mode.</DT><br>
<code>H5PART_WRITE</code> : Opens a file in write-only mode.
If the
file does not exist, it will be created. If it does
exist, it will be
truncated.
<DT><i>communicator</i>: </DT>
<DD>This argument is only available if the program has been
compiled with the <code>PARALLEL_IO</code> C-preprocessor flag
defined. It is used to pass in the communicator that will be
used for all collective I/O operations that target the same
file on disk.</DD>
<DT><i>Returns</i>:</DT><DD>A new filehandle with an open file or NULL if error.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
. . . code . . .
/* Open an HDF5 file for writing */
H5PartFile *writer = H5PartOpenFile("datafileout.h5",H5PART_WRITE);
/* Open an HDF5 file for Parallel I/O */
H5PartFile *writer = H5PartOpenFileParallel("datafileout.h5",H5PART_WRITE,MPI_COMM_WORLD);
/* open HDF5 file for reading */
H5PartFile *reader = H5PartOpenFile("datafilein.h5",H5PART_READ);
/* open HDF5 file for parallel reads */
H5PartFile *reader = H5PartOpenFileParallel("datafilein.h5",H5PART_READ,MPI_COMM_WORLD);
. . . more code . . .
</pre> <br>
<hr>
<h2>Closing Datafiles</h2>
<P>
To close the file, you simply use H5PartCloseFile() for both
parallel and serial files. You must call H5PartCloseFile() on any
file descriptor created by H5PartFileOpen() regardless of
whether the file turns out to be valid or not.
</P>
<b>C Prototypes</b><br>
<P>
<code>void H5PartCloseFile(H5PartFile *fileID);</code>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
H5PartOpenFile() or H5PartOpenFileParallel().</DD>
<DT><i>Returns</i>:</DT><DD>void.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *file;
... code ...
file=H5PartOpenFileParallel("parttest.h5",H5PART_WRITE,comm);
... more code ...
H5PartCloseFile(file);
</pre>
<br>
<hr>
<h2>Validating Datafiles</h2>
<P>
You can test if the file was opened successfully using the
H5PartFileIsValid() function. It returns 1 if valid, 0 if invalid.<p>
</P>
<b>C Prototype</b><br>
<P>
<code>int H5PartFileIsValid(H5PartFile *fileID);</code>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
H5PartOpenFile() or H5PartOpenFileParallel().</DD>
<DT><i>Returns</i>:</DT><DD>1 if valid, 0 if invalid.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<P>
Here is an example of validating a newly opened file. Even if
the file is invalid, you must use H5PartCloseFile() to reclaim
the file handle.
</P>
<pre>
#include &lt H5Part.h &gt
. . . code . . .
H5PartFile *fileID = H5PartOpenFile("datafileout.h5",H5PART_WRITE);
if(!H5PartFileIsValid(fileID)){
puts("The file you specified does not exist or is not in a
readable format");
H5PartClose(fileID); /* must reclaim fileID even if file is invalid */
. . . do other cleanup . . .
}
. . . more code . . .
</pre><br>
<hr>
<a name="SetStep">
<h2>Setting the Timestep</h2>
</a>
<P>
When writing data to a file the current time step must be set (even if there is only one). In a file with N time steps, the steps are numbered from 0 to N-1.
</P>
<b>C Prototype</b><br>
<P>
<code>void H5PartSetStep((H5PartFile *fileID,int step);</code>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
H5PartOpenFile() or H5PartOpenFileParallel().</DD>
<DT><i>step</i>: </DT><DD>An integer time step.
</DD>
<DT><i>Returns</i>: </DT><DD>void.</DD>
</DL>
<br><b>Example Use</b><br>
</P>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
int timeStep;
....
H5PartSetStep(fileID,timeStep);
....
</pre>
<hr>
<a name="SetNumParticles">
</a>
<h2>Setting the Number of Particles</h2>
<P>
H5PartSetNumParticles: This function's sole purpose is to
prevent needless creation of new HDF5 DataSpace handles if
the number of particles is invariant throughout the sim.
That's its only reason for existence. After you call this
subroutine, all subsequent operations will assume this
number of particles will be written.
</P>
<b>C Prototype</b><br>
<P>
<code>void H5PartSetNumParticles(H5PartFile *fileID,long long nparticles);</code>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
H5PartOpenFile() or H5PartOpenFileParallel().</DD>
<DT><i>nparticles</i>: </DT><DD>A long long integer specifying the number of particles.
</DD>
<DT><i>Returns</i>: </DT><DD>void.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
long long nparticles;
....
H5PartSetStep(fileID,nparticles);
....
</pre>
<hr>
<a name="Writing">
<h2>Writing Datasets</h2>
</a>
<P>
After setting the number of particles with
<a href="#SetNumParticles">H5PartSetNumParticles()</a>
and the current timestep using
<a href="#SetStep">H5PartSetStep()</a>, you can start
writing datasets into the file. Each dataset has a name
associated with it (chosen by the user) in order to facilitate
later retrieval. The writing routines also implicitly store
the datatype of the array so that the array can be
reconstructed properly on other systems with incompatible type
representations. The data is committed to disk before the
routine returns. All data that is written after setting the
timestep is associated with that timestep. While the number of
particles can change for each timestep, you cannot change the
number of particles in the middle of a given timestep.
</P>
<b>C Prototypes</b><br>
<P>
<code>int H5PartWriteDataFloat64(H5PartFile *fileID,char
*name,double *array);</code></br>
<code>int H5PartWriteDataInt64(H5PartFile *fileID,char
*name,double *array);</code>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string for the
name of the array. When retrieving datasets from disk,
you ask for them by name. There are no restrictions on
naming of arrays, but it is useful to arrive at some common
naming convention when sharing data with other groups.</DD>
<DT><i>array</i>: </DT><DD>A buffer containing an array of
particle data to commit to disk. The datatype for
elements in the buffer is implicit in the name of the
subroutine call.</DD>
<DT><i>Returns</i>: </DT><DD>1 on success, 0 on failure.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
double *x,*y,*z;
int timeStep;
long long nparticles;
...
H5PartSetStep(fileID,timeStep); /* must set the current timestep in file */
H5PartSetNumParticles(fileID,nparticles); /* then set number of particles to store */
/* now write different tuples of data into this timestep of the file */
H5PartWriteDataFloat64(fileID,"x",x);
H5PartWriteDataFloat64(fileID,"y",y);
H5PartWriteDataFloat64(file,"z",z);
..
</pre>
<hr>
<a name="ReadingNumTimeSteps">
<h2>Reading the Number of Time Steps</h2>
</a>
<P>
This reads the number of datasteps that are
currently stored in the datafile.
It works for both reading and writing of files, but is probably
only typically used when you are reading.
</P>
<b>C Prototype</b><br>
<P>
<code>int H5PartGetNumSteps (H5PartFile *fileID);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by <a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>Returns</i>: </DT><DD>The number of timesteps currently stored in the file.
</DL>
</P>
<hr>
<a name="ReadingNumParticles">
<h2>Reading the Number of Particles</h2>
</a>
<P>
This reads the number of particles that are
currently stored in the current time step.
It will arbitrarily select a timestep if you haven't
already set the timestep with H5PartSetStep().
</P>
<b>C Prototype</b><br>
<P>
<code>long long H5PartGetNumParticles (H5PartFile *fileID);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by <a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>Returns</i>: </DT><DD>The number of particles in current timestep.
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
int timeStep;
long long nparticles;
H5PartSetStep(fileID,0);
nparticles=H5PartGetNumParticles(fileID);
...
</pre>
<hr>
<a name="Reading">
<h2>Reading Datasets</h2>
</a>
<P>
After setting the time step and getting the number of particles to allocate the data arrays, you can start to read the data.
</P>
<b>C Prototypes</b><br>
<P>
<code>int H5PartReadDataFloat64(H5PartFile *fileID,char *name,double *array);</code><br>
<code>int H5PartReadDataInt64(H5PartFile *fileID,char *name,long long *array);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string for the
name of the array. When retrieving datasets from disk,
you ask for them by name. There are no restrictions on
naming of arrays, but it is useful to arrive at some common
naming convention when sharing data with other groups.</DD>
<DT><i>array</i>: </DT><DD>A buffer to which the particle data will be read.i
The datatype for
elements in the buffer is implicit in the name of the
subroutine call.</DD>
<DT><i>Returns</i>: </DT><DD>1 on success, 0 on failure.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
double *x,*y,*z;
int timeStep;
long long nparticles;
H5PartSetStep(fileID,0);
nparticles=H5PartGetNumParticles(fileID);
...
H5PartReadDataFloat64(file,"x",x);
H5PartReadDataFloat64(file,"y",y);
H5PartReadDataFloat64(file,"z",z);
...
</pre>
<hr>
<a name="DatasetsInfo"><h2>Reading the Number and Names of Datasets</h2></a>
<P>
H5Part provides funtions to find out how many datasets are stored at a particular timestep
and what their names are if you don't know what they are a-priori.
</P>
<b>C Prototypes</b><br>
<P>
<code>int H5PartGetNumDatasets(H5PartFile *fileID);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>Returns</i>: </DT><DD>The number of datasets.</DD>
</DL>
</P>
<P>
<code>int H5PartGetDatasetName(H5PartFile *fileID,int index,char *name,int maxlen);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>index</i>:</DT><DD> integer specifying the index of the dataset. If the number of datasets is
nds, the range of index is 0 to nds-1.</DD>
<DT><i>name</i>:</DT><DD> A null-terminated string for the name of the dataset.</DD>
<DT><i>maxlen</i>:</DT><DD> An integer specifying the maximum length of the name array.</DD>
<DT><i>Returns</i>: </DT><DD>1 on success, 0 on failure.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
char name[64];
int index, nds;
...
nds=H5PartGetNumDatasets(fileID);
for(index=0;index&lt nds;index++){
H5PartGetDatasetName(fileID,index,name,64);
printf("\tDataset[%u] name=[%s]\n", index,name);
}
...
</pre>
<hr>
<a name="AttributesInfo">
<h2>Attributes Interface</h2></a>
<P>
In the current H5Part implemtation there are two types of attributes: file attributes which are bound to the file
and step attributes which are bound to the current timestep. You
must set the timestep explicitly before writing the attributes (just
as you must do when you write a new dataset. Currently there are no
attributes that are bound to a particular data array, but this could
easily be done if required.
</P>
<P>H5PartGetNumStepAttribs and H5PartGetNumFileAttribs return the number of attributes bound to a step and to a file respectively. H5PartGetStepAttribInfo and H5PartGetFileAttribInfo return the name, type and number of elements of type "type" bound to a step and a file respectively.
</P>
<b>C Prototypes:</b><br>
<code>int H5PartGetNumStepAttribs(H5PartFile *fileID);
</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>Returns</i> </DT><DD> The number of step attributes for the current step.</DD>
</DL>
<code>int H5PartGetNumFileAttribs(H5PartFile *fileID);
</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>Returns</i> </DT><DD> The number of file attributes.</DD>
</DL>
<code>void H5PartGetStepAttribInfo(H5PartFile *fileID,int idx, char *name,size_t maxnamelen,hid_t *type,int *nelem);
</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>idx</i>: </DT><DD>Index of the attribute.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string with the name of the attribute.</DD>
<DT><i>maxnamelen</i></DT><DD>the length of the name of the attribute.</DD>
<DT><i>type</i>: </DT><DD>One of the following: H5T_NATIVE_DOUBLE H5T_NATIVE_INT64 H5T_NATIVE_CHAR.</DD>
<DT><i>nelem</i>: </DT><DD>Number of elements of type "type".</DD>
<DT><i>Returns</i> </DT><DD> void.</DD>
</DL>
<code>void H5PartGetFileAttribInfo(H5PartFile *fileID,int idx, char *name,size_t maxnamelen, hid_t *type,int *nelem);
</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>idx</i>: </DT><DD>Index of the attribute.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string with the name of the attribute.</DD>
<DT><i>maxnamelen</i></DT><DD>the length of the name of the attribute.</DD>
<DT><i>type</i>: </DT><DD>One of the following: H5T_NATIVE_DOUBLE H5T_NATIVE_INT64 H5T_NATIVE_CHAR.</DD>
<DT><i>nelem</i>: </DT><DD>Number of elements of type "type".</DD>
<DT><i>Returns</i> </DT><DD> void.</DD>
</DL>
<a name="WriteAttribs">
<h2>Writing Attributes</h2>
</a>
<P>
An attribute can be bound to the file or after setting the time step to this time step.
</P>
<b>C Prototypes: Generic Attributes</b><br>
<P>
<code>int H5PartWriteFileAttrib(H5PartFile *fileID,char *name, hid_t type,void *value,int nelem);</code><br>
<code>int H5PartWriteStepAttrib(H5PartFile *fileID,char *name, hid_t type,void *value,int nelem);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string for the
name of the array. When retrieving datasets from disk,
you ask for them by name. There are no restrictions on
naming of arrays, but it is useful to arrive at some common
naming convention when sharing data with other groups.</DD>
<DT><i>type</i>: One of H5T_NATIVE_DOUBLE, H5T_NATIVE_INT64, H5T_NATIVE_CHAR.</DD>
<DT><i>value</i>: value of the attribute.</DD>
<DT><i>nelem</i>: number of elements of type "type".</DD>
<DT><i>Returns</i>: </DT><DD>1 on success, 0 on failure.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
double actPos;
...
H5PartWriteStepAttrib(file_m,"Spos",H5T_NATIVE_DOUBLE,&actPos,1);
...
</pre>
<b>C Prototypes: String Attributes</b><br>
<P>
<code>int H5PartWriteStepAttribString(H5PartFile *fileID,char *name, char *attrib);</code><br>
<code>int H5PartWriteFileAttribString(H5PartFile *fileID,char *name, char *attrib);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string for the
name of the array. When retrieving datasets from disk,
you ask for them by name. There are no restrictions on
naming of arrays, but it is useful to arrive at some common
naming convention when sharing data with other groups.</DD>
<DT><i>attrib</i>: the attribute character string.</DD>
<DT><i>Returns</i>: </DT><DD>1 on success, 0 on failure.</DD>
</DL>
</P>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
char *newattrib;
char *newname;
...
H5PartWriteFileAttribString(fileID, newname,newattrib);
...
</pre>
<hr>
<a name="ReadAttribs">
<h2>Reading Attributes</h2>
</a>
<P>
<P>
As with the writing of attributes, there are two basic reading interfaces one that reads file bound attributes and one that reads
step bound attributes. If the step is not set the current one will be used.
</P>
</P>
<b>C Prototypes</b><br>
<P>
<code>void H5PartReadStepAttrib(H5PartFile *fileID,char *name,void *value);</code><br>
<code>void H5PartReadAttrib(H5PartFile *fileID,char *name,void *value);</code><br>
<code>int H5PartReadFileAttrib(H5PartFile *fileID,char *name,void *value);</code><br>
<DL>
<DT><i>fileID</i>: </DT><DD>A FileHandle opened by
<a href="#Opening">H5PartOpenFile()</a> or
<a href="#Opening">H5PartOpenFileParallel()</a>.</DD>
<DT><i>name</i>: </DT><DD>A null-terminated string for the
name of the array. When retrieving datasets from disk,
you ask for them by name. There are no restrictions on
naming of arrays, but it is useful to arrive at some common
naming convention when sharing data with other groups.</DD>
<DT><i>value</i>: value of the attribute.</DD>
<DT><i>Returns</i>: </DT><DD>1 on success, 0 on failure.</DD>
</DL>
</P>
<br>
NOTE: H5PartReadAttrib has been superseeded by H5PartSetStep.
<br>
<br><b>Example Use</b><br>
<pre>
#include &lt H5Part.h &gt
H5PartFile *fileID;
int step;
char name[MAXNAME];
...
H5PartSetStep(fileID, step);
if (H5PartReadStepAttrib(file, "filename", &name[0]) == 1){
printf("Read step from file: %s\n", name);
}
...
</pre>
</div>
+500
View File
@@ -0,0 +1,500 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>H5part, the Fortran API</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<h1>The FORTRAN Application Programming Interface (API)</h1>
<P>
These references contain the information on how to access the H5Part API using FORTRAN bindings. All pointers are cast to haddr_t (a unint64_t) within the C/C++ code. In fortran, these pointers (handles) are carried as INTEGER*8
</P>
<UL>
<LI><a href="#Opening">Opening, Closing, and Validating Datafiles</a>
<LI><a href="#SetStep">Setting the Simulation Timestep</a>
<LI><a href="#SetNumParticles">Setting the Number of Particles</a>
<LI><a href="#Writing">Writing Datasets</a>
<LI><a href="#ReadingNumTimeSteps">Reading the Number of Time Steps</a>
<LI><a href="#ReadingNumTimeSteps">Reading the Number of Particles</a>
<LI><a href="#Reading">Reading Datasets</a>
<LI><a href="#DatasetsInfo">Reading the Number and the Names of Datasets</a>
<LI><a href="#AttributesInfo">Attributes Interface</a>
<LI><a href="#WriteAttribs">Writing Additional Attributes</a>
<LI><a href="#ReadAttribs">Reading Attributes</a>
</UL>
<hr>
<a name="Opening"><h2>Opening Datafiles</h2></a>
<P>
Like the familiar OPEN in FORTRAN files can be opened to read and write. Different functions are used for the serial and parallel case.
</P>
<b>FORTRAN Prototypes</b><br>
<P>
<b>Serial File</b><br>
<code>INTEGER*8 h5pt_openr</code><br>
<code>FUNCTION h5pt_openw(file)<br>
in CHARACTER file(*) : the filename to open for writing </code><br>
returns INTEGER*8 : and open filehandle for serial reads</code><br>
<br>
<code>INTEGER*8 h5pt_openw</code><br>
<code>FUNCTION h5pt_openw(file)<br>
in CHARACTER file(*) : the filename to open for writing<br>
returns INTEGER*8 : and open filehandle for serial writes</code><br>
<br>
<b>Parallel File</b><br>
<code>INTEGER*8 h5pt_openr_par</code><br>
<code>FUNCTION h5pt_openr_par(file,mpi_communicator)<br>
in CHARACTER file(*) : the filename to open for writing<br>
in INTEGER mpi_communicator : the MPI_Communicator used by the program<br>
returns INTEGER*8 : and open filehandle for parallel reads</code><br>
<br>
<code>INTEGER*8 h5pt_openw_par</code><br>
<code>FUNCTION h5pt_openw_par(file,mpi_communicator)<br>
in CHARACTER file(*) : the filename to open for writing<br>
in INTEGER mpi_communicator : the MPI_Communicator used by the program<br>
returns INTEGER*8 : and open filehandle for parallel reads</code><br>
</P>
<P>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
...
file = h5pt_openw("testfilef.h5")
...
</pre>
</P>
<hr>
<h2>Closing Datafiles</h2>
<P>
To close the file, you simply use h5pt_close() for both parallel and serial files. You must call h5pt_close() on any file descriptor created by h5pt_open*() regardless of whether the file turns out to be valid or not.</P>
<b>FORTRAN Prototype</b><br>
<code>EXTERNAL h5pt_close</code><br>
<code>SUBROUTINE h5pt_close(filehandle)<br>
in INTEGER*8 filehandle : close this open filehandle</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
...
call h5pt_close(file)
...
</pre>
</P>
<hr>
<h2> Validating Datafiles</h2>
<P>
You can test if the file was opened successfully using the
h5p_isvalid() function. It returns 1 if valid, 0 if invalid.
</P>
<b>FORTRAN Prototype</b><br>
<code>INTEGER h5pt_isvalid</code><br>
<code>FUNCTION h5pt_isvalid(filehandle)<br>
in INTEGER*8 filehandle: an open filehandle <br>
returns INTEGER : 1 if the file is valid, 0 if it is not</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER status
...
status = h5pt_isvalid(file)
...
</pre>
</P>
<hr>
<a name="SetStep">
<h2>Setting the Timestep</h2>
</a>
<P>
When writing data to a file the current time step must be set (even if there is only one). In a file with N time steps, the steps are numbered from 0 to N-1.
</P>
<b>FORTRAN Prototype</b><br>
<code>EXTERNAL h5pt_setstep</code><br>
<code>SUBROUTINE h5pt_setstep(filehandle,step)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in INTEGER step : Set the current timestep in the file to this
</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER I
INTEGER nstep
...
do I=1,nstep
call h5pt_setstep(file,I)
... more code ...
enddo
</pre>
</P>
<hr>
<a name="SetNumParticles">
</a>
<h2>Setting the Number of Particles</h2>
<P>
This function's sole purpose is to
prevent needless creation of new HDF5 DataSpace handles if
the number of particles is invariant throughout the sim.
That's its only reason for existence. After you call this
subroutine, all subsequent operations will assume this
number of particles will be written.
</P>
<b>FORTRAN Prototype</b><br>
<code>EXTERNAL h5pt_setnpoints</code><br>
<code>SUBROUTINE h5pt_setnpoints(filehandle,npoints)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in INTEGER*8 npoints : The number of particles on *this* processor</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER*8 npoints
...
call h5pt_setnpoints(file,npoints)
...
</pre>
<hr>
<a name="Writing">
<h2>Writing Datasets</h2>
</a>
<P>
After setting the number of particles with
<a href="#SetNumParticles">h5pt_setnpoints()</a>
and the current timestep using
<a href="#SetStep">h5pt_setstep()</a>, you can start
writing datasets into the file. Each dataset has a name
associated with it (chosen by the user) in order to facilitate
later retrieval. The writing routines also implicitly store
the datatype of the array so that the array can be
reconstructed properly on other systems with incompatible type
representations. The data is committed to disk before the
routine returns. All data that is written after setting the
timestep is associated with that timestep. While the number of
particles can change for each timestep, you cannot change the
number of particles in the middle of a given timestep.
</P>
<b>FORTRAN Prototypes</b><br>
<P>
The two data types supported for the moment are REAL*8 and INTEGER*8 (float64 and int64).
</P>
<code>EXTERNAL h5pt_writedata_r8</code><br>
<code>SUBROUTINE h5pt_writedata_r8(filehandle,name,data)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the data we are writing eg. "X" or "Y" or "PX" etc...<br>
in REAL*8 data(*) : The dataarray to write</code><br>
<br>
<code>EXTERNAL h5pt_writedata_i8</code><br>
<code>SUBROUTINE h5pt_writedata_i8(filehandle,name,data)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the data we are writing eg. "X" or "Y" or "PX" etc...<br>
in INTEGER*8 data(*) : The dataarray to write</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER nstep
INTEGER I
REAL*8,ALLOCATABLE:: X(:)
...
do I=1,nstep
call h5pt_setstep(file,I)
call h5pt_writedata_r8(file,"x",X)
enddo
...
</pre>
<hr>
<a name="ReadingNumTimeSteps">
<h2>Reading the Number of Time Steps</h2>
</a>
<P>
This reads the number of datasteps that are
currently stored in the datafile.
It works for both reading and writing of files, but is probably
only typically used when you are reading.
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_getnsteps</code><br>
<code>FUNCTION h5pt_getnsteps(filehandle)<br>
in INTEGER*8 filehandle : an open filehandle<br>
returns INTEGER : number of timesteps stored in the file</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER nstep
file = h5pt_openr("testfilef.h5")
nstep = h5pt_getnsteps(file)
</pre>
<hr>
<a name="ReadingNumParticles">
<h2>Reading the Number of Particles</h2>
</a>
<P>
This reads the number of particles that are currently stored in the current time step. It will arbitrarily select a timestep if you haven't already set the timestep with H5PartSetStep().
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_getnpointss</code><br>
<code>FUNCTION h5pt_getnpoints(filehandle)<br>
in INTEGER*8 filehandle : an open filehandle<br>
returns INTEGER : number of particles in the current time step</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER*8 npoints
INTEGET step;
file = h5pt_openr("testfilef.h5")
call h5pt_setstep(file,0)
npoints = h5pt_getnpoints(file)
...
</pre>
<hr>
<a name="Reading">
<h2>Reading Datasets</h2>
</a>
<P>
After setting the time step and getting the number of particles to allocate the data arrays, you can start to read the data.
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_readdata_r8</code><br>
<code>FUNCTION h5pt_readdata_r8(filehandle,name,data)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the data we are writing, eg. "X" or "Y" or "PX" etc...<br>
out REAL*8 data(*) : The data array to read. The number of points to read is either the number within
the view setby h5pt_setview() or the default (the total number of particles in the file).<br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER err
INTEGER*8,ALLOCATABLE:: ID(:)
...
call h5pt_setstep(file,step)
err=h5pt_readdata_i8(file,"id",ID)
...
</pre>
<hr>
<a name="DatasetsInfo"><h2>Reading the Number and Names of Datasets</h2></a>
<P>
H5Part provides funtions to find out how many datasets are stored at a particular timestep
and what their names are if you don't know what they are a-priori.
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_getndatasets</code><br>
<code>FUNCTION h5pt_getndatasets(filehandle)<br>
in INTEGER*8 filehandle : an open filehandle<br>
returns INTEGER*8 : number of datasets stored per timestep</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER ndata
...
call h5pt_setstep(file,1)
ndata = h5pt_getndatasets(file)
...
</pre>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_getdatasetname</code><br>
<code>FUNCTION h5pt_getdatasetname(filehandle,index,name)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in INTEGER index : Index for a given dataset name<br>
out CHARACTER name(*) returns the name of the dataset at that index<br>
returns INTEGER, 1 on success 0 on failure.</code><br>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
INTEGER err
CHARACTER,ALLOCATABLE:: name(:)
...
err=h5pt_getdatasetname(file, 1, name)
...
</pre>
<hr>
<a name="AttributesInfo">
<h2>Attributes Interface</h2></a>
<P>
In the current H5Part implemtation there are two types of attributes: file attributes which are bound to the file
and step attributes which are bound to the current timestep. You
must set the timestep explicitly before writing the attributes (just
as you must do when you write a new dataset. Currently there are no
attributes that are bound to a particular data array, but this could
easily be done if required.
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_getnstepattribs</code><br>
<code>FUNCTION h5pt_getnstepattribs(filehandle)<br>
in INTEGER*8 filehandle : an open filehandle<br>
returns INTEGER : number of attributes bound to this particular step<br>
</code>
<br>
<code>INTEGER h5pt_getnfileattribs</code><br>
<code>FUNCTION h5pt_getnfileattribs(filehandle)<br>
in INTEGER*8 filehandle : an open filehandle<br>
returns INTEGER : number of attributes bound to the file<br>
</code>
<br>
<code>INTEGER h5pt_getstepattribinfo</code><br>
<code>FUNCTION h5pt_getstepattribinfo(filehandle,idx,attribname,nelem)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in INTEGER idx : index of the attribute being queried<br>
out CHARACTER name(*) : The name of the attribute<br>
out INTEGER nelem : Number of elements in the attrib array<br>
returns INTEGER, 1 on success 0 on failure.<br>
</code>
<br>
<code>INTEGER h5pt_getfileattribinfo</code><br>
<code>FUNCTION h5pt_getfileattribinfo(filehandle,idx,attribname,nelem)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in INTEGER idx : index of the attribute being queried<br>
out CHARACTER name(*) : The name of the attribute<br>
out INTEGER nelem : Number of elements in the attrib array<br>
returns INTEGER, 1 on success 0 on failure.
</code>
<br>
<hr>
<a name="WriteAttribs">
<h2>Writing Attributes</h2>
</a>
<P>
An attribute can be bound to the file or after setting the time step to this time step.
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_writefileattrib_r8</code><br>
<code>
FUNCTION h5pt_writefileattrib_r8(filehandle,name,attrib,nelem)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the attribute<br>
in REAL*8 attrib(*) : The array of data to write into the attribute<br>
in INTEGER nelem : Number of elements in the attrib array<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<br>
<code>INTEGER h5pt_writefileattrib_i8</code><br>
<code>FUNCTION h5pt_writefileattrib_i8(filehandle,name,attrib,nelem)<br>
in INTEGER*8 filehandle : The filehandle<br>
in CHARACTER name(*) : The name of the attribute<br>
in INTEGER*8 attrib(*) : The array of data to write into the attribute<br>
in INTEGER nelem : Number of elements in the attrib array<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<br>
<code>INTEGER h5pt_writefileattrib_string</code><br>
<code>FUNCTION h5pt_writefileattrib_string(filehandle,name,string)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the attribute<br>
in CHARACTER*8 attrib(*) : The array of data to write into the attribute<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<br>
<code>INTEGER h5pt_writestepattrib_r8</code><br>
<code>FUNCTION h5pt_writestepattrib_r8(filehandle,name,attrib,nelem)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the attribute<br>
in REAL*8 attrib(*) : The array of data to write into the attribute<br>
in INTEGER nelem : Number of elements in the attrib array
returns INTEGER, 1 on success 0 on failure<br>
</code>
<br>
<code>INTEGER h5pt_writestepattrib_i8</code><br>
<code>FUNCTION h5pt_writestepattrib_i8(filehandle,name,attrib,nelem)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the attribute<br>
in INTEGER*8 attrib(*) : The array of data to write into the attribute<br>
in INTEGER nelem : Number of elements in the attrib array<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<br>
<code>INTEGER h5pt_writestepattrib_string</code><br>
<code>FUNCTION h5pt_writestepattrib_string(filehandle,name,string)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER name(*) : The name of the attribute<br>
in CHARACTER*8 attrib(*) : The array of data to write into the attribute<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
REAL*8 REALTIME
INTEGER err
...
err=h5pt_writefileattrib_string(file,"Annotation","Testing 1 2 3")
err=h5pt_writestepattrib_r8(file,"RealTime",REALTIME,1)
...
</pre>
<hr>
<a name="ReadAttribs">
<h2>Reading Attributes</h2>
</a>
<P>
As with the writing of attributes, there are two basic reading interfaces one that reads file bound attributes and one that reads
step bound attributes. If the step is not set the current one will be used.
</P>
<b>FORTRAN Prototypes</b><br>
<code>INTEGER h5pt_readstepattrib</code><br>
<code>FUNCTION h5pt_readstepattrib(filehandle,name,data)<br>
in INTEGER*8 filehandle : an open filehandle<br>
in CHARACTER attributename(*) : name of the attribute to read<br>
out <anytype> data(*) : the attribute data will be read into this array<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<br>
<code>INTEGER h5pt_readfileattrib</code><br>
<code>FUNCTION h5pt_readfileattrib(filehandle,name,data)<br>
in INTEGER*8 filehandle an open filehandle<br>
in CHARACTER attributename(*) : name of the attribute to read<br>
out <anytype> data(*) : the attribute data will be read into this array<br>
returns INTEGER, 1 on success 0 on failure<br>
</code>
<b>Example Use</b><br>
<pre>
include 'H5Part.inc'
INTEGER*8 file
REAL*8 REALTIME
...
call h5pt_setstep(file,0)
err=h5pt_readstepattrib(file,"RealTime",data)
...
</pre>
</div>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

-6
View File
@@ -1,6 +0,0 @@
<HTML>
<HEAD>
<TITLE>H5/H5Part/H5Block/H5Fed API</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
+121
View File
@@ -0,0 +1,121 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>H5Part: a Portable High Performance Parallel Data Interface to HDF5</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="keywords" content="scientific visualization">
<meta name="sitemap" content="put a brief descriptive phrase here that will show up in the site map:foo">
<div id="maincenter">
<font face="arial,helvetica"><h1>H5Part: a Portable High Performance Parallel Data Interface to HDF5</h1></font>
<!--<h2><font color="red"> THESE PAGES ARE UNDER CONSTRUCTION, September 2006</h2></font>-->
<font face="arial,helvetica" color="#555588"><h2>Motivation</h2></font>
<P>
<TABLE>
<TR>
<TD>
<a href="collision_6.png"><img src="collision_6.s.png" width=300 height=300></a>
</TD
></TR>
<TR>
<TD>
Beam-beam collision simulation.
</TD>
</TR>
</TABLE>
</P>
<P>
Particle based simulations of accelerator beam-lines, especially in
six dimensional phase space, generate vast amounts of data. Even
though a subset of statistical information regarding phase space
or analysis needs to be preserved, reading and writing such
enormous restart files on massively parallel supercomputing
systems remains challenging.<p>
</P>
<P>
H5Part is a very simple data storage schema and provides an
API that simplifies the reading/writing of the data to the HDF5
file format. An important foundation for a stable visualization and data
analysis environment is a stable and portable file storage format and
its associated APIs. The presence of a "common file storage format,"
including associated APIs, will help foster a fundamental level of
interoperability across the project's software infrastructure. It will
also help ensure that key data analysis capabilities are present
during the earliest phases of the software development effort.
</P>
<P>
H5Part is built on top of the <a href="http://hdf.ncsa.uiuc.edu/HDF5">HDF5 (Hierarchical Data Format).</a>
HDF5 offers a self-describing machine-independent
binary file format that supports scalable parallel I/O
performance for MPI codes on a variety of supercomputing
systems, and works equally well on laptop computers. The API is
available for C, C++, and Fortran codes. The H5Part file format and APIs
enable disparate research groups with different simulation
implementations to transparently share datasets and data
analysis tools. For instance, the common file format will enable
groups that depend on completely different simulation
implementations to share data analysis tools.
</P>
<font face="arial,helvetica" color="#555588"><h2>H5Part file organization and API</h2></font>
<P>
The proposed file storage format uses HDF5 for the lowlevel
file storage and a simple API to provide a high-level
interface to that file format. A programmer can either use
the H5Part API to access the data files or write directly to
the file format using some simple conventions for organizing
and naming the objects stored in the file.
</P>
<P>
In order to store Particle Data in the HDF5 file format,
we have formalized the hierarchical arrangement of the
datasets and naming conventions for the groups and associated
datasets. The sample H5Part API formally encodes
these conventions in order to provide a simple and uniform
way to access these files from C, C++, and Fortran codes.
The API makes it easier to write very portable data adaptors
for visualization tools in order to expand the number of
tools available to access the data. Even so, anyone can use
the HDF5 h5ls utility to examine the organization of the
H5Part files and even write their own HDF5-based interface
for reading and writing the file format. The standards
offered by the sample API are completely independent of
the standard for organizing data within the file.The file
format supports the storage of multiple timesteps
of datasets that contain multiple fields.
</P>
<!--
<font face="arial,helvetica" color="#555588"><h2>Requirements Specification</h2></font>
<UL>
<LI><a href="H5PartSpecs.html">H5Part API specifications
</UL>
</a>
-->
<font face="arial,helvetica" color="#555588"><h2>Downloading and Installing H5Part</h2></font>
<UL>
<LI><a href="Downloading.html">Downloading HDF5 and H5Part
<LI><a href="BuildingHDF5.html">Building the HDF5 Library</a>
<LI><a href="Building.html">Building the H5Part Library</a>
</UL>
<font face="arial,helvetica" color="#555588"><h2>Bindings</h2></font>
<UL>
<LI><a href="UsingC.html">Using the C/C++ interface</a>
<LI><a href="UsingF.html">Using the F77/F90 interface</a>
<LI><a href="InternalLayout.html">Logical Internal HDF5 File</a>
<LI><a href="H5PartTools.html">H5Part Utility Tools</a>
<LI><a href="ReferencePages/index.html">Reference Manual</a> (Note: Requires doxygen
to be run in the directory /doc)
</UL>
<font face="arial,helvetica" color="#555588"><h2>H5Part Visualization Tools</h2></font>
<UL>
<!--<LI><a href="H5PartExpress.html">H5Part Express Reader</a>-->
<LI><a href="H5PartVisIt.html">H5Part VisIt Reader</a>
<!--<LI><a href="H5PartIDL.html">H5Part IDL Reader</a>-->
<LI><a href="http://www.cscs.ch/a-display.php?id=170">H5Part sparticles Reader: developed at CSCS, Switzerland</a>
<LI><a href="http://vis.lbl.gov/Vignettes/PartView/index.html">PartView Visualization Application</a>
</UL>
</div>
-36
View File
@@ -1,36 +0,0 @@
#!/bin/bash
shopt -s nullglob
function html2twiki() {
declare -rx infile=$1
declare -rx outdir=$2
declare -rx fname=$( sed -n 's/.* member="\([a-zA-Z0-9_.]*\)::\([_a-zA-Z0-9]*\)" .*/\2/p' "${infile}" )
declare -rx outfile="${outdir}/${fname}.txt"
grep -q " member=" "${infile}" || return 0
sed '/Generated by/,/anchor/d' "${infile}" > "${outfile}"
}
mkdir -p TWiki/h5_core
mkdir -p TWiki/H5
mkdir -p TWiki/H5Part
mkdir -p TWiki/H5Block
mkdir -p TWiki/H5Fed
for f in ReferencePages/group__h5__core_*.html; do
html2twiki $f TWiki/h5_core
done
for f in ReferencePages/group__h5__c__api_*.html; do
html2twiki $f TWiki/H5
done
for f in ReferencePages/group__h5part__c__api_*.html; do
html2twiki $f TWiki/H5Part
done
for f in ReferencePages/group__h5block__c__api_*.html; do
html2twiki $f TWiki/H5Block
done
for f in ReferencePages/group__h5fed__c__api_*.html; do
html2twiki $f TWiki/H5Fed
done
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

-6982
View File
File diff suppressed because it is too large Load Diff
-39
View File
@@ -1,39 +0,0 @@
#!/usr/bin/env python
from lxml import etree
from lxml.html import builder as E
import os
import re
tree = etree.parse('tagfile')
tags = tree.xpath ('//member[@kind="function"]')
tags_per_files = {}
for tag in tags:
name = tag.find("name").text
anchor = tag.find("anchor").text
anchorfile = tag.find("anchorfile").text
if anchorfile in tags_per_files:
tags_per_files[anchorfile].append([name, anchor])
else:
tags_per_files[anchorfile] = [[name, anchor]]
prefix = None
for line in open("Doxyfile", "r"):
if re.search ("^OUTPUT_DIRECTORY", line):
prefix = line.split("=")[-1].strip()
if not prefix:
prefix = "."
parser = etree.HTMLParser()
for filename,anchors in tags_per_files.items():
print "Processing file: %s/%s" % (prefix, filename)
tree = etree.parse ("%s/%s" % (prefix, filename), parser)
for name,id in anchors:
anchor = tree.xpath ('//a[@id="%s"]' % id)
el = E.A(id="%s" % name)
anchor[0].addnext (el)
f = open ("%s/%s" % (prefix, filename), "w")
f.write (etree.tostring (tree))
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

File diff suppressed because it is too large Load Diff
@@ -1,10 +0,0 @@
TET no. 0:
0.5, 0.5, 0.0
0.0, 0.0, 1.0
0.0, 0.0, 0.0
0.0, 1.0, 0.0
TET no. 1:
0.5, 0.5, 0.0
0.0, 0.0, 0.0
0.0, 0.0, 1.0
1.0, 0.0, 0.0
@@ -1,25 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 5 DOUBLE
0.5 0.5 0.0
0.0 0.0 1.0
0.0 0.0 0.0
0.0 1.0 0.0
1.0 0.0 0.0
CELLS 2 10
4 0 1 2 3
4 0 2 1 4
CELL_TYPES 2
10
10
CELL_DATA 2
SCALARS cell_attribute_data float 1
LOOKUP_TABLE default
0
1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

File diff suppressed because it is too large Load Diff
@@ -1,10 +0,0 @@
TET no. 0:
0.0, 0.5, 0.5
0.0, 0.0, 0.0
1.0, 0.0, 0.0
0.0, 1.0, 0.0
TET no. 1:
0.0, 0.5, 0.5
1.0, 0.0, 0.0
0.0, 0.0, 0.0
0.0, 0.0, 1.0
@@ -1,25 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 5 DOUBLE
0.0 0.5 0.5
0.0 0.0 0.0
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
CELLS 2 10
4 0 1 2 3
4 0 2 1 4
CELL_TYPES 2
10
10
CELL_DATA 2
SCALARS cell_attribute_data float 1
LOOKUP_TABLE default
0
1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because it is too large Load Diff
@@ -1,10 +0,0 @@
TET no. 0:
0.5, 0.0, 0.5
0.0, 0.0, 0.0
0.0, 1.0, 0.0
0.0, 0.0, 1.0
TET no. 1:
0.5, 0.0, 0.5
0.0, 1.0, 0.0
0.0, 0.0, 0.0
1.0, 0.0, 0.0
@@ -1,25 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 5 DOUBLE
0.5 0.0 0.5
0.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
1.0 0.0 0.0
CELLS 2 10
4 0 1 2 3
4 0 2 1 4
CELL_TYPES 2
10
10
CELL_DATA 2
SCALARS cell_attribute_data float 1
LOOKUP_TABLE default
0
1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

File diff suppressed because it is too large Load Diff
@@ -1,10 +0,0 @@
TET no. 0:
0.0, 0.0, 0.5
1.0, 0.0, 0.0
0.0, 1.0, 0.0
0.0, 0.0, 0.0
TET no. 1:
0.0, 0.0, 0.5
0.0, 1.0, 0.0
1.0, 0.0, 0.0
0.0, 0.0, 1.0
@@ -1,25 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 5 DOUBLE
0.0 0.0 0.5
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 0.0
0.0 0.0 1.0
CELLS 2 10
4 0 1 2 3
4 0 2 1 4
CELL_TYPES 2
10
10
CELL_DATA 2
SCALARS cell_attribute_data float 1
LOOKUP_TABLE default
0
1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

File diff suppressed because it is too large Load Diff
@@ -1,10 +0,0 @@
TET no. 0:
0.5, 0.0, 0.0
0.0, 1.0, 0.0
0.0, 0.0, 1.0
0.0, 0.0, 0.0
TET no. 1:
0.5, 0.0, 0.0
0.0, 0.0, 1.0
0.0, 1.0, 0.0
1.0, 0.0, 0.0
@@ -1,25 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 5 DOUBLE
0.5 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
0.0 0.0 0.0
1.0 0.0 0.0
CELLS 2 10
4 0 1 2 3
4 0 2 1 4
CELL_TYPES 2
10
10
CELL_DATA 2
SCALARS cell_attribute_data float 1
LOOKUP_TABLE default
0
1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

File diff suppressed because it is too large Load Diff
@@ -1,10 +0,0 @@
TET no. 0:
0.0, 0.5, 0.0
0.0, 0.0, 1.0
1.0, 0.0, 0.0
0.0, 0.0, 0.0
TET no. 1:
0.0, 0.5, 0.0
1.0, 0.0, 0.0
0.0, 0.0, 1.0
0.0, 1.0, 0.0
@@ -1,25 +0,0 @@
# vtk DataFile Version 2.0
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 5 DOUBLE
0.0 0.5 0.0
0.0 0.0 1.0
1.0 0.0 0.0
0.0 0.0 0.0
0.0 1.0 0.0
CELLS 2 10
4 0 1 2 3
4 0 2 1 4
CELL_TYPES 2
10
10
CELL_DATA 2
SCALARS cell_attribute_data float 1
LOOKUP_TABLE default
0
1

Some files were not shown because too many files have changed in this diff Show More